ハミルトン経路がグラフに存在するかどうかを見つける問題はNP完全であり、ダイクストラの最短経路アルゴリズムは多項式時間で実行されるため、最短ハミルトン経路を見つけるために変更できないことを読みました。(このロジックは有効ですか?)
しかし、無向グラフ (すべてのエッジが非負のコストを持つ) に 2 つのノード (A と Z など) が与えられ、与えられたノード (A と Z) を持つハミルトニアン パスが少なくとも 1 つあると仮定するとどうなるでしょうか。エンドポイントとして。これらの仕様が与えられた場合、Dijkstra のアルゴリズムを変更して、A と Z を終点とする最短のハミルトニアン パスを見つけることができるでしょうか? (多項式時間)
注: 特に 2 つのノードから最短のハミルトニアン パスを見つけることにのみ関心があります。たとえば、26 個のノード (A から Z までのラベルが付いている) を含むグラフがある場合、すべての点を通過するが、A で始まり Z で終わる最短のパスは何ですか? (異なるエンドポイント、A と Z のみ)
追加の質問: 答えが「いいえ」で、これを解決するために使用できる別のアルゴリズムがある場合、それはどのアルゴリズムで、その時間計算量はどれくらいですか?
(注: この質問にはタグとして「hamiltonian-cycle」が含まれています。タグ「hamiltonian-path」を作成するのに十分な担当者がいないため、Hamiltonian PATH を探しています。ただし、A と Z としましょう。がちょうど 1 つのエッジで接続されている場合、最短のハミルトニアン サイクルを見つけてから、A と Z を接続するエッジを削除することで、最短のハミルトニアン パスを見つけることができます)。