ポンツーンで島を接続することはNP完全ですか?


10

私の心には問題があります。NPCの問題だと思いますが、それを証明する方法がわかりません。

ここに問題があります:

非常に大きな湖にはk個の島があり、 扇形のポンツーンはn個あります。これらのポンツーンは同じサイズですが、最初の方向が異なり、湖の元の位置が異なります。ポンツーンはその重心を中心に自由に回転でき、回転に関連するコストはかかりません。

次に、これらのポンツーンを移動して、湖のすべての島を接続できるようにする必要があります。私たちはポンツーンの数がすべての島を結ぶのに十分であることを保証できます。

【ご注意】ポンツーンは再利用できません!!

タスクは、すべての島を接続するために、移動するポンツーンの最小合計距離を持つ解を見つけることです。1つのポンツーンの移動距離は、重心の元の位置とその展開位置との間の距離として計算できます。

分かりやすくするために、こんな図を描いてみました。A、B、Cの3つの島があるとします。これらは湖のどこかにあります。そして、私はいくつかの扇形のパントンを持っています。これで解決策は、図の下部に示されているA、B、Cを接続するための最小移動距離の合計を見つけることです。問題の理解に役立つことを願っています。:)

ここに画像の説明を入力してください

問題はNPCの問題のようですが、それを証明できるかわかりません。誰もがこれを手伝ってくれる?


@vsaxenaいいえ、最終的な解決策は直線ではないと思います。すでにアーチを形成している場合もあれば、それらを移動する必要はありません。ほとんどの場合、直線が適切ですが、ポンツーンが密集するにつれて、ソリューションは直線にならない場合があります。図は一例です。:)

1
シュタイナーツリーに非常に近いようです。距離空間では、両方を解決するための多くの手法が使用されます。en.wikipedia.org/wiki/...
ニコラス・マンキューソ

@NicholasMancusoブリッジはノード間であるため、ブリッジが複数のノードを接続する古典的なシュタイナーツリーではありません。同様の特性を持つVLSIレイアウトには多くの問題があります。
VSOverFlow

1
@vsaxena:問題は十分に特定されていません。正三角形に3つの島A、B、Cがあり、ポンツーンが最初に島の端に接続されたY字型を形成するとします。有効な解決策は何もありませんか、それともポンツーンをさらに動かす必要がありますか?このソリューションが有効でない場合、ポンツーンの有効な構成を正確に構成するものは何ですか?
JeffE

1
@vsaxena:そして、島にいる間、島は単なるポイント、または円、または入力で指定されたより複雑な形状ですか?ポンツーンの線分、楕円、またはその他の形状ですか?すべての島のサイズと形は同じですか、それとも異なっていてもかまいませんか?すべてのポンツーンは同じサイズと形ですか、それともちょっと違うのですか?
JeffE

回答:


1

まず、これは巡回セールスマン問題ではありません。TSPは、最小重量のハミルトニアンサイクルの識別を必要とします。このサイクルでは、サイクル、または最小限のウェイトパスはまったく必要ありません。エッジの接続セットを最小限のコストで構築する必要があり、構築コストはポンツーンの移動に基づいています。

第二に、これは最小のスパニングツリーの問題ではありません。上記を参照してください- 最低限の重量識別ではなく、最低限のコスト構造が必要です。

3番目:構築されたパスはスパニングツリーであるように見えますが、必ずしも最小の重みのものではありません。代替案は、それがスパニングツリーといくつかの追加のエッジであり、結果としてサイクルになるというものです。しかし、エッジのない構成で開始すると、すべてのエッジにいくらかの正のコストがかかり、追加のエッジを構築しないだけで、より低い重みのスパニングツリーを常に見つけることができます。

第4:ポンツーンは自由に回転すると言います。これは、ポンツーンの回転に関連するコストがないことを意味すると思います。ただし、ポンツーンが回転する対象を指定しません。それらのポイントは?彼らの重心?内部的なポイントはありますか?(外部ポイントがある場合、重量構造はゼロになりますか?)

これは少し微妙です。なぜなら、内部の点、たとえば重心を中心に90度回転している場合、コストはどれくらいなのでしょうか。それはローテーションなので何もありませんか?ポイントが移動したため、いくらか有限の量ですか?次に、ポンツーンのサイズも知る必要があります。

第5:ポンツーンと島の両方がユークリッド平面に埋め込まれていると想定しますか?


お返事ありがとうございます。回転は重心の周りで行われ、回転に関連するコストはかかりません。移動にのみコストがかかります。はい、ポンツーンと島の両方がユークリッド平面に埋め込まれています。わかりやすくするために投稿を変更します。

これは本質的にTSPではないことに同意しません。この記事全体は、用語では車軸に巻き付けられていますが、問題は、各ポンツーンと各潜在的エンドポンツーンの位置との間に線を引き、各線の距離をそれが重量になるように計算すると、例外です終了点が開始点に戻ると、形成されるグラフはTSPのように(ティーに向かって)ほぼ正確に見えます。ポンツーンまたは終了位置はグラフのノードであり、重みは距離で構成されます。ハミルトニアンサイクルは、開始した場所でのみ終了することを意味します。

2
これは答えではなく、一連のコメントです。
ラファエル

1

新しい図を見ると、島の間を横断するために複数のポンツーンが必要な場合があります。それを考えると、ノードをアイランドにして、小さな弧を持つポンツーンの十分に多様なコレクションを作成することにより、スタイナーツリー問題の解決策に非常に近づくことができます。Wikipediaによると、実際にはスタイナーツリーの問題にはPTASがあるため、すぐにNP完全であるとは言えません。ただし、Steinerツリーの詳細を見ると、適切な近似解が得られるか、問題がNP-Completeであることがわかります。


あなたが説明しているのは、最適に近い解を得るための近似アルゴリズムです。しかし、ソリューションが最適であることをどのように確認するのですか?

本当の問題は、島の間を横断するために複数のポンツーンが必要であり、これがシュタイナーツリーによく似ていることです。下限(たとえば、制約を無視して生成されたもの)から既知の最適解に移動する方法については、分岐と境界を参照してください。
mcdowella

2
@mcdowella各ポンツーンは1つの橋にしか出現できないため、シュタイナーツリーではありません。ポイントツーポイントシステムです。コスト関数は、ポンツーンの動きでさらにので、あなたは、ブリッジが依然として直線溶液よりも低いコストを有する広い円弧に形成されたケースを有することができる..
VSOverFlow

これは、別の見方をすれば、おそらくシュタイナーではあり得ません。ニーズに合わせてポイントを追加することはできません。
トランペットは

1
Yジャンクションが許可されている場合、スタイナーツリーの問題はこれらの1つに変わる可能性があるため、これは少なくともスタイナーツリーの問題と同じくらい困難です。たくさんのポンツーンを作成し、それを島から遠く離して配置してくださいどのポンツーンをどこで使うかは本当に重要です。その後、これを解決できれば、スタイナーツリーの問題を解決できます。この議論では、スタイナーツリーの問題を引き起こさないポンツーンの構成がいくつかあることは問題ではありません。Yジャンクションが許可されていない場合、ルールを正確に知る必要があります。パスはジャンクションで交差しますか?
mcdowella

0

描画後、これはまだNPCの問題です。問題を各ポンツーンに切り詰めたとしても、nポジションの1つ(つまり、既知の接続線)を想定できます。最適な答えを得るには、各ポジションで各ポンツーンを試して、それぞれの応答ポジションに到達するための距離を追加する必要があります。時間、および他のすべてのポンツーンとの比較各ポンツーンを各位置でテストする必要がある場合、n!の組み合わせをテストする必要があります。

この問題の背後にあるグラフのアイデアを示すために、いくつかの追加を加えて元のポスターの画像を編集することにしました。

以下の画像は、すべての(簡単にするためにマイナス2の)ポンツーンを異なる色で示し、すべての潜在的なポンツーンの終了位置を赤で示しています。私は3つのポンツーンとすべてのエンドロケーションの間に線を引いただけですが、これがいかにクレイジーかを知ることができました。

とりあえず、ターコイズポンツーンを最初のステップとしてそれに最も近い終了位置に配置することを選択したとしましょう(ただし、TSPからは、これは最終的に最適ではないことがわかっています)。

その下に正確に表示されているのは、ポンツーンとポンツーンが移動する必要がある距離(別名、加重移動距離)です。

ここに画像の説明を入力してください

ここから、先ほど配置した場所の隣にある2つの終了場所を持つ仮想ノードを作成できます。設定されたノードからの距離、および仮想ノード内の2つの隣接ノードの仮想移動距離は0です。

以下に、そこに配置できるすべての潜在的な移動距離の重みで作成された仮想ノードを示します。

ここに画像の説明を入力してください

これがどのように続くか、そしてすべての選択肢に対して最短距離を選択することで(TSPで何度も見られるように)最適なソリューションが常に得られるとは限らないので、基本的にすべてのノード/仮想ノードのすべてのパスをテストする必要があります。

最後に、(TSP)問題の最初のノードは潜在的なポンツーンの終点のいずれかである可能性があり、そこから引かれる線は、そのエンドポイントから他のすべてのポンツーンまでの距離です。他のすべてのノードは、残りのポンツーンまでの距離/重みとして線が外れるように描いたように、仮想ノードになります。このグラフの問題が正確にハミルトニアンサイクルからの最後のジャンプの要件のない巡回セールスマン問題である方法は、私を超えています。正確な答えを得るには、グラフのすべてのパスをテストする必要があります。


1
これが上記の問題の妥当なモデルであるかどうか、またはこれが実際にはTSPモデルであるかどうかはさておき、これはNP削減が機能する方法ではありません。ターゲットの問題がNPC問題のインスタンスとしてフレーム化される可能性があることを示していません。NPCの問題のインスタンスをターゲットの問題として組み立てることができることを示す必要があります。


2
まあ。私のコメントと私が提供したリンクを読むのが面倒だったなら、あなたは参照されたアルゴリズムが正確であることを(彼らはそれを証明している)知っていたので、あなたの理解と矛盾しています。あなたの意見がP!= NPを示唆していることに注意してください-これはまだ未解決の問題です。いいえ、これは理解できていません。ごめんなさい。(たとえNP完全な問題を素朴に解決することができたとしても、それを使用する理由は間違っているでしょう。)
ラファエル

2
O1.3

3
@JeffE:言い換えれば、この答えは、問題がおそらく論理的に NP完全であることを証明するだけです。
伊藤剛
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.