Funny Spartan game

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27809
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Funny Spartan game

Post by hgm »

Yesterday I implemented under-promotions in my new engine, (Spartacus), which is still very buggy. (But just now I stashed it with print statements to dump all its tables to file when it makes false illegal move claims, it has been running flawlessly all the time. :shock: )

The following game is remarkable, because it actually decides to play an under-promotion to King, (which I conjectured would never be useful), and continues to win the game! Despite the fact that the opponent is playing with two Queens for some time! (It crashed my HTML viewer, btw, so that is another bug repaired! :lol: )

g1k5/1h1hQ3/4P3/8/hc4P1/3P2B1/2h1BP2/w4K2 b - - 0 29

(Or, with black N = Warlord, Q = General, R = Captain, P = Hoplite):
[d]q1k5/1p1pQ3/4P3/8/pr4P1/3P2B1/2p1BP2/n4K2 b - - 0 29

Black plays 29... Hc2-b1=K here! Thus thwarting the Qxd7# mate threat enabled by white's 29. e6.

Code: Select all

[Event "Computer Chess Game"]
[Site "SCHAAKPC"]
[Date "2011.01.15"]
[Round "1.1"]
[White "Nebiyu"]
[Black "Spartacus 0.21"]
[Result "0-1"]
[TimeControl "40/300"]
[Variant "spartan"]
[Number "43"]
[Annotator "1. +0.30   1... +1.96"]

1. Nc3 {+0.30/16 5} Lc6 {+1.96/13 5} 2. Nf3 {+0.25/16 5} Hfd5 {+1.93/13 7}
3. d3 {+0.30/17 4} Ce6 {+1.84/13 6} 4. e4 {+0.25/16 7} Cdd6 {+1.70/13 7} 5.
e5 {+0.00/15 4} Cb6 {+1.67/13 5} 6. a4 {+0.05/14 8} Wf7 {+2.08/13 7} 7. Qe2
{+0.05/14 8} Ha5 {+2.06/12 7} 8. h4 {+0.05/15 6} Hh6 {+2.22/12 7} 9. g4
{+0.05/14 5} Lg7 {+2.28/12 6} 10. Bf4 {+0.10/15 8} Cb4 {+2.25/12 7} 11. b3
{+0.10/14 9} Hac5 {+2.23/12 7} 12. Rh3 {+0.10/15 4} Hd4 {+2.74/11 6} 13. h5
{+0.00/12 5} Hxh5 {+3.00/11 7} 14. Rxh5 {+0.45/12 8} Wg6 {+2.62/11 7} 15.
Rf5 {+0.35/10 9} Ga8 {+2.83/10 6} 16. Bg3 {+0.45/10 5} We8 {+2.60/10 8} 17.
Ng5 {+0.50/12 8} Hg6 {+2.52/12 8} 18. Nxe6 {+1.05/13 6} Hxe6 {+2.47/13 6}
19. Rxf8 {+0.85/13 5} Lxf8 {+1.37/15 8} 20. Qf3 {+0.55/16 8} Le7
{+1.42/15 6} 21. Nxd5 {+0.60/17 6} Lxd5 {+1.62/15 8} 22. Qxd5 {+0.50/18 8}
Wc7 {+1.52/14 8} 23. Qe4 {+0.55/16 8} Hxa4 {+1.29/13 8} 24. Be2
{+0.40/16 8} Wa5 {+1.89/12 7} 25. Kf1 {+0.90/15 5} Hc3 {+1.68/12 8} 26.
Qxg6 {+0.95/15 8} Hxc2 {+1.35/12 6} 27. Qxe6 {+1.30/16 7} Wxb3 {+1.57/13 8}
28. Qxe7 {+0.25/19 7} Wxa1 {+0.72/14 8} 29. e6 {+0.90/19 6} Hb1=K
{+0.92/15 7} 30. Qxb4 {+1.20/19 9} Hb3 {+0.27/16 8} 31. e7 {+2.40/18 6} Wf6
{+0.75/14 7} 32. g5 {+2.75/19 5} Wd5 {+0.87/14 7} 33. Qc5 {+2.90/18 10} We6
{-1.93/14 8} 34. Qc6 {+3.25/17 6} Wxg5 {-1.91/13 9} 35. e8=Q {+3.20/18 7}
Kc7 {-1.55/14 9} 36. Qcg6 {+2.85/18 8} Wh3+ {-1.68/14 0.1} 37. Ke1 Wg2+
{-1.42/14 12} 38. Kd1 {+1.25/18 13} Gxe8 {+0.56/16 11} 39. Qxe8
{+1.30/18 11} Wd5 {+0.05/17 16} 40. Qe5 {+0.70/18 11} Kc6 {+2.28/16 28} 41.
Qxd5 {+0.70/19 11} Kxd5 {+0.99/19 7} 42. Bf3 {-4.35/19 9} Kd4 {+0.71/16 7}
43. Bf4 {-4.95/20 8} Hc2 {+7.64/16 7} 44. Ke2 {-4.80/19 7} Hd5
{+7.82/15 15} 45. Bg4 {-4.95/19 7} Kb2 {+8.12/16 6} 46. Bxd7 {-5.00/21 4}
Hb1=W {+8.35/15 6} 47. Bf5 {-5.25/23 6} Wc3+ {+9.23/14 6} 48. Kf3
{-5.55/22 6} Ke5 {+9.28/14 6} 49. Bxe5 {-3.85/25 5} Wxe5+ {+9.32/15 5} 50.
Kg2 {-4.05/24 8} Wd6 {+9.66/16 6} 51. Bh7 {-4.80/26 4} Wf4+ {+9.99/16 9}
52. Kf1 {-5.20/26 10} Kc3 {+9.81/16 15} 53. Ke1 {-5.25/29 8} Wg5
{+10.01/17 5} 54. Bf5 {-5.00/28 8} Wf3+ {+10.10/17 0.1} 55. Kf1 Kd2
{+10.14/17 5} 56. Bh7 {-5.20/27 6} We2+ {+10.67/17 0.1} 57. Kg2 Wf4+
{+10.64/17 5} 58. Kg1 {-7.95/27 8} Ke2 {+11.34/17 1:04} 59. Bf5
{-8.50/30 5} Wg5 {+11.52/16 4} 60. Bg4+ {-7.30/22 6} Ke1 {+11.54/16 5} 61.
f4 {-9.60/27 5} Wxf4 {+14.54/16 8} 62. Bc8 {-15.90/26 7} Wxd3 {+19.28/16 7}
{White resigns} 0-1
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Re: Funny Spartan game

Post by George Tsavdaris »

hgm wrote:Yesterday I implemented under-promotions in my new engine, (Spartacus), which is still very buggy. (But just now I stashed it with print statements to dump all its tables to file when it makes false illegal move claims, it has been running flawlessly all the time. :shock: )

The following game is remarkable, because it actually decides to play an under-promotion to King, (which I conjectured would never be useful), and continues to win the game! Despite the fact that the opponent is playing with two Queens for some time! (It crashed my HTML viewer, btw, so that is another bug repaired! :lol: )
WOW! This game rejuvenated my interest and my view slightly about Spartan Chess. :D
I see the idea of 2 Kings in the Spartan army with all its effects is even more brilliant than i thought.

A very beautiful game by all means and an underpromotion to king that saves the day for Spartans. The tactics very difficult also. It's a real mess for me to understand what is going on.
It's tough for me it seems to understand Spartan Chess. For example for one reason i keep losing from Fairy-max by a good margin while for example in Gothic Chess or Capablanca Chess i win 100% of the times against it and i don't understand the reason for this huge fluctuation. :?
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....
User avatar
hgm
Posts: 27809
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Funny Spartan game

Post by hgm »

My tentative explanation for this is that the wider board of Gothic Chess introduces a new strategic feature (lateral distribution of power) that current engines don't understand, but that you understand very well. So you can trick them all the time, embushig them just beyond the horizon. On a narrower board this might not work. It is not easy to block the center in Spartan Chess, because of the different Pawn types. And the Spartans have Kings on both wings anyway.

From watching games I get the impression that Spartacus plays much weaker with the Spartans. It advances the Hoplite Pawns way to aggressively, and then loses them without compensation. Often it starts the end-game 3 or 4 Pawns down. I must retune the Hoplite piece-square tables so it no longer does that. But upto now I focused on the problem of false illegal-move claims. (Which is now solved: it was caused by the fact that the 1-ply search to generate legal moves timed out before all moves were generated, when the previous real search had timed out: I had forgotten to reset the time-out flag before starting the new search... :oops: ) Now that that is solved, I can start tuning the evaluation.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Funny Spartan game

Post by Daniel Shawul »

Spartacus has won many games against Nebiyu by advancing its pawns. Nebiyu always tries to centralize all pieces & pawns. I know what I am going to do next version. Another one may be to exchange one of its kings earilier ?? Am not sure that will be a good idea though, because the only reason I have that is it makes thinking for humans easier. It took me some time to grasp a hoplite infront of a white piece is not blocked :)
User avatar
hgm
Posts: 27809
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Funny Spartan game

Post by hgm »

I think this is mainly by advancing the white Pawns. Nebiyu centralizes its Hoplites, giving free passage to the edge Pawns. I think that with black it has much less success.