はじめに 先日 NHK ETV で放送された "大人のピタゴラスイッチ" で "ピーマンとハトと数学" と題して "ピーマンの袋がどれもほぼ同じ重さになる仕組み" について解説があり面白かった。 ピーマンの袋がどれもほぼ同じ重さになる仕組み 12個のピーマンを "組み合わせ計量装置" の上に置くと 150g になる組み合わせを計算して排出する仕組みになっている。 "組み合わせがない場合もあるのでは?" という問に対しては "98% の確率で組み合わせがあることが数学が保証している" ということ。 "98%" の根拠が知りたかったが確率の計算がわからなかったので、実際に Go 言語で試して検証してみることにした。 解法 とりあえずすぐ思いついたのは愚直に全組み合わせを試すパターン。 togetter みてたら "subset sum" というキーワードが出てきたので検索。 部分和問題 という
