×
科目A|アルゴリズムとプログラミング

貪欲法 | 応用情報技術者試験

貪欲法とは

貪欲法(どんよくほう)とは、問題を解決するアルゴリズムの設計手法の一つです。「グリーディ法」とも呼ばれます。この手法の特徴は、問題を解決していく各段階において、将来の影響を一切考えず、その時点で最も有利に見える選択(局所的な最適解)を繰り返し選んでいくことです。全体にとっての最終的な正解(全体最適解)が必ず得られるとは限りませんが、処理が非常にシンプルであり、計算速度が極めて速いという大きなメリットがあります。素早く「そこそこ良い答え」を見つけたい場合や、特定の条件を満たした問題に対して有効なアプローチとなります。

具体例

お釣りとして渡す硬貨の枚数を最も少なくする問題を考えます。例えば、620円のお釣りを用意する際、貪欲法では「常にその時点で使える最も高価な硬貨を選ぶ」というルールに従います。まず500円玉を1枚選び、残り120円から100円玉を1枚選び、残り20円から10円玉を2枚選ぶことで、計4枚という最適な組み合わせを素早く見つけることができます。

もう少し詳しく