0
エッジウェイトが1つおきに、あるいは3ホップでも変化するグラフ理論問題を、どうやって最適に解決できますか?私はまだ何種類かの修正されたDijkstraのアルゴリズムを使用できますか?他のホップごとに2倍のエッジウェイトを持つ最短パス
エッジウェイトが1つおきに、あるいは3ホップでも変化するグラフ理論問題を、どうやって最適に解決できますか?私はまだ何種類かの修正されたDijkstraのアルゴリズムを使用できますか?他のホップごとに2倍のエッジウェイトを持つ最短パス
変化するコストを符号化する新しいグラフを作成することができます(実際には、新しいグラフを明示的に作成しない方が良いでしょう)。
1
A --> B
| /|
2 | /5 | 4
v < v
C <-- D
3
ようなグラフが与えられると、各頂点は、2つの頂点を生じさせ、各アークは、2つの円弧を生じさせます。アークは元の重量から元の重量にコピーされ、コピーから元の重さの重量になります。今
1 5 3
A ---> B' B ---> C' D ---> C'
2 10 6
A' ---> B B' ---> C D' ---> C
2 4
A ---> C' B ---> D'
4 8
A' ---> C B' ---> D
宛先またはそのコピーへの安い経路を探し、ソースまたは最初のホップが2倍にされているかどうかに応じて、そのコピーのいずれかから検索します。
これは他のすべてのエッジウェイトに対してのみ機能しますか?または、それを修正して、n番目のホップが倍増するごとに適用できますか?例えば3番目のホップごと、または4番目のホップごとに?上に別のグラフを追加することでこれを達成できますか?私はそれが理にかなっていると思う。どうもありがとうございます! – Sauhaarda
@Sauhaarda一般的な考え方は、各k番目のホップを2倍にする必要があるグラフ(V、A)を与え、頂点V x {0、...、k-1}と円弧{(v、j ) - >(w、(j + 1)mod k)| (v、j) - >(w、(j + 1)mod k)の重みが2の倍数であるとき、Aにおけるv→wと{0、...、k- v、w)j = <あなたが望むものなら>それ以外は1x。 –
私はあなたの投稿を+1しましたが、私は評判がほとんどないので、何の効果もありませんでした。 – Sauhaarda