Author: Volker Böhm
Date: 12:45:18 08/10/04
Go up one level in this thread
Hi, sorry that I can´t help you with your question, but perhaps I can give a hint. In every position, even opening positions, chess engines are searching full moves until a certain (flexible) depth and then doing captures/recaptures (quiescense - search). I suppose you know that but I need it for explaining the following. Because of captures/recaptures a chess engine evaluates different type of positions (opening, mid-game, endgame) in many poisition (sure it cannot go back to a mid-game position once in endgame). Thus if a chess engine is doing what you are asking for, it must change the algorithm (the personality) for different nodes of the same search tree. In some situations it will be very hard to decide which algorithm to take, is it a midgame poisiton or allready endgame? If you have a function that decides if it is opening, midgame or endgame then the function will suddenly switch just because of a tiny change in the situration. This is a large drawback for a chess engine because the searchvalue gets instable reducing the search depth and the quality of search result. The only way to avoid this is to evaluate the position to different aspects multiply those results with a weight and then add the aspect-values for the total value. For example a position is 60% midgame and 40% endgame. Then you could call eval = eval_midgame * 0.6 + eval_endgame * 4.0 Mostly this approach is too expensive to calculate. Better to calculate each aspect of game once and then add it weighted according the game-state to the total eval. This works better for chess. Thus I doubt that you will find a good chess engine doing what you asked for. Greetings Volker
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.