Author: Ricardo Gibert
Date: 07:11:39 01/05/02
Go up one level in this thread
On January 05, 2002 at 07:54:56, Severi Salminen wrote: >>>The optimal solution is a movegenerator that allways generated the best move. >> >>I can't agree with your first sentence. What you really prefer very often is the >>good enough move that generates the smallest sub-tree as this is more efficient. >>Unless this what you mean by "best move", but I think most people would agree, >>that is an unusual interpretation of what is meant by "best move". > >I meant that it really generates _the absolutely best move in this position_, >without searching. So it was a stupid late-night joke... But I don't understand >what you tried to say? Isn't it allways good to try the best move first as it >has the greatest posiibility to cause a cut off?? And I have only 1 way to >interprete what "the best move" means. > >Severi Well...to begin with, "a movegenerator that allways generated the best move" is clearly an unrealizable pipe dream. With such a generator, there is no reason to search. You would generate the best move and then play it straight away. More reasonable is to strive to try out moves in the order that best promises to minimize the size of the tree you need to search while still coming up with the correct move. Surely this is what is optimal, so this may or may not mean analyzing out the supposedly best move everywhere in the search. To give you a concrete example: Sometimes when I play a chess game I will dismiss a continuation, because I have a reply (though it is probably not best) that nets a pawn in a very simple manner. If my opponent should decide to actually play that continuation, I might play very differently. I might recognize that even though I could win a pawn in a simple manner, the best move would seek to deliver a quick knock out mate by probably more elaborate means. The moral of the story is: The move you want to *play* should be the *best*, but the moves you want to *analyze* are the ones that cost you the least amount of work overall most of the time. Don't confuse the properties you desire in the moves you *play* with the properties you desire in the moves you *analyze*. They are not the same. Another example: Let's say you are at an analysis node and you have 2 moves in mind to consider. Move #1 2X as likely to be best, but will require analyzing a sub-tree that is probably 3X bigger than move #2. Which do you analyze first? Just because a move is more likely to be best does not mean it is more efficient to examine it first. Turning all this into a practical program is more trouble than it is perhaps worth, but we are discussing what is "optimal" rather than what is realizable. Bob came up with a good explanation that is more concise than mine: http://www.icdchess.com/forums/1/message.shtml?205659
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.