CODINGAME SPRING CHALLENGE 2021に参加しました。何も分からん。
コンテストについて
コンテストはこちら。
ルール
ルールは、いなにわさんのブログが詳しいです。翻訳ありがとうございます。
結果
1652位/6867人でGold、日本ランキングでは141位/424人でした。
ビームサーチを実装しました。
下記の State
を持って幅100のビームサーチ(深さ17程度)をしました。相手の手番は考慮していません。
struct State { day: usize, nutrients: i32, score: i32, sun_point: i32, opp_sun_point: i32, n_my_trees: [i32; 4], sizes: [i32; N_CELLS], is_mines: [bool; N_CELLS], is_dormants: [bool; N_CELLS], }
評価関数
盤面の評価はスコアと現在の木配置のまま終局した場合の獲得SunPointを使っています。
遷移先の限定
序盤に木を切ってしまいSunPoint不足になることが多かったため、ゲーム開始から12ターン(太陽が2周するまで)は相手が COMPLETE
をしない限りこちらも COMPLETE
をしないようにしました。
目下問題に感じていること
下記は対戦を見ていて課題に感じましたが、改善できませんでした。
- 序盤で種を植える数が少ない
- 中盤で木を切りすぎる
- 終盤で木を育てない
その他やったこと
MCTSを試してみたが、ビームサーチより強い実装ができませんでした。
感想
2週間分の土日をほぼ全て費やして参加しましたが、Goldに入って以降、有効な改善が思いつきませんでした。 TLを見る限り、DUCTというアルゴリズムを勉強しておくと良さそうでした。
秋のコンテストに向けて復習をして、下記2冊読んでみようと思います。
AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門
- 作者:布留川 英一
- 発売日: 2019/06/28
- メディア: 単行本
- 作者:山岡 忠夫
- 発売日: 2018/03/14
- メディア: Kindle版