Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Frustrated beyond words

Author: Robert Hyatt

Date: 09:47:46 02/16/06

Go up one level in this thread


On February 15, 2006 at 19:22:32, Vincent Diepeveen wrote:

>On February 15, 2006 at 07:45:37, David B Weller wrote:
>
>>I am a broken man ...
>
>My experience is that just asking questions usually works,
>as you'll check all those details out and fix bugs there.
>
>So below a number of questions...
>
>>I have been searching in vain for the reason(s) that my engine searches so
>>slowly compared to others...
>>
>>1/5 the NPS
>
>what nps do you get at which hardware?
>
>>5 ply less
>
>>NPS and depth is still < Gerbil even when using a rediculously simple SE of
>>material ONLY
>
>>using:
>
>>AlphaBeta fail soft with Aspiration=30 and PVS
>
>Aspiration oh dear.
>
>Throw it away. You get a reliable score from hashtable anyway within a node or
>200 which annihilates the need for an aspiration window.


That's false.  I used to have a position you could not search without
aspiration.  True score was around 0, but there were zillions of forced mates
for both sides.  If you searched with +/- infinity, you'd be there for hours,
while aspiration allowed the forced mates to prune away branches quickly.

I use aspiration.  I will post some numbers with and without later, if needed,
but it definitely works.





>
>>Null Move R=2 (no verification)
>
>use R=3 and double nullmove. Gives another extra ply for free...
>
>Verification search was invented by Omid when he still was busy starting
>computerchess. Very bad idea to use.
>
>>Futility Pruning at Frontier
>
>>Delta Pruning in Quies
>
>Hello, i've been missing some stupidity here as of lately probably.
>
>Any type of pruning in qsearch is pretty silly to do.
>
>First of all first count what you could possibly save out.
>In diep i could save out a potential 3% of nodes at most by doing some
>type of futility in qsearch.
>
>Should one take huge risks of crippling my entire program as a result of
>futility in qsearch in order to save out another 3% of nodes?
>
>>Low History Reduction [late in move list]
>>*not using IID. It does not help
>
>>Extensions:
>>Check
>>One Reply
>>Mate threat
>>Pawn to 7th
>>
>>extension are UNLIMITED
>>[tried several extension limiting schemes with little difference]
>>
>>Move order:
>>ETC [used only when in check]
>
>Actually this is a pretty good idea. i'll check it out.
>
>>HASH
>>PV
>
>pv??
>
>don't you have a probe or 4 from hashtable already.
>
>>MATE KILLER
>>MVV/LVA
>>KILLERS (2)
>>HISTORY
>
>>Static eval is about half way between Gerbil and Crafty [in complexity]
>
>in general fixing stability bugs in eval usually searches another ply deeper.
>
>>I have profiled the code, and there is nothing abnormal. Spends most time in
>>eval. [IIRC 30+ %]
>
>sounds like a lot to me for such a small eval.
>
>>Estimated average branching factor is 2.4 [tested on positional suite]
>>*maybe higher in games
>
>>please help. About to go 'stark raving mad'
>
>But you forgot to mention the most important thing.
>
>What language are you programming in?
>
>I remember i helped out an Australian programmer one day and just pointed him to
>profile his c++ code. Not long after that his engine speeded up 2 times in nps.
>
>Now let's not discuss silly programming languages like JAVA nor C#.
>Perhaps good for GUI's but writing an engine in it is really asking for trouble
>and a slowdown of factor 3 to 5.
>
>Secondly how much testcode did you write in order to test that what your program
>is doing is also working?
>
>Usually i start an amateur program. I see it spit out big nonsense from
>hashtable and i ask the author to remove some bugs from his hashtable.
>
>What proof do you have that your hashtable is working bugfree.
>
>Did you test 100% correct your hashkey?
>
>Like test after every makemove and unmakemove that the hashkey was correct?
>How many probes do you do and do you clean your hashtable *before* you give a
>newgame?
>
>What overwrite strategy do you use?
>
>And so on.
>
>Please remember, in 1997 it was quite common to search 10 ply and to die around
>11 ply with a branching factor of 10.0
>
>Secondly extensions.
>
>Just throw out extensions. Extend at most getting out of check. Throw out the
>rest. Are you 100% sure that you don't search further after making an illegal
>move, is it garantueed you capture the king as first?
>
>Vincent



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.