About a week ago I found out about this cool AI programming competition called the Hello World Open which is currently running. My timing is not great though as I leave for a vacation to see family overseas and won’t be back until after the competition finishes.
The gist of the competition is that you need to build an AI bot to control a slot car around a track. It’s a time attack style competition with the fastest lap being what you’re aiming for. It has relatively simple rules that you are not necessarily told about – though you are given a protocol/API specification . Part of the task is to figure out the rules of the competion and to write a bot to take advantage of them.
The competition supports a wide variety of programming languages, and my intention was to use Clojure to build my bot. Although I don’t have to the time to write a bot in a new programming language in less than a day, I have been thinking about strategy.
My general strategy would have been to find out the acceleration, deceleration and top velocity of the slot car and the friction of the track. I would then have wrote my bot to figure out based on the friction how fast it can take the varying radius corners, and basically control the throttle so that the car is always just staying on the track. I then would have added lane switching logic to cut corners and maintain a race line that would be optimal for lap times.
Even though I can’t participate due to my lack of time, anyone reading this probably can. If you read this post and decide to participate, I’d love to hear your strategies and how you did, and whether or not my ideas were on the right track or not.