What could help would be a way for people to submit several times… For example, automatically keeping two AIs for each player, the best one (the one which will appear in the leaderboards for other players) and the last submitted one (ranked only for indication and tests, unless it becomes the best AI of course). This way, top players experimenting with new strategies would no longer cause an earthquake in the rankings in the last few minutes…
A leaderboard for each type of game would be interesting, and if we know the weights in advance, it could help a lot. It will mean you will have to choose the matchs differently in function of the skill of each player in the different categories so that you still play against contestant that have nearly your level.
Concerning 1v1 games, believe me that’s still super fun. I did the google AI challenge on planetwars which was a 1v1 game only, and the winner was far above everyone else! To give you an idea, there was the same difference between his bot and the second than between the second and myself (I finished 31st)
I like the idea of two bots online, one the release and the other the beta of the next version.
Concerning the last 5 minutes, I was talking about the final stage, just before the leaderboard if final. In this time frame, the top bots took their place back and don’t shake the leaderboard again. Again the issue is that your final matchs have still a strong impact on your evaluated skill while the others have been progressively forgoten by the system.
Hi guys !
I look at a lot of topics but it seems to be that I’m the only one going to code a Q-learn algorithm for that (classic reinforcement learning). By the way I have no idea if this is legal to train your AI on your own computer and then load it locally.
My basic idea is :
- A state (the state of the grid), a reward and possible actions (move Left/rigth/Top/Down or go back to the past) and an easy Q-learning algorithm.
- I train two AI one against another on the grid and this is my environnement.
As there is just to many state to handle, I thaugth a neural network would be good to estimate my q-values and choose the action according that.
I would have suppose a lot of you use this type of strategy.
I am currently coding that : https://github.com/Forbu/CodinG_AIBot
I first build the class to “simulate” the system.
Then the second class is used to keep our Q-values (and update then).
If I understand you correctly, you basically said that, instead of devising your own bot, you write an AI to create one (for a given problem)? If it is the case and that you succeed to outperform your opponents (which, at least in the top 50, are clearly not Cletus and its whole family), then kudos. There are of course no “legal” problems to this approach (most players actually run some kind of simulations of challenges at home and retrieve arena output for post-mortem analysis). And, if it wasn’t the case, your bot would be probably smart enough to deceive any attempt from CG to detect it…
More seriously, training a bot is an interesting idea, but not against real opponents (except if you also succeed in simulating them locally, which excludes most of them but the default one), because you won’t have enough matches to feed you system. A genetic algorithm approach is probably more appropriate here, but, once again, creating something which can challenge a human creation is not a small feat.