Legend 5th
Thank you CG and all the participants for this contests!
Base search algorithm: Decoupled PUCT without chance nodes.
-
Decoupled MCTS, a MCTS variant for simultaneous game: XMash Rush (CC07) - Feedback & Strategies - #38 by jolindien
-
No chance nodes, sometimes referred as “open-loop”: monte carlo tree search - MCTS for non-deterministic games with very high branching factor for chance nodes - Artificial Intelligence Stack Exchange
-
Selection : PUCT instead of UCB.
Started with a similar heuristic as @gaha, where each mini-game voted for its prefered move, to guide the search and prefer promising move for each player.
Finally I trained a very small network to replicate (supervised learning) the policy of UCB for a single player, by self-playing lots of games with high number of sims. -
Simulation : rollouts until the end of the mini-games, where moves are sampled from the same policy network.
-
Reward is my_score / total_score (with a epsilon free silver medal for all players).
Things that did not work:
- chance nodes or “closed-loop” approach
- bigger/smarter NN for policy
- for the first days of the contest, my simulation was broken because I forgot to reset this boolean

https://github.com/CodinGame/SummerChallenge2024Olymbits/blob/main/src/main/java/com/codingame/game/mini/HurdleRace.java#L124