最近、私はいくつかの欲張りアルゴリズムの問題を見てきました。私は局所的に最適であると混乱しています。ご存知のように、欲張りアルゴリズムは局所的に最適な選択肢で構成されています。しかし、局所的に最適な決定を組み合わせることは、必ずしも全体的に最適であることを意味するわけではありませんよね?
例として変更を加えます。15¢を作るために最小数のコインを使用します。10¢、5¢、および1¢のコインがある場合、1つの10¢と1つの5¢でこれを達成できます。しかし、12¢コインを追加すると、(1×12¢+ 3×1¢)は(1×10¢+ 1×5¢)よりも多くのコインを使用するため、欲張りアルゴリズムは失敗します。
Huffman、Dijkstraなどの古典的な欲張りアルゴリズムを考えてみましょう。私の意見では、これらのアルゴリズムは縮退したケースがないため成功しています。つまり、局所的に最適なステップの組み合わせは常にグローバルな最適と等しくなります。分かりますか?
私の理解が正しければ、欲張りアルゴリズムが最適かどうかを確認するための一般的な方法はありますか?
サイトの他の場所で欲張りアルゴリズムの議論を見つけました。ただし、問題の詳細についてはあまり詳しく説明しません。