貪欲法(グリーディ法)とは?局所最適と、動的計画法との違い

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

貪欲法とは(全体像)

貪欲法とは、各段階で、その時点でいちばん良さそうな(局所的に最適な)選択をして、それをくり返していく設計技法のことだ。「グリーディ法」とも呼ばれる。グリーディ(greedy)は英語で「欲ばりな」という意味だ。

身近な例でいうと、お釣りを、できるだけ少ない枚数で払うとき、大きい硬貨から順に選んでいくようなやり方だ。その場その場で、一番得そうな選択をしていく。

ここで一番のポイント。貪欲法は、単純で速いのが強み。でも、目先で一番良い選択をくり返しても、全体として最善になるとは限らない。「貪欲法は、どんなときも必ず最適な答えを出す」と思い込むと誤りになる。


詳しく:局所最適と、動的計画法との違い

ここが心臓部。ポイントを表で押さえよう。

貪欲法のポイント

項目やさしい意味
方針各段階で、その時点いちばん良い選択をする
強み単純で速い
注意常に全体最適になるとは限らない
DPとの違い貪欲は目先の選択、DPは部分問題を記憶して全体を考える

貪欲法の強みは、単純で速いこと。複雑に全部を調べなくても、その場で良さそうな選択をするだけだから、手早く答えに近づける。

ただし、注意点もある。目先の最善が、全体の最善とは限らない。だから、貪欲法でうまくいく問題と、いかない問題がある。なお、動的計画法(DP)とは違う。貪欲法は「目先の選択」をするのに対し、動的計画法は「部分問題の結果を記憶して、全体として最適を目指す」。この対比はよく問われる。

わかりやすく言い換えると

身近なたとえで整理しよう。

貪欲法は、「その場その場で、一番良さそうなものを選んでいく」イメージ。お釣りを大きい硬貨から選ぶような、欲ばりな選び方だ。

「全体最適とは限らない」というのは、目先の最善をくり返しても、全体ではもっと良い答えがあるかもしれないこと。要するに、つねに最適とは言えない。

「動的計画法との違い」は、貪欲法は目先の選択、動的計画法は部分問題を記憶して全体を考えること。つまり、考え方の向きが違う。


試験のツボ

🔴 一番出る:貪欲法の方針

①各段階で、その時点いちばん良い(局所最適な)選択をする

②それをくり返して、答えに近づける

🔴 次に出る:全体最適とは限らない

①単純で速いが、常に全体最適になるとは限らない

②目先の最善が、全体の最善とは限らない

🟡 押さえると安定:動的計画法との違い

①貪欲法は「目先の選択」

②動的計画法は「部分問題を記憶して、全体を考える」


よくある間違い

「貪欲法は、どんなときも必ず最適な答えを出す」→ ✗  各段階で局所最適を選ぶだけ。全体最適になるかは、問題による。

「貪欲法と動的計画法は、同じ方法だ」→ ✗  貪欲法は目先の選択、動的計画法は部分問題を記憶して全体を考える。向きが違う。

「貪欲法は、すべての組み合わせをくまなく調べる方法だ」→ ✗  逆で、全部を調べず、その場で良さそうな選択をする。だから単純で速い。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(貪欲法の正体)

📝 オリジナル問題 1 貪欲法の正体

貪欲法に関する次の記述のうち、最も適切なものはどれか。

  1. 社員の出退勤を記録して、毎月の給与を計算するためのしくみである
  2. 各段階で、その時点でいちばん良い選択をくり返す設計技法である
  3. 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
  4. 完成したシステムを宣伝して、より多く売るための広告活動である
データパン
データパン 解答・解説

解答は 2 だぱん。

貪欲法は、各段階で、その時点いちばん良い選択をくり返す設計技法なんだぱん。お釣りを大きい硬貨から選ぶようなイメージだぱん。

選択肢1は給与計算、選択肢3は請求書の事務、選択肢4は広告で、どれも違うぱん。

選択肢判定理由
1給与計算のしくみではない
2その時点いちばん良い選択をくり返すで正しい
3請求書の事務の話
4広告活動ではない

オリジナル問題2(全体最適とは限らない)

📝 オリジナル問題 2 貪欲法の特徴

貪欲法の特徴に関する次の記述のうち、最も適切なものはどれか。

  1. 社員の給与を計算するときだけ、使える方法だとされているものだ
  2. 取引先へ請求書を郵送するときだけ、使える方法だとされているのだ
  3. すべての場合で、必ず全体最適な答えを出すとされているものである
  4. 単純で速いが、常に全体で最適になるとは限らないものなのである
データパン
データパン 解答・解説

解答は 4 だぱん。

貪欲法は、単純で速いが、常に全体最適になるとは限らないんだぱん。目先の最善が、全体の最善とは限らないからだぱん。

選択肢1の給与、選択肢2の請求書、選択肢3の「必ず全体最適」は、いずれも違うぱん。

選択肢判定理由
1給与計算のときだけではない
2請求書のときだけではない
3必ず全体最適とは限らない
4単純で速いが全体最適とは限らないで正しい

オリジナル問題3(動的計画法との違い)

📝 オリジナル問題 3 貪欲法と動的計画法

貪欲法と動的計画法(DP)の違いに関する次の記述のうち、最も適切なものはどれか。

  1. 貪欲法は目先の選択、DPは部分問題を記憶して全体最適を考える
  2. 社員の給与の計算しだいで、違いが決まるとされているものである
  3. 取引先への請求書の枚数しだいで、違いが決まるとされているのだ
  4. 貪欲法と動的計画法は、まったく同じ方法だとされているものである
データパン
データパン 解答・解説

解答は 1 だぱん。

違いは、貪欲は目先の選択、DPは部分問題を記憶して全体を考えることなんだぱん。考え方の向きが違うんだぱん。

選択肢2の給与、選択肢3の請求書、選択肢4の「同じ方法」は、いずれも違うぱん。

選択肢判定理由
1貪欲は目先・DPは全体で正しい
2給与計算で決まるのではない
3請求書の枚数で決まるのではない
4同じ方法ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る