Official SPM Record Holders:
-d "50 50" -s 123456789
-- @cdurbin -- 154 frames
-d "10 10" -n 2 -s 1886238180
-- @pepijno -- 54 frames
There is a really interesting algorithmic sub-problem inside the Halite game: setting aside the other players, what series of moves will allow you to mine the nearest squares most efficiently and most quickly? This question is not just academic; ramping up your controlled territory and production quickly may in fact be the key to the whole game (speculation). In any case, if your bot can mine more efficiently than the other guys, you're well on your way to a winner.
In another thread, ppl were asking about additional Halite challenges. So, here's my challenge for you: Halite single-player mode. Here's how to play: someone nominates a board size and seed, launch the (patched) Halite game environment on your local machine with the spec'd size and seed, along with a single bot. Whoever can mine all the productive (ie production > 0) squares in the fewest frames is the winner. The zero-production squares are optional; you don't have to mine them to finish, but you aren't penalized if you do (I feared that a requirement to mine the zero-production squares would break some existing bots, like, say ... mine). There can even be two categories of competition: timed and untimed.
Unfortunately, single-player mode is not available in the current Halite distribution . However, I just submitted a pull request
, and I hope @truell20 and @syriax see value in this, and get it out to everyone. The commit to enable single-player mode is all of 8 inserts and 2 deletes. If there are delays in getting this committed to Official, you can download my fork of the Halite game environment from my github account, which has the patch needed to enable it.
Challenge #1:./halite -d "50 50" -s 123456789 "python3 MyBot.py"
My current production bot completes that level in a sleepy 206 frames.
@nmalaguti's ProductionBot bests me at 201 frames.
@nmalaguti's DiscerningBot gets there in 195.
One of my older bots (~v8 I think?) does it in 172, so I guess that's the world's record for now. I have the .hlt replay file for proof! But I bet some bots can go a lot lower. I'm really interested to hear how low. For bonus points, what's God's Number for this map?
Also, would love to hear from anyone who can tell us: the Halite single-player mode game reduces to which well-known NP-hard / NP-complete / some-other-complexity-class problem?