Author: Tony Werten
Date: 01:26:21 02/26/99
Go up one level in this thread
On February 25, 1999 at 20:54:52, Larry Griffiths wrote: >On February 25, 1999 at 15:24:04, Peter McKenzie wrote: > >>On February 25, 1999 at 09:21:57, Larry Griffiths wrote: >> >>>On February 25, 1999 at 06:53:37, Vincent Diepeveen wrote: >>> >>>>On February 24, 1999 at 21:39:53, Larry Griffiths wrote: >>>> >>>>>On February 24, 1999 at 18:41:24, Vincent Diepeveen wrote: >>>>> >>>>>>On February 24, 1999 at 17:48:23, Larry Griffiths wrote: >>>>>> >>>>>>>Greetings CCC Chess Programmers! >>>>>>> >>>>>>>How long does it take your chess programs to go 10 full plys >>>>>>>from whites opening move of E2-E4? >>>>>> >>>>>>few seconds, depending upon selectivity it can take up to 1 minute. >>>>>> >>>>>Hi Vincent, >>>>> >>>>>What do you mean by selectivity? My program ran for 22 minutes >>>>>(Using a hash table and alpha-beta pruning with a killer heuristic). >>>>>I have used the CM6000 auto-analysis with 10 seconds per move and have >>>>>seen it go 10-14 plys deep at times. It sounds like your program is >>>>>also very fast. Do you mean that you go a few full plys and then >>>>>do secondary searches? >>>>> >>>>>It sounds like I would have to improve the speed of my program by >>>>>100 to 1000 times to catch up with you fellows. >>>>> >>>>>Larry :-) >>>> >>>>I get 20k nodes a second at a PII-450. >>>> >>>>But about getting deeply. >>>>a) improve move ordering >>>>b) use nullmove >>>> >>>>especially a is important when using b >>> >>>Thanks Vincent. >>> >>>My current move order is: >>> HashTable, One Killer move, Capture GT, Capture LE, and then the rest >>> of the moves. I have read that using a history killer is better than >>> just saving the last cut-off move. I want to implement it but >>> I have to make major changes to the code to do this. >> >>Put captures in front of killers, this should significantly reduce your node >>count straight off. >> >>What sort of capture ordering are you doing? Unless you are using a static >>exchange evaluator, the best is probably MVV/LVA which stands for Most Valuable >>Victim, Least Valuable Attacker. This means, first order by the value of the >>piece you are capturing then by the piece doing the capturing. King is a >>special case, it is treated as the least valuable attacker. >> >>So you'd try captures in this order: >> >>KxQ, PxQ, NxQ, BxQ, RxQ, QxQ, KxR, PxR, NxR, BxR, RxR, QxR, KxB, PxB, etc >> >>cheers, >>Peter >> >>> >>>Larry. > >Peter, > >I started working on the code for sorting MVV/LVA and noticed that I >was testing to see if the Victim was GT the Attacker. If it was, then >I put it in the GT list. If it was not, then I put it in the LE list. >I must of been thinking that the Attacker would be re-captured or >something. A real case of the Duh's. I even wrote this code with research >done about MVV/LVA. I did something dumb with hash tables this month also. >I could not figure out why the code was not working until I noticed a >compiler message one day. "Function should return a value." If you ever >want your program to make piece offerings (pardon the pun) just return >random sucess or failure code from your hash probe code. It goes something >like this... Hi, I'm the hash probe routine. Sorry, I don't have a matching >hash entry right now, but here, take this "offer the opponent your Queen" and >hang two other pieces score. > >Thanks again. > >Larry. :] ear to ear grin. Larry, Maybe another thing to try, is putting the capture of the last moved piece in front of the MVV/LVA captures. The idea is that a lot of times, the last move was just one that put this piece in the wrong place. In my case I save a few % this way. Tony
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.