貪欲なアルゴリズム (貪欲なアルゴリズム)

貪欲な戦略

意味

貪欲な戦略とは、問題を解決するときに、最良または最適なアルゴリズムにつながることを期待するために、選択の各ステップで最良または最適 (つまり、最も有利な) 選択が取られることを指します。
貪欲な戦略を使用するには、一般に、最適な部分構造と、各部分問題に対してこれまでの最良の部分解をトップダウンで計算する必要があります。これは、貪欲アルゴリズムの解が必ずしも最適解であるとは限らず、実際に得られるものは比較的近似した最適解である可能性があることも意味します。

貪欲アルゴリズムを適用する場合、まず目標に従って問題を分類する必要があります。順序に従って最適なサブセットを選択します。

例えば

共通のステーション問題など:ここに画像の説明を挿入
目標: ステーションの数は最小限で、最大のエリアをカバーします。
カバレッジターゲットセットを定義します Y=[北京、上海、天津、広州、深セン、成都、杭州、大連]
1. まず、K1 ~ K5、これら 5 つのステーションによってカバーされるエリアの数を調べます。K1、K2、および K3 はそれぞれ 3 つのエリアをカバーし、K4 と K5 はそれぞれ 2 つのエリアをカバーします。次に、[北京、上海、天津] をカバーする K1 を選択し、Y=[広州、深セン、成都、杭州、大連] をカバーしないままにします。
2. Y=[広州、深セン、成都、杭州、大連] に従って、残りの K2 ~ K5 ステーションによってカバーされるエリアの数を調べます。この時点で、K2、K3、および K5 はそれぞれ 2 エリアをカバーし、K4 は 0 エリアをカバーします。K2 を選択すると [広州、深セン] がカバーされ、Y=[成都、杭州、大連] は残ります。
すべての領域がカバーされるまで、上記の操作を繰り返します。

以上より、ある段階で得られる最適解のみが選択されることがわかる。
貪欲アルゴリズムは必ずしも最適解を取得するとは限りませんが、少なくとも近似解を取得することができ、これは単純で効率的です。

おすすめ

転載: blog.csdn.net/qq_43842886/article/details/122531559