最短経路問題の「親族」


10

非負のエッジの重みと2つの区別された頂点s,t持つ接続された無向グラフを考えます。以下は、次のすべての形式のパスの問題です。パスのエッジの重みの関数が最小になるようなstパスを見つけます。この意味で、これらはすべて最短経路問題の「親戚​​」です。後者では、関数は単に合計です。

注:頂点が繰り返されない単純なパスを探しています。文献ではこれらの問題の標準的な名前が見つからなかったので、自分で名前を付けました。

最小の重みギャップを持つパス:stパスを見つけます。パスの最大と最小のエッジの重みの差が最小になるようにします。

最もスムーズなパス:パスの最大ステップサイズが最小になるようなstパスを見つけます。ステップサイズは、2つの連続するエッジ間の重みの差の絶対値です。

最小高度のパス:パスに沿ったステップサイズの合計によってパスの高度を定義します(上記のステップサイズの定義を参照)。高度が最小stパスを見つけます。

最小の素数の重みを持つパス:すべてのエッジの重みが正の整数であると仮定して、その重みが素数になるようなstパスを見つけます。そのようなパスがある場合は、プライムウェイトが可能な限り小さいものを見つけます。

質問:これらのパスの問題について何がわかっていますか?(そして、重みの異なる関数を適用して、同様の精神で考えられる他のもの。)一般に、エッジ重みのどの関数が多項式時間で最小化でき、どれがNP困難であるかについてのガイダンスはありますか?

注:たとえば、重みの合計を最小化するのは簡単ですが(これは古典的な最短パスの問題です)、パス上の重みの密接に関連する平均を最小化することはNP困難であることが興味深いです。(重み2をst付随するすべてのエッジに割り当て、重み1を他のすべてに割り当てます。次に、最小平均重みパスが最長stパスになります)。

回答:


8

最初の問題の答えは次のとおりです。

最小の重みギャップを持つパス:stパスを見つけます。パスの最大と最小のエッジの重みの差が最小になるようにします。

1984年の論文は、多項式時間におけるいくつかの組み合わせ最適化問題の実現可能性を決定できる場合(重み付けされていない場合に解が存在する場合)は常に、最大と最小の差を最小にする解を多項式時間で見つけることもできることを示していますコスト係数(加重の場合):

S. Martello、WR Pulleyblank、 P。Toth、D。de Werra
バランスのとれた最適化の問題
Operations Research Letters 3、1984、Pages 275-278

これは、質問に対する多項式時間アルゴリズムを意味します。


1
これは、最大値と最小値、およびそれらの順序/方向を構成する可能性のあるすべてのエッジのペアに対するブルートフォース検索によっても実行できます。
ヨナタンN

3

O~(|E|2)|E||E|

O~(|E|)|E|2kk1


SΘ(n/logn)PSバイナリウェイトの場合でも、各ポイントで多項式的に多くの(依存する)最も低いパスウェイトを追跡することで十分です。ただし、プライムウェイトでは、(最低のウェイトを追跡するだけでなく)ウェイト差の約数を多様化する必要があり、それで十分かどうかは不明です。S

スムーズパス: NP完了。自己交差を許可した場合、これは時間で解決可能ですが、自己交差のないバージョンの変数が 3-SATからの削減になります。頂点に加えて、各句の頂点があります。変数()ごとに、からへの滑らかなパス(必要に応じて追加の頂点を使用)を追加しますこれは、正の出現ですべての句を通過し、で句の同様のパスをO~(|E|)ns=v0,v1,...,t=vnxii<nvivi+1xi¬xi。各パスの最初と最後のエッジの重みを1(または別の定数)に設定しますが、それ以外の場合は、他のパスがスムーズにならないように重みを選択します。最後に、すべての節の頂点と隣接するエッジを複製します。この方法では、各節を最大2回訪問でき、3-SATで十分です。


次の変換により、スムーズパスはPにあると思います。してみましょう程度の頂点も。をサイズクリークに置き換えます。これにより、元々隣接していた各エッジがクリークの異なる頂点で終了するようになります。場合二つのそのような元のエッジがあり、その後、重量割り当てるクリークのエッジに。すべての頂点に対してこの変換を行い、元のグラフのエッジに0の重みを割り当てます。次に、最小重量d v d e v v e e f | w e w f | v ev fv s t s tvdvdevvee,f|w(e)w(f)|(ve,vf)vs,tst新しいグラフのパスは、変換を元に戻した後、元のパスで最も滑らかなパスを提供します。
アンドラスファラゴ

@AndrasFarago引数の問題は、拡張グラフのいくつかの単純なパスが元のグラフで頂点を繰り返していることです。最もスムーズなパスの問題が一見単純そうに見えるのが好きです。
Dmytro Taranovsky

@ Dmytro Taranovsky確かに、元のグラフに戻った後、パス上で頂点が繰り返される(エッジが繰り返されない)可能性があります。ただし、元のグラフの各次数が3以下の場合、繰り返しは発生しません。つまり、少なくとも最大次数がグラフの場合、スムーズパスの問題はPにあります。3
Andras Farago

申し訳ありませんが、変換されたグラフでは、最小の総重みではなく、最小の最大重み(これもPにある)を持つパスを見つける必要があります。合計の重みは最小高度のパスにつながります(最大次数がグラフでは、繰り返される頂点は除外されます)。3
Andras Farago
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.