Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / Two Headed Monster
- - By Uly (Gold) Date 2007-12-30 04:23
I ran these 3 games inspired by triple brain with the following conditions: 45 fixed seconds per move, 1CPU Athlon 2.1Ghz, ponder off, 64MB RAM, no book and Rybka gets always white.

Game 1: Rybka wins vs. Zappa Mexico.

Game 2: Rybka draws vs. Shredder 11.

Game 3: Now, what happens when we alternate Zappa and Shredder's moves? A new chess playing entity is created.

Instead of having an arbiter that picks one move from one engine, what I did was to let Zappa Mexico play black's odd moves (1...3...5...7...etc.) and Shredder 11 play black's even moves (2...4...6...8...etc.)

It was expected that the two headed engine would perform worse than the best engine alone (since (1+0.9)/2=0.95), however, it won. Here are the games:

[White "Rybka 2.3.2a 32-bit "]
[Black "Zappa Mexico "]
[Result "1-0"]

1. Nc3 d5 2. Nf3 d4 3. Nb5 e5 4. Nxe5 a6 5. Na3 Qf6 6. Nd3 Bf5 7. g3 Nc6 8.
Bg2 h5 9. Rb1 O-O-O 10. b4 b5 11. O-O h4 12. e4 Be6 13. f4 hxg3 14. hxg3
Qh6 15. Kf2 Nf6 16. Rh1 Ng4+ 17. Kg1 Nh2 18. e5 Bg4 19. Qe1 Nb8 20. Bb2 c6
21. Qf2 a5 22. bxa5 f5 23. exf6 gxf6 24. a6 Qg7 25. Rxh2 Rxh2 26. Kxh2 Qa7
27. Bxd4 Qxa6 28. Bc5 Bg7 29. Qe3 Qa4 30. Kg1 Bh6 31. Be7 Qa5 32. Bxd8 Qxd8
33. Nxb5 cxb5 34. Rxb5 Bf8 35. Nf2 Bf5 36. Bb7+ Kd7 37. Rxf5 Qe7 38. Ne4
Bg7 39. Rc5 Bf8 40. Rc8 Qe6 41. Qd4+ Ke7 42. Qd8+ Kf7 43. Bd5 Nd7 44. Qxd7+
Kg6 45. Bxe6 Bg7 46. Bf7+ Kh7 47. Qf5+ Kh6 48. Qh3#
1-0

[White "Rybka 2.3.2a 32-bit "]
[Black "Shredder 11 UCI"]
[Result "1/2-1/2"]

1. Nc3 d5 2. Nf3 d4 3. Nb5 c5 4. e3 a6 5. Na3 Nc6 6. Bd3 Nf6 7. exd4 cxd4
8. O-O g6 9. c3 Bg7 10. Nc2 O-O 11. Ncxd4 Nxd4 12. cxd4 Bg4 13. Be2 Nd5 14.
Re1 Qd6 15. d3 Rfd8 16. Be3 Rac8 17. Ng5 Bxe2 18. Rxe2 e6 19. h4 h6 20. Nf3
Qc7 21. a4 Qd7 22. Bd2 Ne7 23. Ba5 Re8 24. Bc3 Qd5 25. Ne5 h5 26. Re4 Red8
27. a5 Rc7 28. Qd2 Nf5 29. Ra4 Rdc8 30. Rb4 Qd8 31. g3 Qd5 32. Re1 Bh6 33.
Qd1 Bf8 34. Rc4 Bh6 35. Qe2 Bg7 36. Rxc7 Rxc7 37. Qe4 Qd8 38. Kg2 Nd6 39.
Qf4 Nb5 40. Nf3 Nxc3 41. bxc3 Rxc3 42. Rb1 Rc7 43. Qe4 Bf6 44. Ne5 Qe7 45.
Rb6 Bxe5 46. dxe5 Rd7 47. d4 Rd5 48. Qf3 Qc7 49. Qe4 Kg7 50. Qf3 Kg8 51.
Qe4 Kf8 52. Qf3 Kg8
1/2-1/2

[White "Rybka 2.3.2a 32-bit "]
[Black "Zappa Maxico + Shredder 11 UCI"]
[Result "0-1"]

1. Nc3 d5 2. Nf3 d4 3. Nb5 c5 4. e3 a6 5. Na3 Nc6 6. exd4 cxd4 7. Bc4 e5 8.
O-O Bd6 9. Bd5 Nge7 10. Bb3 Na5 11. Qe2 Nxb3 12. axb3 Nc6 13. Nxe5 Nxe5 14.
f4 d3 15. cxd3 Bf5 16. Re1 O-O 17. fxe5 Bc5+ 18. Kh1 Bxd3 19. Qh5 Qd4 20.
Nc4 Qf2 21. Qd1 Rfe8 22. b4 Bd4 23. Ne3 Qh4 24. Kg1 Rad8 25. Ra3 Bxe5 26.
g3 Qxb4 27. Ra4 Qd6 28. Qf3 f5 29. Ra3 Qg6 30. Ng2 Qb6+ 31. Qf2 Bd4 32. Ne3
Qb5 33. Qf4 Re4 34. Qc7 Bb6 35. Qc3 f4 36. Qb3+ Qxb3 37. Rxb3 Rd6 38. Rxd3
Rxd3 39. gxf4 Rxf4 40. Kh1 Kf7 41. Kg2 h5 42. Kg3 g5 43. Kg2 Bxe3 44. dxe3
Rc4 45. Kf3 Ke6 46. h3 Kf5 47. Kg3 a5 48. Rf1+ Ke5 49. Rh1 Rc2 50. Rf1 Ke4
51. h4 g4 52. Rf4+ Ke5 53. Rf1 a4 54. Re1 Rd6 55. Rf1 Rf6 56. Rxf6 Kxf6 57.
e4 Rxc1 58. Kf4 Rf1+ 59. Ke3 g3 60. Kd4 g2 61. Kd5 g1=Q 62. e5+ Ke7 63. Ke4
Qg4+ 64. Ke3 Rf3+ 65. Kd2 Qg2+ 66. Ke1 Rf1#
0-1

Notes about this game: Rybka was the first deviating from known lines, and never moved her dark bishop, for 57 moves.

I know that it's statistically irrelevant, but it gives hopes for a working triple brain (If the engines' moves were chosen arbitrarily and it performed better, then knowing when to let one engine play and when the other could increase performance.)
Parent - - By turbojuice1122 (Gold) Date 2007-12-30 05:02
What in the world is this 3...e5??  It loses a pawn and gives black a terrible position.  I think black is completely lost from only the third move in the Rybka-Zappa game.
Parent - By Uly (Gold) Date 2007-12-30 20:35

> What in the world is this 3...e5??  It loses a pawn and gives black a terrible position.  I think black is completely lost from only the third move in the Rybka-Zappa game.


This was the analysis of Zappa Mexico on that move:

00:00:00.5  0.21  7  28282  c5 e3 a6 Na3 b5 exd4 cxd4 Nxb5 axb5 Bxb5+ Bd7 Nxd4 Bxb5 Nxb5
00:00:00.5  0.21  7  33844  c5 e3 a6 Na3 b5 exd4 cxd4 Nxb5 axb5 Bxb5+ Bd7 Nxd4 Bxb5 Nxb5
00:00:00.8  0.27  8  121480  c5 a4 a6 Na3 Nc6 e3 Bg4 Be2
00:00:00.9  0.27  8  141405  c5 a4 a6 Na3 Nc6 e3 Bg4 Be2
00:00:02.3  0.19  9  323502  c5 e4 a6 Na3 b5 d3 Nc6 Bf4 Qa5+ Bd2
00:00:03.2  0.20  9  447553  e5
00:00:04.2  0.25  9  584879  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 d3 Bb4+ Bd2
00:00:04.2  0.25  9  586654  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 d3 Bb4+ Bd2
00:00:05.4  0.26  10  770964  e5 Nxe5 a6 Na3 Qf6 Nf3 Bg4 c3 Nc6 Nc2 d3 exd3
00:00:07.7  0.26  10  1070415  e5 Nxe5 a6 Na3 Qf6 Nf3 Bg4 c3 Nc6 Nc2 d3 exd3
00:00:12.7  0.21  11  1786773  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 c3 Bxa3 bxa3 Nge7 Bb2
00:00:15.7  0.22  11  2209832  c5
00:00:25.3  0.21  11  3569909  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 c3 Bxa3 bxa3 Nge7 Bb2
00:00:31.4  0.21  12  4443435  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 c3 Bxa3 bxa3 Nge7 Bb2
00:00:31.5  0.21  12  4443435  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 c3 Bxa3 bxa3 Nge7 Bb2


Zappa thinks it's winning and refuses to use the extra 13.5 seconds allowed (Since it's 45 fixed seconds per move.) This doesn't happen if you clear the hash (That's why it played c5 on the Zappa+Shredder game):

00:00:01.1  0.32  7  61611  c5 c3 a6 Qa4 Bd7 e3 Nc6
00:00:01.1  0.32  7  67000  c5 c3 a6 Qa4 Bd7 e3 Nc6
00:00:01.8  0.27  8  158466  c5 a4 a6 Na3 Nc6 e3 Bg4 Be2
00:00:02.0  0.27  8  189218  c5 a4 a6 Na3 Nc6 e3 Bg4 Be2
00:00:03.9  0.21  9  447205  c5 e3 a6 Na3 Nf6 Bd3 Nc6 exd4 Nb4 dxc5 Nxd3+ cxd3 Qxd3
00:00:04.8  0.22  9  567558  e5
00:00:05.6  0.35  9  693430  e5 Nxe5 Nc6 Nxc6 bxc6 Na3 Bxa3 bxa3 Nf6
00:00:05.8  0.35  9  719318  e5 Nxe5 Nc6 Nxc6 bxc6 Na3 Bxa3 bxa3 Nf6
00:00:07.3  0.25  10  936727  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 d3 Bb4+ Bd2
00:00:09.4  0.25  10  1204141  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 d3 Bb4+ Bd2
00:00:14.1  0.21  11  1883652  e5 Nxe5 a6 Na3 Qf6 Nf3 Nc6 c3 Bf5 Nc2 Bc5 cxd4 Nxd4 Nfxd4 Bxd4 Nxd4 Qxd4
00:00:17.1  0.22  11  2305961  c5
00:00:27.5  0.22  11  3801995  c5 e4 a6 Na3 b5 d3 Nc6 Bf4 g6 Qd2 Nf6 Be2
00:00:29.7  0.22  11  4113299  c5 e4 a6 Na3 b5 d3 Nc6 Bf4 g6 Qd2 Nf6 Be2
00:00:45.6  0.22  11  6224466  c5 e4 a6 Na3 b5 d3 Nc6 Bf4 g6 Qd2 Nf6 Be2


Anyway, I'm going to run the Shredder plays odd moves and Zappa plays even moves game to see if that also beats Rybka from the starting position.
Parent - By Roland Rösler (****) Date 2007-12-30 06:35
The most worse algorithm about the arbiter I have ever seen. Now I understand your remarks here about triple brain. You don´t like brains :-).
The arbiter is the boss! And a good boss makes the best with the work of the inferiors (like Rybka, Zappa or Shredder). Therefor he has to know all their skills and kind of answers (lines). This is very complex and a real task for programmers!
Parent - - By Linus (***) Date 2007-12-30 06:45
Interesting experiment. But combining the strength of different engines to profit from their individual strengths can be done in many ways, I like this one:

a) let Rybka play the opening and early middlegame
b) if the opponent is still alive after that, then change to Zappa Mexico to play the late middle game / transition into endgame
c) if the opponent is still alive after that, then change to DS 11 (with large Shredderbases and six men TBS) to play the endgame

Now you have a chess entity that is probably stronger than any one of the three engines alone. You may call this one the three-headed monster :)
Parent - By Uly (Gold) Date 2007-12-30 19:09

> a) let Rybka play the opening and early middlegame
> b) if the opponent is still alive after that, then change to Zappa Mexico to play the late middle game / transition into endgame
> c) if the opponent is still alive after that, then change to DS 11 (with large Shredderbases and six men TBS) to play the endgame


The problem with this is that the lines blur so it's hard to know where's exactly the middle game or the endgame starts etc. Another idea is to use a different engine when you are losing, and another when winning.

Also, as you may have noticed, Rybka plays the opening horribly, so for a no book match other engines are better.
Parent - - By onursurme (***) Date 2008-01-02 16:48
This is my suggestion :
a) let Rybka 3.0 play the opening and early middlegame
b) if the opponent is still alive after that, then continue with Rybka 3.0 to play the late middle game / transition into endgame
c) if the opponent is still alive after that, then again continue with Rybka 3.0 (with six men TBS) to play the endgame  :)
Parent - By onursurme (***) Date 2008-01-02 18:10
and, if the opponent is still alive, check the settings of your Rybka and GUI :)
Parent - - By Uly (Gold) Date 2008-01-02 21:01
I hope that Rybka 3.0 wil be good at the opening without a book, but I think that's unlikely.
Parent - - By Felix Kling (Gold) Date 2008-01-02 21:07
At least better than 2.0- she understands that she shouldn't play 1.d4 d5 2.Nc3 e.g. now. :)
Parent - By Uly (Gold) Date 2008-01-02 21:12
On my CPU, as white it plays some sort of Queenside's Alekhine, I'd be happy if this is gone :)

Also, persistent hash would solve this by itself, since I would only need to make Rybka analyze the relevant positions, and it'd end playing e4 and the principal best variations, by itself, eventually :) (I hope that persistent hash gets in.)
Parent - By Hetman (*****) Date 2007-12-30 08:24
Very interesting mixed strategy experiment. The result is surprising but might be it is the start of the new path in programming.
It is to imagine that you are having 2 algorithms used in 1 programm .

Next excercise would be to use that in the CC games.

Rgds
Hetman
Parent - By Uly (Gold) Date 2008-01-01 05:43
Well, the Two Headed Monster has died, since when I changed the order of the engines, Rybka drew. Also, I spent the last hours of the year playing this game manually, so I hope that future GUIs let you do these kind of experiments automatically.

[White "Rybka 2.3.2a 32-bit "]
[Black "Shredder 11 UCI + Zappa Maxico "]
[Result "1/2-1/2"]

1. Nc3 d5 2. Nf3 d4 3. Nb5 c5 4. e3 a6 5. Na3 Nc6 6. exd4 cxd4 7. Bc4 e5 8.
O-O Bd6 9. Bd5 Nge7 10. Bb3 O-O 11. Nc4 Bc7 12. Re1 Ng6 13. d3 b5 14. Ncd2
Ba5 15. Rf1 Bb6 16. a4 Bb7 17. Re1 h6 18. axb5 axb5 19. Rxa8 Qxa8 20. h4
Ba5 21. h5 Nf4 22. Nh4 Kh8 23. Nf5 Bc8 24. Nd6 Bd7 25. Qf3 f6 26. Nf7+ Rxf7
27. Bxf7 Qc8 28. Re4 Nd8 29. Rxf4 exf4 30. Bb3 Ne6 31. Ne4 Qc7 32. Bxe6
Bxe6 33. Bxf4 Qxc2 34. Bxh6 Bd8 35. Bf4 Qxb2 36. h6 Qa1+ 37. Kh2 Qa7 38.
Qh5 Qf7 39. hxg7+ Kxg7 40. Qxb5 Bc7 41. Bxc7 Qxc7+ 42. g3 Qe5 43. Qxe5 fxe5
44. Kg2 Kg6 45. Kf3 Kh5 46. Ke2 Kg4 47. f3+ Kf5 48. Nc5 Bd5 49. Kf2 Ba2 50.
Ne4 Bd5 51. Ke1 Bg8 52. Kd2 Bd5 53. Kc2 Kg6 54. Nd2 Be6 55. Kd1 Bd5 56. Ne4
Kf5 57. Kd2 Bb3 58. Nc5 Bd5 59. Ke2 Bg8 60. Kf1 Bd5 61. Ne4 Ba8 62. Ke2 Bd5
63. Kf2 Bc6 64. Ke1 Bd5 65. Nd2 Bc6 66. Ke2 Bd5 67. Kf2 Bg8 68. Ke1 Bd5 69.
Kf1 Bg8 70. Kf2 Bd5 71. Ke2 Bf7 72. Nc4 Bd5 73. Nd6+ Kf6 74. Kf2 Ke6 75.
Nc4 Kf5 76. Ke2 Be6 77. Nd6+ Kg5 78. Kf2 Bd5 79. Kg2 Bc6 80. Nc4 Kf5 81.
Kf2 Bd5 82. Na5 Kg5 83. Kg2 Kf5 84. Nc4 Bc6 85. Nb2 Bb5 86. Kf1 Be8 87. Nc4
Bc6 88. Nd6+ Ke6 89. Ne4 Kf5 90. Kg2 Ba8 91. Nd6+ Ke6 92. Nc4 Kf5 93. Na3
Bc6 94. Nc2 Bb5 95. Ne1 Kg5 96. Kf2 Kf5 97. g4+ Kf4 98. Ng2+ Kg5 99. Ke2
Ba4 100. Kf1 Bb5 101. Ne1 Kf4 102. Kf2 Kg5 103. Kg3 Ba4 104. Kf2 Bb5 105.
Kg2 Kf4 106. Kf2 Kg5
1/2-1/2

Notes about this game: Shredder kept his learning files even when I closed the GUI and switched off the computer! And so, it learned that the moves played by Zappa Mexico are good and played them. It was Zappa Mexico that deviated with 10... O-O instead of Na5. Also, from move 80 on, I sped up the game at 10 seconds per move instead of 45.

So, if someone is still interested about this, I could play from a different starting position, on faster time control, since I think that the starting position has been played to death (Also, you could suggest other engines, and maybe a team of three engines or other things.)

...
Up Topic Rybka Support & Discussion / Rybka Discussion / Two Headed Monster

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill