■ ついに登場
ほげたん、ほげたん。
な〜に、おね〜さん?
乗っ取ったわよ、この場所を。
さすがだね、おね〜さん。もうパパさんなんか目じゃないね。
いずれは本家「3Minutes Networking」にも進出だ!!
それはどうかしら?
あらら。おね〜さん、クール。
まぁ、できる事とできない事があるってことよ。
でもね、「3Min Supplement」ぐらいは私達でやりたいわね。
そだね。
■ Dijkstra
さて、ほげたん。今日の話だけど。
いつもいつもネットワークの話というのもアレだから、関連はあるけどちょっと目先を変えた話をしましょう。
へ〜。な〜になに、おね〜さん?
今日は、「Dijkstraのアルゴリズム」の話をするわ。
え〜っと。「でぃじゃくすとら」って何?
……。
ディジャブ? でもあれは[Deja]だし…………って、イタイイタイッ!!
莫迦。
やめてやめてとめて。痛い痛いっ。
「ダイクストラ」と読むのよ。
は〜。死ぬかと思った。
で、だいくすとら? 何それ。
人名よ。人の名前。エドガー・ダイクストラ。
数学者。この人が考えたアルゴリズムだから、「ダイクストラのアルゴリズム」。
へ〜。
この人が考えたアルゴリズム「ダイクストラのアルゴリズム」は日本語で「最短経路決定アルゴリズム」と呼ばれているわ。ねぇ、ほげたん、最短経路を英語で言うと?
最短経路? もっとも短い経路。
もっとも短い[Shortest]、経路[Path]。
最短経路を優先して選ぶとすると?
もっとも短い[Shortest]、経路[Path]を、優先[First]して…。
頭文字を取って?
えす、ぴー、えふ……SPF!!
よくできました。SPFは「最短経路優先」の意味。
そう、つまりOSPFのSPFアルゴリズムそのものなのよ。
は〜。すごいや。ディジャクストラさんはOSPFの生みの親なんだ。
ダイクストラ。
そうそう。その人。
まったく。でも、「生みの親」ってのはちょっと大袈裟かも。
ダイクストラのアルゴリズムはOSPF、IS-ISのSPFアルゴリズムだけじゃなく他のいろいろな所で応用されているのよ。
最短経路の決定だもんね。カーナビとかで使えそうだね。
ともかく。ちょっと復習。
ルーティングプロトコルで使われているアルゴリズムを答えなさい。
え〜っと。
- ディスタンスベクタ … ベルマンフォード [Bellman-Ford] アルゴリズム
- リンクステート … SPF [Shortest Path First] アルゴリズム
- 拡張ディスタンスベクタ … DUAL [Diffusing Update ALgorithm]
だよね。
はい。その通り。
じゃ、このダイクストラのアルゴリズムを説明しましょう。
■ Dijkstraのアルゴリズム
じゃ、アルゴリズムの説明行くわね。
- 始点を決定する
- すべての点において、始点からの距離として最大値を設定する
- 始点に接続されているすべての点において、始点からの距離を求める。
- 始点に接続されているすべての点の中で、最短の点を確定とする。
- 確定した点に接続されているすべての点において、始点からの距離を求める。
- 新しく計算された距離が現在の距離より短い場合、新しく計算された距離を始点からの距離とする。以前の経路は使用しないものとして切断する。
- そうでない場合、現在の距離を始点からの距離とする。さらにその経路を使用しないものとして切断する。
- 現時点で始点からの距離が最短の点を確定とする。
- すべての点が確定するまで、5〜6を繰り返す
こう。
わからん。
それは何、ほげたん? 私の説明が悪いとでも言いたいわけ?
ままままままま、まさか。そんな恐ろしいことを考えるわけないじゃないか、おね〜さん。
えぇ。僕も命は惜しいですから。
ふ〜ん。
おね〜さん、できれば図解か何かしていただけると大変ありがたいのですが…。
そうね。じゃ、図解で。
[FigureSP03-01:Dijkstraのアルゴリズム]
なるほどだよ、おね〜さん。
Aをルータ。B〜Kをネットワークとみたてるでしょ。
で、こう回転させて、切断したパスを消して、木構造に見立てると…。
[FigureSP03-02:SPFツリー]
ほらっ、SPFツリー。
は〜、これがOSPFのSPFツリー。
そういうこと。
すごいよ、おね〜さん。
ネットワークと関係あるけど、目先の違った話だったでしょ。
うん。アルゴリズムなんて知らないからさ。目新しい話だねっ。
じゃ、今日はこれでおしまい。
おね〜さんと、
ほげたんのっ!!
3分間ネットワーク、
サプリメントでした〜〜〜っ!!
まったね〜〜〜〜!!
- エドガー・ダイクストラ
-
[Edsger Wybe Dijkstra]
1930〜2002。オランダ人。
「ダイクストラのアルゴリズム」やセマフォの考案、構造化プログラミングの提唱など、業績は多い。
- ほげたんの今日のポイント
-
- ダイクストラのアルゴリズムはOPSFで使われている「最短経路決定」アルゴリズム。