Author: Russell Reagan
Date: 21:22:02 11/21/03
Go up one level in this thread
On November 21, 2003 at 16:21:35, Dustin Moore wrote: >Is there anything that can be gained by breaking this assumption? >Let's say an engine is on a search extension or a quiescence search >out to some deep ply can it skip calculating some of deepest plys for >the opposing machine if it knows that the other machine doesn't >search as deep normally? A great deal can be gained in some situations, IMO. I have done tests playing guests on ICC where I do a little analysis of my own using the chess engine (usually in multi-pv mode). Usually I stick with whatever the computer thinks is best. Occasionally, a position arises where the computer thinks a certain line is best, but I choose another move. The positions where I do this are usually ones where I play an inferior move that leads to a position where the opponent really only has one move to avoid a big drop in his score (according to the computer). I can make an educated guess on whether or not the opponent will play that move, based upon how he has played so far, and more often than not, I can guess whether or not he will play that move. It depends on a number of things. Has the opponent played weak moves so far? Does the opponent seem to be making "standard" moves (like standard openings) without really having any idea about the plan coming out of that opening? Is the move that the opponent has to find one that is obvious? The answers to those questions will usually tell whether the opponent will play that move or not. If he misses it, he has a non-trivial minus score against the computer, and he's toast. In general, when I gamble that the opponent won't play that one "right" move (according to the computer), the opponent doesn't find the right move and the computer crushes the opponent very quickly. When I just let the computer play, it still wins almost all of the time, but it takes quite a few more moves. So there are definite gains there. The problem is that I am an human capable of making these educated guesses on the fly, while that would be a bit more difficult for the computer to do accurately. The computer can't use an all encompassing rule. IE you can't program it to always assume the opponent will miss something, because a lot of best moves are forced or very obvious, even for weak players. All the computer would do is weaken its position (possibly significantly). So the issue is, how do you decide when to play an inferior move and hope the opponent won't catch you taking a risk? There are a lot of factors. You wouldn't want to take any risks if you were playing a strong player, or a computer. Where do you draw the line of "strong player"? How do you teach the computer to have a hunch and act upon it? How do you find the second best move using an alpha-beta approach without doing two searches (which is much less efficient) without wasting time? Remember, this gambling would probably only pay off on a handful of moves each game. If you take twice as long to search during the rest of the game, the engine won't play as strong. There are a lot of things to think about.
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.