Computer Chess Club Archives




Subject: Re: Couple of chess programming questions

Author: Uri Blass

Date: 13:02:16 09/10/02

Go up one level in this thread

On September 10, 2002 at 15:41:42, Vincent Diepeveen wrote:

>On September 10, 2002 at 15:19:21, martin fierz wrote:
>>On September 10, 2002 at 14:45:27, Omid David wrote:
>>>On September 10, 2002 at 14:30:56, martin fierz wrote:
>>>>On September 10, 2002 at 09:26:14, Eli Liang wrote:
>>>>>A couple of chess programming questions:
>>>>hmm, i only wrote a checkers program, but here's my take:
>>>>>(1) Are there any uses for ProbCut and/or Multi-ProbCut in chess positions where
>>>>>the variance of leaf-nodes is low?
>>>>i've tried multi-probcut and it works well in checkers. i never tuned it as much
>>>>as my own pruning algorithm, and it doesn't perform quite as well - but it is BY
>>>>FAR better than no pruning. i'll be trying to tune it in the near future. for
>>>>games where the eval doesnt swing wildly, MPC is a fantastic algorithm.
>>>>>(3) Reading Aske Plaat's search & re-search paper, it really seems like mtd(f)
>>>>>is something of a magic bullet.  But I note it seems that more programs don't
>>>>>use it than do (for example Crafty).  What is wrong with mtd(f) which Plaat
>>>>>doesn't say?
>>>>i'm using MTD. i tried windowed search, PVS and MTD. in my tests, in long engine
>>>>matches, MTD performed marginally (no statistical significance...) better than
>>>>PVS. it typically searched a low 1-digit % less nodes for a given depth than
>>>>i don't know how to get a PV out of MTD. in normal searches, a pv node is where
>>>>the value is > alpha but < beta. in MTD, you never get this condition.
>>>>retrieving a PV from the hashtable is possible, but in all probability, you will
>>>>not get the full PV. which is real bad for debugging if you want to know what
>>>>the program was thinking at the time... i once asked here how to get a pv from
>>>>MTD but got no answer - and if you can't get the pv, then that is a major
>>>I haven't tried getting the PV out of MTD(f), but just a thought: why should
>>>there be any problem in getting the PV out of hash table? Play the first move,
>>>update the position, get the next best move from hash table, and so on... ?!
>>there's no problem with that except that on any reasonably deep search, you will
>>not have been able to store all pv nodes in the hashtable. so you end up with a
>>search which says it was 23 ply deep and have e.g. 15 pv moves. if you just want
>>to display it for the user, that's fine. but if your program plays a bad move,
>but then your hashtable management sucks ass, sorry to say so.
>I get in Napoleon also only mainlines out of hashtable (with pvs)
>wasting system time in the search to update all kind of stupid
>arrays for it is a waste of time, and the next iteration you get
>true bounds, so you can't get the mainline in arrays anyway (mtd
>is different here). finding a win in 50 ply is no problem to display...

What is all the stupid arrays that you need to update(except the pv array).
How much time do you waste for updating them?


This page took 0.01 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.