Author: Dustin Moore
Date: 13:21:35 11/21/03
One basic assumption seems to be that engines assume the opposing player will play the "best" move that the engine would play were it playing for the other side. 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? Or a more obvious method of exploiting this. Let's say one engine, engine A is playing engine B. Wouldn't A have an edge if it talked with another engine B' that was running the same software as B so it could figure out how the other engine would respond? Another question, most the algorthims based on the mini-max (alpha-beta/MUD/whatever) are oriented twords finding the one branch with alternating global maxes and mins out to some depth. What if there was an additional search (in addition to all the standard ones that a good engine like crafty does) that was oriented twords going very deep but not hoping to find a global max. Let's say I have two CPU's working the problem. One CPU is a standard crafty that runs out to 14ply and the other that intelligently tries single branches out to 20-ply in the hopes of finding a single branch of the tree that is better than what the main crafty's current evaluation. The principle is, if both competitors are drawn at a 14-ply or whatever calculation, it only takes a single "supernatural move" to change the course of the game. This move doesn't have to be the best move that a 20ply computer would make, just better than what the 14 ply computer has at the time. It would sort of be a modification of the alpha beta algorithm. Instead of cutting off the search when all of the branches have been proven to have scores less than the first or second branch's max, cut off the search and move another ply deeper when a branch has been found that is better than the current 14 ply crafty calculation. I guess I'm just trying to figure out ways to get deeper searches at the expense of complete searches. I hope the second idea doesn't come off as just the same thing as a search extension whicn I don't think it is. A search extension happens when favorable conditions are found for extending the search. My idea is to ALWAYS be searching random deep branches in the hopes that some game-turning discovery is found. Lastly, I'm sure that both of my ideas arise from basic mis-understandings about the way things work. I'm just interested in the comments given the amazing knowledge of this group.
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.