Author: Andrew Williams
Date: 05:31:54 03/14/00
Go up one level in this thread
On March 14, 2000 at 07:36:13, Jan Pernicka wrote: >On March 13, 2000 at 09:27:45, Andrew Williams wrote: > >>On March 13, 2000 at 08:20:11, Jan Pernicka wrote: >> >>>Hi, >>> I would like to know if you have (as a programmers) >>>some experience with search strategy MTD(f) (I will be able to write a brief >>>descrition of this strategy soon - if my bus is not coming - as now!!!!!) >>> >> >>Hi Jan, >> >>My program, PostModernist, uses MTD(f). There are at least two others >>I know of that use (or used to use) MTD(f): AnMon and Cilian. >> >>There's a little bit of information about my program at: >> >>http://www.doc.mmu.ac.uk/STAFF/A.Williams/postmodernist/postmodernist.html >> >>On that page there's a link to a page by Aske Plaat who explains MTD(f) >>in detail and gives some pseudocode. >> > Hi and thanks, but: > what is your experience with MTD(f) - is it much better(20%...)- in speed - >than "standard" techniques (as aspiration window,negascout...) and > how large hash tables should be used (especially interesting is > the ratio: #entries in hash table / #nodes (not only leaves) visited ). > I started with a very simple aspiration search and converted almost immediately to MTD(f). At the time when I converted, the MTD version was faster, but I can't remember how much faster - perhaps about 15%. I can't say how it would compare to PVS, however, as I've never tried that approach. To answer the hash-table question, I'd recommend you look at Aske Plaat's PhD thesis (it's in English). I downloaded it from the site where the simple description of mtd(f) is last week. I've not had a chance to really look at it, but he does say something about the effects of the size of hash table on mtd(f) compared to PVS and other approaches. > Note: Isn't there a problem when your evaluation / selective > techniques depend on alfa-beta params? As in this case alfa-beta are > not "estimates" but only artificial parametres to speed up a search... > Well, this problem could also be noticed (or not?) in the techniques I > mentioned before (i.e. negascout....). > Yes. As you say the alpha/beta bound in mtd implementations is just an arbitrary number and not very safe to use in this way. What I do is to make decisions based on what I call the *external* bounds, ie the bounds that the mtdf() procedure has established. These are (or should be) true bounds on the score and are safer, though more conservative, of course. > > > > So - to say it more precisely (I have more time today :-) ): > There are 2 possible ways how to evaluate your possition (and, of course, > their combinations): > 1) Given the possition, calculate completely its score "from the scratch" > (I called it static eval...), i.e: scan through all the board and > asses the pieces you are going over.... OR: > 2) Evaluate the starting position and after every move update the > score of it so you get score of the new position. This update > typically takes less time because it involve only small part > of the board (the piece it has moved + its neigbourhood...). > I wrote about this as incremental evaluation (dynamic eval. could be > also used... ). > > Jan. I do a mixture of these two. Material is incrementally updated and I keep up-to-date attack-tables which are used in things like King Safety and weak pawn evaluation. But most of my evaluation is done at the leaves. Regards Andrew
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.