Author: Zach Wegner
Date: 20:40:29 11/16/02
Go up one level in this thread
On November 16, 2002 at 22:00:27, Bob Durrett wrote: > >I was thinking it might be *fun* to create a machine which does nothing more >than create legal move sequences from some preset legal chess position. These >sequences might be dumped into a large part of RAM for later copy to a hard disk >or printout. > >The key idea I'm toying with is to represent a chess position by a listing of >legal moves. Whenever a new move is made [by the person (or thing) playing >against the machine, or by the machine if it's playing against itself,] then the >machine would do nothing more than modify that listing (plus copy the move >representation to a temporary storage place in RAM). The new listing of legal >moves would then represent the new position. The key idea is to represent a >position by a listing of legal moves. When a move is made, there is a "from" >square and a "to" square. Only consequences of changes made on these two >squares would have to be considered to modify the legal move list. > >Then, to make it more interesting, a really fast random number generator would >be used to select one of the resulting legal moves. If the machine were playing >against itself, the sequences of moves should be generated very quickly. How >quickly? > >In the beginning, I am only interested in the time it would take to modify that >listing. The machine could play both sides, removing the need for >time-consuming input/output. After generating a legal move sequence ending in >mate, it would then start working on the next legal move sequence. After a >million or so moves were made, then the time required could be divided by the >number of moves. That resulting time per move that I'm asking about. Rather >than worry about the fact that some computers are faster than others, maybe the >best bet would be to express it as number of clock cycles per move. A modern >high-end processor should be assumed. > >Each sequence would be what two "really dumb" chessplayers would produce if they >knew how to produce legal moves but knew NOTHING at all else about chess. > >P.S. Is there a better way? > >Bob D. This would be entirely inefficient, and it would take off most of the abilities of the engine. Evaluating, for instance, would be practically impossible without making a piece array. The hashtable would not be possible, for different positions would be much longer move lists, even >100 moves. Then fen positions would need to have a proof game constructed for it. Fantasy positions, e.g. ones with more than 32 pieces, couldnt be represented. Also most modern engines are bitboard-based, which means that more than one legal move is generated at once. And sequences of moves made by the first legal move on the list would almost always be repetition draws. Playing a random move could take thousands of moves to mate or draw. My machine is playing a game against itself by playing random moves, and it currently has played over 13000 moves. So finding a list from every position could take a very, very long time.
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.