『CODINGAME SPRING CHALLENGE 2021』参加記(Gold 1425th)

CODINGAME SPRING CHALLENGE 2021に参加しました。何も分からん。

コンテストについて

コンテストはこちら。

www.codingame.com

ルール

ルールは、いなにわさんのブログが詳しいです。翻訳ありがとうございます。

inaniwa.hatenablog.com

結果

1652位/6867人でGold、日本ランキングでは141位/424人でした。

f:id:matsu7874:20210518000355p:plain
順位

ビームサーチを実装しました。

下記の 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というアルゴリズムを勉強しておくと良さそうでした。

twitter.com

秋のコンテストに向けて復習をして、下記2冊読んでみようと思います。