与えられたG =(V、E)各エッジは、これらの3つの色{緑、赤、青}のうちの1つを有する。 3つの色がすべて入っている場合は、「色付きパス」というパスを呼び出します。最短の色のパスを見つけるには?
Input: graph G(V,E),weight function w:E->Q+ , colored edges and vertices s .
output: algorithm that finds for every vertices v, a shortest path from s
that is Colored path
解決方法私の解決策は、グラフを歩き回り、すべての頂点にパスの色数を数えることです。 G1、G2、G3という名前のグラフを3つ作成する
c(v)= 2(cはsからこのパスまでの色数)の2番目のグラフ(G2)のv2に接続するすべてのエッジc(v)= 3について、エッジ重み= 0でv2(G2から)からv3(To G3)に接続する。
dijkstraをsからt3(G3)に実行します。
私の解決策は正しいですか?
「古典的な」オールペア最短経路問題とは異なり、「u」から「v」までのカラーパスが全くない頂点「u」、「v」が存在する可能性がありますつながっている;エッジのクラスのために、カラーパスがカラーパスではないパスに分解されるので、この問題は容易に分解されないようにも見えません。 – Codor
建設の詳細な例を教えてください。 – Codor
あなたのアルゴリズムの記述は理にかなっていません。 「すべてのエッジc(v)= 3」とは何ですか? 「sからこのパスまでの色の数」とは何ですか? – user31264