シュミレータその後 geodesics, geodesic line, geodesic dome
物事は始めなければ終わらない。記事もとにかく書き始めなければ終わらない。
前々から書こうと思っていたスケールフリー・ネットワーク・シュミレーターの続きを書こう。一部の方にはすでに開示済みの情報で申し訳ない。
前回から何点かの改善、改良を行った。
例によって、ActiveBasicのお世話になった。
「可視化」は論より証拠で絵でみてもらうのがてっとり早い。ユキジさんの論文の図を見てまねをした。円周上にノードを置いて、それぞれにリンクを直線であらわしている。下の図は本来白黒の画面だが見やすいように反転してある。
「自動生成」は単に繰り返しの機能をつけただけだから、説明に及ばない。ただ、今後ファイルの入出力機能を付加したときには、力を発揮する予定だ。Basicの「open」とか「close」とかいう命令文は、一文字でも間違うと閉じれないファイルを生んだりするので嫌いだ。
今回の改善点の中では、最短パスが一番重要な要素だった。最短パスとは、ネットワークでつながれているノードとノードの間がいくつのリンクでつながれているからを示す。2つのノードがひとつのリンクでつながっている「隣り合わせ」状態であれば、「リンク数」=「パス長」=1となる。隣の隣なら1+1で2になる。すべてのノードを縦横にならべた時に、お互いのパス数が最短でいくつになるかのマトリックスをどう求めるかということが問題だった。最短パス長がある意味ネットワークの形の基本だともいえる。
最短パス長をもとめる上で、議論すべき問題はいくつかある。Webのリンクのような場合は、有方向でAというページから張られたBへのリンクは、Bへ移動することができてもAに戻ることはできない。まあ、最近ではリファラの情報を活用することもできるがWebのトポロジー上は表現されていない。逆に、SNSの場合は両方向だといえようお互いにリンクをたどることができる。下に示した論文のようにこの辺の関係をうまく数量化し、強い絆を持つコミュニティーを同定しようとする試みもあるようだ。こうした試みは実際グーグルのPageRankを超える検索やWebの「お隣さん」を発見するアルゴリズムにつながりうる。
有方向のパス長を求めるプログラムもリンクのマトリックスで右上の象限か左下の象限かで方向を区別すれば可能なのだが、分析したいと考えているのが社会的なネットワークであるため双方向と仮定した(対角線は自分自身へのリンクを示す)。
最短パスについて、参考文献をネットで探し、アルゴリズム求めたが案外少なかった。佐藤史隆さんらの同志社大学のグループがきちんと論文を明らかにしてくださっていた。
この中の「ウォーシャル・フロイド法」というのが興味深かったので、実装した。私のシュミレーターの場合、全部のノードの最短パスを求めるつもりであったので、適用できそうだという第一印象があった。論文の中で、「ノードi」と「ノードj」の間の最短パス長を求めるのに、「ノードk」からそれぞれのノードへの距離を使うというアルゴリズムが出てきた。これは、実際の人間関係で例えればお互いの「共通の知人」だと考えればわかりやす。Aという人物と、Bという人物でCという人物が共通の知人なら「2」というパスになるし。Aのまた直接の知人DとBとは、1+2で3というパスになる。今回、この考え方を素直にBASICでプログラムしてみた。当初、ノードのリンクのマトリックスの縦のラインしかみていなかったので、無限ループにはまってしまい相当苦労したのだが、人間関係も縦横全部がつながりだと気づき、少々プログラムの負荷は増えたが「リンク」=「人間関係」全部をチェックしてその内の最短の「共通の知人」を探すようにしてやったら、うまくいった。この辺は、案外社会的な常識と数学的な妥当性がマッチするところだ。
と、ここまで努力に努力を重ねようやくバグ取りがおわってほっとした翌日「P2P TODAY」のoff会に参加させていただいておっちーさんからすばらしいものをご紹介いただいた。
成長するネットワークのシミュレーションということでしたら、ぜひこのシミュレーションプラットフォームをお使い下さい。慶應大学SFCのBoxed Economy Projectが提案しているもので、日本が世界に誇る(ことになるであろう)、汎用性、拡張性ともに群を抜いて優れたシミュレーション基盤です。
こちらから、ダウンロードできます。
http://www.boxed-economy.org/
どうもこれはすごいことになっているらしい。
しかし、まだこのシュミレーターが使いこなせていない!誰かワークショップでもやってくれないだろうかと悩んでいる毎日だ。
■余談
最短パス長を一般に「geodesics」あるいは「geodesics line」というそうだが、「geodesics dome」というとあの有名な「フラードーム」を指すらしい。非常に興味深い。
■参照リンク
・、社会ネットワークの形成過程シミュレーション ―マルチエージェント・モデルによる表現と拡張― by 古川園 智樹さん、石元 龍太郎さん、小林 慶太さん、笠井 賢紀さん、赤松 正教さん
井庭 崇†††
| 固定リンク
この記事へのコメントは終了しました。
コメント
はじめまして。ちょっとblogの内容がむずかしくて恐縮です。
もう忘れましたが、去年授業で習った記憶が・・・
http://web.sfc.keio.ac.jp/~iba/
のレクチャーの「企業と市場の~」ところに軽めのが。
投稿: kinjo | 2004年11月20日 (土) 01時03分
kinjoさん、こんにちわ、
いんやぁ、すばらしいですね。ありがとうございます。
http://web.sfc.keio.ac.jp/~iba/lecture/2004/sfc-simu/index.html
これからお勉強会ですが、帰ってきたらぜひぜひぜひトライします。
しかし、こういう知識があたりまえに教育された学生さんたちはどういう展開をこれからされていくのでしょうか?すんごい興味があります。
投稿: ひでき | 2004年11月20日 (土) 11時26分