2016-03-27 7 views
0

グラフ<V, E>、開始ノードst、終了ノードedおよび特定のノードセットMが必要です。私の質問は、すべてを訪問している単純なパスを見つけることですM。また、私は知りたいです:特定のノードにアクセスする単純なパスが存在するかどうかを判断しますか?

1パスは存在しますか?

2存在する場合は、できるだけ早く見つける方法はありますか?

+0

M = Vのとき、ハミルトニアンパスの問題が発生するため、一般的なケースでは「高速」には解決できません。 –

+0

ありがとうございます。しかし、それを解決するための近似アルゴリズムまたはランダム化アルゴリズムを得ることはできますか? – mickeyandkaka

+0

どのようにすべての頂点を訪問するパスを近似しますか?おおよその経路が頂点のほとんどを訪問すべきか、それとも何か?いずれにしても好奇心がない。 –

答えて

1

セットMのため、問題はNP完全であることが知られているハミルトニアンパスに縮小することができます。

パスが存在するかどうかを確認する方法は、1つを見つけて、最も速いものを見つけることはNです!ノードの数で。

パスが存在しない場合(パスを完了するために複数回渡す必要がある切断されたコンポーネントまたは重要なノード)、再帰の早期に停止するスマートヒューリスティック(そのような経路が完了できないことが明らかになったとき)、またはより良いノード順序を選択することができます。

関連する問題