優勝作品と解説

優勝されたkurenai3110さんの作品と、ご本人による作品解説です。

優勝者作品

kurenai3110さんの作品(ソースコード)

作品解説

方針

えさを食べる順番を決定し、近いカメから貪欲に向かわせることにしました。

ビームサーチの亜種であるChokudaiSearchでカメの動きの流れを作ってから、山登り法で細かい調整をしました。

ChokudaiSearchに10秒、山登り法に45秒。

ChokudaiSearchだけで、約56000ターン。そこから山登り法で約52000ターンになりました。

ChokudaiSearch

盤面の評価

  • まだ食べてない餌をすべて含む長方形面積の小ささ
  • 序盤にカメが近くに集まっていたほうが良い
  • まだ食べてない餌を近いところからめぐる距離の小ささ

餌の評価

  • ターン数
  • 餌の高さが大きいほうが良い
  • まだ食べてない餌のうち、外側のほうが良い

これらを食べてきた餌ごとに足し合わせた累積和を評価値とした

chokudai幅は基本1、餌が少なくなってきたらchokudai幅を増やした

1ステージ当たり、イテレーションは100回~500回

山登り法

近傍はinsertとswapと区間reverse

どの近傍も2つの餌のペアを選んで作用させるが、距離の遠いペアは選ばないようにした

1ステージ当たり、イテレーションは10万回~40万回

その他高速化

餌を食べるターンは、その餌の高さをhとすると、h番目にたどりつくカメが分かればいいだけなので、sortやpartial_sortより速いnth_elementをした。

プログラムの中で一番時間がかかっていたのがnth_elementだったので、カメを1匹ずつ見ずに集団として見ることにした。

top