Discuss Scratch

ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Samueldora wrote:

ArnoHu wrote:

I noticed you just added another level “blue belt” to Bonsai? I will apply it in Bonsai's next tournament games. I am curious, did you increase search depth, or is it something else? Maybe GoK was lucky that blue belt Bonsai did not exist two days ago, who knows if it could have turned around that one otherwise.

14 days ago I changed the positional evaluation, but expectedly GoK still had a decisive edge in tactics due to deeper search. The major change for Bonsai Blue Belt now was an increase in search depth. I hope it is now able to keep up with GoK.

Cool! Bonsai will be really dangerous with its evaluation magic plus additional search depth.

I mainly invested in move generation and move ordering speedup, plus transposition table cache lately. During midgame, on the Scratch runtime and average hardware, GoK usually applies something like ply4 + quiesc2 or ply4 + quiesc4, at times ply4 + quiesc6; it's only on less complex boards when it goes to ply5 + quiesc3 and beyond. The maximum it can reach currently is ply6 + quiesc4, often during endgame and only on good hardware. I always try to let the opponent have the final move before evaluation (hence the even sum for ply + quiesc. Thus GoK might miss some opportunities, but at least it won't screw up too often due to horizon effects. My goal is to reach ply5 + quiesc3 at a minimum, even on the most complex boards and on average hardware, but I am not quite there yet.
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Game #7: Game of Kings (white) vs. The Turk (black) 1-0

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 { C68 Ruy Lopez: Exchange Variation } dxc6 5. Nxe5 Qd4 6. Qh5 Qxe4+ 7. Kd1 Nf6 8. Qxf7+ Kd8 9. Re1 Bg4+ 10. f3 Bxf3+ 11. gxf3 Qd4 12. Qe6 Be7 13. Nf7+ Ke8 14. Qxe7# { White wins by checkmate. } 1-0

Game protocol and analysis on lichess.org

Please note: Game of Kings was playing “virtual white”, by importing an inverse game board at the beginning of the game. I had a GoK variant available that could have played “inverse castling” as well, but did not apply it (as The Turk didn't have that opportunity either when it played “virtual white”). “Inverse castling” - when done by the opponent - was supported by re-importing the resulting board. Anyway, that was not necessary in this game, as The Turk did not castle.
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Tournament Crosstable

Game of Kings  - 1 1 1 ?  3.0
Bonsai 0 - 1 1 ? 2.0
The Turk 0 0 - ? 1 1.0
Archimedes 0 0 ? - 1 1.0
Midecah ? ? 0 0 - 0.0
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

While GoK and Bonsai should be able to bring home place #1 and #2 with to-be-expected wins again Midecah Chess, Archimedes now seems to be the favorite for the third spot. It has given GoK quite a difficult time in game #4, and although Bonsai dominated Archimedes in game #6, I have seen a test game where Archimedes brought Bonsai to the brink of defeat by luring Bonsai's king out before it could castle. Place #3 will be decided in Archimedes' match against The Turk.

Last edited by ArnoHu (Dec. 26, 2017 21:36:37)

ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Game #8: Bonsai (white) vs. Midecah Chess (black) 1-0

1. c4 f6 2. e4 d6 3. d4 a6 4. Qh5+ Kd7
5. Qf5+ e6 6. Qg4 c6 7. Kd2 g6 8. Ke3 b6
9. b4 h6 10. Qxg6 Ne7 11. Qh5 Bg7 12. Qf7 e5
13. Qxg7 Re8 14. Qxh6 exd4+ 15. Kxd4 Qc7 16. Qxf6

At this point Midecah's queen moved from f7 to f8, capturing its own bishop. According to our tournament rules, the game counts as a win for Bonsai.

Game protocol and analysis on lichess.org
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Tournament Crosstable

Game of Kings  - 1 1 1 ?  3.0
Bonsai 0 - 1 1 1 3.0
The Turk 0 0 - ? 1 1.0
Archimedes 0 0 ? - 1 1.0
Midecah ? 0 0 0 - 0.0
PintOfMilk
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Might try and create an engine for 2018 competion
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

PintOfMilk wrote:

Might try and create an engine for 2018 competion

Hey that would be great - and we don't have to wait another year, maybe a tournament each quarter would be nice, representing the advances made in each engine.

Also, I think remixes should be able to attend, as long as they are significantly different from the original projects.
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Game #9: Archimedes Chess (white) vs. The Turk (black) 0-1

1. Nf3 Nc6 { A04 Zukertort Opening: Black Mustang Defense } 2. Ng5 Nd4 3. Nc3 Nh6 4. a4 d6 5. h3 e5 6. h4 Bf5 7. f3 Bxc2 8. Nxf7 Nxf7 9. Rb1 Nxf3+ 10. exf3 Bxd1 11. Kxd1 Qf6 12. Ne4 Qf5 13. Bb5+ Ke7 14. Bc4 Nd8 15. Rh2 Rb8 16. Ke1 Rc8 17. b4 Rb8 18. Bb2 Rc8 19. Rh1 Rb8 20. Ba3 Rc8 21. Rb3 Qf4 22. Re3 b5 23. axb5 d5 24. Bxd5 c6 25. g3 Qh6 26. Rc3 Qg6 27. h5 Qf5 28. Ba2 Ke8 29. Ke2 Rc7 30. Rc2 Be7 31. Rc4 Qf7 32. Rxc6 Qxa2 33. Rxc7 Qxa3 34. Rc8 Qxb4 35. Nc3 Kd7 36. Rb1 Qd4 37. Rb8 Qc4+ 38. Ke1 Kc7 39. Ra8 Kb7 40. Rxd8 Bxd8 41. Ra1 Qd4 42. Ra2 Qc4 43. Ra1 Qd4 44. Ra2 Qc4 45. Ra3 Be7 46. Ra1 Qd4 47. Ke2 Rg8 48. Ra4 Bb4 49. g4 Qc4+ 50. Ke1 Qb3 51. Ra2 Bxc3 52. Ra6 Qb1+ 53. Kf2 Bd4+ 54. Kg3 Qe1+ 55. Kh3 Qf1+ 56. Kh2 Bg1+ 57. Kg3 Qf2+ 58. Kh3 Qh2# { Black wins by checkmate. } 0-1

Game protocol and analysis on lichess.org
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Tournament Crosstable

Game of Kings  - 1 1 1 ?  3.0
Bonsai 0 - 1 1 1 3.0
The Turk 0 0 - 1 1 2.0
Archimedes 0 0 0 - 1 1.0
Midecah ? 0 0 0 - 0.0
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Finally The Turk showed its potential in game #9, and managed to defeat Archimedes, clinging third place. On to the final game - Game of Kings vs. Midecah Chess.

Last edited by ArnoHu (Dec. 27, 2017 09:46:01)

ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Game #10: Game of Kings (white) vs. Midecah Chess (black) 1-0

1. e4 a5 { B00 Ware Defense } 2. Bb5 g6 3. d3 e5 4. Nf3 *

At this point Midecah's knight on g8 simply disappeared and the game had to be stopped. According to our tournament rules, the game counts as a win for Game of Kings.

Game protocol and analysis on lichess.org

Please note: Game of Kings was playing “virtual white”, by importing an inverse game board at the beginning of the game.
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Scratch Chess Engine Tournament - Final Result

1. Game of Kings
2. Bonsai
3. The Turk
4. Archimedes
5. Midecah



1. Game of Kings  - 1 1 1 1  4.0
2. Bonsai 0 - 1 1 1 3.0
3. The Turk 0 0 - 1 1 2.0
4. Archimedes 0 0 0 - 1 1.0
5. Midecah 0 0 0 0 - 0.0

Last edited by ArnoHu (Dec. 27, 2017 00:36:45)

Samueldora
Scratcher
100+ posts

Scratch Chess Engine Tournament

ArnoHu wrote:

Scratch Chess Engine Tournament - Final Result

Congratulations to Game of Kings! And a special thank you to you, ArnoHu for organizing, operating and nicely presenting this tournament.

ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

Samueldora wrote:

ArnoHu wrote:

Scratch Chess Engine Tournament - Final Result

Congratulations to Game of Kings! And a special thank you to you, ArnoHu for organizing, operating and nicely presenting this tournament.


Thanks! We should do that more often. What I also plan is to remix Midecah Chess and fix that “arbitrary pieces disappear” bug. The Scratch chess veteran should really be able to finish its games. Actually it was doing well against The Turk. And I thought the game against GoK might end quickly enough before the bug occurred again (as it happened once during a previous test game), so Midecah would have a regular game. But of course 4 moves (game #10) were not enough

Also the next GoK version will have native support for playing white, which will make things easier too.

Last edited by ArnoHu (Dec. 27, 2017 08:46:05)

ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

ArnoHu wrote:

FunnyAnimatorJimTV wrote:

Nice 1st game! But I think both engines need more positional understanding. For example, 14…0-0-0? Although this is the fastest castle for black, the black king is clearly weaker on the queenside. The computer can tell the a, b and c pawns should be on a7, b7 and c7 for the black king to be protected, somewhat. But also there is the open b-file for white to use to kerplonk. And we all like kerplonking on our opponent's king, don't we now?

Maybe something to consider is for the engine to castle on the same side the opponent has. Because computers can't see long term patterns and plans for attack, it's probably safer for the computer to castle the same side because it's generally harder to attack by thrusting on your own king's side by pushing the front pawns and opening up your OWN king. So the computer can cold-bloodedly castle on the same side and both computers can fiddle around in the center and find tactics. It is my suggestion.

As for the players before either has castled…Well, one player is just going to have to make that decision based on capabilities.

Also you can put all the games in this study I created: lichess.org/study/MSjgYtQd A collection of the Scratch engine games we play, since most of us Scratch chess players have lichess accounts.

Good luck to the other engines and Merry Christmas!

Very true, when I saw the board before black's queenside castling, I knew already this would happen, and it would be disastrous. After this blunder, I was pretty sure Bonsai would win, but GoK fought on and was somehow able to turn the game around.

GoK castles as soon as it is possible, and as long as this is not causing any material loss or piece-squaretable position / mobility disadvantage greater than the castling value (which is high at 60). Most of the time this was no problem, as it often led to kingside castling, where the pawn structure was stronger. Good point, I can actually add a simple pawn structure check there.

Thanks for your offer to add the games to your collection, I will definitely do that at the end of the tournament.

Merry Christmas from Austria!

I have fixed the castling problem. Here is board data with which this can be tested:

500,0,0,0,20000,330,310,500,
0,330,0,100,0,100,100,100,
100,0,0,0,100,0,0,0,
0,0,100,0,0,0,900,0,
0,0,-100,0,-100,0,0,0,
0,0,-310,0,0,0,0,0,
-100,-330,-900,-100,0,-100,-100,-100,
-500,0,0,0,-20000,0,-310,-500,

Last edited by ArnoHu (Dec. 31, 2017 09:59:07)

PintOfMilk
Scratcher
1000+ posts

Scratch Chess Engine Tournament

ArnoHu wrote:

PintOfMilk wrote:

Might try and create an engine for 2018 competion

Hey that would be great - and we don't have to wait another year, maybe a tournament each quarter would be nice, representing the advances made in each engine.

Also, I think remixes should be able to attend, as long as they are significantly different from the original projects.
OK maybe.
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

After some additional improvements, GoK delivers a more stable game, and is down to 2 inaccuracies, 0 mistakes and 0 blunders according to Stockfish analysis (Bonsai Blue Belt (white) vs. GoK Level Difficult (black). IMHO, best way to play it is on the Sulfurous Scratch engine - a Phosphorus fork, which is very fast, hence allows for more search depth, and has a lot of bugfixes we were waiting for in Phosphorus.

Happy 2018!
CodeBit
Scratcher
73 posts

Scratch Chess Engine Tournament

ArnoHu wrote:

Scratch Chess Engine Tournament - Final Result

1. Game of Kings
2. Bonsai
3. The Turk
4. Archimedes
5. Midecah



1. Game of Kings  - 1 1 1 1  4.0
2. Bonsai 0 - 1 1 1 3.0
3. The Turk 0 0 - 1 1 2.0
4. Archimedes 0 0 0 - 1 1.0
5. Midecah 0 0 0 0 - 0.0


Awesome! I really like GoK.

Can you host more competitions so the Chess Engines can play in more tournaments?

I'm also pretty excited for other engines. How do they figure out those tactics? Bonsai kept making me want to resign at some point.
ArnoHu
Scratcher
1000+ posts

Scratch Chess Engine Tournament

CodeBit wrote:

ArnoHu wrote:

Scratch Chess Engine Tournament - Final Result

1. Game of Kings
2. Bonsai
3. The Turk
4. Archimedes
5. Midecah



1. Game of Kings  - 1 1 1 1  4.0
2. Bonsai 0 - 1 1 1 3.0
3. The Turk 0 0 - 1 1 2.0
4. Archimedes 0 0 0 - 1 1.0
5. Midecah 0 0 0 0 - 0.0


Awesome! I really like GoK.

Can you host more competitions so the Chess Engines can play in more tournaments?

I'm also pretty excited for other engines. How do they figure out those tactics? Bonsai kept making me want to resign at some point.

Glad you liked the tournament! Yes it would be nice to have a tournament like each quarter, so we can see how the chess engines evolve over time. About Bonsai you would have to ask @Samueldora. GoK will try to repeat moves to achieve a draw in case it considers its position worse than balanced.

Powered by DjangoBB