「ワーシャル–フロイド法」の版間の差分

削除された内容 追加された内容
Ertyupoi (会話 | 投稿記録)
編集の要約なし
Zeosutt (会話 | 投稿記録)
編集の要約なし
1行目:
{{pathnav|最短経路問題|frame=1}}
'''ワーシャル-フロイド法'''({{lang-en-short|Warshall-Floyd Algorithm}})は、重み付き有向[[グラフ理論|グラフ]]の全ペアの[[最短経路問題]]を[[多項式時間]]で解く[[アルゴリズム]]である。名称は考案者である{{仮リンク|スティーブン・ワーシャル|en|Stephen Warshall}}と[[ロバート・フロイド]]に因む(二人はそれぞれ独立に考案)。'''フロイドのアルゴリズム'''、'''ワーシャルのアルゴリズム'''、'''フロイド-ワーシャル法'''とも呼ばれる。
 
==概要==
97行目:
ワーシャル-フロイド法は以下のような問題を解くのに利用可能である:
* 有向グラフでの最短経路を求める(フロイドのアルゴリズム)。この場合、全エッジの重みを同じ正の値に設定する。通常、1 を設定するので、ある経路の重みはその経路上にあるエッジの数を表す。
* 有向グラフでの[[推移閉包]]を求める(ワーシャルのアルゴリズム)。[[スティーブン・ワーシャル]]の元々のアルゴリズムでは、重み無しのグラフであり、[[ブーリアン]]の隣接行列が使用されていた。そのため、加算の代わりに[[論理積]](AND)が使われ、最小を求めるには[[論理和]](OR)が使用されていた。
* ある[[有限オートマトン]]により受容される[[正規言語]]を記述する[[正規表現]]を探す(クリーネのアルゴリズム)。
* [[実数]]の[[行列]]の[[正則行列|逆行列]]を求める(Gauss-Jordan elimination)。