Author: Volker Böhm
Date: 14:14:36 02/08/04
Go up one level in this thread
On February 08, 2004 at 15:53:29, Michel Langeveld wrote: > >>Thats how i mix static values with values from history-tables. > >I understand your idea. Quite an original idea, but I am not sure if it >outperformance selectBestMove(..) > You are right if you count performance. Sorting is not as good as selecting moves I think. Mr. Hyatt sugested to only sort the top 4 moves, perhaps that is another good idea. The two dimensional move array mainly solved another problem: A static move ordering table has a known range of values. Yours seems to be about -25 to 10. The history table has no known range as it depends a lot on the amount of nodes searched. That makes it hard to mix the two results to order moves. My soloution is to first sort every move in 7 list. Then I am able to sort the moves in every list from the history table. This is the way I mix the two sorting criteria. The combination of the two sorting methods reduces nodes searched I haven´t reached with one of then alone. I don´t know how much but it was quite relevant (perhaps about 5% less nodes). Thinking about performance: I could get the history-table weight only for the list currently needed, will speed up a little I think. But I haven´t made too much effort in speed ups. The sorting does not take too much time. I have a lot of eval to do before getting this more efficent. And I haven´t got bitboards yet. For your select move routines, I have another perhaps better idear: Define a minimum weight < all real weights and set the selected move weight to this minimum. Then you don´t need to move moves at all and it does not change move ordering. You´ll not select a move twice if you stop selecting moves if your best selection == minimum weight. Thanks for your tables! Greetings Volker
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.