2017-02-03 15 views
1

私の教科書の質問は、Mehadiaからブカレストへの経路を計算して、1)欲張り探索と2)均一コスト検索によって求めました。欲張りグラフで点Aから点Bまでを検索

*ここでは、一貫したコスト検索で経路を完全に説明し解決することができましたが、私の欲張り検索は非常に似ています。どのように私は "欲張り"の検索を介してルートを計算することができます上の任意のアイデア?

Map

UPDATE 私は散らかっ貪欲algotithmを適用したし、私の均一価格からの最短ルート対異なるルートを頂いております。

これは私の欲張りアルゴリズムによって出力されたルートです。アルゴリズムはちょうどチェックし、最小のローカル値を選択します。誰かに私の新しい質問:このルートは私の欲張りアルゴリズムの出力として受け入れられますか?私。私の解決策が法的に貪欲であるとみなされる可能性もありますか? >ルゴジ - - >ティミショアラ - >アラド - > Zerind - >オラデア - >シビウ - > リムニクビルチャ - >ピテシュティ - >ブカレスト

+0

実際の質問を理解するのは少し難しいです。アルゴリズムをより詳しく記述してください。 [Dijkstra](https://en.wikipedia.org/wiki/Dijkstra's_algorithm)でアルゴリズムを再発見したかのように少し聞こえますが、現在の最小最小値が選択されているという意味では貪欲です。 – Codor

答えて

1

Mehadia:私の新しいアルゴリズムに基づいて

ルートユニフォーム・コスト・サーチを使用すると、Mehadiaからすべてのノードまでの最短経路が計算されますので、Mehadia-Bucharestパスが最適であることがわかります(このアルゴリズムは完全で最適です)。 Greedy Search Algorithmを使用すると、ローカルで最も良い オプションが選択され、ノードごとに他のものが破棄されます。このアルゴリズムは完全でも最適でもありません。 あなたの質問に答えるには、あなたの解決策は欲張りとみなされます。

これが役に立ちます。

+0

大丈夫です。私は一律のコスト検索でそれを取り上げたので、私はルートを得ました。(Mehadia - > Drobeta - > Craiova - > Pitesti - > Bucharest)...そして、バックトラッキングなしで最も安いエッジを選択します。私は、「Mehadia - > Lugoj - > Timisoara - > Arad - > Zerind - > Oradea - > Sibiu - > Rimnicu Vilcea - > Pitesti - > Bucharest」のソリューションが貪欲であると考えられていたかどうかを尋ねたのは、 「欲張りな」検索として受け入れられるはずです。再度、感謝します! –

関連する問題