Author: Robert Hyatt
Date: 07:51:29 10/05/99
Go up one level in this thread
On October 05, 1999 at 04:14:13, blass uri wrote:
>On October 04, 1999 at 22:37:48, Robert Hyatt wrote:
>
>>On October 04, 1999 at 20:33:35, blass uri wrote:
>>
>>>On October 04, 1999 at 18:46:11, Robert Hyatt wrote:
>>>
>>>>On October 04, 1999 at 14:17:06, blass uri wrote:
>>>>
>>>>>On October 04, 1999 at 11:52:43, Robert Hyatt wrote:
>>>>>
>>>>>>On October 04, 1999 at 10:30:40, blass uri wrote:
>>>>>>
>>>>>>>On October 04, 1999 at 09:41:30, Robert Hyatt wrote:
>>>>>>>
>>>>>>>>On October 04, 1999 at 04:26:17, blass uri wrote:
>>>>>>>>
>>>>>>>>>On October 03, 1999 at 23:44:31, Robert Hyatt wrote:
>>>>>>>>>
>>>>>>>>>>On October 03, 1999 at 23:17:29, Ricardo Gibert wrote:
>>>>>>>>>>
>>>>>>>>>>>[snip]
>>>>>>>>>>>>
>>>>>>>>>>>>my webster's defines 'sacrifice' as 'voluntarily giving up something of
>>>>>>>>>>>>value'. I have a hard time saying 'I will sacrifice a ten-dollar bill if
>>>>>>>>>>>>you will give me a 20 dollar bill in return...'
>>>>>>>>>>>>
>>>>>>>>>>>>:)
>>>>>>>>>>>
>>>>>>>>>>>Ok, you got me. I neglected to explicitly state I was refering to the _chess_
>>>>>>>>>>>version of the term.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>then here is a 3-move sequence. Sacrifice or combination?
>>>>>>>>>>
>>>>>>>>>>RxB, NxR, RxN.
>>>>>>>>>>
>>>>>>>>>>RxB obviously dumps a rook for a knight. or if you look to the end of the
>>>>>>>>>>combination it wins two pieces for a rook which is a significant advantage.
>>>>>>>>>>
>>>>>>>>>>Sacrifice or combination?
>>>>>>>>>>
>>>>>>>>>>How is that different from QxP+, RxQ, RxR#??
>>>>>>>>>>
>>>>>>>>>>Dumping a queen for a pawn? Or winning the king?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>But I don't object to the term being used.. I just think that for a computer,
>>>>>>>>>>>>the concept 'sacrifice' is wrong. It is just a perfectly computable
>>>>>>>>>>>>combinational tree search...
>>>>>>>>>>>
>>>>>>>>>>>You can give up a bishop to obtain a draw by perpetual check and because you
>>>>>>>>>>>never get the material back, it is a called a sacrifice. I know it seems trivial
>>>>>>>>>>>and is not what people generally have in mind when they use the term
>>>>>>>>>>>"sacrifice", but I do believe it's use in such cases is fairly universal.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>in the case of a computer, it isn't 'sacrificing'. It _sees_ that it can
>>>>>>>>>>draw or that it can win. IE it isn't giving up _anything_. A human might
>>>>>>>>>>toss a bishop 'thinking' (but not sure) than he can force a perpetual. But
>>>>>>>>>>a computer either 'proves' that it can force it, or it won't ever go for the
>>>>>>>>>>move in the first place.
>>>>>>>>>
>>>>>>>>>Not truth.
>>>>>>>>>
>>>>>>>>>Some programs use also selective search.
>>>>>>>>>I believe that Fritz evaluates positions based on some average between
>>>>>>>>>The evaluation based on selective search and the evaluation based on brute force
>>>>>>>>>search.
>>>>>>>>>
>>>>>>>>>If the selective search show perpetual check and the brute force does not see it
>>>>>>>>>then Fritz (in a bad position) might 'think' that he have chances to do a
>>>>>>>>>perpetual check without proving it and play for it.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>However, that is a _bug_ and not a _sacrifice_ because the program searched and
>>>>>>>>found the perpetual. Even though it was wrong. But the _search_ said draw, and
>>>>>>>>the tree it searched 'proved' to the program that it was a draw. Unfortunately,
>>>>>>>>if this is the way Fritz searches (I don't believe it does this personally,
>>>>>>>>because it would be so horribly inefficient to do both kinds of search, that
>>>>>>>>Fritz would not be nearly as tactically strong as it is today) then the sac is
>>>>>>>>the result of a bug, not because of a computer 'speculating'...
>>>>>>>
>>>>>>>I know that Fritz is speculating and it is not a bug.
>>>>>>
>>>>>>Sorry, but I don't believe that. It either searches and 'sees' something
>>>>>>or it searches and 'doesn't see' something. I know of no algorithm that can
>>>>>>just 'guess' at a result, and fold this into the alpha/beta search along with
>>>>>>a normal deep null-move search, and then somehow combine those two different
>>>>>>results.
>>>>>
>>>>>The fact that you do not know does not prove that it does not exists.
>>>>>
>>>>>I also do not know if it exists and only guess because I had no explanation to
>>>>>some strange behaviour of the evaluation function that I saw(not often).
>>>>>
>>>>>It is possible that this strange behaviour is a bug
>>>>
>>>>I don't "know" that fritz doesn't do this either. That is why I clearly
>>>>wrote "I don't believe...." which is quite different from saying "It
>>>>absolutely does not..."
>>>>
>>>>>>
>>>>>>IE CSTal doesn't 'speculate' in that form... it just has large positional
>>>>>>scores it tosses into the mix when it sees certain things going on on the
>>>>>>board, such as the king too exposed or whatever. And deep/fast searchers
>>>>>>generally are able to spot the fatal flaw in such speculation and pounce on
>>>>>>it with both feet. I have _never_ seen Fritz behave in this manner because if
>>>>>>it did, it would get crushed by programs that didn't behave like that...
>>>>>
>>>>>It is possible that usually the selective search does not lead to mate so the
>>>>>number of the selective search does not have big influence on the evaluation
>>>>>function.
>>>>>
>>>>>If you use 0.08*selective search score+0.92*brute force search score
>>>>>then you will see problems only when the brute force search score leads to mate.
>>>>>
>>>>
>>>>
>>>>But who does _both_ and merges the scores together? That is the part that makes
>>>>no sense from a tree-searching point of view. Because the two search spaces
>>>>overlap a _lot_ and it is a lot of wasted effort...
>>>>
>>>>
>>>>
>>>>>You also can use a different formula that is not linear.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>In a case the selective search show draw by perpetual check and the brute force
>>>>>>>search does not see it the evaluation is probably going not to be 0.00 but
>>>>>>>something between 0.00 and the evaluation of the brute force search.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>Again, I don't believe that fritz is doing _two_ searches, one selective and
>>>>>>one non-selective. It might be adding some selectiveness on to the end of the
>>>>>>normal search, as that has been done as far back as the original greenblatt
>>>>>>program... However, Thorsten has reported seeing lots of 0.00 scores when they
>>>>>>are simply wrong. I have played fritz on the servers and had the opponent say
>>>>>>"I am seeing a draw" while Crafty was seeing +3.00, and in many cases, the 0.00
>>>>>>was wrong...
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>I do not remember cases of speculating perpetual but I remember cases of
>>>>>>>speculating when it saw a win for itself in some selective lines and decided
>>>>>>>to do a sacrifice(sometimes it may be right sacrifice and it also may be
>>>>>>>a wrong sacrifice).
>>>>>>>
>>>>>>>I guess that it does an everage between selective search and brute force
>>>>>>>because I saw some evaluations that I can explain only by this theory.
>>>>>>>
>>>>>>>I remember a case when the evaluation started to go down slowly from a big
>>>>>>>advantage for white 7-8 pawns towards no advantage and
>>>>>>>The sequence of evaluations was arithmetic sequence.
>>>>>>
>>>>>>
>>>>>>that happens. It simply means that the evaluation is grossly faulty, or that
>>>>>>the search is faulty... we all have that problem from time to time... I have
>>>>>>lost +5 games on ICC and won -5 games, against computer opponents..
>>>>>
>>>>>I remember an evaluation that cannot be explained by the position
>>>>>
>>>>>It started from +8 or +5 (I am not sure about the exact number and got down by
>>>>>0.31 every iteration(again I am not sure about the exact number)
>>>>>
>>>>>evaluation like +3 pawns could not be explained by a logical evaluation
>>>>>because if you see that you win the queen it should be at least +8 pawns and if
>>>>>you do not see it because of null move problems the evaluation should be close
>>>>>to 0.
>>>>>
>>>>>Uri
>>>>
>>>>
>>>>Not necessarily... you can hold off such losses at times by giving up a bit of
>>>>positional compensation.. a sort of 'positional horizon effect'. But each
>>>>iteration takes you a ply deeper and you have to give up more to hold the
>>>>loss beyond the horizon... and down, down, down goes the eval...
>>>
>>>The relevant position is:
>>>
>>>7k/4K2p/7P/3p4/8/4Q3/1q6/8 w - - 0 1
>>>
>>>The first evaluation above 0 of Fritz5 is +5.16 pawns for white
>>>I do not believe that it can be explained by positional compensation.
>>>
>>>If it is because of a bug then Fritz3 and Fritz4 have the same bug(I do not know
>>>if Fritz5.32 shows similiar behaviour)
>>>
>>>Uri
>>
>>
>>are you sure this is the position? This seems to be a mate in 8 according
>>to my PII/300 notebook (crafty):
>>
>> 9 4.89 0.48 1. Ke6 Qa1 2. Kd7 Qa4+ 3. Kd6 Qb4+
>> 4. Kxd5 Qb7+ 5. Kc4 Qa6+ 6. Kb4 Qd6+
>> 7. Kb5 Qd5+ 8. Kb4 <HT>
>> 9-> 7.46 0.48 1. Ke6 Qa1 2. Kd7 Qa4+ 3. Kd6 Qb4+
>> 4. Kxd5 Qb7+ 5. Kc4 Qa6+ 6. Kb4 Qd6+
>> 7. Kb5 Qd5+ 8. Kb4 <HT>
>> 10 8.27 ++ 1. Ke6!!
>> 10 12.34 Mat08 1. Ke6 Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
>> Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
>> Qe5+ <HT>
>> 10-> 18.59 Mat08 1. Ke6 Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
>> Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
>> Qe5+ Qg7+ 8. Qxg7# <HT>
>> 11 23.23 Mat08 1. Ke6 Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
>> Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
>> Qe5+ Qg7+ 8. Qxg7#
>> 11-> 36.33 Mat08 1. Ke6 Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
>> Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
>> Qe5+ Qg7+ 8. Qxg7#
>> 12 50.03 Mat08 1. Ke6 Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
>> Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
>> Qe5+ Qg7+ 8. Qxg7#
>
>I am sure that it is the position and I believe that the reason that Fritz
>cannot see the mate is that it is a null move problem for Fritz.
>1.Ke6 threats nothing.
>
>Try the position after Ke6 with white to move.
>
>Uri
I get this:
9 5.01 -Mat07 1. ... Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
Qe5+ Qg7+ 8. Qxg7# <HT>
9-> 6.13 -Mat07 1. ... Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
Qe5+ Qg7+ 8. Qxg7# <HT>
10 11.37 -Mat07 1. ... Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
Qe5+ Qg7+ 8. Qxg7#
10-> 11.76 -Mat07 1. ... Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
Qe5+ Qg7+ 8. Qxg7#
11 24.97 -Mat07 1. ... Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
Qe5+ Qg7+ 8. Qxg7#
11-> 25.92 -Mat07 1. ... Qa1 2. Qb6 Qe1+ 3. Kd7 Kg8 4.
Qf6 Qg3 5. Qe6+ Kh8 6. Qe8+ Qg8 7.
Qe5+ Qg7+ 8. Qxg7#
although it is certainly possible that small differences in the two programs
can cause interesting null-move behavior...
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.