Author: blass uri
Date: 07:30:24 05/13/00
Go up one level in this thread
On May 13, 2000 at 09:22:40, Robert Hyatt wrote: >On May 13, 2000 at 02:39:33, blass uri wrote: > >>On May 12, 2000 at 23:14:33, Robert Hyatt wrote: >> >>>On May 11, 2000 at 12:50:39, Graham Laight wrote: >>> >>>>On May 11, 2000 at 10:43:57, blass uri wrote: >>>> >>>>>On May 11, 2000 at 10:20:34, Graham Laight wrote: >>>>> >>>>>>On May 11, 2000 at 10:07:56, blass uri wrote: >>>>>> >>>>>>>On May 11, 2000 at 08:33:26, Mogens Larsen wrote: >>>>>>> >>>>>>>>On May 11, 2000 at 05:36:42, blass uri wrote: >>>>>>>> >>>>>>>>>I also believe that other beta testers did not think about part of my productive >>>>>>>>>ideas for chess programs. >>>>>>>> >>>>>>>>Out of curiosity, what productive ideas have you been suggesting? >>>>>>>> >>>>>>>>Sincerely, >>>>>>>>Mogens >>>>>>> >>>>>>>I will repeat one idea that I posted here: >>>>>>> >>>>>>> >>>>>>>Many programs are null movers and they prune moves when they see no threat. >>>>>>> >>>>>>>I found that Crafty could not find some tactics in practical games because it >>>>>>>pruned threat mate moves. >>>>>>> >>>>>>>I suggested that before the decision if to prune by null move to check also if >>>>>>>there is a mate threat to bigger depth(If it seach d plies for regular threat it >>>>>>>can search d+1 or d+2 plies for mate threat) >>>>>>> >>>>>>>I think this will help crafty to see tactics when there is a mate attacks and I >>>>>>>think that crafty will not be significantly slower when there is no mate threat >>>>>>>because checking if there is a d+1 plies mate threat is easier than checking if >>>>>>>there is a d plies not mate threat). >>>>>>> >>>>>>>Crafty can call chest(a free program that is the best mate solver) to check if >>>>>>>there is a mate threat and chest is a very fast mate solver(it tries to prove >>>>>>>that there is no mate with the smallest possible tree and it helps it to see >>>>>>>that there is no mate very fast). >>>>>>> >>>>>>>I read that it is a slow searcher and search only 20000 nodes per seconds on >>>>>>>a slow hardware p166(I am not sure if I am right about the hardware) but it can >>>>>>>solve 1500 mate in 2 in one second. >>>>>>> >>>>>>> >>>>>>>Crafty on p166 needs significantly more than 1/1500 second in order to search 3 >>>>>>>plys threat when these threats can miss mate in 2 because crafty's evaluation >>>>>>>also has no idea if the position is mate so it may need more than 2d-1 plies to >>>>>>>see mate in d threat not only because of null move. >>>>>>> >>>>>>>Uri >>>>>> >>>>>>This is a good idea, but I don't think Bob will go for it. >>>>>> >>>>>>Firstly, it's difficult to know whether there's a possible mate threat. If there >>>>>>is, there's a high probability that a chess program would stumble upon it >>>>>>anyway. >>>>> >>>>>It is not so difficult to know when there is a mate threat >>>>> >>>>>There are positions when it is more common when the king is exposed >>>>>and it take less time to check if there is amate threat than checking if there >>>>>is another threat so crafty will not be significantly slower. >>>>> >>>>>> >>>>>>Secondly, I think Bob likes to control everything that's happening so that he >>>>>>can ensure that it's all done in the minimum amount of time. Having a cuckoo in >>>>>>the nest doing unpredictable things with unpredictable quantities of resources >>>>>>is hardly likely to please Bob, from my readings of his postings over the years. >>>>> >>>>>It is possible to control the time. >>>>>You can decide to call chest to search for a mate threat not more than 1/10 of >>>>>the time that you search for other threats(It will often search deeper and even >>>>>if it does not search deeper it can see mate threats that the regular search of >>>>>crafty does not see because of null move pruning because crafty is using null >>>>>move recursively) >>>>> >>>>>Crafty will be slightly slower in cases when there is no mate threats but the >>>>>fact that it will find some important tactics that it did not find before is >>>>>more important. >>>>> >>>>>Uri >>>> >>>>Perhaps chess programmers will have to accept an "object oriented" approach to >>>>programming to make their programs much better - with different programmers >>>>doing different objects. >>>> >>>>I have already stated my case that programmers should consider using knowledge >>>>management tools (I suggest http://www.haley.com might be a good place to start) >>>>because at least one top programmer has admitted that building the knowledge in >>>>a non-systematic way has resulted in the same knowledge being used more than >>>>once in evaluating position nodes. >>>> >>>>I remember in the 1970s when people would build a hi-fi system. They would get >>>>the turntable from one supplier, the tape deck from another, the tuner from >>>>another, the amplifier from another, and the speakers from yet another! >>>> >>>>Maybe we have to go this way in building "chess systems" to get the best >>>>possible players. >>>> >>>>-g >>> >>> >>>THe problem here is that null-move searches are done at _every_ node in the >>>tree. Now, before allowing a null-move fail high, it would need to do a >>>search to detect threats. That would _definitely_ slow it down significantly. >> >>It depends on the time that you search for mate threats. >>If you search for mate threats only 1/10 of the time that you search for regular >>threats than it slows it down by less than 10%(I do not know how much because I >>do not know how much time does crafty use for null move searches) > >You are forgetting this is a _tree_. This time is added for a _bunch_ of >nodes interior to the tree. It wouldn't just cost 10%. It would probably >cost a factor of 2-3 (at least one ply). For every node you can decide that the time to search for mate threat is not more than 1/10 of the time to search for regular threat. > > > >> >>searching for mate threats is clearly more easy than searching for regular >>threats so you can see deeper inspite of the fact that you use less time. > >Not always. Even a mate in 2 can have the first move as a non-check. Now, >that 3 ply search for mate is no easier than a normal 3 ply search, since there >is no clue that the first move leads to mate... This is not the case if you use chest(the best mate solver) I remember from a post of the programmer of chest that chest can see 20,000 nodes per second on p166(I am sure that it was a slow hardware but I am not sure if it was p166) but can solve 1500 mate in 2. Simple calculation show that the average number of nodes that it needs to see if there is a mate in 2 is less than 14 that is eqvivalent to about 50 nodes for crafty(because chest is slower than crafty). I asked the programmer how it is possible and he explained that the idea of chest is to try to prove that there is no mate by the smallest possible tree. I understand that chest often can see that the first move is not leading to mate without calculating forward because there is no way to cover the escape squares of the opponent king. Chest does not need to generate all the possible moves in the first ply when it search for a mate in 2. Chest is a free chess program and everyone can look in the source code of it and try to understand how does it do it. Uri
This page took 0.01 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.