Author: Uri Blass
Date: 03:26:01 09/11/02
Go up one level in this thread
On September 11, 2002 at 04:46:56, Sune Fischer wrote: >On September 11, 2002 at 00:01:16, scott farrell wrote: > >>On September 10, 2002 at 02:56:01, Sune Fischer wrote: >> >>>On September 09, 2002 at 20:01:29, scott farrell wrote: >>> >>> >>>>I have tried a variation on that, being : INFINITY+(100-ply) - so it stays over >>>>infinity, so if it finds mate it returns nice a quickly. I guess your way >>>>continues to look for a shorter mate. >>>> >>>>But I still get the same sympton, the first move in the mate sequence returns >>>>INFINITY+99 (ie. INFINITY+100-1). >>>> >>>>I guess is something to do with wierd hashing, or my replacement scheme or >>>>something. i hope its not another bug in the hashtable. >>> >>>You never ever want to go higher than INFINITY, the signs are important here. >>> >>>Use INFINITY-ply (why add 100?) >>>So that INFINITY-1 is mate in 1 ply >>>INFINITY-2 mate in 2 plies (1 move) and in general INFINITY-x mate in x plies. >>> >>>This works well for the a-b algorithm, your opponent will choose the move with >>>the highest score as always, so he will pick the move INFINITY-4 rather than >>>INFINITY-7, always the shortes way to the mate (you never mate if you take the >>>longest (instability)). >> >>I dont see the big advantage of picking a shorter mate - mate is mate - I win - >>thanks for coming - (or more often, oops I lose) - maybe I can loose slower >>though. > >Well, programs are a little different in this respect. >If you reverse the scores it will consistently pick the longest way to the mate. >That way you are _sure_ never to checkmate. No You will finally have no choice because there is not going to be longer mate because of the 50 move rule or repetition. > >>I just liked when I returned over mate, the search function exited nice and >>quickly, if i do INFINITY-ply, wont it continue looking really hard? isnt there >>chance the time control will stop the current play from searching? (what do >>normal programs do when the ply doesnt finish anyway?) > >I'm not sure I understand the problem. >You can stop doing iterative deepening if the search returns a mate score, or >you can let it go on and try to find a shorter mate. >Don't kill your search just because it finds one mate in one branch, use the >mate score like any other score and let the algorithm do its job. > >You should note there is an important difference between INFINITY-ply and >INFINITY+ply. If you use INFINITY+ply you are telling your program to search for >the _longest_ mate all the time (because those numbers are higher). You need to >let the shorter mate have a higher score so the algorithm will prefer those >(that is why you _subtract_ the distance, distance is *bad*). Prefering the longer mate does no demage for rating and the only problem is that people may find long games annoying. I thought that using this idea may be even good to test for bugs because if you fail to mate then it means that you may have a bug in the 50 move rule detection but I did not use that idea to check for bugs. Uri
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.