Author: Chan Rasjid
Date: 10:12:04 02/15/06
Go up one level in this thread
On February 15, 2006 at 07:45:37, David B Weller wrote: >I am a broken man ... > >I have been searching in vain for the reason(s) that my engine searches so >slowly compared to others... > >1/5 the NPS >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 >Null Move R=2 (no verification) >Futility Pruning at Frontier >Delta Pruning in Quies >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] >HASH >PV >MATE KILLER >MVV/LVA >KILLERS (2) >HISTORY > >Static eval is about half way between Gerbil and Crafty [in complexity] > >I have profiled the code, and there is nothing abnormal. Spends most time in >eval. [IIRC 30+ %] > >Estimated average branching factor is 2.4 [tested on positional suite] >*maybe higher in games > >please help. About to go 'stark raving mad' I have started my program from scratch and have recent experience monitoring the my drop in nps. My current program got some hints from Fruit and passes pointer to structure and the board-sq[16x16] is passed within the structure.I made sure the domove() is efficient as there is a fair amount of incremental codes within. When finally I have my plain alphabeta running with a full search(no QS) + material + PST(done incrementally), my nps broke the 1M nps for the first time. I don't remember ever to have anything more than 200k nps before.TSCP is doing about 100 - 180k and Fruit is about 100 - 130k nps. Your situation is difficult as you don't know what's happenning and most probably you do not have your "highest" nps to monitor the drop in nps and whether it is within expectation. As you mentioned your search depth is also too low, it is unlikley your node counting is wrong. Your implementation now is not really simple and bugs can be anywhere. Maybe you should see if you are searching moves duplicate times when your getmove() did not swap properly or you do duplicate evaluations. Gerbil is not an optimized program and your nps should be comparable unless you have a real problem with your implementation. Best Regards Rasjid
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.