[d] 8/4K1n1/8/8/3NN1k1/8/4N3/8 w - - 65 34
Does your engine see mate in 13 without tablebase here?
I played with it a little:
Spark 0.3a is blind here
Stockfish gives +327.00 quickly but needs a few minutes to find shortest mate in 13
KNNNKN without tablebases
Moderator: Ras
-
muxecoid
- Posts: 150
- Joined: Sat Jan 30, 2010 10:54 am
- Location: Israel
-
David Dahlem
- Posts: 900
- Joined: Wed Mar 08, 2006 9:06 pm
Re: KNNNKN without tablebases
Chest 5.1:
No Mate in -13 found ! (00:03)
13/13 00:06 879.415 /8/239.557 +M0 Ne4f6+
Edit: oops, ignore this, Chest was set for defender moves, so was looking for black to mate.
No Mate in -13 found ! (00:03)
13/13 00:06 879.415 /8/239.557 +M0 Ne4f6+
Edit: oops, ignore this, Chest was set for defender moves, so was looking for black to mate.
-
rlsuth
- Posts: 322
- Joined: Wed Mar 08, 2006 9:37 pm
Re: KNNNKN without tablebases
Analysis by Zappa Mexico II x64:
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.08) Depth: 12/27 00:00:00 2365kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.08) Depth: 12/27 00:00:00 2721kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.09) Depth: 13/28 00:00:01 3961kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.09) Depth: 13/28 00:00:01 4683kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf4+ Kh1 8.Ng6 Kg2 9.Ke5 Kf2 10.Nf4 Ke3 11.Nd4 Kf2 12.Ngh3+
+- (7.20) Depth: 14/31 00:00:01 7890kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf4+ Kh1 8.Ng6 Kg2 9.Ke5 Kf2 10.Nf4 Ke3 11.Nd4 Kf2 12.Ngh3+
+- (7.20) Depth: 14/31 00:00:02 9271kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Kg5 Kf1 10.Kf4 Kg2 11.Ne2
+- (7.21) Depth: 15/33 00:00:03 14816kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Kg5 Kf1 10.Kf4 Kg2 11.Ne2
+- (7.21) Depth: 15/33 00:00:03 17575kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Ke3 7.Ng5 Kd4 8.N1f3+ Kd3 9.Ne6 Ke2 10.Ne5 Kd2 11.Nd5 Kd1
+- (7.31) Depth: 16/35 00:00:05 32645kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Ke3 7.Ng5 Kd4 8.N1f3+ Kd3 9.Ne6 Ke2 10.Ne5 Kd2 11.Nd5 Kd1
+- (7.31) Depth: 16/35 00:00:06 37318kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Ke3 7.Kd5 Kd3 8.Ne5+ Ke3 9.Ngf3 Kf2 10.Nd4 Ke3 11.Ng4+ Kd3 12.Nhf6 Kd2
+- (7.43) Depth: 17/39 00:00:13 97457kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Ke3 7.Kd5 Kd3 8.Ne5+ Ke3 9.Ngf3 Kf2 10.Nd4 Ke3 11.Ng4+ Kd3 12.Nhf6 Kd2
+- (7.43) Depth: 17/39 00:00:14 107mN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf6
+- (7.43) Depth: 18/39 00:00:18 133mN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf6
+- (7.43) Depth: 18/39 00:00:20 156mN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4 7.Ke6 Ke3 8.Ng4+ Kd3 9.Kd5 Kc2 10.Nd4+ Kd1 11.Nf2+ Kc1 12.Ngf3 Kb2 13.Ne5 Kc1 14.Ne4 Kd1 15.Nc4 Ke1
+- (7.47) Depth: 19/43 00:01:33 790mN
1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Nc7 5.Nf4+ Kf1 6.Nf3 Ne6 7.Ng3+ Kf2 8.Nxe6 Kg2 9.Kf4 Kh3 10.Neg5+ Kg2 11.N5e4 Kh3 12.Nf1 Kg2 13.Ne3+ Kh1 14.Nf2#
+- (#14) Depth: 19/43 00:01:50 936mN
1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Nc7 5.Nf4+ Kf1 6.Nf3 Ne6 7.Ng3+ Kf2 8.Nxe6 Kg2 9.Kf4 Kh3 10.Neg5+ Kg2 11.N5e4 Kh3 12.Nf1 Kg2 13.Ne3+ Kh1 14.Nf2#
+- (#14) Depth: 19/43 00:01:51 946mN
1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Kf1 5.Kf3 Nf6 6.Nxf6 Ke1 7.Ne4 Kf1 8.Nf4 Ke1 9.Nf5 Kf1 10.Ne3+ Kg1 11.Ne2+ Kh2 12.Nf5 Kh3 13.Nf2+ Kh2 14.Ng4+ Kh1 15.Nfg3#
+- (#13) Depth: 20/43 00:02:11 1122mN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.08) Depth: 12/27 00:00:00 2365kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.08) Depth: 12/27 00:00:00 2721kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.09) Depth: 13/28 00:00:01 3961kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Ke6 Kf1
+- (7.09) Depth: 13/28 00:00:01 4683kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf4+ Kh1 8.Ng6 Kg2 9.Ke5 Kf2 10.Nf4 Ke3 11.Nd4 Kf2 12.Ngh3+
+- (7.20) Depth: 14/31 00:00:01 7890kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf4+ Kh1 8.Ng6 Kg2 9.Ke5 Kf2 10.Nf4 Ke3 11.Nd4 Kf2 12.Ngh3+
+- (7.20) Depth: 14/31 00:00:02 9271kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Kg5 Kf1 10.Kf4 Kg2 11.Ne2
+- (7.21) Depth: 15/33 00:00:03 14816kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Kg2 7.Ne4 Kf1 8.Kf6 Kg2 9.Kg5 Kf1 10.Kf4 Kg2 11.Ne2
+- (7.21) Depth: 15/33 00:00:03 17575kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Ke3 7.Ng5 Kd4 8.N1f3+ Kd3 9.Ne6 Ke2 10.Ne5 Kd2 11.Nd5 Kd1
+- (7.31) Depth: 16/35 00:00:05 32645kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Nf6 Ke3 7.Ng5 Kd4 8.N1f3+ Kd3 9.Ne6 Ke2 10.Ne5 Kd2 11.Nd5 Kd1
+- (7.31) Depth: 16/35 00:00:06 37318kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Ke3 7.Kd5 Kd3 8.Ne5+ Ke3 9.Ngf3 Kf2 10.Nd4 Ke3 11.Ng4+ Kd3 12.Nhf6 Kd2
+- (7.43) Depth: 17/39 00:00:13 97457kN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Ke3 7.Kd5 Kd3 8.Ne5+ Ke3 9.Ngf3 Kf2 10.Nd4 Ke3 11.Ng4+ Kd3 12.Nhf6 Kd2
+- (7.43) Depth: 17/39 00:00:14 107mN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf6
+- (7.43) Depth: 18/39 00:00:18 133mN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg2 5.Nxh5 Kf2 6.Ke6 Kg2 7.Nf6
+- (7.43) Depth: 18/39 00:00:20 156mN
1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3 4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4 7.Ke6 Ke3 8.Ng4+ Kd3 9.Kd5 Kc2 10.Nd4+ Kd1 11.Nf2+ Kc1 12.Ngf3 Kb2 13.Ne5 Kc1 14.Ne4 Kd1 15.Nc4 Ke1
+- (7.47) Depth: 19/43 00:01:33 790mN
1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Nc7 5.Nf4+ Kf1 6.Nf3 Ne6 7.Ng3+ Kf2 8.Nxe6 Kg2 9.Kf4 Kh3 10.Neg5+ Kg2 11.N5e4 Kh3 12.Nf1 Kg2 13.Ne3+ Kh1 14.Nf2#
+- (#14) Depth: 19/43 00:01:50 936mN
1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Nc7 5.Nf4+ Kf1 6.Nf3 Ne6 7.Ng3+ Kf2 8.Nxe6 Kg2 9.Kf4 Kh3 10.Neg5+ Kg2 11.N5e4 Kh3 12.Nf1 Kg2 13.Ne3+ Kh1 14.Nf2#
+- (#14) Depth: 19/43 00:01:51 946mN
1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Kf1 5.Kf3 Nf6 6.Nxf6 Ke1 7.Ne4 Kf1 8.Nf4 Ke1 9.Nf5 Kf1 10.Ne3+ Kg1 11.Ne2+ Kh2 12.Nf5 Kh3 13.Nf2+ Kh2 14.Ng4+ Kh1 15.Nfg3#
+- (#13) Depth: 20/43 00:02:11 1122mN
-
Eelco de Groot
- Posts: 4681
- Joined: Sun Mar 12, 2006 2:40 am
- Full name: Eelco de Groot
Re: KNNNKN without tablebases
Vey impressive that Zappa Mexico can find this, I assume without using EGTBs, the only thing confusing there is, it gives the correct Mate in 13 but the line given at that point is still 15 moves long? Odd PV from Anthony's Zappa.
Rainbow Serpent can't come close to Zappa Mexico, but after giving it some brand new chess endgame knowledge from Harm Muller about the superiority of multiple Knights over even multiple Queens, it almost found the right answer, and it did find the right move 1. Kf6
I am happy with that answer, even if #14 should be a mate in 13 according to the Shredder 6 men tablebases, because I know there are some nagging bugs somewhere that could completely annihilate this new found knowledge of Rainbow Serpent. The residence of said bugs is however a known unknown...
[d]8/4K1n1/8/8/3NN1k1/8/4N3/8 w - -
Engine: Rainbow Serpent 1.6.3s(dc) Build 285 (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski Modifications: Dann Corbit
1.00 0:00 +9.09 1.Kd7 (303) 1
2.00 0:00 +9.33 1.Kf6 Ne8+ 2.Ke5 (364) 1
3.00 0:00 +9.33 1.Kf6 Ne8+ 2.Kg6 Kh4 (5.423) 20
4.00 0:00 +9.73 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kh2 (16.846) 59
5.00 0:00 +9.85 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2
4.Nf4+ Kf1 5.Nd5 Ke1 6.Nf4 Kd1 (39.774) 133
6.00 0:00 +9.85 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2
4.Nf4+ Kf1 5.Kf5 Ke1 (54.145) 165
7.00 0:00 +10.24++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (74.636) 216
8.00 0:00 +11.80++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (76.920) 213
9.00 0:00 +18.02++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (77.288) 214
10.00 0:00 +42.52++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (79.592) 221
11.00 0:00 +88.18 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kg4
4.Nd5 Kh3 5.Kf7 Kg2 6.Kxe8 Kf1 7.Nf3 (217.342) 421
12.00 0:01 +88.84 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.N4f5+ Kd2 9.Kg6 Kc3 (759.629) 648
13.01 0:01 +88.84 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.N4f5+ Kd2 9.Ne6 Ke1 10.Kf6 Ke2
11.Nfd4+ Kf1 (1.232.308) 710
14.01 0:02 +88.84 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.N4f5+ Kd2 9.Ne6 Ke1 10.Kf6 Ke2
11.Nfd4+ Kf1 12.Ke5 Ke1 (2.335.439) 782
15.01 0:04 +88.94 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.Nce6 Kd2 9.Kf6 Kd1 10.Kg5 Kd2
11.Kf4 Kd3 12.Ne4 Kc4 (3.992.423) 824
16.01 0:06 +88.94 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.Nce6 Kd2 9.Kf6 Ke1 10.Ke5 Kd2
11.Nc5 Kc3 12.N4b5+ Kb4 13.Kd4 Ka5
14.Kc3 (5.345.402) 842
16.03 0:36 +88.99 1.Nf6+ Kg5 2.Kf7 Nh5 3.Nf3+ Kf5
4.Ned4+ Kf4 5.Nxh5+ Ke3 6.Kf6 Kd3
7.Ke5 Kc4 8.Nf4 Kc5 9.Nf5 Kc4
10.Nd6+ Kc5 11.Nd3+ Kc6 12.Ke6 Kb6 (35.348.366) 964
17.01 0:41 +88.99 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Nh5 Kd3 9.Ne5+ Kc3
10.Ngf3 Kb4 11.Kd5 Kc3 12.Nf6 Kc2
13.Ne4 Kd1 14.Nc3+ (39.787.794) 963
18.01 1:02 +89.04 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Nh5 Kd3 9.Ne5+ Kc3
10.Ngf3 Kb4 11.Kd5 Kc3 12.Nf6 Kb4
13.Ne4 Ka5 14.Kc4 (63.147.075) 1014
19.01 1:26 +89.04 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Nh5 Kd3 9.Ne5+ Kc3
10.Ngf3 Kb4 11.Kd5 Kc3 12.Nf6 Kb4
13.Ne4 Ka5 14.Kc4 (89.221.806) 1034
20.01 2:37 +89.09 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Ne5 Kd2 9.Ngf3+ Ke2
10.Kf5 Kd1 11.Nd5 Kc2 12.Ke4 Kb2
13.Kd3 Kb3 (168.321.614) 1069
21.01 8:40 +89.14 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Ne5 Kd2 9.Ngf3+ Ke2
10.Ne4 Ke3 11.Kf5 Ke2 12.Kf4 Kd1
13.Nd4 Kc1 14.Ke3 (587.878.668) 1129
22.01 20:53 +89.17 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Ne5 Kd2 9.Ngf3+ Kc2
10.Kd5 Kc3 11.Ne4+ Kb4 12.Nd4 Ka5
13.Kc5 Ka6 14.Nc3 (1.404.960.346) 1121
22.05 48:49 +M14 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Ng7
5.Nf4+ Kf1 6.Kg3 Nh5+ 7.Nxh5 Ke1
8.Nf4 Kd1 9.Nfe2 Ke1 10.N2c3 Kf1
11.Nd2+ Kg1 12.Nce4 Kh1 13.Nf2+ Kg1
14.N4f3+ (2.724.772.542) 930
best move: Ke7-f6 time: 95:21.812 min n/s: 812.828 nodes: 4.650.840.086
Rainbow Serpent can't come close to Zappa Mexico, but after giving it some brand new chess endgame knowledge from Harm Muller about the superiority of multiple Knights over even multiple Queens, it almost found the right answer, and it did find the right move 1. Kf6
[d]8/4K1n1/8/8/3NN1k1/8/4N3/8 w - -
Engine: Rainbow Serpent 1.6.3s(dc) Build 285 (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski Modifications: Dann Corbit
1.00 0:00 +9.09 1.Kd7 (303) 1
2.00 0:00 +9.33 1.Kf6 Ne8+ 2.Ke5 (364) 1
3.00 0:00 +9.33 1.Kf6 Ne8+ 2.Kg6 Kh4 (5.423) 20
4.00 0:00 +9.73 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kh2 (16.846) 59
5.00 0:00 +9.85 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2
4.Nf4+ Kf1 5.Nd5 Ke1 6.Nf4 Kd1 (39.774) 133
6.00 0:00 +9.85 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2
4.Nf4+ Kf1 5.Kf5 Ke1 (54.145) 165
7.00 0:00 +10.24++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (74.636) 216
8.00 0:00 +11.80++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (76.920) 213
9.00 0:00 +18.02++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (77.288) 214
10.00 0:00 +42.52++ 1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 (79.592) 221
11.00 0:00 +88.18 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kg4
4.Nd5 Kh3 5.Kf7 Kg2 6.Kxe8 Kf1 7.Nf3 (217.342) 421
12.00 0:01 +88.84 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.N4f5+ Kd2 9.Kg6 Kc3 (759.629) 648
13.01 0:01 +88.84 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.N4f5+ Kd2 9.Ne6 Ke1 10.Kf6 Ke2
11.Nfd4+ Kf1 (1.232.308) 710
14.01 0:02 +88.84 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.N4f5+ Kd2 9.Ne6 Ke1 10.Kf6 Ke2
11.Nfd4+ Kf1 12.Ke5 Ke1 (2.335.439) 782
15.01 0:04 +88.94 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.Nce6 Kd2 9.Kf6 Kd1 10.Kg5 Kd2
11.Kf4 Kd3 12.Ne4 Kc4 (3.992.423) 824
16.01 0:06 +88.94 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Nf4+ Kh4
4.Nd5 Kg4 5.Kf7 Nc7 6.Nxc7 Kf4 7.Nd6 Ke3
8.Nce6 Kd2 9.Kf6 Ke1 10.Ke5 Kd2
11.Nc5 Kc3 12.N4b5+ Kb4 13.Kd4 Ka5
14.Kc3 (5.345.402) 842
16.03 0:36 +88.99 1.Nf6+ Kg5 2.Kf7 Nh5 3.Nf3+ Kf5
4.Ned4+ Kf4 5.Nxh5+ Ke3 6.Kf6 Kd3
7.Ke5 Kc4 8.Nf4 Kc5 9.Nf5 Kc4
10.Nd6+ Kc5 11.Nd3+ Kc6 12.Ke6 Kb6 (35.348.366) 964
17.01 0:41 +88.99 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Nh5 Kd3 9.Ne5+ Kc3
10.Ngf3 Kb4 11.Kd5 Kc3 12.Nf6 Kc2
13.Ne4 Kd1 14.Nc3+ (39.787.794) 963
18.01 1:02 +89.04 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Nh5 Kd3 9.Ne5+ Kc3
10.Ngf3 Kb4 11.Kd5 Kc3 12.Nf6 Kb4
13.Ne4 Ka5 14.Kc4 (63.147.075) 1014
19.01 1:26 +89.04 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Nh5 Kd3 9.Ne5+ Kc3
10.Ngf3 Kb4 11.Kd5 Kc3 12.Nf6 Kb4
13.Ne4 Ka5 14.Kc4 (89.221.806) 1034
20.01 2:37 +89.09 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Ne5 Kd2 9.Ngf3+ Ke2
10.Kf5 Kd1 11.Nd5 Kc2 12.Ke4 Kb2
13.Kd3 Kb3 (168.321.614) 1069
21.01 8:40 +89.14 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Ne5 Kd2 9.Ngf3+ Ke2
10.Ne4 Ke3 11.Kf5 Ke2 12.Kf4 Kd1
13.Nd4 Kc1 14.Ke3 (587.878.668) 1129
22.01 20:53 +89.17 1.Nf6+ Kh4 2.Kf7 Nh5 3.Nf3+ Kh3
4.Neg1+ Kg3 5.Nxh5+ Kg4 6.Nf6+ Kf4
7.Ke6 Ke3 8.Ne5 Kd2 9.Ngf3+ Kc2
10.Kd5 Kc3 11.Ne4+ Kb4 12.Nd4 Ka5
13.Kc5 Ka6 14.Nc3 (1.404.960.346) 1121
22.05 48:49 +M14 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Ng7
5.Nf4+ Kf1 6.Kg3 Nh5+ 7.Nxh5 Ke1
8.Nf4 Kd1 9.Nfe2 Ke1 10.N2c3 Kf1
11.Nd2+ Kg1 12.Nce4 Kh1 13.Nf2+ Kg1
14.N4f3+ (2.724.772.542) 930
best move: Ke7-f6 time: 95:21.812 min n/s: 812.828 nodes: 4.650.840.086
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
-
rlsuth
- Posts: 322
- Joined: Wed Mar 08, 2006 9:37 pm
Re: KNNNKN without tablebases
Eelco de Groot wrote:Vey impressive that Zappa Mexico can find this, I assume without using EGTBs, the only thing confusing there is, it gives the correct Mate in 13 but the line given at that point is still 15 moves long? Odd PV from Anthony's Zappa.
That's probably my fault. I snatched the eval out as soon as it showed #13 without letting it finish thinking.
I'm using 8 cores and Spark 0.3a is showing this after about 11 minutes:
Analysis by spark-0.3a:
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3
= (0.04) Depth: 6/13 00:00:00 25kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3
= (0.04) Depth: 7/13 00:00:00 77kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nd1+ Kxd3
= (0.04) Depth: 8/17 00:00:00 247kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nc2+ Kf3 8.Nce1+ Ke3
= (0.04) Depth: 9/18 00:00:00 777kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nc2+ Kf3 8.Nce1+ Ke3 9.Nd1+ Kd4
= (0.04) Depth: 10/20 00:00:00 2461kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nb5 Nf1 8.Ne4 Kxd3
= (0.04) Depth: 11/22 00:00:00 7017kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nb5 Nf1 8.Ne4 Kxd3 9.Nf2+ Ke3
= (0.04) Depth: 12/24 00:00:01 19252kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nb5 Nf1 8.Na7 Nd2 9.Ne1 Kxf2
= (0.04) Depth: 13/32 00:00:03 50814kN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nb5 Nf1 8.Na7 Nd2 9.Ne1 Kxf2 10.Nd3+ Ke3
= (0.04) Depth: 14/34 00:00:08 129mN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nc6 Nf1 8.Ncb4 Kd2 9.Nb2 Nh2 10.Nfd1 Nf1
= (0.04) Depth: 15/34 00:00:19 311mN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nc6 Nf1 8.Ncb4 Kd2 9.Nb2 Nh2 10.Nfd1 Nf1 11.Nc4+ Kxd1
= (0.04) Depth: 16/34 00:00:37 637mN
1.Kf7 Nh5 2.Nf2+ Kg5 3.Nf3+ Kf5 4.Ned4+ Kf4 5.Ne1 Ng3 6.Ned3+ Ke3 7.Nc6 Nf1 8.Ncb4 Kd2 9.Nb2 Nh2 10.Nfd1 Nf1 11.Nc4+ Kxd1 12.Nb2+ Ke2
= (0.04) Depth: 17/42 00:01:12 1264mN
1.Kf6
+- (#30) Depth: 17/43 00:02:02 2151mN
1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 Ng7 4.Kxg7 Kg2 5.Nf4+ Kf1 6.Nc2 Kg1 7.Ne3 Kh1 8.Kf6 Kg1 9.Kf7 Kh1 10.Nf2+ Kh2
= (0.04) Depth: 17/43 00:02:02 2158mN
1.Kf6
+- (#30) Depth: 18/43 00:02:24 2556mN
1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 Ng7 4.Kxg7 Kg2 5.Nf4+ Kf1 6.Nc2 Kg1 7.Ne3 Kh1 8.Kf6 Kg1 9.Nd3 Kh1 10.Ne5 Kh2
= (0.04) Depth: 18/43 00:02:37 2772mN
1.Kf6
+- (#38) Depth: 19/46 00:04:40 5012mN
1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 Ng7 4.Kxg7 Kg2 5.Nf4+ Kg1 6.Nde2+ Kf1 7.Kf6 Ke1 8.Nd4 Kd1 9.Nfe2 Ke1 10.N2g3 Kd1 11.Ngf5 Kc1
= (0.04) Depth: 19/46 00:05:17 5630mN
1.Kf6
+- (#48) Depth: 20/48 00:10:06 10898mN
1.Kf6 Nh5+ 2.Kf7 Kh3 3.Kg6 Ng7 4.Kxg7 Kg2 5.Kf6 Kh1 6.N2g3+ Kg2 7.Kg5 Kh2 8.Nf3+ Kh3 9.Kf5 Kg2 10.Kf4 Kh3 11.Nf1 Kg2 12.Ne3+ Kh3 13.Nf2#
+- (#13) Depth: 20/48 00:11:20 12271mN
-
Sven
- Posts: 4052
- Joined: Thu May 15, 2008 9:57 pm
- Location: Berlin, Germany
- Full name: Sven Schüle
Re: KNNNKN without tablebases
In that analysis above from Rainbow Serpent, 6.Kg3 is not optimal while the better move 6.Kf3 allows +M13. So 1...Ne8+ is not "better" than 1...Nh5+, both are +M13 for white.Eelco de Groot wrote:22.05 48:49 +M14 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Ng7 5.Nf4+ Kf1 6.Kg3 Nh5+ 7.Nxh5 Ke1 8.Nf4 Kd1 9.Nfe2 Ke1 10.N2c3 Kf1 11.Nd2+ Kg1 12.Nce4 Kh1 13.Nf2+ Kg1 14.N4f3+ (2.724.772.542) 930
Sven
-
Eelco de Groot
- Posts: 4681
- Joined: Sun Mar 12, 2006 2:40 am
- Full name: Eelco de Groot
Re: KNNNKN without tablebases
Yes, I know Sven, the Shredder online tablebases say it's a mate in 13, giving all the possible moves in any position with six pieces and distance to mate from them, that is really a great tool. Rainbow Serpent is not really an exhaustive searcher like Zappa is, Zappa is a 'Truth Seeker' in endgames I think, at least that was Anthony's philosophy with Zappa, but the Rainbow Serpent can be very selective so even finding 1. Kf6! I had not really expected from it, only after teaching it that three Knights against a lone King is a known win this apparently came into reach. Maybe because of search windows with a higher alpha because of VALUE_KNOWN_WIN,Sven Schüle wrote:In that analysis above from Rainbow Serpent, 6.Kg3 is not optimal while the better move 6.Kf3 allows +M13. So 1...Ne8+ is not "better" than 1...Nh5+, both are +M13 for white.Eelco de Groot wrote:22.05 48:49 +M14 1.Kf6 Ne8+ 2.Kg6 Kh3 3.Kg5 Kg2 4.Kg4 Ng7 5.Nf4+ Kf1 6.Kg3 Nh5+ 7.Nxh5 Ke1 8.Nf4 Kd1 9.Nfe2 Ke1 10.N2c3 Kf1 11.Nd2+ Kg1 12.Nce4 Kh1 13.Nf2+ Kg1 14.N4f3+ (2.724.772.542) 930
Sven
In endgame.cpp:
Code: Select all
if ( pos.piece_count(strongerSide, QUEEN) > 0
|| pos.piece_count(strongerSide, ROOK) > 0
|| pos.piece_count(strongerSide, BISHOP) > 1
|| pos.piece_count(strongerSide, KNIGHT) >= 3)
// Last line is meant for the Knight endgames from H.G. Muller etc. EdG
// TODO: check for two equal-colored bishops!
result += VALUE_KNOWN_WIN;
[FEN "8/5k2/6p1/7p/7P/5BK1/8/8 w - -"]
1. Kf4 Kg7 2. Be4 Kh6 3. Bd3 Kg7 4. Kg5 Kh7 5. Bxg6+ Kg8
6. Bxh5 Kg7 7. Kf5 Kh8 8. Bg6 Kg7 9. h5 Kg8 10. h6 Kh8
11. Kg5 Kg8 12. Kf4 Kh8 13. Bf5 Kg8 14. Ke3 *
[d]6k1/8/7P/5B2/8/4K3/8/8 b - -
Engine: Rainbow Serpent 1.6.3s(dc) Build 280 (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski Modifications: Dann Corbit
1.00 0:00 0.00 14...Kh8 (3)
2.00 0:00 0.00 14...Kh8 15.Kd2 Kg8 16.Kc1 Kh8 17.h7 Kg7
18.Kb2 Kh8 19.Kc2 Kg7 20.h8N Kxh8 (27)
3.00 0:00 0.00 14...Kh8 15.Kd2 Kg8 16.Kc1 Kh8 17.h7 Kg7
18.Kb2 Kh8 19.Kc2 Kg7 20.h8N Kxh8 (124)
4.00 0:00 0.00 14...Kh8 15.Kd2 Kg8 16.Kc1 Kh8 17.h7 Kg7
18.Kb2 Kh8 19.Kc2 Kg7 20.h8N Kxh8 (246)
5.00 0:00 -7.91 14...Kh8 15.Kd2 Kg8 16.Ke2 Kf7
17.Kf3 Kg8 18.Kf4 Kh8 19.Bg6 Kg8
20.Kg5 Kh8 21.Be4 Kg8 22.Kf4 Kh8
23.Ke5 Kg8 24.Kd6 Kh8 25.Kc7 Kg8
26.Kb6 Kf7 27.Bh7 Kf6 (338)
6.00 0:00 -7.83 14...Kh8 15.Kd2 Kg8 16.Ke2 Kf7
17.Kf3 Kg8 18.Kf4 Kh8 19.Bg6 Kg8
20.Kg5 Kh8 21.Be4 Kg8 22.Kf4 Kh8
23.Ke5 Kg8 24.Kd6 Kh8 25.Kc7 Kg8
26.Kb6 Kf7 27.Bh7 Kf6 (435)
7.00 0:00 -6.10 14...Kh8 15.Kd2 Kg8 16.Ke2 Kf7
17.Bh7 Kf6 18.Bc2 Kf7 19.Kf2 Kg8
20.Kg3 Kh8 21.Kf4 Kg8 22.Ke5 Kh8
23.Kd6 Kg8 24.Be4 Kh8 25.Kc7 Kg8
26.Kb6 Kf7 27.Bh7 Kf6 (875)
8.00 0:00 -7.83 14...Kh8 15.Kd3 Kg8 16.Be4 Kf7
17.Bh7 Kf6 18.Be4 Kf7 (2.158)
9.00 0:00 -7.23 14...Kh8 15.Kd3 Kg8 16.Kc4 Kf7
17.Kd4 Kg8 18.Bb1 Kf7 19.Kc3 Kf6
20.Bf5 Kf7 21.Bh7 Kf6 22.Be4 Kf7
23.Kd3 Kg8 24.Bg6 Kh8 25.Ke4 Kg8
26.Ke5 Kh8 27.Kd6 Kg8 (4.658)
10.00 0:00 -8.20 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Bh7 Kf6 18.Bf5 Kf7 19.Kd4 Kg8
20.Kc5 Kf7 21.Bh7 Ke7 22.Kb6 Kf6
23.Bf5 Kf7 24.Bh7 Kf6 (9.956) 663
11.00 0:00 -14.75-- 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Bh7 Kf6 18.Bf5 Kf7 19.Kd4 Kg8
20.Kc5 Kf7 21.Be4 Kf6 22.Kb4 Kf7
23.Bh7 Kf8 24.Kc5 Ke7 25.Kb6 Kf6
26.Bf5 Kf7 27.Bh7 Kf6 (10.577) 705
12.00 0:00 -8.12 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Kd4 Kg8 18.Bg6 Kh8 19.Kd5 Kg8
20.Kc5 Kf8 21.Be4 Kf7 22.Bh7 Ke7
23.Kb6 Kf6 24.Bg8 Kg6 25.h7 Kg7
26.Kc6 Kh8 27.Kb5 Kg7 (30.286) 976
13.00 0:00 -13.01 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Bh7 Kf6 18.Bf5 Kf7 19.Kd2 Kg8
20.Bg6 Kh8 21.Bc2 Kg8 22.Ke1 Kf8
23.Bb3 Ke7 24.h7 Kf6 25.h8Q+ Ke7
26.Bc2 (97.548) 1037
14.00 0:00 -8.56 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Bh7 Kf6 18.Bf5 Kf7 19.Kd2 Kg8
20.Bg6 Kh8 21.Bc2 Kg8 22.Kc3 Kh8
23.Kb4 Kg8 24.Kc5 Kf7 25.Bh7 Ke7
26.Bf5 Kf7 27.Bh7 (223.912) 1197
15.00 0:00 -8.56 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Kc4 Kg8 18.Kc3 Kf7 19.Bd3 Kg8
20.Bg6 Kh8 21.Bf5 Kg8 22.Kd4 Kf7
23.Kc4 Kg8 24.Be4 Kf7 25.Kb5 Kg8
26.Bg6 Kf8 27.Ka4 Kg8 (486.907) 1248
16.00 0:00 -13.01-- 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Kc4 Kg8 18.Kc3 Kf7 19.Bd3 Kg8
20.Bg6 Kh8 21.Kd4 Kg8 22.Kd5 Kh8
23.Kc5 Kg8 24.Kb6 Kh8 25.Kc7 Kg8
26.Kd8 Kf8 27.Bh7 Kf7 (489.194) 1204
17.00 0:01 -8.56 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Kc4 Kg8 18.Kc3 Kf7 19.Bd3 Kg8
20.Bc2 Kh8 21.Kd4 Kg8 22.Kc4 Kf7
23.Bf5 Kf6 24.Kd4 Kf7 25.Bd3 Kg8
26.Be4 Kf7 27.Bb1 Kg8 (1.488.499) 1305
18.01 0:04 -8.56 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Kc3 Kg8 18.Bg6 Kh8 19.Kd4 Kg8
20.Ke5 Kh8 21.Bd3 Kg8 22.Kd5 Kf7
23.Bh7 Kf6 24.Bf5 Kf7 25.Kc6 Kg8
26.Kc7 Kf7 27.Bh7 Kf6 (6.045.046) 1417
19.01 0:13 -8.56 14...Kh8 15.Be4 Kg8 16.Kd3 Kf7
17.Kc3 Kg8 18.Bg6 Kh8 19.Kd4 Kg8
20.Ke5 Kh8 21.Bd3 Kg8 22.Kd5 Kf7
23.Bh7 Kf6 24.Bf5 Kf7 25.Ke4 Kg8
26.Kd4 Kf7 27.Bh7 Kf6 (19.719.192) 1500
best move: Kg8-h8 time: 0:15.531 min n/s: 1.506.696 nodes: 23.400.510
It is a draw...
Regards, Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan