At last Rybka failed to win a match with a human, although at knight odds. "UncleZeb" (ICC handle) played five games with my Rybka (latest version, quad) on ICC at a time limit of 10' +5". We lengthened the time limit in view of Rybka's victory at 5'+5" over a 2706 ICC rated player by 3.5 to 1.5. JohnL has an ICC rating of only 2413, but his "5 minute" rating of 2258 is quite high, as those ratings run much lower, usually around 200 below FIDE ratings. JohnL puts his own strength in the mid 2200s, but I think he is being modest.
Anyway the result was one win each and three draws. Whenever things didn't seem to be going his way, JohnL would go for repetition, counting on the next game to be better. The result showed what has been said elsewhere here, that it's pretty easy to get a draw with Rybka at knight odds (since she will repeat position if still substantially worse), but not so easy to actually win. I set Rybka's contempt for the maximum 100 (1 pawn), but of course this won't help if Rybka is down a piece for a pawn for example. It suggests that if we play any formal matches at knight odds with slow time limits, the conditions must be such that the human gets little or no credit for a draw.
Curiously, the only 2 games that Rybka has lost in these knight odds matches so far have been the games in which she opened 1e4. It seems that the reply 1...e5 is quite effective at the handicap. Rybka plays 2Bc4 because 2Nf3 is well met by 2...d5! when there is no b1 knight to come to c3 after a trade on d5.
"UncleZeb" deserves congratulations for this result. He probably would have won the match if he had not gone for all the repetitions; he didn't expect to lose the final game.
Games to follow.
Anyway the result was one win each and three draws. Whenever things didn't seem to be going his way, JohnL would go for repetition, counting on the next game to be better. The result showed what has been said elsewhere here, that it's pretty easy to get a draw with Rybka at knight odds (since she will repeat position if still substantially worse), but not so easy to actually win. I set Rybka's contempt for the maximum 100 (1 pawn), but of course this won't help if Rybka is down a piece for a pawn for example. It suggests that if we play any formal matches at knight odds with slow time limits, the conditions must be such that the human gets little or no credit for a draw.
Curiously, the only 2 games that Rybka has lost in these knight odds matches so far have been the games in which she opened 1e4. It seems that the reply 1...e5 is quite effective at the handicap. Rybka plays 2Bc4 because 2Nf3 is well met by 2...d5! when there is no b1 knight to come to c3 after a trade on d5.
"UncleZeb" deserves congratulations for this result. He probably would have won the match if he had not gone for all the repetitions; he didn't expect to lose the final game.
Games to follow.
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "1"]
[White "Rybka 2.3.2q16"]
[Black "UncleZeb"]
[Result "1/2-1/2"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "71"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. d4 d5 2. Nf3 c6 3. g3 Bg4 4. Bg2 Nd7 5. O-O Ngf6 6. a4 e6 7. Bf4 Be7 8. a5
O-O 9. h3 Bxf3 10. Bxf3 Re8 11. Bg2 Nf8 12. Be3 Bd6 13. c4 Qd7 14. Qb3 Rad8 15.
c5 Bb8 16. Bg5 a6 17. Rfd1 h6 18. Bxf6 gxf6 19. Ra4 f5 20. Rb4 Re7 21. f4 Nh7
22. Qf3 Nf6 23. Kh2 Kh7 24. e3 Rg8 25. Qe2 Qc8 26. Rg1 Rg7 27. Ra4 Re8 28. Raa1
Reg8 29. Bf3 Bc7 30. b3 Qd8 31. b4 Qd7 32. Rg2 Rg6 33. Bh5 R6g7 34. Bf3 Rg6 35.
Bh5 R6g7 36. Bf3 {Game drawn by repetition} 1/2-1/2
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "2"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "1/2-1/2"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "97"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. f4 d5 2. e3 Nf6 3. Nf3 c5 4. Bb5+ Bd7 5. Be2 Nc6 6. a3 a5 7. O-O g6 8. b3
Bg7 9. Bb2 O-O 10. Rc1 Ne4 11. Bxg7 Kxg7 12. c4 Bg4 13. Qc2 Nf6 14. cxd5 Qxd5
15. h3 Bf5 16. Qb2 Bd3 17. Bxd3 Qxd3 18. Rxc5 Kg8 19. Rc3 Qd6 20. Rc4 Rac8 21.
Rfc1 Na7 22. Nd4 Qb6 23. Qb1 Rxc4 24. bxc4 Qxb1 25. Rxb1 Rb8 26. Kf1 Ne4 27.
Ke2 Nc5 28. g4 b6 29. Nb3 Nxb3 30. Rxb3 b5 31. d4 e6 32. f5 Kf8 33. f6 Ke8 34.
a4 b4 35. Kd3 h6 36. c5 Kd7 37. Kc4 Kc6 38. e4 Rd8 39. Re3 Kc7 40. d5 e5 41. h4
Rb8 42. Rh3 Kd7 43. Rb3 Kc7 44. Rh3 Nc8 45. Rb3 Kd7 46. Rf3 Na7 47. Rb3 Nc8 48.
Rf3 Na7 49. Rb3 {Game drawn by repetition} 1/2-1/2
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "3"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "0-1"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "242"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. e4 e5 2. Bc4 Nc6 3. Nf3 d6 4. c3 h6 5. O-O Nf6 6. Qe2 Be7 7. b4 O-O 8. d3
Be6 9. Bxe6 fxe6 10. h3 Qe8 11. Bd2 Nh5 12. b5 Nb8 13. d4 Nd7 14. Qc4 Bd8 15.
Qe2 Nf4 16. Bxf4 Rxf4 17. Rfe1 Rc8 18. Rad1 Be7 19. Rd3 Kh7 20. a3 Rf8 21. Red1
Bf6 22. Qc2 exd4 23. cxd4 e5 24. Rb3 Kh8 25. d5 Nc5 26. Rb4 Qg6 27. Rc4 b6 28.
Re1 Ra8 29. Qe2 Qf7 30. Rc3 Qd7 31. Rb1 a6 32. bxa6 Nxa6 33. Ne1 Nc5 34. Nc2
Ra4 35. f3 Rfa8 36. Qf2 Qf7 37. g3 Rf8 38. Qe2 Rfa8 39. Qf2 Bg5 40. h4 Bf6 41.
Kg2 Qe7 42. Qe3 R8a7 43. Nb4 Ra8 44. Nc2 Qf7 45. Qf2 Kg8 46. Qe3 Qg6 47. Rh1
Rf8 48. Nb4 Raa8 49. Nc6 h5 50. Kh2 Qf7 51. Ra1 g6 52. Rac1 Bg7 53. Kg1 Kh7 54.
R1c2 Bh6 55. Qe1 Qd7 56. Kh2 Rf7 57. Qh1 Raf8 58. Qd1 Kg7 59. Qe2 g5 60. hxg5
Bxg5 61. a4 h4 62. g4 h3 63. Ra2 Bf4+ 64. Kh1 Rh8 65. a5 bxa5 66. Rxa5 Rff8 67.
Rca3 Qf7 68. Ra7 Rc8 69. R3a5 Kg6 70. Qf2 Nd7 71. Ra1 Kg5 72. R7a3 h2 73. Qa2
Qh7 74. Qe2 Rce8 75. R3a2 Qh3 76. Ra7 Rh7 77. Rxc7 Rg8 78. Nb4 Qg3 79. Nc2 Rgg7
80. Rc6 Rh6 81. Rf1 Nf8 82. Ne1 Rf6 83. Rc8 Ng6 84. Ng2 Nh4 85. Nxh4 Qxh4 86.
Rb8 Qh7 87. Qg2 Rb7 88. Rd8 Rd7 89. Ra8 Rg6 90. Rf8 Rf7 91. Rd8 Qg7 92. Rb8 Rb7
93. Rd8 Rh6 94. Qf2 Rd7 95. Rb8 Rh8 96. Qb2 Rhd8 97. Qb1 Qh8 98. Rb7 Qh3 99.
Rf2 Qg3 100. Rf1 Be3 101. Rb2 Qg1+ 102. Rxg1 hxg1=Q+ 103. Qxg1 Bxg1 104. Kxg1
Kf4 105. Rb3 Ra8 106. g5 Kxg5 107. Kf2 Kf4 108. Ke2 Ra2+ 109. Kd3 Kxf3 110. Rb5
Ra3+ 111. Kc2 Kxe4 112. Rb6 Ra5 113. Rb2 Kxd5 114. Kd3 Ra3+ 115. Ke2 Rh7 116.
Rd2+ Ke4 117. Kf1 Rf3+ 118. Kg2 Rg7+ 119. Kh2 Rf6 120. Rg2 Rxg2+ 121. Kxg2 Ke3
{White resigns} 0-1
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "4"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "1/2-1/2"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "77"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. Nf3 d5 2. g3 c6 3. Bg2 Bg4 4. O-O Nd7 5. a4 Ngf6 6. d4 e6 7. c4 Bd6 8. a5
O-O 9. c5 Bc7 10. b4 a6 11. Bb2 Bxf3 12. exf3 e5 13. Qb3 Re8 14. Rad1 exd4 15.
f4 Re7 16. Bxd4 Qf8 17. Bh3 Rae8 18. Qc3 Ne4 19. Qc2 g6 20. Bxd7 Rxd7 21. Qb2
f5 22. f3 Rde7 23. fxe4 Rxe4 24. Qc3 Qf7 25. Rfe1 Bd8 26. Kf2 R8e6 27. Rxe4
Rxe4 28. Re1 Qe8 29. Be5 Rxe1 30. Kxe1 Bf6 31. Kd2 Bxe5 32. fxe5 Qe6 33. Qe3
Kg7 34. Qf4 h6 35. h4 Kh7 36. Qe3 Kg7 37. Qf4 Kh7 38. Qe3 Kg7 39. Qf4 {
Game drawn by repetition} 1/2-1/2
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "5"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "1-0"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "71"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. b3 d5 2. Bb2 Nf6 3. Nf3 g6 4. c4 c6 5. g3 Bg7 6. Bg2 O-O 7. O-O Nbd7 8. Qc2
e6 9. d3 Re8 10. Rfe1 Nh5 11. e4 Bxb2 12. Qxb2 dxe4 13. Rxe4 Qf6 14. d4 b6 15.
Ne5 Nxe5 16. dxe5 Qe7 17. Rd1 Bb7 18. Red4 Rad8 19. Rd6 Rxd6 20. exd6 Qd7 21.
Qa3 a6 22. Qb4 b5 23. a4 c5 24. Qxc5 Bxg2 25. Kxg2 bxa4 26. bxa4 Rc8 27. Qd4
Ng7 28. c5 Qc6+ 29. Kg1 Nf5 30. Qb4 Ng7 31. d7 Rd8 32. Qb6 Qxb6 33. cxb6 e5 34.
b7 Ne6 35. Rc1 Kf8 36. Rc8 {Black forfeits on time} 1-0
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "1"]
[White "Rybka 2.3.2q16"]
[Black "UncleZeb"]
[Result "1/2-1/2"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "71"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. d4 d5 2. Nf3 c6 3. g3 Bg4 4. Bg2 Nd7 5. O-O Ngf6 6. a4 e6 7. Bf4 Be7 8. a5
O-O 9. h3 Bxf3 10. Bxf3 Re8 11. Bg2 Nf8 12. Be3 Bd6 13. c4 Qd7 14. Qb3 Rad8 15.
c5 Bb8 16. Bg5 a6 17. Rfd1 h6 18. Bxf6 gxf6 19. Ra4 f5 20. Rb4 Re7 21. f4 Nh7
22. Qf3 Nf6 23. Kh2 Kh7 24. e3 Rg8 25. Qe2 Qc8 26. Rg1 Rg7 27. Ra4 Re8 28. Raa1
Reg8 29. Bf3 Bc7 30. b3 Qd8 31. b4 Qd7 32. Rg2 Rg6 33. Bh5 R6g7 34. Bf3 Rg6 35.
Bh5 R6g7 36. Bf3 {Game drawn by repetition} 1/2-1/2
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "2"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "1/2-1/2"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "97"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. f4 d5 2. e3 Nf6 3. Nf3 c5 4. Bb5+ Bd7 5. Be2 Nc6 6. a3 a5 7. O-O g6 8. b3
Bg7 9. Bb2 O-O 10. Rc1 Ne4 11. Bxg7 Kxg7 12. c4 Bg4 13. Qc2 Nf6 14. cxd5 Qxd5
15. h3 Bf5 16. Qb2 Bd3 17. Bxd3 Qxd3 18. Rxc5 Kg8 19. Rc3 Qd6 20. Rc4 Rac8 21.
Rfc1 Na7 22. Nd4 Qb6 23. Qb1 Rxc4 24. bxc4 Qxb1 25. Rxb1 Rb8 26. Kf1 Ne4 27.
Ke2 Nc5 28. g4 b6 29. Nb3 Nxb3 30. Rxb3 b5 31. d4 e6 32. f5 Kf8 33. f6 Ke8 34.
a4 b4 35. Kd3 h6 36. c5 Kd7 37. Kc4 Kc6 38. e4 Rd8 39. Re3 Kc7 40. d5 e5 41. h4
Rb8 42. Rh3 Kd7 43. Rb3 Kc7 44. Rh3 Nc8 45. Rb3 Kd7 46. Rf3 Na7 47. Rb3 Nc8 48.
Rf3 Na7 49. Rb3 {Game drawn by repetition} 1/2-1/2
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "3"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "0-1"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "242"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. e4 e5 2. Bc4 Nc6 3. Nf3 d6 4. c3 h6 5. O-O Nf6 6. Qe2 Be7 7. b4 O-O 8. d3
Be6 9. Bxe6 fxe6 10. h3 Qe8 11. Bd2 Nh5 12. b5 Nb8 13. d4 Nd7 14. Qc4 Bd8 15.
Qe2 Nf4 16. Bxf4 Rxf4 17. Rfe1 Rc8 18. Rad1 Be7 19. Rd3 Kh7 20. a3 Rf8 21. Red1
Bf6 22. Qc2 exd4 23. cxd4 e5 24. Rb3 Kh8 25. d5 Nc5 26. Rb4 Qg6 27. Rc4 b6 28.
Re1 Ra8 29. Qe2 Qf7 30. Rc3 Qd7 31. Rb1 a6 32. bxa6 Nxa6 33. Ne1 Nc5 34. Nc2
Ra4 35. f3 Rfa8 36. Qf2 Qf7 37. g3 Rf8 38. Qe2 Rfa8 39. Qf2 Bg5 40. h4 Bf6 41.
Kg2 Qe7 42. Qe3 R8a7 43. Nb4 Ra8 44. Nc2 Qf7 45. Qf2 Kg8 46. Qe3 Qg6 47. Rh1
Rf8 48. Nb4 Raa8 49. Nc6 h5 50. Kh2 Qf7 51. Ra1 g6 52. Rac1 Bg7 53. Kg1 Kh7 54.
R1c2 Bh6 55. Qe1 Qd7 56. Kh2 Rf7 57. Qh1 Raf8 58. Qd1 Kg7 59. Qe2 g5 60. hxg5
Bxg5 61. a4 h4 62. g4 h3 63. Ra2 Bf4+ 64. Kh1 Rh8 65. a5 bxa5 66. Rxa5 Rff8 67.
Rca3 Qf7 68. Ra7 Rc8 69. R3a5 Kg6 70. Qf2 Nd7 71. Ra1 Kg5 72. R7a3 h2 73. Qa2
Qh7 74. Qe2 Rce8 75. R3a2 Qh3 76. Ra7 Rh7 77. Rxc7 Rg8 78. Nb4 Qg3 79. Nc2 Rgg7
80. Rc6 Rh6 81. Rf1 Nf8 82. Ne1 Rf6 83. Rc8 Ng6 84. Ng2 Nh4 85. Nxh4 Qxh4 86.
Rb8 Qh7 87. Qg2 Rb7 88. Rd8 Rd7 89. Ra8 Rg6 90. Rf8 Rf7 91. Rd8 Qg7 92. Rb8 Rb7
93. Rd8 Rh6 94. Qf2 Rd7 95. Rb8 Rh8 96. Qb2 Rhd8 97. Qb1 Qh8 98. Rb7 Qh3 99.
Rf2 Qg3 100. Rf1 Be3 101. Rb2 Qg1+ 102. Rxg1 hxg1=Q+ 103. Qxg1 Bxg1 104. Kxg1
Kf4 105. Rb3 Ra8 106. g5 Kxg5 107. Kf2 Kf4 108. Ke2 Ra2+ 109. Kd3 Kxf3 110. Rb5
Ra3+ 111. Kc2 Kxe4 112. Rb6 Ra5 113. Rb2 Kxd5 114. Kd3 Ra3+ 115. Ke2 Rh7 116.
Rd2+ Ke4 117. Kf1 Rf3+ 118. Kg2 Rg7+ 119. Kh2 Rf6 120. Rg2 Rxg2+ 121. Kxg2 Ke3
{White resigns} 0-1
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "4"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "1/2-1/2"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "77"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. Nf3 d5 2. g3 c6 3. Bg2 Bg4 4. O-O Nd7 5. a4 Ngf6 6. d4 e6 7. c4 Bd6 8. a5
O-O 9. c5 Bc7 10. b4 a6 11. Bb2 Bxf3 12. exf3 e5 13. Qb3 Re8 14. Rad1 exd4 15.
f4 Re7 16. Bxd4 Qf8 17. Bh3 Rae8 18. Qc3 Ne4 19. Qc2 g6 20. Bxd7 Rxd7 21. Qb2
f5 22. f3 Rde7 23. fxe4 Rxe4 24. Qc3 Qf7 25. Rfe1 Bd8 26. Kf2 R8e6 27. Rxe4
Rxe4 28. Re1 Qe8 29. Be5 Rxe1 30. Kxe1 Bf6 31. Kd2 Bxe5 32. fxe5 Qe6 33. Qe3
Kg7 34. Qf4 h6 35. h4 Kh7 36. Qe3 Kg7 37. Qf4 Kh7 38. Qe3 Kg7 39. Qf4 {
Game drawn by repetition} 1/2-1/2
[Event "ICC w11 10 5 u"]
[Site "Internet Chess Club"]
[Date "2008.01.23"]
[Round "5"]
[White "Rybka 2.3.2 q16"]
[Black "UncleZeb"]
[Result "1-0"]
[WhiteElo "????"]
[BlackElo "2413"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[PlyCount "71"]
[EventDate "2008.01.23"]
[TimeControl 10'+5"]
1. b3 d5 2. Bb2 Nf6 3. Nf3 g6 4. c4 c6 5. g3 Bg7 6. Bg2 O-O 7. O-O Nbd7 8. Qc2
e6 9. d3 Re8 10. Rfe1 Nh5 11. e4 Bxb2 12. Qxb2 dxe4 13. Rxe4 Qf6 14. d4 b6 15.
Ne5 Nxe5 16. dxe5 Qe7 17. Rd1 Bb7 18. Red4 Rad8 19. Rd6 Rxd6 20. exd6 Qd7 21.
Qa3 a6 22. Qb4 b5 23. a4 c5 24. Qxc5 Bxg2 25. Kxg2 bxa4 26. bxa4 Rc8 27. Qd4
Ng7 28. c5 Qc6+ 29. Kg1 Nf5 30. Qb4 Ng7 31. d7 Rd8 32. Qb6 Qxb6 33. cxb6 e5 34.
b7 Ne6 35. Rc1 Kf8 36. Rc8 {Black forfeits on time} 1-0
As representing mankind I felt game 3 was a statement of carbon>>silicon ;-)
Congratulations! That's quite an achievement, especially at blitz time controls!
I wouldn't call games that took about half an hour each "blitz" (even if ICC does). "Quick" or "rapid" is more accurate. Nevertheless, JohnL played very well I think.
Actually it is Carbon+Knight > Silicon :)
And too bad it was at one game only. In 5 games it was =
So it is Carbon+Knight = Silicon so a Knight is just Silicon that we have removed Carbon :)
And too bad it was at one game only. In 5 games it was =
So it is Carbon+Knight = Silicon so a Knight is just Silicon that we have removed Carbon :)
FWIW - this is quite similar to what Benjamin did in the pawn-odds match.
One idea would be to set scores for repetition draws much higher when the repetition happens right at the root.
Vas
One idea would be to set scores for repetition draws much higher when the repetition happens right at the root.
Vas
Yes, having the option to set immediate repetitions separately from contempt is reasonable.
Ok, I put it on my list, this shouldn't be more than an hour of work.
Vas
Vas
Well, I don't think the repetitions in this match were due to any explicit tactics from me. And neither should Rybka had avoided them as I believe she should have done in the Benjamin match.
In the first game, I was trying to win but did a mistake and thought it was only 2 reps... Rybka had fewer winning chances there and rightly repeated.
The other 2 repetitions were in positions that were very risky for me to play for win with that time.
On the other hand, it was more risky for Rybka to try to win. And if she had made 49 meaningless moves instead I would just have gained time from the increment, perhaps enough to go for a win.
So I would say that game-theoretically the last two draws were rational choices in a Nash-equilibrium :-)
Regarding my tactics, I tried to play without risk and I think I succeeded quite well to control the games positionally. Rybka didn't try to (unsoundly) complicate but instead locked things up, which made my positions safe but still non-trivial to win with little time. On the other hand I believe that in longer time controls that strategy may have fitted me perfectly.
About the contempts:
Assume that you are playing white against Rybka without Nb8 in 5 0 blitz. Because of the time control Rybka has higher chance to win. First moves are 1. Nf3 Nf6 2. Ng1
Here I presume Rybka with contempt=100 would play Ng8 for draw. But that is the wrong decision from the winning chances.
Now assume that you have K+pppp vs K+p for Rybka. Here obviously the machine should go for reps if possible.
So it looks simply that the contempt could be dependent on the material left on the board, as a reasonable approximation of complexity.
In the first game, I was trying to win but did a mistake and thought it was only 2 reps... Rybka had fewer winning chances there and rightly repeated.
The other 2 repetitions were in positions that were very risky for me to play for win with that time.
On the other hand, it was more risky for Rybka to try to win. And if she had made 49 meaningless moves instead I would just have gained time from the increment, perhaps enough to go for a win.
So I would say that game-theoretically the last two draws were rational choices in a Nash-equilibrium :-)
Regarding my tactics, I tried to play without risk and I think I succeeded quite well to control the games positionally. Rybka didn't try to (unsoundly) complicate but instead locked things up, which made my positions safe but still non-trivial to win with little time. On the other hand I believe that in longer time controls that strategy may have fitted me perfectly.
About the contempts:
Assume that you are playing white against Rybka without Nb8 in 5 0 blitz. Because of the time control Rybka has higher chance to win. First moves are 1. Nf3 Nf6 2. Ng1
Here I presume Rybka with contempt=100 would play Ng8 for draw. But that is the wrong decision from the winning chances.
Now assume that you have K+pppp vs K+p for Rybka. Here obviously the machine should go for reps if possible.
So it looks simply that the contempt could be dependent on the material left on the board, as a reasonable approximation of complexity.
Your example does not prove it because K+PPPP vs K+P is bigger advantage then knight advantage in the opening.
Here is a better example
rybka should be happy with a draw in blitz against you because rybka cannot expect a blunder from you to win it with black.
Uri
Here is a better example
4k2r/6pp/8/8/P7/8/6PP/R3K3 w Qk - 0 1
rybka should be happy with a draw in blitz against you because rybka cannot expect a blunder from you to win it with black.
Uri
Well, I still think my example proved it just because K+PPPP vs K+P is a bigger advantage than knight plus in the opening :-)
And perhaps the contempt could be proportional to the material left.
And perhaps the contempt could be proportional to the material left.
Rybka's evaluation of a given material advantage is already related to the material on the board; two pawns up for example is scored maybe twice as high in a pawn endgame as in the opening, so a set value of contempt already does what you are proposing.
In theory, a flat contempt isn't enough.
Let's say that +1.00 maps to 75% expected score in self-play. This could be 75% chance to win, 25% chance to draw. Or it could be 50% chance to win, 50% chance to draw.
A stronger player should be more willing to accept a draw in the second case.
Vas
Let's say that +1.00 maps to 75% expected score in self-play. This could be 75% chance to win, 25% chance to draw. Or it could be 50% chance to win, 50% chance to draw.
A stronger player should be more willing to accept a draw in the second case.
Vas
Good point. If we had a measure of "drawishness" of a position as well as just an eval, we could make good use of this information, at least in setting contempt and probably in other ways as well.
Indeed. I didn't understand why no engine displays information like this, since in real play/analysis you often decide for one move because of the good drawing(winning chances. Things like pawn structure, material imbalances, damaged king position, opposite coloured bishops, queeen exchanges etc. would count for that value. In Fritz you can display not only the score (in percentages) in the opening book, but also the win/draw/loss percentage, it would be cool if Rybka could display sth. similar (I guess the output with percentages is at least interesting, the output in pawn units is at least in the case you want to display "drawishness" not useful).
It's not just a display problem, it would be a major project to learn how to measure the drawishness of a position. We already have algorithms that say that certain features like bishops of opposite color make the chances of a draw greater, but we don't know how to estimate the overall chances of a draw. Of course I could make rules based on my own opinion, but we wouldn't like to rely on that without a lot of testing. So, the idea is cool, but not high priority.
This should be a high priority if the goal is achievable. As things stand, a Rybka evaluation will generally tell you if you have no no chance to win or lose, but it frequently will not tell you whether your advantage (or your opponent's advantage) is convertible or not. This is not unimportant!
Regards,
Alan
Regards,
Alan
The size of your advantage as displayed is supposed to be convertible into a percentage expectancy. An advantage of +1.0 (with Rybka, not necessarily other programs) is supposed to represent roughly the same expectancy in the opening or the endgame; that's why you need roughly twice the advantage (in pawns) in the opening to show the same score as in a pawn endgame. But it does not distinguish between 75% due to 3 wins and 1 loss vs. 75% due to 2 wins and 2 draws. This is not so important in terms of whether your advantage is convertible, but it is certainly useful information. Perhaps this could be in Rybka 4.
I have a very large collection of games where Rybka is not able to convert a position with an endgame eval of greater than 1. I see this as a real problem and believe Rybka is worse in this regard than some other top engines.
Regards,
Alan
Regards,
Alan
You may be right, but two points to consider: First, Rybka's endgame evals tend to be high, especially if you are talking about recent unreleased versions, so an eval of slightly over 1 may not be a winning endgame. Second, the changes since Rybka 2.3.2 are so pervasive that if the collection comes from games of the public versions, it would not be of much help now. If you have games of recent Rybka versions with such endgames, that might be useful.
At least in openings you would have a good amount of data available, so this may be only a part of the contempt in the first stage and become a displayed value later...
Yes, we could try to match statistics from opening books with our estimate of drawishness. That's a good suggestion, but also shows that this is not a minor task.
There are actually three issues in play:
1) Displaying the information to the user, which will require changing UCI.
2) Measuring the information inside the static evaluator.
3) Propagating the information up the tree.
Let's say that there are two moves at a position. Move 1 has 20% chance to win and 80% chance to draw, for 60% total winning chances. Move 2 has 58% chance to win, 42% chance to draw. What scores do you assign to the parent?
Anyway, we will eventually do this. Despite these problems, it's important information.
Vas
1) Displaying the information to the user, which will require changing UCI.
2) Measuring the information inside the static evaluator.
3) Propagating the information up the tree.
Let's say that there are two moves at a position. Move 1 has 20% chance to win and 80% chance to draw, for 60% total winning chances. Move 2 has 58% chance to win, 42% chance to draw. What scores do you assign to the parent?
Anyway, we will eventually do this. Despite these problems, it's important information.
Vas
Its not obvious that assigning a score to the parent is a difficult task once you have established win/draw percentages. It does require user input on the value of a draw, which can vary between 0 (when only a win will do) and 1 (when a draw is as good as a win). In a short tournament with a lot of contestants that you want to win, the value of a draw is clearly less than 1/2. The problem is the automatic assumption that a draw is worth 1/2 point.
Alan
Alan
True - if the user inputs the value of a draw, the rest is straightforward. This is how contempt works.
What we'd really like to be able to tell the user is that in the root position, white has advantage X centipawns, with a 'drawishness' of Y. This information is hard to propagate.
Vas
What we'd really like to be able to tell the user is that in the root position, white has advantage X centipawns, with a 'drawishness' of Y. This information is hard to propagate.
Vas
"Let's say that there are two moves at a position. Move 1 has 20% chance to win and 80% chance to draw, for 60% total winning chances. Move 2 has 58% chance to win, 42% chance to draw. What scores do you assign to the parent?"
The full solution on the position level seems quite clear to me:
You simply apply the payoff forumla; Value(move 1) = 1*0.20+0.5*0.80 = 0.60. Value (move 2) = 1*0.58+0.5*0.42 = 0.79
This assumed the normal payoff 1 for win and 0.5 for draw. The payoffs can also be asymmetric for black and white.
The transfering of values through the tree theoretically requires that the decision logic is correct which is another issue depending on modelling of the players.
Normal "best-move-only" decision gives 0.79 as the parent value. In practice I guess at least the human move selection decision probabilities may not always be well modelled by the "best-move" assumption.
The full solution on the position level seems quite clear to me:
You simply apply the payoff forumla; Value(move 1) = 1*0.20+0.5*0.80 = 0.60. Value (move 2) = 1*0.58+0.5*0.42 = 0.79
This assumed the normal payoff 1 for win and 0.5 for draw. The payoffs can also be asymmetric for black and white.
The transfering of values through the tree theoretically requires that the decision logic is correct which is another issue depending on modelling of the players.
Normal "best-move-only" decision gives 0.79 as the parent value. In practice I guess at least the human move selection decision probabilities may not always be well modelled by the "best-move" assumption.
It seems that I made a typo, I meant 58% chance to win and 42% chance to lose for the second move.
Anyway, your formula is called minimax, and it loses the drawishness information.
For example, let's say that this above scenario occurs at the root. Move A is 'better' (60% expected score vs 58%). Are you ready to tell the user that he has a slight advantage in a drawish position, when he can also play a move which is almost as good and much sharper?
Vas
Anyway, your formula is called minimax, and it loses the drawishness information.
For example, let's say that this above scenario occurs at the root. Move A is 'better' (60% expected score vs 58%). Are you ready to tell the user that he has a slight advantage in a drawish position, when he can also play a move which is almost as good and much sharper?
Vas
Does this mean that an easily drawn opposite color bishop ending is valued the same in Rybka 3 as a totally messy position with equal chances, regardless of the contempt setting?
Then it certainly seems like a basic theoretical flaw and should affect Rybkas chances in odds-matches and against uneven opposition. Or in match situation where a draw is almost as good as a win.
Theoretically I guess one would need something like:
- A payoff value of draw/win/loss for each player.
- Some kind of parameter space of player's "style". For example simply "human" and "computer".
- A measure of players strength.
- A measure of the chance of draw/win/loss in any position relative each style and strength.
Then it just remains to figure out which decision logic to use...
Rybka 5? ;-)
Then it certainly seems like a basic theoretical flaw and should affect Rybkas chances in odds-matches and against uneven opposition. Or in match situation where a draw is almost as good as a win.
Theoretically I guess one would need something like:
- A payoff value of draw/win/loss for each player.
- Some kind of parameter space of player's "style". For example simply "human" and "computer".
- A measure of players strength.
- A measure of the chance of draw/win/loss in any position relative each style and strength.
Then it just remains to figure out which decision logic to use...
Rybka 5? ;-)
No it does not mean that. Let's say the contempt setting is a pawn. Rybka will act as if she has an extra pawn (her presumed superior strength being equal to a pawn on the board). Since she knows that bishops of opposite color endings are drawish, she will treat a trade leading to that ending more or less like she would if she was a physical pawn ahead (without contempt), and so will avoid the simplification. Rybka's knowledge of what positions are drawish and which are not is much more in Rybka 3 than in Rybks 2.3.2, but in most normal middlegames there is no big distinction between messy and "clean" positions as to drawishness.
OK, I guess this means that there can be some pawn-material volatility in opposite colored bishop endings without changing the evaluation from about 0?
But isn't this just a special "material-volatile" case of "drawishness"? You still only got one number...
Actually, it seems to me like the concept of "pawns" like +1.34 etc that is displayed by programs is a bit weird and it may be more logical to display(and use?) winning(and drawing) percentages instead. Then the natural question would arise: Winning percentage for whom...? But this would only highlight the issues of how you really use the computer evaluations as a human and how to model yourself and your opponent.
A game-theoretically correct evaluation of a position is:
(payoff for loss)*(prob of loss)+ (payoff for draw)*(prob of draw)+ (payoff for win)*(prob of win).
The probabilities are changed due to the position and more advanced due to your-opponent's/your-own strength/style (and naturally captures concept of "contempt"). The pay-offs are changed due to match/tournament situation and other meta-evaluations.
But isn't this just a special "material-volatile" case of "drawishness"? You still only got one number...
Actually, it seems to me like the concept of "pawns" like +1.34 etc that is displayed by programs is a bit weird and it may be more logical to display(and use?) winning(and drawing) percentages instead. Then the natural question would arise: Winning percentage for whom...? But this would only highlight the issues of how you really use the computer evaluations as a human and how to model yourself and your opponent.
A game-theoretically correct evaluation of a position is:
(payoff for loss)*(prob of loss)+ (payoff for draw)*(prob of draw)+ (payoff for win)*(prob of win).
The probabilities are changed due to the position and more advanced due to your-opponent's/your-own strength/style (and naturally captures concept of "contempt"). The pay-offs are changed due to match/tournament situation and other meta-evaluations.
Most programs just cut the advantage in half in bishops of opposite color endings; that's not exactly what Rybka does, but close enough for your purposes.
The display in pawns is theoretically not what we want; we really do want to use expectancy. Currently the pawn evaluation corresponds to an expectancy as you define it (with payoff for a draw midway between win and loss) in principle, although of course this correspondence is quite crude right now. So you are really talking about a display issue, and I recall reading that there are some GUIs that do actually display this expectancy for Rybka, although the method by which it is determined is highly inaccurate. It seems to me that unless we are talking about special situations like draw odds matches (where the payoff assumption is wrong) you are really just saying that we should try to display the real expectancy number that corresponds to the eval in pawns, which is fine by me but I'm not involved with GUI issues like display. It would not affect play.
The display in pawns is theoretically not what we want; we really do want to use expectancy. Currently the pawn evaluation corresponds to an expectancy as you define it (with payoff for a draw midway between win and loss) in principle, although of course this correspondence is quite crude right now. So you are really talking about a display issue, and I recall reading that there are some GUIs that do actually display this expectancy for Rybka, although the method by which it is determined is highly inaccurate. It seems to me that unless we are talking about special situations like draw odds matches (where the payoff assumption is wrong) you are really just saying that we should try to display the real expectancy number that corresponds to the eval in pawns, which is fine by me but I'm not involved with GUI issues like display. It would not affect play.
Without contempt, Rybka's eval should (in theory) map perfectly to winning chances against an equal player. Earlier Rybka versions did actually work directly with winning percetages, as I went through a stage of being obsessed about this. Eventually, I returned to centipawns for a number of reasons.
Rybka output was always in centipawns, since this is what UCI requires and users expect.
The current method of contempt is pretty good theoretically, it handles correctly the various things like opposite-colored bishops, at least in theory. The problem arises in trying to mix in a "flat contempt" at special points, as for the suggestion of avoiding draws due to repetitions at the root. This is just wrong theoretically, although it may still be useful.
Vas
Rybka output was always in centipawns, since this is what UCI requires and users expect.
The current method of contempt is pretty good theoretically, it handles correctly the various things like opposite-colored bishops, at least in theory. The problem arises in trying to mix in a "flat contempt" at special points, as for the suggestion of avoiding draws due to repetitions at the root. This is just wrong theoretically, although it may still be useful.
Vas
"Earlier Rybka versions did actually work directly with winning percetages, as I went through a stage of being obsessed about this. Eventually, I returned to centipawns for a number of reasons."
This is very interesting. I haven't written any chess software or studied the matter seriously, but winning percentages seems simply more correct as "the unit".
Mathematically expressed, the pawn evaluation and the winning percentage evaluation should be topologically equivalent but the winning percentage has a more relevant metric.
OK, practically you could drop the explicit drawishness factor, work with centipawns and use a mapping "just for the UI". But isn't a risk that your analysis and thinking become skewed?
This is very interesting. I haven't written any chess software or studied the matter seriously, but winning percentages seems simply more correct as "the unit".
Mathematically expressed, the pawn evaluation and the winning percentage evaluation should be topologically equivalent but the winning percentage has a more relevant metric.
OK, practically you could drop the explicit drawishness factor, work with centipawns and use a mapping "just for the UI". But isn't a risk that your analysis and thinking become skewed?
Ok, this stuff is complicated :)
Centipawns have the very nice property that if you have two chess features, you can just sum the "value" of feature A and the "value" of feature B and get a pretty good estimate of the value of both features together.
It's actually surprising how well this holds up.
There are other ways of quanifying things which should also be roughly additive. For example, Elo. You could say that a pawn is worth X Elo, and a centralized knight is worth Y Elo, and just add everything up.
Using winning percentages is good when you want to do things like quantify error information.
Vas
Centipawns have the very nice property that if you have two chess features, you can just sum the "value" of feature A and the "value" of feature B and get a pretty good estimate of the value of both features together.
It's actually surprising how well this holds up.
There are other ways of quanifying things which should also be roughly additive. For example, Elo. You could say that a pawn is worth X Elo, and a centralized knight is worth Y Elo, and just add everything up.
Using winning percentages is good when you want to do things like quantify error information.
Vas
> Ok, this stuff is complicated :-) ... There are other ways of quanifying things which should also be roughly additive
To re-phrase, in the range(s) where centipawns, win%, and ELO difference form reasonable linear approximations of each other, one can expect that adding scores and converting between them will not yield disparate results.
> It's actually surprising how well this holds up.
I don't know if it is surprising, or maybe just part of The Unreasonable Effectiveness of Mathematics (or of X in maths, with X being linearity here) - for instance, a standard method for handling non-linear systems is typically to start with a linearisation.
Keep in mind that we're not just talking about mathematics here, but also chess.
For example, some chess players will tell you that you need two weaknesses to lose a chess game, ie. that a single weakness can be defended. This theory doesn't fit very well with just adding weaknesses up.
Vas
For example, some chess players will tell you that you need two weaknesses to lose a chess game, ie. that a single weakness can be defended. This theory doesn't fit very well with just adding weaknesses up.
Vas
Or perhaps even two more weaknesses than your opponent has? Of course, it depends on the nature of those weaknesses...
No, I believe this is wrong. The theory is that if you have no weakness and your opponent has one, it's hard to win. If you have one and he has two, it's easier. The added weaknesses for each side are supposed to decrease the draw likelihood. However we do not now make use of this theory in Rybka and have not tested its validity.
That was a nice non-linear example of a drawishness factor!
Some other more or less obvious:
The less drawish...
-The more material
-The more different kind of material
-The more does a tempo affect the evaluation. One could for example evaluate a position, including some search, for black resp. white at move and compare the evaluations.
And in queen endgames with open king it is difficult to avoid perpetuals.
This must be fun to develop and we definitely want it for Rybka 4 :-)
Regarding transferring drawishness information through the tree, I guess the first problem is to give a meaningful definition what is really requested by the user. Transferring values is just a technicality in itself.
The drawishness of the position in the end of the main variation looks only like a curiosity, while there may be many other relevant almost optimal variations. And if it is 20 ply deep a lot of trappy things may happen on the way...
So I guess some kind of statistical approach is needed and this also depends very much on player modeling. How many ply does a player of strength X typically see?
Minimax implicitly does the opponent modeling that the opponent = yourself. My theoretical view was that if it is your turn in the tree you are modeling yourself. And pretty tautological, you know you will choose the best move from your own evaluation. VAL(parent) = MAX(VAL(child)). When it is your opponents turn you model your opponent's move selection probabilities: VAL(parent) = SUM(PROB(opponent selects child)*VAL(child)). And VAL(position) = payoff*prob+... etc.
So my point was that the most relevant use of drawishness is by including it in the position evaluation according to your (and your opponents) payoff(s).
OK, when you code you have to be concrete and realistic and my theoretically correct(?) perspective is very arrogant ;-) But for strategy, user relevance and getting new ideas I think it may be useful.
Some other more or less obvious:
The less drawish...
-The more material
-The more different kind of material
-The more does a tempo affect the evaluation. One could for example evaluate a position, including some search, for black resp. white at move and compare the evaluations.
And in queen endgames with open king it is difficult to avoid perpetuals.
This must be fun to develop and we definitely want it for Rybka 4 :-)
Regarding transferring drawishness information through the tree, I guess the first problem is to give a meaningful definition what is really requested by the user. Transferring values is just a technicality in itself.
The drawishness of the position in the end of the main variation looks only like a curiosity, while there may be many other relevant almost optimal variations. And if it is 20 ply deep a lot of trappy things may happen on the way...
So I guess some kind of statistical approach is needed and this also depends very much on player modeling. How many ply does a player of strength X typically see?
Minimax implicitly does the opponent modeling that the opponent = yourself. My theoretical view was that if it is your turn in the tree you are modeling yourself. And pretty tautological, you know you will choose the best move from your own evaluation. VAL(parent) = MAX(VAL(child)). When it is your opponents turn you model your opponent's move selection probabilities: VAL(parent) = SUM(PROB(opponent selects child)*VAL(child)). And VAL(position) = payoff*prob+... etc.
So my point was that the most relevant use of drawishness is by including it in the position evaluation according to your (and your opponents) payoff(s).
OK, when you code you have to be concrete and realistic and my theoretically correct(?) perspective is very arrogant ;-) But for strategy, user relevance and getting new ideas I think it may be useful.
You cover a lot of interesting points. A few comments:
One interesting idea for measuring position 'sharpness' would be to see how often null moves succeed throughout the tree. Just a normal history entry for the null move may be enough.
Of course, sharpness is not the opposite of drawishness. Sharpness often dissipates quickly.
That's close to the truth. Sometimes, you will change your mind as the position gets closer, so your alternatives still matter.
This is where things get really messy. In alpha-beta, you really want to search only one move at cut nodes. What if your opponent is to move at a cut node?
Anyway, there are a ton of things to think about. What is currently implemented just scratches the surface.
Vas
> The more does a tempo affect the evaluation. One could for example evaluate a position, including some search, for black resp. white at move and compare the evaluations
One interesting idea for measuring position 'sharpness' would be to see how often null moves succeed throughout the tree. Just a normal history entry for the null move may be enough.
Of course, sharpness is not the opposite of drawishness. Sharpness often dissipates quickly.
> My theoretical view was that if it is your turn in the tree you are modeling yourself.
That's close to the truth. Sometimes, you will change your mind as the position gets closer, so your alternatives still matter.
> When it is your opponents turn you model your opponent's move selection probabilities: VAL(parent) = SUM(PROB(opponent selects child)*VAL(child)).
This is where things get really messy. In alpha-beta, you really want to search only one move at cut nodes. What if your opponent is to move at a cut node?
Anyway, there are a ton of things to think about. What is currently implemented just scratches the surface.
Vas
Your example is a bad example because even with constant contempt of 300 rybka may decide not to repeat without a knight in the opening(when the evaluation is -200) and decide to draw without 3 pawns in the endgame when the evaluation is -400
The idea for contempt that is dependent on the material left may be a good idea but not because of the example that you give.
If rybka evaluates knight disadvantage as -200 in the opening then you need to give another position when rybka evaluates her chances as relatively better.
Uri
The idea for contempt that is dependent on the material left may be a good idea but not because of the example that you give.
If rybka evaluates knight disadvantage as -200 in the opening then you need to give another position when rybka evaluates her chances as relatively better.
Uri
But you play very good man! To remove all remaining doubts give Rybka a chance for a rematch :) :)
Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill
