機械学習で最密充填ピーナッツバナナサンドイッチづくり
バナナをはさんでピーナッツバターを塗ったサンドイッチを作る際に、いかにバナナをぎっしりと敷き詰めることができるか、というのを機械学習によって示すツール EthanRosenthal/nannernest が公開されています。
[video width="1890" height="1416" mp4="http://localhost:8099/wp-content/uploads/2020/08/banana_small.mp4"][/video]
家にバナナが無かったので買ってきました。
今日は世界一のバナナ輸出国エクアドル産のものが手に入りました。
バナナと、パンの断面がわかる写真を撮ります。台所がが暗くてすいません。
nannernest コマンドにこの画像を与えると、デフォルトの動作ではパンに敷き詰めるだけのバナナが無く、隙間が多数できてしまいました。日本の食パンが大きいのかな? もっと薄くスライスするよう調整した結果がこちら
この結果が正しいかを確かめてみます。
29個の輪切りにするのは結構たいへん。なんとか切り終えたので、画像の指示する番号に従って、スライスを配置していきます。
「なんだか少し窮屈だな」と思いながらも進めていくと、16番を置こうとした際についに限界が。
日本で売っているエクアドル産のバナナの形状が、ツール作者のバナナとは異なるのかもしれません。
コマンドラインオプションで、バナナを何個の輪切りにするか(デフォルトは22個。バナナ層の厚みが変わってきます)、バナナの皮の厚さ、バナナの断面の長軸短軸の比率、など細かな設定もできます。
調整次第では、バナナの詰まったサンドイッチを作ることができるのではないでしょうか。
via Ethan Rosenthal via Geekologie