Page 1 of 4

Checkmate In Zero

Posted: Wed Jan 02, 2013 10:30 pm
by Christopher Conkie
[D]8/8/8/3Kk3/3kK3/8/8/8 w - - 0 1

Or......

[D]8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1

You may say that these positions are not chess......but we could say the same about some programmers.

:)

Chris

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 10:36 pm
by Christopher Conkie
What about this.......

[D]b6B/8/2K2k2/8/8/2k2K2/8/B6b w - - 0 1

Or even this.........

[D]b6B/1k4K1/2K2k2/8/8/2k2K2/1K4k1/B6b w - - 0 1

:-)

Chris

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 10:51 pm
by hgm
I don't see what you imagined with the second one. It is not even check, let alone checkmate.

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 10:52 pm
by Christopher Conkie
If you really{.....and I really do mean really} understand the preceding positions above, you would conclude that the following position is their logical conclusion......

[D]b1b2B1B/1k4K1/b1K2k1B/8/8/B1k2K1b/1K4k1/B1B2b1b w - - 0 1

By a process of elimination you should be able to understand the inner mechanics of an engine and the way it does what it does.

It may not be chess but it is nevertheless........interesting.

:)

Chris

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 11:03 pm
by Christopher Conkie
hgm wrote:I don't see what you imagined with the second one. It is not even check, let alone checkmate.
I know, however many engines don't like it......

[D]8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1

Ruffian 1.0.5:
1/1- 00:21 1,531,316 605 -M1

And some........like Micro-Max don't want to play.

These are all fingerprints of how they were made.

It cannot be a bad thing for people to analyse what they are given.

Chris

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 11:14 pm
by hgm
Christopher Conkie wrote:And some........like Micro-Max don't want to play.
It does for me!

Code: Select all

tellics say     micro-Max 4.8 (m)
tellics say     by H.G. Muller
xboard
protover 2
Error (unknown command): protover
new
edit
#
Kf3
Kc6
c
Kc3
Kf6
.
level 40 5 0
post
time 10000
go
-1     -4        0          1 c6b6
 0      0        0          2 c6b6
 1      5        0         11 c6d5
 2      2        0        129 c6d5
 3      4        1        310 c6d5
 4      5        1       1290 c6d5
 5      6        1       2781 c6d5
 6      6        2       4831 c6d5
 7      6        4       9367 c6d5
 8      6        6      18387 c6d5
 9      5       10      31993 c6d5
10      5       20      68332 c6d5
11      5       33     116799 c6d5
12      5       51     182394 c6d5
13      5       82     297109 c6d5
14      5      143     519034 c6d5
move c6d5

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 11:14 pm
by michiguel
Christopher Conkie wrote:
hgm wrote:I don't see what you imagined with the second one. It is not even check, let alone checkmate.
I know, however many engines don't like it......

[D]8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1

Ruffian 1.0.5:
1/1- 00:21 1,531,316 605 -M1

And some........like Micro-Max don't want to play.

These are all fingerprints of how they were made.

It cannot be a bad thing for people to analyse what they are given.

Chris
FWIW, Gaviota rejects them all with an error message.

Miguel

Code: Select all

setboard 8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1
Error (wrong FEN or EPD): 8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1
tellusererror Error loading FEN:
8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1

setboard 8/8/8/3Kk3/3kK3/8/8/8 w - - 0 1
Error (wrong FEN or EPD): 8/8/8/3Kk3/3kK3/8/8/8 w - - 0 1
tellusererror Error loading FEN:
8/8/8/3Kk3/3kK3/8/8/8 w - - 0 1

setboard b6B/8/2K2k2/8/8/2k2K2/8/B6b w - - 0 1
Error (wrong FEN or EPD): b6B/8/2K2k2/8/8/2k2K2/8/B6b w - - 0 1
tellusererror Error loading FEN:
b6B/8/2K2k2/8/8/2k2K2/8/B6b w - - 0 1

setboard b6B/1k4K1/2K2k2/8/8/2k2K2/1K4k1/B6b w - - 0 1
Error (wrong FEN or EPD): b6B/1k4K1/2K2k2/8/8/2k2K2/1K4k1/B6b w - - 0 1
tellusererror Error loading FEN:
b6B/1k4K1/2K2k2/8/8/2k2K2/1K4k1/B6b w - - 0 1

setboard b1b2B1B/1k4K1/b1K2k1B/8/8/B1k2K1b/1K4k1/B1B2b1b w - - 0 1
Error (wrong FEN or EPD): b1b2B1B/1k4K1/b1K2k1B/8/8/B1k2K1b/1K4k1/B1B2b1b w - - 0 1
tellusererror Error loading FEN:
b1b2B1B/1k4K1/b1K2k1B/8/8/B1k2K1b/1K4k1/B1B2b1b w - - 0 1

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 11:22 pm
by Christopher Conkie
michiguel wrote:
Christopher Conkie wrote:
hgm wrote:I don't see what you imagined with the second one. It is not even check, let alone checkmate.
I know, however many engines don't like it......

[D]8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1

Ruffian 1.0.5:
1/1- 00:21 1,531,316 605 -M1

And some........like Micro-Max don't want to play.

These are all fingerprints of how they were made.

It cannot be a bad thing for people to analyse what they are given.

Chris
FWIW, Gaviota rejects them all with an error message.

Miguel

Code: Select all

setboard 8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1
Error (wrong FEN or EPD): 8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1
tellusererror Error loading FEN:
8/8/2K2k2/8/8/2k2K2/8/8 w - - 0 1

setboard 8/8/8/3Kk3/3kK3/8/8/8 w - - 0 1
Error (wrong FEN or EPD): 8/8/8/3Kk3/3kK3/8/8/8 w - - 0 1
tellusererror Error loading FEN:
8/8/8/3Kk3/3kK3/8/8/8 w - - 0 1

setboard b6B/8/2K2k2/8/8/2k2K2/8/B6b w - - 0 1
Error (wrong FEN or EPD): b6B/8/2K2k2/8/8/2k2K2/8/B6b w - - 0 1
tellusererror Error loading FEN:
b6B/8/2K2k2/8/8/2k2K2/8/B6b w - - 0 1

setboard b6B/1k4K1/2K2k2/8/8/2k2K2/1K4k1/B6b w - - 0 1
Error (wrong FEN or EPD): b6B/1k4K1/2K2k2/8/8/2k2K2/1K4k1/B6b w - - 0 1
tellusererror Error loading FEN:
b6B/1k4K1/2K2k2/8/8/2k2K2/1K4k1/B6b w - - 0 1

setboard b1b2B1B/1k4K1/b1K2k1B/8/8/B1k2K1b/1K4k1/B1B2b1b w - - 0 1
Error (wrong FEN or EPD): b1b2B1B/1k4K1/b1K2k1B/8/8/B1k2K1b/1K4k1/B1B2b1b w - - 0 1
tellusererror Error loading FEN:
b1b2B1B/1k4K1/b1K2k1B/8/8/B1k2K1b/1K4k1/B1B2b1b w - - 0 1
Which is the way it should be Miguel whether illegality is on .....or off in the GUI. In our experience the interface and the interpretation of the given protocol has always been most telling. If you build the rules of chess into Gaviota that is good. It shows that you think about the game with a ground up approach. If you want to build a chess engine, it should know the rules. If it doesn't you would be lazy.......or have copied it from something else.

That is only logical.

:)

Chris

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 11:25 pm
by hgm
Micro-Max has no piece list, and no special check tests. A branch just ends as a win when you capture the King. So it has no reason to reject this. In Fairy-Max I generalized that a bit, and a branch ends as a win whenever you capture a piece of value -1 (centiPawn).

When a piece has a value V < -1, however, it tests how many you still have of that type, and you only lose if it was the last one that was captured. In other cases it considers it like a normal capture of a piece with value abs(V). I even had to make a refinement to that for Spartan Chess, to implement he duple-check rule: if the piece type > 8, capturing a piece with V < -1 remembers that the capture was possible if you still have others of that type, and if the same node then sees a capture of another piece of that type on another square, it terminates as a win after all.

Re: Checkmate In Zero

Posted: Wed Jan 02, 2013 11:29 pm
by Christopher Conkie
hgm wrote:
Christopher Conkie wrote:And some........like Micro-Max don't want to play.
It does for me!

Code: Select all

tellics say     micro-Max 4.8 &#40;m&#41;
tellics say     by H.G. Muller
xboard
protover 2
Error &#40;unknown command&#41;&#58; protover
new
edit
#
Kf3
Kc6
c
Kc3
Kf6
.
level 40 5 0
post
time 10000
go
-1     -4        0          1 c6b6
 0      0        0          2 c6b6
 1      5        0         11 c6d5
 2      2        0        129 c6d5
 3      4        1        310 c6d5
 4      5        1       1290 c6d5
 5      6        1       2781 c6d5
 6      6        2       4831 c6d5
 7      6        4       9367 c6d5
 8      6        6      18387 c6d5
 9      5       10      31993 c6d5
10      5       20      68332 c6d5
11      5       33     116799 c6d5
12      5       51     182394 c6d5
13      5       82     297109 c6d5
14      5      143     519034 c6d5
move c6d5
We go for early versions........

The 2006 versions of micro-Max don't want to play. Then again the purpose of micro-Max was to be small and that hardly facilitates building the rules in. If the current micro-Max wants to play with 2 Kings of each colour of the board then that's fine.

We will know that when someone copies your source code without asking you.

:)

Chris