Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Interesting Idea To Improve Crafty

Author: Robert Hyatt

Date: 18:08:56 05/14/00

Go up one level in this thread


On May 14, 2000 at 14:31:13, blass uri wrote:

>On May 14, 2000 at 13:04:18, Heiner Marxen wrote:
>
>>On May 14, 2000 at 01:46:54, blass uri wrote:
>>
>>>On May 13, 2000 at 23:15:33, Robert Hyatt wrote:
>>>
>>>>On May 13, 2000 at 21:12:21, blass uri wrote:
>>>>
>>>>>On May 13, 2000 at 18:02:13, Robert Hyatt wrote:
>>>>>
>>>>>>On May 13, 2000 at 16:49:59, blass uri wrote:
>>>>>>
>>>>>>>On May 13, 2000 at 16:30:27, Robert Hyatt wrote:
>>>>>>>
>>>>>>>>>I understood that the idea behind chest is that it has not to try all the ply=1
>>>>>>>>>moves to find that there is no mate in 2(it is obvious for mate in 1 when you
>>>>>>>>>need to generate only threat king moves but I understood that it is also
>>>>>>>>>possible to do it for mate in 2).
>>>>>>>>>
>>>>>>>>>Chest knows for every piece the squares that it controls so it knows the squares
>>>>>>>>>need to be controled in order to do mate.
>>>>>>>>>
>>>>>>>>>If it is obvious from the starting position of the pieces that they cannot
>>>>>>>>>control the relevant squares in 2 moves then you can discover that there is no
>>>>>>>>>mate in 2 without generating moves.
>>>>>>>>>
>>>>>>>>>Uri
>>>>>>>>
>>>>>>>>
>>>>>>>>what about zugzwang???
>>>>>>>
>>>>>>>chest proves that there is a no mate without really executing the moves and it
>>>>>>>does not do errors in zugzwang positions.
>>>>>>>
>>>>>>>I understand that it does not assume no move for the defender but assumes a
>>>>>>>simple strategy(king move if possible) and try to prove that the squares cannot
>>>>>>>be controled in 2 moves by the attacker.
>>>>>>>
>>>>>>>Uri
>>>>>>
>>>>><snipped>
>>>>>>In my case, I need to know that there is a forced mate at the current position,
>>>>>>so that the null-move won't be tried.  There are lots of zugzwang mates where
>>>>>>you have to confirm that no matter what you do you get mated, even if you are
>>>>>>not in check.  And if you do nothing, you don't get mated instantly.
>>>>>>
>>>>>>I am trying to point out that (a) the test is very expensive because it has to
>>>>>>be done so many times
>>>>>
>>>>>I agree that the test has to be done many times but many times a small number is
>>>>>not very expensive if the number is small enough.
>>>>>
>>>>
>>>>Confucious say "if you multiply a big number times anything, you get a big
>>>>number." :)
>>>>
>>>>I can add a single if statement and see the NPS change.  If I add it in the
>>>>right place...
>>>>
>>>>
>>>>
>>>>
>>>>>The number of times you need to do the test is exactly the number of times that
>>>>>you find that there is no threat and if the time that you need to discover that
>>>>>there is no mate in 2 is 10 times smaller than the time that you need to
>>>>>discover that there is no 3 ply threat then you can earn important information
>>>>>because you sometimes can miss mate in 2 in searching for 3 ply threats because
>>>>>of null move pruning or by the fact that the evaluation does not know that a
>>>>>position is mate.
>>>>
>>>>I don't do any "threat" detection of any kind.  When I enter a new node, I try
>>>>a hash probe, followed by a null-move search to see if I can exit quickly.
>>>
>>>a null move search is a threat detection.
>>>
>>>What I suggest is that if the null-move search tell you that you can exit
>>>quickly to do a mate threat search for the same depth that is clearly faster
>>>than the null move search and only if the mate threat search tell you there is
>>>no mate threat then you can exit.
>>>
>>>Sometimes null move search to depth 3 cannot see mate in 2 so this idea can be
>>>productive against mate attacks.
>>>
>>>The reason that I suggest it is that I saw that Crafty has problem in detecting
>>>some ideas about mate attacks.
>>>
>>>Crafty lost against tal in the millenium tournament after it fell victim to mate
>>>attack and I saw that crafty could not see a sacrifice of chessmaster against
>>>Insomniac because of mate threat prunning.
>>>
>>>I posted the position when crafty needed 10 plies to see Nf5 but the problem was
>>>some plies early when crafty could not see the winning sacrifice of chessmaster.
>>>
>>>You can also decide to use the idea of mate search after null move search only
>>>in part of the positions when you can see by evaluation king safety problem so
>>>you will do it after sacrifices like Bxh2+
>>>
>>>I was careful now to suggest only mate in 2 after 3 ply search but it is
>>>possible that mate in 3 after 3 ply search is also not a waste of a long time if
>>>you do it only in positions when there is a king safety problem.
>>>
>>>It is possible to stop mate attacks also by better evaluation but I do not think
>>>that you are going to use big evaluation in order to sacrifice a bishop for mate
>>>attack because of positional reasons and if you do not do it then the only way
>>>that I see to do something against mate attacks is by improving the search.
>>>
>>>  I
>>>>don't do any kind of 'searching' or 'analysis' to determine if a null-move is
>>>>safe to try...
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>I think that searching for mate in n by chest is usually clearly faster than
>>>>>searching 2n-1 plies forward by crafty.
>>>>>
>>>>>Uri
>>>>
>>>>
>>>>I wouldn't be surprised at all.  Finding mates is far easier if you are only
>>>>looking for them and not trying to play a real game...  But the question is
>>>>still how much does it cost.
>>>>
>>>>I like the relatively simple search I am using. as simple -> bug-free.  Yes,
>>>>I wish it could do some things quicker.  It will when I take the time to get
>>>>the singular extension stuff implemented...
>>>
>>>I do not know if singular extension will help much if you prune threat mate move
>>>after null move search when the search is not deep enough.
>>>
>>>Even if they help I think that my idea can also help.
>>>
>>>
>>>Uri
>>
>>I am very pleased that the ideas implemented in Chest stimulate such an
>>interesting discussion :-)
>>
>>I tend to agree with you, Uri, that a special mate threat detection can
>>help, if designed carefully.  Some time ago I have also tried to suggest
>>a verification procedure for null move prunings.  A mate threat search
>>could help some problems, which really are there, but also are not exactly
>>frequent, they are somewhat rare.
>>
>>Also, the methods of Chest use a comparatively big board: for every field/
>>position there are maintained two attack sets, which are quite crucial for
>>the operation of Chest.  That makes the move execution inside chest an
>>expensive operation, quite unlike most playing programs, including crafty.
>>
>>I tend to agree with Bob that throwing in an additional mate threat search
>>can easily slow things down a lot.
>>
>>Embedding the ideas for fast mate search into a playing program would need
>>to completely re-evaluate the ideas and to completely re-design the
>>implementation, IMO.  That is not a small/quick mini-project.  Obviously
>>Bob has not yet run out of ideas he considers easier to implement.
>>So... who volunteers to work out these things until we all see it can be
>>done and is quick enough?  I do not volunteer :-(  What about you, Uri ?
>>
>>Heiner
>
>I also do not volunteer to do it.
>It is of course easier to think about ideas than to write them.
>
>The reason that I suggested this idea is the fact that
>I did not like to see programs become victims of mate attack of tal because of
>the behaviour of the programmer of tal and I found that in the millenium
>tournament tal often won because of mate attacks.
>
>I thought that my idea could help to stop part of the mate attacks of tal(it is
>better to do it by evaluation but I do not see a way to know by evaluation when
>a sacrifice of a piece is right).
>
>I think that this idea may be important also against humans who try to win
>programs by mate attacks.
>
>Some mate attacks are too deep and cannot be stopped by search but some mate
>attacks can be stopped by search.
>
>In the Israeli league 2 programs were victims of mate attacks(Fritz and Rebel)
>and it seems to me that in this case the mate attack could be stopped also by
>search.
>In the last game of Fritz that was posted today the mate attack could not be
>stopped by search.
>
>Uri


I am under the impression that Rebel doesn't use null-move.  IE a null-move
program typically goes 2 plies deeper than without it...




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.