もどる

  1. はじめに
  2.  今、個人的に流行っている事柄をつらつら書きます。

     そもそもの経緯については詳しくは書けませんが、

    • 今後”One To Oneマーケティング”がビジネスの上で重要になるらしい。
    • そのためには、行動観察・嗜好蓄積技術が重要なファクターになるらしい。

     という個人的な想いが事の発端です。Webの世界では既に”プッシュ”という、その人の嗜好にあった情報の配信がビジネス化しています。

     さて、人はどの様に情報を選り分け、嗜好として蓄積しているのでしょうか?

     そういう目でいろいろ見ていると、どうやらそういった事は”複雑系”というカテゴリで研究されているらしいということが分かりました。
     たまたま年末に本屋さんで『複雑系』(注1)というそのものズバリの本を見っけました。このオビに書かれている文句がまた衝撃的です。

    • なぜ、ソビエト連邦は劇的に崩壊したのか?
    • なぜ、1987年10月、株式は暴落したのか?
    • なぜ、恐竜は絶滅したのか?
    • なぜ、アミノ酸は生命と化したのか?
    • なぜ、Windowsは圧倒的なシェアを握ったのか? − 全ての鍵は「複雑系」にある!

     と言われた日には買わずにはいられません。
     ここに書かれている内容は数学・化学・物理・経済と多岐に渡っていますが、本質はただ一つです。
     それは「カオスの縁あたりにヒントがあるらしい」という事です。
     例えば、経済の世界で「収穫逓減の法則」というのがあります。「二杯目のビールは一杯目よりおいしくない」って奴です。一方「収穫逓増の法則」というのもあります。いわゆる「金持ちに金はあつまる」って奴です。ビデオがVHSに収束したように、OSでWindowsが爆発的に売れたように。
     この、収穫が”逓減する”事象と”逓増する”事象の境界はどこにあるのでしょうか?これが分かれば、製品を爆発的に売ることができます。
     で文系出の私にはピンと来なかったのですが、数学科の方々にはピンとくるMandelbrot集合(ある式で値が発散しない数値の集合体)の概念がこれに似ているという事です。
     値が発散しない間は収穫が逓減するが、ある値からは収穫が逓増するという事象は、ある学問特有の問題ではないのです。

     自分でも何をいっているのか分からなくなったので、先を急ぎましょう。
     この複雑系の研究成果の一つに「遺伝的アルゴリズム(GA)」というプログラミング技法があります。

  3. 遺伝的アルゴリズム(GA)について
  4.  なんだかんだで、続きが遅れてすみません。
     では、書かせていただきます。

     複雑系が遺伝子に着目したのは、生命が進化の度に環境に適応する遺伝子を選択するのに、逐一組み合わせを考えていたら、例えば1000個の遺伝子を持っていたら2の1000乗の組み合わせから選択することになる。世代交代の時間を考えると、これではビッグ・バンから現在といった短い時間では人類にまで進化できない(人間の遺伝子の数は約3800000000個(正確な値を調べていません。でも問題の本質ではないのでとりあえずこうしておきます)。遺伝子の数が1000個というのは海草のレベル)。きっと何か効率的な選択方法を持っているに違いない。そのアルゴリズムは検索エンジンとして非常に強力なのではないか − それが遺伝的アルゴリズムってわけです。アルゴリズム自体は非常にシンプルなので、システム化しやすいと聞きます。
     いままでの利用例では、「複数台のエレベータを、お客の待ち時間を少なくするように制御する」・「ガス管の点検を、複数のチェックポイントを効率よくチェックして行う」等の実用例があります。
    GAの得意とするのは

    • ”効率性を求める一般則が無い(ほど十分に複雑な)事象の最適解をを学習(世代交代)を行いながら求めていく”
    という分野です。極論すると”しらみつぶし”で問題解決している分野です。
     ケーススタディとして”セールスマン巡回問題”がよく文献に取り上げられます。実際にどういうものかを体験したい人はこちらをご覧ください(注2)。GAに関してはもう少し時間をかけて解説します
     その前に複雑系の雰囲気を味わう意味で、クラシファイアとバケツリレーのアルゴリズムに関しての概要と応用例について、私なりに理解できた部分について書きます(後編では実際にプログラミングを行いながら、その効果を確認するつもりです)。
     が極論に走るかもしれませんので、興味を持った方は実際に文献に当って下さい(私の読んでる本の名前等は逐次紹介します。

  5. クラシファイアとバケツリレーのアルゴリズム
  6.  遺伝的アルゴリズムによる推論が非常に簡単なロジックでかつ非常に強力であることの、ほんのサワリ部分は前回お話しました。で、問題はその様な推論がどのように自動的に繰り返される(この事象を複雑系の用語では”創発”と呼ぶ)のかということです。
     エキスパートシステムの限界は、その仕組みをエキスパートに求めた事でした。それは進化の為には遺伝的アルゴリズムを組むプログラマ(神−エキスパート)が必要ということと同義になります。
     話をもう少し具体的にして、脳を考えます。脳にはサーバのように中央で処理を振り分けるようなものはありません。ニューロンが見かけ上てんでばらばらに活性化している様ですが、それでいて理性の統一ができている。このニューロンの様な複雑系の構成要素のことを、理論上クラシファイアと呼びます。
     複雑系のある学説はこうです。
     まず経済モデルを考えましょう。会社をクラシファイアとします。ある会社は商品を作る(活性化する)ために、材料を違う会社から得る。その対価としてお金を支払う。お金を払うことでその会社は力を無くしますが、商品を売ることでまた活性化する可能性があります。このように、良く売れる会社の回りにはその材料を売る会社等々、貨幣の流れができてきます。
     脳の中でも、目や耳と関連のあるニューロンの筋から流れができて、その回りのニューロンに影響を及ぼしながら創発していくのでないか(うーん、こう書くと何か薄っぺらな安っぽい理論の様ですが、これはひとえに私の力不足です)。
     たとえば、”ボルボ”と書くと、我々はこれまでの経験から、車といったそこには書いていないイメージまで連想できます。これはボルボというクラシファイアが活性化する前に、車というクラシファイアが活性化する流れができているという事です。
    (やっぱり、上手く書けないもどかしさがあります。自分の中ではイメージが出来上がっているんだけどなぁ)
     例えば、Windows。マイクロソフトが隆盛ですが、そこにはインテルやネットスケープやらとの関係といったある種の”流れ”があります。マイクロソフトとネットスケープなんてのは最初はお互い好き勝手にやってたけど、だんだん相手の動向が無視できなくなる。日本では”風が吹けば桶屋が儲かる”となんていう、うまい表現があります。この流れのことをバケツリレーのアルゴリズムと呼んでます。
     強引にまとめますが、このようにクラシファイアはあるパラメータの範囲内では良くも悪くもお互いの動きと調和せざる負えない、そこには神の存在などいらないというのが複雑系の概念の重要なキーになっているというのが、今回の発言の主旨です。

     そこで、私の実験してみたいことその1。
     WWWブラウザで、”ブックマークの追加”とか”お気に入りの追加”とかがあります。これは結果的に自分の好きなホームページに行き着いたスナップショットでしかありません。本当はそこに行き着くまでにいろいろなホームページを”活性化”してきたわけで、そういった履歴を取っておき、ある回数以上活性化させたホームペ ージをリスト化すると、その人に本当にあったブックマーク集にカスタマイズされていくのではないか。
    最初はネットスケープのホームページからたどっていったのが、やがてYahooのブックマークができ、とくとく情報のブックマークができ、といった感じです(おぉ、これは既に行動観察ではないか)。

     これは序の口です。本当に私の実験したいことに行きつく前に、パラメータの話をしておかなければなりません。

  7. Game of Lifeのパラメータ
  8.  Game Of Lifeのエピソードを書きます。
     Game Of Lifeというのは、シミュレーションの一つで、雌雄の比率とか出産率とかのパラメータを変えることにより、一定のエリアの中の生物がどの様に増えたり減ったりするかを調べるゲームです(シムシティを思いっきり単純化したもの)。
     で、そのエリアの構成要素(かりに細胞とします)が、次のタイミングで生きるか死ぬかのパラメータ(λとします)を0とします。すると当然次のタイミングで全ての細胞が死んでしまいます。λを0.5にすると生死がランダムになり全体的に沸騰したような状態になります。
     で、丁度いい具合(0.273)にすると、細胞が群れとなり徐々に形を変えながらあたかも社会を形成するらしいです。私も、サバンナの動物をシミュレートしたゲームで遊んだことがありますが、いつもは5分ぐらいで全滅してしまうのが、あるパラメータをちょっといじっただけで、1時間も動作していた、という事があります。
     この状態変化をキーワードとしてこの項を終わりにします。

    Game Of Life0.00.2730.5
    力学秩序複雑性カオス
    物質固体相転移流体
    コンピューティション停止決定不可能暴走
    生命あまりに静進化あまりに動

     さて、私の実験したいことその2。
     「遺伝的アルゴリズムとバケツリレーのアルゴリズムを用いて自動作曲ソフトを作りたい」(特許出願計画中?)のです。
     音符の流れ(曲)というのは全くランダムというのはありえないでしょう。とりあえず、3オクターブの音域として、一番下の音程からいきなり一番上の音程に行くというのは曲として成り立たないはずです。実験素材としても、オクターブとリズムと小節をある程度限定すれば、実現不可能ではないと思います(コンピュータで絵を自動生成するとかだとあまりにも決定要素が多すぎて、ソフトを作る気にもなれない)。
     また最近はカラオケのためにデジタルデータも豊富にあるので、数々のパラメータを設定するための情報解析も手入力する必要がありません。出力フォーマットを使用するシーケンサの形式にすれば、楽譜をおこす必要もありません。
    で、一晩に何百小節ものフレーズを自動生成、その中から”良いなぁ”と感じるフレーズ同士を遺伝的アルゴリズムで掛け合わせて曲を綴っていく...。何しろ、コンピュータで大量生産するのだから、万が一にも良いフレーズが見つかったら、一週間ぐらいで一曲はできるのではないでしょうか。そして最後に「この曲は複雑系の理論を基に、遺伝的アルゴリズムで作成されました」というコピーをつけて売り出すのです。これまで天才と呼ばれる人々が作ってきた曲を土台として進化させるのだから、ヒット間違いなしです。
    (冗談ぬきで、自動生成した曲が聞ける代物か、確かめてみたいです)

     皆様のご意見・ご感想を聞かせてください。

−脚注−
  1. 『複雑系 COMPLEXITY』(新潮社 M=ミッチェル=ワールドロップ(訳 田中三彦)) ISBN4-10-533101-9
  2. (株)日立製作所 システム開発研究所のホームページから
  3. 『「複雑系」とは何か』(講談社現代新書 吉永良正) ISBN4-06-149328-0
禁 無断転載 (C)1997 宮川 清嗣