|
|
![]() |
|
| Home | Site Map | Products | Play Online | Buy Tantrix | About Us | Contact Us | |||||||
| HOW DOES ROBOT WORK? |
| The Basics Almost any game-playing Robot is actually just three relatively small modules which are added to the usual game machinery.
|
||
| Robot's Move Generator There's really not much to say - it's a brute force process which tries all six tiles in all possible positions, and remembers which ones are legal moves. In a typical game situation, there are about 50-75 moves. In the endgame, there can be many more, possibly as many as 200. Robot's Evaluator The basic evaluation is, for each line of the Robot's colour, to predict what it will eventually be worth, and so for any position to predict what the final score for the game will be. This trick, of trying to predict the final score rather than using the current score is why the Robot is so adept at handling loops. So, how does the evaluator estimate the final score?
Robot's Lookahead Manager Tantrix is unusual because players can make several moves per turn. The Robot considers all forced move sequences in any order, and all forced moves the opponent will have to make before his free moves. Consequently, it has a pretty good idea of how to play in ways that will force other tiles to be played in favourable ways. It does NOT consider what the opponent's free move might be in response, and It does NOT consider what tiles might be drawn to replace the tiles it has played. Also, an absolute limit of 5 (or so) tiles is imposed to keep the number of moves examined down to a reasonable number. The lookahead manager does not attempt to use alpha/beta or any other standard tree pruning methods, because they would be of very little use given the limited depth of the lookahead. The lookahead manager used by Goodbot is slightly more sophisticated. It removes the low limit of 5 forced tiles, and adds alpha-beta to get the speed back up (alpha-beta doesn't change the result) It adds the option to look a little deeper during endgame, and to manage it's time to avoid runaway searches when a cascade of forced tiles occurs. |
||
A word from the Author There are quite a few tunable parameters associated with all these considerations, but actually tuning them is very difficult, because the random factor means a "run" of 200 games is required to validate a new parameter value or a change to the algorithm that applies the parameter. The current state of GoodBot is probably the end of the line from me - I don't know how to make it any smarter, and making it better without being fundamentally smarter would be extremely time consuming. Robot/Goodbot was written by Dave Dyer (ddyer). 2005 Robot improvements At the end of January 2005, the first version of GoodBot was released in the lobby. This version of GoodBot was a harder-working, gloves-off version of the original Robot, but without any fundamental changes Advances in computer speeds since the original Robot was created made this development possible. Because of it's more "human" playing ability, GoodBot has a floating ranking. In May 2005, a new robot named Oliver was introduced into the lobby. The first official robot battle - Goodbot vs. Oliver - was held on the 11th of that month. Oliver, programmed by Pieter Bolle, Belgium and Alex Biryukov, Israel preformed slightly better than expected by defeating the reigning champion Goodbot with a winning percentage of 64.5% to 30.5%. Inspired (and challenged by) Oliver's success, new development in Goodbot resulted in substantial improvements. A rematch battle between Goodbot and Oliver resulted in Goodbot regaining his champion title with a win of 54.7% over 45.3% (TPs). Goodbot is currently awaiting his next challanger. Are you fluent in Java? Then why not make it your goal to unseat the reigning Robot champion. Fame, glory and immortality will be yours! |
||
| Home | Site Map | Products | Play Online | Buy Tantrix | About Us | Contact Us |
© Copyright 2006, Tantrix Games International, Nelson, New Zealand. All rights reserved. Last update: December, 2006 |