Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Impressive position! Too easy for computers....

Author: Uri Blass

Date: 09:51:33 05/22/04

Go up one level in this thread


On May 22, 2004 at 12:18:31, Sune Fischer wrote:

>>>>>>>                5->   0.08  -8.29   1. Qf4+ gxf4 2. Bxf4+ Ka8 3. Nb6+ axb6
>>>>>>>                                    4. axb6+ Na6 5. Rxc8+ Rxc8 6. Rxa6+
>>>>>>>                                    bxa6 7. Bg2+ Rc6 8. Bxc6# (s=9)
>>>>>>
>>>>>>
>>>>I don't agree at all. IMO it's kind of ridiculous to let a PV end in checkmate
>>>>without showing a mate score. What is happening here is that Crafty doesn't have
>>>>a clue about the checkmate (because of how it's qsearch operates) and so does
>>>>not evaluate it. However the PV print routine DOES recognize it.
>>>
>>>You can't trust a PV ending in mate if the score has not been passed through the
>>>tree.
>>
>>>In general it is possible that black could have found something better than Rc6
>>>had he seen it lead to a mate.
>>
>>Black saw it otherwise it could not write the pv with mate score.
>>Maybe it did it only after calculating the pv in the function that print the pv
>>but the question is what is the reason not to do it in every node.
>
>The reason is that it could be wrong, the mate distance might be declared
>shorter than the shortes possible mate, this would be buggy IMO.
>
>The score shows -8.29, but instead of Rc6 Bxc6(#) maybe black could have played
>Qxh2+ Kxh2 Rc6 Bxc6# (or whatever). This line would have postponed the mate for
>one more move, but black did not try this because this would have given a score
>of about -17 which looks worse to black than -8, but of course it isn't as the
>-8 line is really a mate.
>
>I think the best option would be to not append the hashmark, #, if the score
>isn't a mate score.
>
>>I think that knowing if the side to move is in mate or not in mate should be
>>part of the evaluation function.
>
>I'm not sure. A mate is what I call a 1-ply tactic, just like a pin or fork.
>Basicly you can try and evaluate these things but even if you are 100% accurate
>you only gain 1 more ply of accuracy - max!
>
>I prefer to keep it simple, unless I need it for extensions/pruning of course.
>
>>Note that detecting that the side to move is not in mate is very often cheap
>>because you can know that a move does not threat the king based only on the
>>from and to squares.
>
>I don't understand that, you also need to check if the check can be blocked or
>the king can move out or if the piece can be captured. It is quite expensive,
>and very few checks actually end up in mate so I don't think it is worth the
>trouble.
>
>-S.

It may be expensive only in small part of the cases.
In most cases when you can know based on the move and the location of the
opponent king that the move is not check.

a2a3 when the black king is at e8 is not check.

Note that I do a lot more than checking if the position is checkmate in movei
and even generates the list of legal moves after every move that I make.

Maybe it is better to get rid of it in some way but it is not easy to change a
complicated problem and I believe that there are still productive changes that I
can do without rewriting movei.

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.