Author: KarinsDad
Date: 15:28:32 07/19/99
Go up one level in this thread
On July 19, 1999 at 17:42:39, Vincent Diepeveen wrote: [snip] > >Feel free to post ideas. No one is gonna steal it in order to write >as first an article about it in iccaj No problem. I have posted some ideas in the past, but I am not going to go out on a limb with posting all of my ideas on a new system and then find out that it's bad. I have a fragile ego and don't think I could handle the laughter. > >But first tell some things about the adjustment made, >how many NOLOTS does it solve for you, when compared to the old >search? What old search? I would have to totally rewrite my code to use a different search mechanism. I will tell you some of the things I am doing: 1) Multiple search engines, multiple PVs and sub-PVs. 2) Preprocessing the root position (i.e. think like a human, come up with plans, determine candidate moves and then search them first and farthest). This goes quite a bit beyond move ordering. The opening plans are included in the opening book so that they do not have to be re-created. 3) The main search being an Alpha/Beta-like search (at least in that I use a set of bounds on minmax), although I search bottom up instead of top down. 4) A few techniques to determine totally useless portions of the graph. I have not yet implemented null move, but plan to do so. 5) A few techniques to call the evaluation function as infrequently as possible. 6) A quick mechanism to handle pins and castling in the move generator so that unmake is not necessary. 7) A detailed evaluation function that has both material and positional elements in it. 8) An understanding of trapped pieces and how they affect the score. 9) In line with that, an understanding of zuzgwang and opposition. 10) An understanding of different phases of the game for the plans (broken down into a few more things than just opening, middlegame, and endgame). 11) An ability to differentiate between moves with similar scores, but with different ideas behind them. The best score does not always win. 12) A learning mechanism for plans, not just for variations. 13) Eventually (not yet in the design), a mechanism for pattern recognition. The main idea is to take the program into the realm of human playing style, still keep a fairly sharp tactical ability (for at least 10 ply or so), and to avoid strategic mistakes as opposed to avoiding tactical mistakes. I want the program to understand the game and avoid long term weaknesses, not to accidentally find good and bad moves due to the search engine stumbling upon them. This will happen as well, but I want my opponent to fall into the bad positions later into the game due to good strategic moves that my program plays earlier. KarinsDad :)
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.