Re:Battlecode – AI Programming Competition
by patmcguire on Friday October 07, 2016 @11:05AM
(#12661213)
Are there competitive AIs generated by machine learning? Or is it all custom coded?
[ Parent
| on HN ]
Re:Battlecode – AI Programming Competition
by kazimuth on Friday October 07, 2016 @11:34AM
(#12661446)
It's generally custom, although we've had teams use ML strategies to tune their bots in the past. (I'm one of the people who runs this competition).
We impose tight runtime limits on the code your AI can run - generally limiting the number of bytecodes the JVM can execute per turn per robot. This is partly pedagogical; it kinda-sorta simulates embedded programming, like for a real robot. It's also practical; it keeps people from accidentally DOS'ing themselves or our servers with infinitely-looping AI.
On the other hand, 20000 instructions per turn doesn't give you much leeway for, say, matrix multiplication, so most sophisticated ML isn't possible at runtime. You can do simple things, but they have to be tightly written.
Re:Battlecode – AI Programming Competition
by brlewis on Friday October 07, 2016 @10:16PM
(#12665313)
What does it mean that "supported programming languages are Java and Scala"? Are other JVM languages allowed?
Re:Battlecode – AI Programming Competition
by Cixelyn on Saturday October 08, 2016 @07:45AM
(#12666595)
Other JVM languages are technically allowed, but AFAIK they generate way too much scaffolding & reflection-based flow such that you end up burning your entire bytecode computation budget just in calling one or two functions.
So yes, you could probably use Jython or Jruby, but you wouldn't be competitive against the people writing straight Java.