Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Shredder wins in Graz after controversy

Author: Robert Hyatt

Date: 06:37:45 12/11/03

Go up one level in this thread


On December 11, 2003 at 02:10:34, Sandro Necchi wrote:

>On December 10, 2003 at 15:18:06, Robert Hyatt wrote:
>
>>On December 10, 2003 at 13:41:06, Sandro Necchi wrote:
>>
>>>On December 09, 2003 at 19:49:40, Robert Hyatt wrote:
>>>
>>>>On December 09, 2003 at 16:45:37, Sandro Necchi wrote:
>>>>
>>>>>On December 09, 2003 at 15:14:00, Frank Phillips wrote:
>>>>>
>>>>>>On December 09, 2003 at 14:45:25, Gian-Carlo Pascutto wrote:
>>>>>>
>>>>>>>On December 09, 2003 at 10:16:51, Frank Phillips wrote:
>>>>>>>
>>>>>>>>This is too subtle for me.  It is an event between machines with the operator
>>>>>>>>acting as a go between (a mistake in my view).  The machine said draw, >therefore the operator must claim the draw.
>
>No, the machine said "3-fold repetition".
>If the machine says "I lost the game" it is not like "I resign".

That is utter bullcrap and you know it.  Show me the FIDE rules that specify
exactly what one must say to offer a draw, claim a draw, or resign.  Some say
"I resign".  Some offer their hand.  Some tip their king over.  All are
accepted.  The program said "3-fold repetition".  That is _more_ than good
enough.  Your continually making this statement will _not_ make it true,
it's a stupid argument when the machine clearly said "repetition".

>
>
>>As far as I can see it just
>>>>>>>>another 'move' indicated by the machine and the operator has no right to move
>>>>>>>>for the machine.
>>>>>>>
>>>>>>>By the same reasoning, the machine claimed the draw incorrectly, so
>>>>>>>the operator has no right to claim the draw correctly, so he had no choice
>>>>>>>but to play on (or resign).
>>>>>>>
>>>>>>>QED
>>>>>>>
>>>>>>>--
>>>>>>>GCP
>>>>>>
>>>>>>I do not understand what you are saying.
>>>>>>
>>>>>>My point is based on the following:
>>>>>>
>>>>>>1.The contest was between machines.
>>>>>
>>>>>No, between chess engines.
>>>>
>>>>Please show me that distinction in the ICGA tournament rules.  It is a
>>>>game between two computers playing chess.  Nothing more, nothing less.
>>>>Further arguments are simply obfuscation.
>>>
>>>This is your opinion. If the TD thinks otherwise there should be a reason.
>>
>>I agree.  But there _was_ no reason.
>
>If you read the Darse post...it says something different. I believe he know more
>than me and you.

I don't..  So???


>
>>In fact, this did not enter into the
>>TD's decision making, according to people present.  So it is a red herring
>>that is just clouding the issue unnecessarily...
>
>No, the outcome is that the engine did not claim a draw but a "3-fold repetion".
>The engine, which did not knew the draw let the game go on.

crap, more crap, and more crap.  You know that is a bogus argument.
Why you would continue to make it is beyond me...

I claim a 3-fold repetition.
I claim a draw by 3-fold repetition.
I claim a draw by repetition.
I claim a perpetual
This is a perpetual
This is a repetition.
This is a 3-fold repetition.

A TD would accept _any_ of those in a tournament as a claim, he would verify
it, and mark the result.  There is no specific wording required.  Your saying
that the computer just happens to pop out "3-fold repetitoin detected", in
a window that the operator has to dismiss, is just "random information and not
a claim" is completely ridiculous.


>
>>
>>>
>>>>
>>>>>
>>>>>>2.The machine in question was the entity that was the engine plus the chessbase
>>>>>>GUI.
>>>>>
>>>>>OK, but the engine was playing, not the chess GUI.
>>>>>
>>>>>>3.It would have been better if the machines played without human interference,
>>>>>>but failing this the operator should not have been able to influenece the
>>>>>>result.
>>>>>
>>>>>This was allowed as the operator should have been the one to ask the TD to be
>>>>>allowed to resign...see Darsen post which is complete...
>>>>
>>>>Operators should not resign.  Programs should resign.  Then there is no
>>>>ambiguity whatsoever.  But in this case, the program did its part.  It
>>>>popped up a dialog box that had to be dismissed before the game could
>>>>continue.  The program can hardly call the TD over _itself_.
>>>
>>>OK, here we agree and it shoud state "I resign".
>>
>>Mine does.  It also says "I offer a draw".
>
>OK, then I can say I do not accept it. This is not a draw. It is a draw only if
>it states "Draw by the 3-fold repetition rule" I am going to play "..." which
>forces a draw or something like this.

If you would only read, you would notice that I do claim 3-fold repetition
as a draw, and don't give you a choice.


>
>I know your program does now, but you changed that after the tournament. Also we
>are not talking about your program, but about Jonny which did not.

The point is _YOUR_ program has claimed repetitions in the past.  I don't see
your not claiming the draws, even though you did 'em wrong.  You _do_ have
to be consistent here...

You can't claim draws when it is convenient to you, and ignore claims when
it is convenient.


>
>>And if you offer my program a
>>draw, I make a note, do my normal search on the move you just entered, and
>>if the resulting score suggests that a draw is in my best interest, I accept
>>before I make a move.  All according to the rules of chess.
>
>This may not be true if there is another move with the same score, the program
>would play one of the 2, so the score does not mean that it wants a draw. It
>must state that clearly.

No it does't and that is _still_ a bogus argument.  If the computer plays
a move that repeats a position for the third time, it intentionally wanted
the draw score.  If the program has a non-repeating move that also produces
a score of 0.00, then it should play that if it doesn't want a draw.  None
of those are up to us to judge.  If the engine repeats the position for the
third time, it is perfectly reasonable to believe it intended to do so and
make the claim.  In your case, your engine screwed up, and you get stuck
as a result.  Bugs happen.  You don't ignore them.


>
>>
>>However, I also have code that says that "this is a draw due to 3-fold
>>repetition", "this is a draw due to the 50 move rule" and "this is a draw
>>due to insufficient material to force checkmate."
>>
>>_nowhere_ in those do you see "I claim ..."  I don't believe a computer
>>can "claim" anything, in fact.  It can just state obvious conditions.
>
>State obvious conditions? What about if there are move moves with the same score
>and the computer wants to try one of them and wait before claiming a draw?

What if frogs get into the machine and cause bogus results?

If the computer can score a non-drawing move with drawscore, then that is
a problem within the engine.  I didn't do that in Cray Blitz.  In Cray
Blitz, scores were either < 0, or > .1.  Scores between 0 and .1 were
reserved for draw scores _only_.  If the engine doesn't do that right,
and repeats for the third time, then it is still a draw.  In the case of
Crafty, the UI will _still_ claim the repetition if the position is repeated
for the third time...  and I think that is perfectly reasonable.


>
>>
>>>
>>>However since the programmer can fix the value for the program to accept a draw
>>>if this is set a -50 the score evaluation of 0.00 will be ignored by the chess
>>>engine and the program would not ask for a draw even if able to do it.
>>>Do you agree on this?
>>
>>No I don't.  The score is used by the engine to select the best move.  If
>>the best move leads to a -50, the GUI doesn't care.  All the GUI cares about
>>is "hey, this repeats the position for a third time, it is therefore a draw."
>
>This is wrong. They should not be allowed to do that. In that case they would
>overrite the engine decision.

How can the overrule the engine when the engine repeated 3 times?


>
>>
>>
>>
>>>So, to claim that a 3-fold repetion is automatically a draw is your
>>>interpretation of the rules, not the rule.
>>
>>I have never said it is "automatically a draw".  I said "if the program
>>says it is a 3-fold repetition, and that is proven to be correct, then it
>>is a draw."  There is a _great_ gulf between what I said and what you are
>>claiming I said.
>>
>>
>>
>>
>>>
>>>If you state that we were lucky we won (a won game) simply because the opponent
>>>program did not ask for the draw, I agree, but no more than that.
>>
>>I state that you won the tournament because (a) your opponent violated clearly
>>written rules, by not doing what the program said to do;  (b) the TD let that
>>violation stand because he didn't take the time to fully understand what was
>>going on at the time;  (c) after he found out his ruling was _really_ wrong,
>>he came up with lame excuses as to why it is still ok to let the ruling stand.
>>
>
>Darse states quite different things. I do think he knows more than me and you.
>

Again, I do not.


>>>
>>>Also you must agree with me that the aim of the Championship is to show (if
>>>possible) which program is the strongest and to me this was clear after the
>>>defeat against Fritz...this is why I was sure we would have won.
>>
>>That's is _not_ the purpose of such a tournament.  Tournaments _never_
>>show "which program is strongest".  They show "which program played the best
>>chess for N rounds."
>
>It seems with your statement we would have the one which was most lucky the bugs
>all programs have did not killed his games or less than the others...

With your approach we don't need to look at game results.  Neither is
perfect.  But just using results is certainly more objective.

Bugs are part of the game.  Show up with them and you pay from time to
time.


>
>
>>In that regard, Shredder did not.  It had a major
>>bug that should have turned a win into a draw.  I hardly call that "the
>>best program there based on tournament performance."  Yes, I think Shredder
>>might be the most "skillful program playing there".  But that does not
>>excuse this.  Otherwise why not just play 8 games each and let a committee
>>compare the play to see which seems to be strongest, with no regard to who
>>actually wins or loses any games?
>
>As I said if I play a tournament I would never refuse to accept a decision of
>the TD. I have accept to play such tournament and therefore to accept his
>decisions as well.

Having been a TD for 30 years, I _would_ refuse to accept a decision that
was blatantly wrong and against the rules and spirit of the event.  This
fits both cases.


>
>>
>>
>>
>>
>>
>>>
>>>I do not have the crystal ball and my judgement was purely based on looking the
>>>programs play and their games, so the bugs were not considered...
>>
>>And that's your mistake.  Bugs affect the game.  I have lost several games
>>due to bugs.  The program with the fewest bugs generally wins such short
>>events.  That would appear to be Fritz, as it didn't make such silly mistakes
>>during its games.
>
>
>OK, then we will call the title next time "World less buggy winner" !

Whatever you want.  Just don't juggle the rules to maximize _your_
chances..


>
>>>
>>>>
>>>>>
>>>>>>4.The machine claimed a draw (ie its 'move' was draw).
>>>>>
>>>>>No, the machine did not claimed a draw. The GUI advised that there was a 3-moves
>>>>>repetition. This is not a draw claim.
>>>>
>>>>Again, nit-picking nit-splitting obfuscation.  When the machine says
>>>>"my move is Nf3" it is not "claiming that is its move".  It is advising
>>>>the operator that is what it wants to play.
>>>
>>>OK, this is correct, so the same it is true it is advising there is a 3-fold
>>>repetition and than...this does not mean a draw automatically...this is chess
>>>and the FIDE rules are clear on this matter.
>>>If programmers like you are not able to make programs with follows the FIDE
>>>rules is that my fault?
>>
>>First, my program _does_ follow FIDE rules, yours does not.
>
>Yes, now. How do you know we did not change it in the meantime?


I don't care what you change.  We are talking about in this event.  Did you
claim a repetition?  If so, you didn't claim it properly.  Did you therefore
ignore your program's claim and play on, possibly losing?  I didn't think so.


>
>>Let's clear that
>>up right now.  Second, the program said this is a repetition.  There is no
>>mandated draw claim wording in my FIDE rules of chess.  So "3-fold repetition
>>detected" is more than enough.  I have run tournaments with international
>>players, and sometimes we have to resort to their holding up 3 fingers to
>>signal me they want to claim a 3-fold repetition.  I've never said "no, I don't
>>accept 3 fingers because the FIDE rule book says you have to .."  Because the
>>rule book doesn't spell out what has to be said.  It simply spells out the
>>procedure for claiming such draws.
>>
>>
>>>I think it is your fault and you should only blame yourself not to have it made
>>>clear and following the FIDE rules.
>>
>>
>>Fine, except my program follows the FIDE rules.  Here is the snippet from
>>main.c (my text-mode UI):
>>
>>      if (RepetitionDraw(tree)==1) {
>>        Print(128,"%sI claim a draw by 3-fold repetition after my move.%s\n",
>>              Reverse(),Normal());
>>      }
>>      if (RepetitionDraw(tree)==2) {
>>        Print(128,"%sI claim a draw by the 50 move rule after my move.%s\n",
>>              Reverse(),Normal());
>>      }
>>      if (Drawn(tree,last_search_value) == 2) {
>>        Print(128,"%sI claim a draw due to insufficient material after my
>>move.%s\n",
>>              Reverse(),Normal());
>>      }
>>   ... a but later ...
>>
>>     I print the actual move returned by the seearch.
>>
>>It has already been reported that Shredder and other commercial programs
>>do not do this.  So shouldn't you first fix your own shortcoming with respect
>>to the rules, before telling me to fix something I have already done correctly?
>
>Yes, if things are done wrongly letting the GUI handle this.
>
>>
>>>If this was made clear there would not have been so many different opionions.
>>>I guess you would agree on this or not?
>>
>>No, it is _already_ clear.  You can't claim draws right.  Nobody in the
>>event apparently claimed draws right.
>
>OK, here we agree.

Then why are you arguing?  You claimed draws incorrectly, yet took them when
it was in your interest to do so, but didn't when it was not?  Can't you at
least be consistent?  Either all were wrong, or all were right.  And no matter
which opinion you hold, the TD screwed up because he did _both_ and that is
not reasonable.


>
>>Yet the draw claims were certainly
>>accepted.  Did shredder claim any draws in the event?  Were they accepted?
>>Were they according to the FIDE rules of chess (probably not if there were
>>any).
>>
>>However, the _human_ is the interface between the chess computer and the
>>outside world.  The _human_ knows how to claim a draw correctly.  But this
>>particular human chose to ignore the programs repetition claim and keep
>>playing.  That is _not_ acceptable.
>>
>>
>>
>>
>>>
>>>>Why this silly semantic game???
>>>>
>>>>
>>>>
>>>>
>>>>>Since the programmer can set the draw value in it's program. If the setting is
>>>>>accept a draw only when the score is -50, than the GUI showing a 3 moves
>>>>>repetition would be ignored by the engine...so this is not a draw claim, but
>>>>>only a info display...
>>>>
>>>>That is crap.  If the program repeats the position for the third time, it
>>>>is _clearly_ saying "I want the draw by repetition".  Any other interpretation
>>>>is simply ridiculous.
>>>
>>>Show me the rule that states this.
>>
>>Shall I give you a lecture on how alpha/beta works, and how the program
>>chooses between two root moves if one has a score of 0.00 and the other
>>has a score of 0.01, as opposed to 0.00 and -0.01?  If the program repeats,
>>it is _not_ by accident.  It is because the search said that repeating to
>>get the draw score was the best it could do.
>>
>>I have _no_ idea what you are talking about when you say "rule".  The rule
>>says that if the engine claims a draw, or makes a move, or asks for the clock
>>timing, the operator must do whatever it takes to make those "requests" happen
>>on the real board.  _that_ is the rule that was violated.  The engine said
>>"I want a draw" the human said "no, we are playing on."
>
>
>The operator entered that move. The engine continuo to play and we did not get a
>draw request. So this is within the rules.

No it isn't.  You can say that as many times as you want, but it will _never_
be true.  The operator can _not_ override the chess program's decisions.

And I _do_ mean "never".


>>
>>>
>>>>Unless you buy the idea that when it prints out a move,
>>>>it is merely suggesting that that move be played...
>>>>
>>>>
>>>>>It is therefore wrong to claim that an info advising a 3 moves repetions is an
>>>>>automatic draw. The program should state clearly "I am going to play "..." which
>>>>>will draw the game according to FIDE rule..." this was not done...so the
>>>>>operator could not force the draw, nor ask for it...
>>>>
>>>>Your program doesn't do it right either.  Do you _still_ claim repetition
>>>>draws???
>>>>That's what I thought...
>>>>
>>>>pot... kettle...
>>>
>>>Did I said our program does it correctly?
>>
>>You certainly imply it.  IE I don't quite see how you can suggest me fixing
>>mine, if you haven't fixed yours.  BY the way, mine _does_ do it correctly.
>>
>>>>
>>>>>
>>>>>>5.Therefore a draw should have been the result.
>>>>>
>>>>>No, see above...
>>>>>
>>>>>>
>>>>>>So I have missed the point as to why the machine claimed the draw incorrectly.
>>>>>
>>>>>Did not claim a draw at all!
>>>>>
>>>>>>I was working on the premise that the GUI (part of the entered machine) said
>>>>>>draw (point 4).  Is this wrong?
>>>>>
>>>>>Yes, I hope now it is clear.
>>>>>>
>>>>>>Frank
>>>>>
>Sandro



This page took 0.03 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.