markdown
最短路の基本md 11b9e7d
lecture/information/algorithm/graph/shortest-path-basics.lecture.n.md
Download PDF

最短路さいたんろ基本きほん

date2026-07-14document_iddoc_cfb7aa8638aa4a6bd358edf029cbe4c6description最短路問題の定義を厳密に整理し、BFS、ダイクストラ法、負辺を扱う方法の適用条件を説明する。prerequisitesグラフの基本 / DFSとBFSの基本 / 計算量の基本type講義statusactiverelateddata/lecture/information/algorithm/graph/graph-algorithms-portal.lecture.n.md / data/lecture/information/algorithm/search/dfs-and-bfs-basics.lecture.n.md / data/lecture/information/algorithm/graph/dijkstra-algorithm-basics.lecture.n.md
algorithmgraphundergraduatelecture

1導入どうにゅう

この講義こうぎでは、辺数へんすうまたは辺重へんおもみの総和そうわ最小化さいしょうかする最短路問題さいたんろもんだい定式化ていしきかし、BFS、ダイクストラほう負辺ふへんあつかえる方法ほうほう適用条件てきようじょうけん説明せつめいする。

グラフの頂点ちょうてんへん歩道ほどうみちと、BFSの層構造そうこうぞう前提ぜんていとする。

data/lecture/information/graph/graph-basics.lecture.n.md data/lecture/information/algorithm/search/dfs-and-bfs-basics.lecture.n.md

2グラフと経路けいろ定義ていぎ

有限ゆうげんグラフ G=(V,E)かんがえる。無向むこうグラフではへん {u,v}きがなく、有向ゆうこうグラフでは有向辺ゆうこうへん (u,v)u から v への移動いどうだけをゆるす。

s から t への歩道ほどうwalkとは、v0=s,v1,,vk=t という頂点列ちょうてんれつであり、連続れんぞくする二頂点にちょうてんむすへんEぞくするものをいう。有向ゆうこうグラフではへんきも一致いっちしなければならない。頂点ちょうてん反復はんぷくしない歩道ほどうみちpathぶ。辺数へんすうk である。

辺重へんおも関数かんすうedge-weight functionとは、各辺かくへん実数じっすう対応たいおうさせる関数かんすう w:ER である。歩道ほどう P=(v0,,vk)費用ひようcost

c(P)=i=1kw(vi-1,vi)

定義ていぎする。無向辺むこうへんでは w(vi-1,vi) を、その二頂点にちょうてんむす無向辺むこうへんおもみと解釈かいしゃくする。辺数へんすう最小化さいしょうかする問題もんだいは、すべてのへんおも1あたえた場合ばあい一致いっちする。

3距離きょり到達不能とうたつふのう

s から t への歩道ほどう費用ひよう下限かげん

δ(s,t)=inf{c(P)Pisans[PARSE ERROR: Undefined("RBrace")]twalk}

定義ていぎする。s から t到達不能とうたつふのうである場合ばあいは、候補こうほ集合しゅうごうくうであるため δ(s,t)=+ とする。

閉歩道へいほどうclosed walkとは、始点してん終点しゅうてん一致いっちする歩道ほどうである。閉歩道へいほどうのうち、始点してん終点しゅうてんのぞいて頂点ちょうてん反復はんぷくせず、へん反復はんぷくしないものを閉路へいろcycleぶ。有向ゆうこうグラフの閉歩道へいほどうは、その分解ぶんかい負閉路ふへいろすくなくともひとふくむ。

s から到達可能とうたつかのうで、かつ t到達可能とうたつかのう閉歩道へいほどう存在そんざいすると、その閉歩道へいほどう任意回数にんいかいすうだけ反復はんぷくできる。この場合ばあいδ(s,t)=- であり、最小費用さいしょうひよう達成たっせいする歩道ほどう存在そんざいしない。無向むこうグラフでは、負辺ふへん往復おうふくする閉歩道へいほどう費用ひようになるため、その負辺ふへんs から t への経路けいろ利用りようできるなら距離きょり- である。

関連かんれんする負閉路ふへいろがなく、t到達可能とうたつかのうであるとする。任意にんいs から t への歩道ほどう頂点ちょうてん反復はんぷくするなら、そのあいだ閉歩道へいほどう費用ひよう非負ひふであり、これを除去じょきょしても費用ひよう増加ぞうかしない。この操作そうさ反復はんぷくするとみちる。有限ゆうげんグラフの s から t へのみち有限個ゆうげんこなので、その費用ひよう最小値さいしょうち達成たっせいするみち存在そんざいする。このみちs から t への最短路さいたんろぶ。

4おもみによる方法ほうほう選択せんたく

4.1ひとしい辺重へんおも

すべての辺重へんおもみがおなせい定数ていすう c>0 である場合ばあい費用ひよう辺数へんすうc ばいなので、費用ひよう最小化さいしょうか辺数へんすう最小化さいしょうか一致いっちする。BFSは始点してんからの辺数へんすう非減少ひげんしょうとなる順序じゅんじょ頂点ちょうてん処理しょりするため、各到達可能頂点かくとうたつかのうちょうてんへの最短距離さいたんきょり計算けいさんする。無重むおもみグラフは c=1解釈かいしゃくする。

4.2非負ひふ辺重へんおも

すべてのへんについて w(e)0 である場合ばあい、ダイクストラほう適用てきようできる。この方法ほうほうは、暫定距離ざんていきょり最小さいしょう未確定頂点みかくていちょうてん選択せんたくし、その頂点ちょうてん経由けいゆする候補経路こうほけいろによって隣接頂点りんせつちょうてん暫定距離ざんていきょり更新こうしんする。非負性ひふせいにより、確定済かくていずみの距離きょりあとから短縮たんしゅくする経路けいろ存在そんざいしない。

4.3負辺ふへん

負辺ふへんnegative edgeとは w(e)<0 であるへんをいう。負辺ふへん一辺いっぺんでも存在そんざいすると、未確定頂点みかくていちょうてん暫定距離ざんていきょりだけで確定かくていするダイクストラほう論拠ろんきょ成立せいりつしない。ただし、負辺ふへん存在そんざいだけでは最短路さいたんろ不存在ふそんざい意味いみしない。負閉路ふへいろ関連かんれんしない場合ばあいは、Bellman--Fordほうなど負辺ふへん許容きょようする方法ほうほう使用しようできる。

data/lecture/information/algorithm/graph/dijkstra-algorithm-basics.lecture.n.md

5最適部分構造さいてきぶぶんこうぞう

P=(v0,,vk)v0 から vk への最短路さいたんろとする。0i<jkたいし、部分道ぶぶんどう P[i:j]=(vi,,vj)vi から vj への最短路さいたんろである。これを最短路さいたんろ最適部分構造さいてきぶぶんこうぞうoptimal substructureぶ。

実際じっさいP[i:j] より費用ひようちいさい歩道ほどう Q存在そんざいすると仮定かていする。P当該部分とうがいぶぶんQ置換ちかんすれば、v0 から vk への費用ひようP よりちいさい歩道ほどう構成こうせいでき、P最短性さいたんせい矛盾むじゅんする。したがって主張しゅちょう成立せいりつする。この性質せいしつは、緩和かんわによって部分問題ぶぶんもんだい最良値さいりょうち結合けつごうする最短路さいたんろアルゴリズムの基礎きそとなる。

6まとめ

  • 無向むこう有向ゆうこうべつと、歩道ほどうみちべつ明示めいじしてから最短路問題さいたんろもんだい定式化ていしきかする。
  • 到達不能とうたつふのうなら距離きょり+ であり、関連かんれんする負閉路ふへいろがあれば - である。
  • 等重とうおもみではBFS、非負重ひふおもみではダイクストラほう適用てきようできる。負辺ふへんがある場合ばあいべつ方法ほうほう必要ひつようである。
  • 最短路さいたんろ任意にんい部分道ぶぶんどうも、その両端りょうたんあいだ最短路さいたんろである。
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
copy encoded share link
path をコピー
copy share link
copy encoded share link
copy share link
copy encoded share link
タブを全て閉じる