Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Interesting Idea To Improve Crafty

Author: Robert Hyatt

Date: 06:22:40 05/13/00

Go up one level in this thread


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).



>
>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...


>
>Even if you do not see deeper in plies you can see deeper because when you
>search for mate threats(by chest) you can see every mate threat and there is no
>problem of recursive null move pruning.
>
>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.