皮肉にも、人生のインフレ感を共有する、たがいに嫉妬しあう大衆は、人生の充実度競争という不毛な闘争状態にはいる。「ながら作業」などマルチタスキングや「はやおくり」「ザッピング」などの「時間の有効活用」は、多忙な人生ほど上質であるという錯覚にもとづいた省時間意識の産物だ。ψ(プサイ)最近友人に薦められて、今日が最終回らしい「凪のあすから」を見ています。今6話なのですが、恋愛関係が大変複雑です。アニメ『凪のあすから』の人物相関図つくったよ」というページがあったので、引用しますと、こんな感じ。うーん、グラフ理論って感じだ。思ってからピクシブの非公式カップリングのページを見てしまうと、もはや隣接行列か何かにしか見えなくなってきた...。隣接行列...グラフ理論...はっ!ページランク求めようページランク!というわけで、今まで一回ぐらいやってみようと思っていた、ページランクの計算を実際にやってみました。徹底解説」を参考にしました。人間をページに見立てて、好意をリンクに見立てます。他のリンクしているページそれぞれににPR/N(Nはページ内のリンク総数)を与えており、ページランクの値PRはリンクされた他のページから貰ったページランク値の和に等しいというのを読んだ気がします。貰ったページランク=あげたページランク=そのページのページランクという等式が成り立つということです。元の論文にもそんな図が載っています。1998,http://www-db.stanford.edu/~backrub/pageranksub.psこれをグラフ理論と確率過程の話で表現すると、こうなります。各ページから他のページへ移動する確率の表を用意する(とりあえずすべてのリンクで等確率=1/リンク総数とする)その表に従ってあるページから出発してリンクをたどり続けるすると、どのページから出発しても、N回リンクをたどった時にあるページPに居る確率がN+1回目のそれと変わらなくなってくる(これを定常状態と呼びます)その時の、N回目でそれぞれのページに居る確率がページランクです。そのページから他のページへの遷移確率)の和=N回目にそのページにいる確率1なので、もらうページランク=あげるページランクという関係は確かに成り立ちます。実際にもとめてみましょう。鍵となるページ遷移確率表を用意します。さっきの表を見ながら、ひーくんからまなかへ遷移する確率は1...みたいな感じで行列を作るとこうなります。一応、今回は友情は無視して恋愛関係だけ考えます。みをり普通、ページには複数のリンクがありますが、このアニメだと思い人が二人以上居るのは不倫と勘違いされて殴られた至だけです。あと6話時点ではつむぐは誰も好きではないので、つむぐの行が全部0になるはずなのですが、そうしてしまうとページランクが求まりません2。pageと呼んでいます。surferモデルに習って、みんなを平等に好きなことにしました。計算は掛け算するだけ元の定義通り、「あるページからスタートしてリンクをたどり続けた時に、それぞれのページに居る確率が一定になってくる」まで遷移させ続けます。ひーくんからはじめましょう。はじめはひーくんに居ると仮定しているので、ひーくんに居る確率は1で、他みんな確率0とします。1回リンクをたどると、グラフを見るとひーくんはまなかが好きなので、まなかの確率が1になるはず。これを我々が先ほど作った行列を使って計算しようとするなら、先ほどの行列Mに、ひーくんを1としたベクトルPを掛ければよいです。octaveでやるとこんな感じです。0というわけで、まなかは三番目の要素で、それが1となったので、見事正しい結果を得られています。これを沢山続けてみましょう。10000回ぐらい掛けると変わらなくなってきます。0.22222...あれぇ?最後の3人、つまり大人組以外ゼロ?なんか間違ったかなぁ?ランダム・サーファー・モデルこうなってしまった原因は、大人組から子供組へ繋がっていないことです。つむぐくんは全員が好きだと仮定したので、子供組から大人組へはつむぐくんから遷移することが出来るのですが、その後は大人組の間でぐるぐるぐるぐる巡り続けることになります。ひーくんからはじめても長い目で見ればいつかは大人組に入ってしまい、そこで定常状態となるので、子供組の確率がすべて0になってしまったのです。グラフ理論の言葉でいうと、グラフを辿ると元の位置に必ず戻ってこれる大人組のような部分を再帰類と呼び、そうではなく元に戻れない子供組のような部分を非再帰と呼ぶそうですが、あまりこれ自信をもって解説できないので、しません...。sinkと読んでいて、そのためにランダム・サーファー・モデルというのを考慮しています。これはどういうモデルかというと、「時々はまったくリンクされていない別のページに飛ぶ」と考慮しているモデルです。具体的には、新しい遷移確率行列を次のように定義します。M2=(M*1/1.15)+((1/10)*0.15/1.15)これは、まず今までの確率を少し下げた上で、あるページから他のページへ僅かな確率で飛ぶようにした、ということです。凪のあすからの言葉を使えば、ひょっとするとひーくんは他の女の子(や男の子)にも興味を持つかもしれないよねというモデルです。sinkのような問題は起こりません。子供組を見ると、やはり特に重要そうなキャラクターであるひーくん、まなか、つむぐの三人のページランクが高いので、おおよそページランクの妥当性を示せたと言っていいんでしょうか!?とりあえず、この三人に注目して今後は視聴を続けたいと思います!蛇足:固有値・固有ベクトルを使って求めるなんか10000回も行列を掛け算するのは...という感じしますか?元の論文だとその方法で計算してると書いてあるのですが、これは行列の固有値・固有ベクトルを使っても求めることが出来ます。μVここで、固有値μ=1なら、MV=Vとなって、N回目とN+1回目でのそれぞれのページに居る確率が全く同じという事になり、ちょうど私達が求めたかったベクトルと一致しますね!octaveで求めるとこんな感じになります。0.135981↑先ほどの結果と一致する!こんな感じで計算できます。固有値ってこんなのにも使えるんですね〜。ちなみに、この行列の固有値のうち、絶対値が一番大きいものはかならず1になることがペロン=フロベニウスの定理から言えるらしいのですが、よくわからないので解説できません...。凪のあすからは線形代数と確率過程とグラフ理論を学べる神アニメていうか実は前期のアニメで一番好きだったのは「いなり、こんこん、恋いろは」で、京都と出雲にまで行ってきたのですが、それを書く日は来るのだろうか...!?他のページへの遷移確率の和は1です。リンク総数*(1/リンク総数)=1。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。それ故に...悔いの残らぬよう、やり遂げなさい。