Author: KarinsDad
Date: 12:01:28 04/28/00
Go up one level in this thread
On April 27, 2000 at 21:58:09, stuart taylor wrote: >Is it possible to program a computer to set many possible future scenarios of >favourable positions possible to arrive at with same material ballance (from >that current position-some time later, even 40-60 ply's or more), then have the >program find ways how to get there? > If so, then computers will be able to plan like a top-class human! >I mean with same pieces or after various exchanges-which may be possible to >provoke purposefully or forecefully, and to weigh up pros and cons of the >outcomes of counter plans, and their possibilities of excecution, and there not >being any snags along the way. > So the program will be thinking in plans and patterns as well as in >calculations. > It would be a bit random-like at first, then the best scenarios would be >computed. etc. I am attempting something like this with my program, but not exactly as specified within this thread. My basic concept is: 1) Pre-process the current position based on certain algorithms (and eventually a database). Come up with a list of idea squares for certain pieces and non-idea squares for certain pieces. Effectively, come up with a plan. 2) When generating moves, generate at each node moves that end up with pieces on their idea squares early on within generation and later in generation for non-idea squares. 3) Have multiple PVs such that once the program decides to make a move, it can search down each PV and determine whether the PV "follows the plan" based on how often pieces end up on the idea squares (or do not end up on their non-idea squares). If one PV has a slightly lower score, but follows the plan closer, then make that move instead of the slightly higher PV score move. To me, this is a bare bones attempt to emulate how people plan. I'm sure it can be improved upon, but for now, it still heavily uses a search to accomplish it's goals, it just attempts to lean the search in the direction of the plan. An example might be where a rook controls an open file. A plan might be to remove any pieces that protect the seventh rank square on that file and to move the rook there. So, any equal or lower value piece that removes a protector would have to eventually end up on the square of the protector (or a square a protector could get to while still protecting the seventh rank). So, the idea moves might be piece x and piece y to protector piece location and rook to 7th. Of course, a human would not even consider thinking about moving the rook there until he has come up with a way to remove all defenders (or make taking the rook disadvantageous). Having the program not place the move of rook to the seventh at the beginning of move generation until deep enough into the search so that the protectors can be removed is tricky. Hence, the program maintains two lists of idea squares: idea squares for move generation (step #2), and idea squares for the post-processor (step #3). The post-processor idea squares have a higher weighing factor than the move generation ones when doing step #3. Now, someone might say "Why not just put a rook on seventh evaluation bonus into the program?". The answer is that positionally good ideas are generally based on the type of position you have and change very little within 10 ply or so. For example, a rook on the seventh may be great in the middlegame, but lousy in the endgame. Do you really want to check for a rook on the seventh in endgame positions where it doesn't make sense to within the evaluation function? Hence, the more "strategic or positional ideas" that you can place into a pre-processor and post-processor and remove from your evaluation, the faster your search will be. 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.