5つの状態 a, b, c, d, eを持つシステムにおける状態間の遷移と遷移コストが与えられています。 問題は以下の2つです。 1. 初期状態 $s_1$ を追加し、$s_1$ から a への遷移コストが 3、$s_1$ から d への遷移コストが 2 であるとき、$s_1$ から e への最短路とそのコストを求めます。
2025/8/4
1. 問題の内容
5つの状態 a, b, c, d, eを持つシステムにおける状態間の遷移と遷移コストが与えられています。
問題は以下の2つです。
1. 初期状態 $s_1$ を追加し、$s_1$ から a への遷移コストが 3、$s_1$ から d への遷移コストが 2 であるとき、$s_1$ から e への最短路とそのコストを求めます。
2. 初期状態 $s_2$ を追加し、$s_2$ から b への遷移コストが 6、$s_2$ から c への遷移コストが 1 であるとき、ダイクストラ法を用いて最短路木を求めます。
2. 解き方の手順
(1) から e への最短路の探索
まず、与えられた遷移関係とコストを整理します。
* : 4
* : 8
* : 1
* : 3
* : 6
* : 2
* : 3
* : 2
考えられる経路を列挙し、コストを計算します。
* :
* :
* :
* : (この場合 から に直接遷移できないため、これは正しい経路ではありません。)
から に行き、 から に行き、 から に行き、からに行く経路があることがわかりました。
のコストは 16
からに直接行き、からに直接行き、からに直接行く経路があることがわかりました。
のコストは 15
次に、からeに直接行く経路がないか調べます。直接行く経路がないため、他のノードを経由する必要があります。
と のどちらがコストが低いかを比較します。
経路 のコストは、 です。
経路 のコストは、 です。
したがって、 から e への最短路は であり、そのコストは 15 です。
(2) ダイクストラ法による最短路木の構築
を始点として、ダイクストラ法を適用します。状態は , a, b, c, d, e です。
からの遷移コストは以下の通りです。
* : 6
* : 1
他の遷移コストは問題文に記載されています。
ダイクストラ法の各ステップにおける状態ごとの最小コストと、直前のノードは以下のようになります。
初期状態:
* : 0, -
* a: , -
* b: , -
* c: , -
* d: , -
* e: , -
1. $s_2$ を選択:
* b: 6,
* c: 1,
2. c を選択:
* a: 2, c (c->a:1なので、1+1=2)
* e: 7, c (c->e:6なので、1+6=7)
3. a を選択:
* b: 6, (既存の値より大きいので更新しない。)
4. b を選択:
* d: 9, b (6+3=9)
* e: 14, b (6+8=14)
5. d を選択:
* a: 11, d (既存の値より大きいので更新しない。)
6. e を選択:
最終的な最小コストは以下の通りです。
* : 0
* a: 2, c
* b: 6,
* c: 1,
* d: 9, b
* e: 7, c
したがって、最短路木は以下のようになります。
*
*
*
*
*
3. 最終的な答え
(1) から e への最短路は であり、そのコストは 15 です。
(2) ダイクストラ法による最短路木は以下の通りです。
*
*
*
*
*