Author: Graham Laight
Date: 09:23:01 10/17/00
Go up one level in this thread
On October 17, 2000 at 11:35:49, José de Jesús García Ruvalcaba wrote: >On October 17, 2000 at 11:06:22, Graham Laight wrote: > >>The purpose of this is to build a program that can teach itself to do a good job >>of evaluating chess positions, using only technology that is available today, >>and can be applied on a PC which can be bought off the shelf today. >> >>Steps to building a self learning chess machine - 1st draft: >> >>* assemble a collection of evaluation components. There should be sufficient >>eval components to be able to theoretically evaluate any position, if combined >>correctly >> >>* set up a genetic algortithm to be able to combine these components into a >>single evaluation function, and to be able to vary them from game to game >> >>* write a program that can "categorise" chess positions, and come up with a >>measure of "similarity" between them >> >>* assemble a collection of categorisation components >> >>* set up a genetic algorithm to to be able to combine these components into a >>single categorisation function, and to be able to vary them from game to game >> >>* new categories and evaluation functions can be made by combining components >>from existing evaluation functions (chosen for their "similarity"), when the >>"similarity" between the new position and existing categories is sufficiently >>small >> >>* seed the system with some categories >> >>* seed the system with a categorisation function that works >> >>* seed the system with working eval functions suited to the categories >> >>* ensure the system is clever enough to get to check-mate from the 1st game of >>the experiment >> >>* start the system playing against another copy of itself >> >>* During the game, every legal move will be evaluated (1 ply) and the best one >>chosen >> >>* when the system loses a game, it must evolve. From the move list, the >>evaluation function used prior to the eval score falling will be subjected to >>the genetic algorithm, as will the categorisation >> >>There is a problem in computer chess that the problem may have occured before >>the evaluation started to fall. In this system, the problem will be solved >>because, with sufficient play, the poor evaluation will eventually make its way >>back to the source of the problem (though other eval functions will temporarily >>be messed up on the way!). >> >>It took roughly 400,000 generations to change chimpanzees into humans (based on >>average generation of 15 years - a number I admit I've plucked out of the air, >>but which is at least the right order of magnitude). >> >>Could 400,000 generations of the above system produce a great chess player? >> > >I think no. Knowledge in a chess program is not only in the evaluation function. >The following components have important and critical knowledge: >1. Evaluation function. >2. Search policy. >3. Move ordering. >4. Time management and allocation. >5. Opening book. >6. Traditional position and book learning. >7. Tablebases and tablebase handling. >8. Hashtable replacement policy. >9. Others that I do not recall now. I agree with the above. I have focused only on the evaluation function selection and use. Once this is working, it can be plugged into a chess program like crafty or gnuchess to give it the selective search capability. Hopefully, we would then have the best of both worlds - free knowledge combined with great searching! -g >Top chess programmers have devoted lots of time at least to the first four. In >order to automatically produce a great chess player, I think it is neccesary to >make it learn several of these components, and each one of them has several free >parameters. >Also, the evaluation function and the search policy often depend on a previous >clasification of the position (e.g. endgame evaluation different from middlegame >evaluation, turning off null move when there are few pieces left). All this >increases the size of the problem by several orders of magnitude. >José. > >>Comments please! >> >>-g
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.