zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) 11 minutes ago, Andrew Davie said: The video is particularly useful - I'd like to know how to generate those. Repeat the moves on any chessboard and record screen as mp4. I try to play one more game with chess20200819_4PQ4 and everything worked fine from start until the end chess.mp4 1. e4 e5 2. d4 Qh4 3. Nf3 Bb4+ 4. c3 Qxe4+ 5. Be3 exd4 6. Nxd4 Bd6 7. Nd2 Qd5 8. Bc4 Qxg2 9. Rf1 Nc6 10. Nf5 Nf6 11. Nxd6+ cxd6 12. Qe2 O-O 13. O-O-O d5 14. Rg1 Qxh2 15. Bd3 d4 16. Bg5 Re8 17. Qf1 dxc3 18. Bxf6 cxd2+ 19. Rxd2 g6 20. f4 Qh5 21. Rg5 Qh6 22. Qg1 d5 23. Rh2 Re1+ 24. Qxe1 Bh3 25. Bf1 Qxg5 26. fxg5 Bxf1 27. Rxh7 Kxh7 28. Qh4+ Kg8 29. Qh6 Re8 30. Qg7# Edited August 30, 2020 by zbyti final position 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) I found this https://home.hccnet.nl/h.g.muller/max-src2.html very instructive :] http://rebel13.nl/rebel13/ideas.html http://www.frayn.net/beowulf/theory.html https://www.freecodecamp.org/news/simple-chess-ai-step-by-step-1d55a9266977/ http://www.netlib.org/utk/lsi/pcwLSI/text/node341.html http://www.chilton-computing.org.uk/acl/literature/books/gamesplaying/overview.htm http://www.fierz.ch/strategy.htm http://web.cs.ucla.edu/~rosen/161/notes/alphabeta.html https://adamberent.com/home/chess/computer-chess/ https://github.com/3583Bytes/ChessCore http://www.benlo.com/microchess/Kim-1Microchess.html http://hgm.nubati.net/cgi-bin/gitweb.cgi?p=simple.git;a=summary https://web.archive.org/web/20070707012511/http://www.brucemo.com/compchess/programming/index.htm https://harmoniaphilosophica.com/2011/09/28/how-to-develop-a-chess-program-for-2jszrulazj6wq-23/ https://harmoniaphilosophica.com/2018/07/23/how-to-code-a-chess-program-in-one-day-c-and-java-examples/ https://harmoniaphilosophica.com/2020/05/01/programming-for-kids-developing-a-chess-program-in-basic-part-1/ Edited August 30, 2020 by zbyti All my links 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) And another (my) game with chess20200819_4PQ4 with brief evaluation (on video), we can see some flaws in chess20200819_4PQ4 evaluation. 1. h4 d5 2. e3 e5 3. g4 Bc5 4. Bh3 d4 5. g5 Qd5 6. Qf3 Qxf3 7. Nxf3 Bxh3 8. Rxh3 dxe3 9. fxe3 Nc6 10. a3 e4 11. Nh2 Bd6 12. Nc3 f5 13. b4 O-O-O 14. Bb2 Bxh2 15. Rxh2 Nge7 16. Ne2 Nd5 17. O-O-O Nxe3 18. dxe3 Rxd1+ 19. Kxd1 Rd8+ 20. Kc1 Rd5 21. Bxg7 Rd7 22. Bf6 Rd5 23. Nf4 Rd6 24. Rd2 Rxd2 25. Kxd2 Nd8 26. Bxd8 Kxd8 27. h5 Kc8 28. g6 hxg6 29. hxg6 c5 30. g7 Kd7 31. g8=Q cxb4 32. Qe6+ Kc7 33. Nd5+ Kd8 34. Qe7+ Kc8 35. Qc7# chess.mp4 Edited August 30, 2020 by zbyti final position 2 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 30, 2020 Author Share Posted August 30, 2020 My poor program. It feels like it's being beaten up! 3 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 @Andrew Davie your chess20200819_4PQ4 have no respect for the humans, he gave me whole piece! 1. f4 d5 2. e3 Bf5 3. d4 Qd6 4. Nf3 Nc6 5. Bb5 Nf6 6. Ne5 Qb4+ 7. Nc3 Ne4 8. Nxc6 Qd6 9. Ne5+ c6 10. Bd3 Nxc3 11. bxc3 Bxd3 12. Qxd3 f6 13. Nf3 O-O-O 14. a4 Qe6 15. a5 Qe4 16. Ba3 Qxd3 17. cxd3 e5 18. dxe5 Bxa3 19. Rxa3 Rhe8 20. Kd2 d4 21. cxd4 Rd5 22. e4 Rb5 23. Ra2 fxe5 24. dxe5 Rf8 25. f5 Rb3 26. Nd4 Rb4 27. Kc3 c5 28. Ne6 Re8 29. Nxg7 Rxe5 30. f6 Rg5 31. f7 Rd4 32. f8=Q+ Rd8 33. Qe7 Rg6 34. Ne6 Rd7 35. Qe8+ Rd8 36. Qxd8# chess.mp4 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 30, 2020 Author Share Posted August 30, 2020 6 minutes ago, zbyti said: @Andrew Davie your chess20200819_4PQ4 have no respect for the humans, he gave me whole piece! 1. f4 d5 2. e3 Bf5 3. d4 Qd6 4. Nf3 Nc6 5. Bb5 Nf6 6. Ne5 Qb4+ 7. Nc3 Ne4 8. Nxc6 Qd6 9. Ne5+ c6 10. Bd3 Nxc3 11. bxc3 Bxd3 12. Qxd3 f6 13. Nf3 O-O-O 14. a4 Qe6 15. a5 Qe4 16. Ba3 Qxd3 17. cxd3 e5 18. dxe5 Bxa3 19. Rxa3 Rhe8 20. Kd2 d4 21. cxd4 Rd5 22. e4 Rb5 23. Ra2 fxe5 24. dxe5 Rf8 25. f5 Rb3 26. Nd4 Rb4 27. Kc3 c5 28. Ne6 Re8 29. Nxg7 Rxe5 30. f6 Rg5 31. f7 Rd4 32. f8=Q+ Rd8 33. Qe7 Rg6 34. Ne6 Rd7 35. Qe8+ Rd8 36. Qxd8# chess.mp4 1.03 MB · 0 downloads These versions have some differences in the evaluation algorithm. I still have some stuff to put in - the latest version, for example, I recall has NO move sorting. Also, the game has NO opening book. I don't plan one, either - I think they're "cheating". It's interesting to watch someone beat it so convincingly. I clearly have a long way to go. 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) About talking chess... My favorite is Fidelity Chesster Challenger I played a lot with this machine on MAME. Here is some selection of the most famous Kishon Chesster sayings: "Hello? Are you still there? I'm dying of boredom!" "If you're thinking that much, please put me on a higher level, okay?" "Do you want some good advice from me? Give up!" "So if there's Matt in three moves, I'll eat a broom!" "No, no, no, no, please let me speak, otherwise I'll go nuts, please." "Oops! Now I got you!" "The cheapest computer plays better than you!" "Oh, I missed that." "How do I get out of there? I don't know." "Um, should I take my last move back?" "Sorry. I can use you, yes? Thank you!" Edited August 30, 2020 by zbyti quotes 1 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 And my last game with chess20200819_4PQ4, I think weaknesses of this engine iteration are obvious. 1. d4 d5 2. c4 dxc4 3. e4 e5 4. d5 Bb4+ 5. Nc3 Qh4 6. Qa4+ Nc6 7. dxc6 Bxc3+ 8. bxc3 Qxe4+ 9. Be3 bxc6 10. Be2 Be6 11. Bf3 Qxe3+ 12. fxe3 Ne7 13. Bxc6+ Nxc6 14. Qxc6+ Ke7 15. Qxc7+ Kf6 16. Nf3 e4 17. Nd4 Kg6 18. Nxe6 fxe6 19. O-O Rhf8 20. Qg3+ Kh6 21. Qh4+ Kg6 22. Qxe4+ Kg5 23. Qxh7 Rxf1+ 24. Rxf1 Rd8 25. h4+ Kg4 26. Rf4+ Kg3 27. Qxg7# chess.mp4 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 30, 2020 Author Share Posted August 30, 2020 1 hour ago, zbyti said: And my last game with chess20200819_4PQ4, I think weaknesses of this engine iteration are obvious. Ha! Not to me I don't play nearly as well as you, but it's great to see it being thrashed. If you are playing on turbo mode, then this 5PQ8 version wont take eternity - but it will still be a lot slower. It would be interesting, if you are so inclined, to see the difference in strength/quality of moves. My long-term plans are to improve the engine, which will involve using some of the modern techniques - sorting, perhaps hashing, definitely improving the evaluation algorithm (all it does right now is values material, and mobility, and the squares pieces are on). No chess knowledge. My short-term plans are to get a version on a PlusCart and an online place where I can start to do nifty things like adding an auto-update of the bitCHESS binary on cartridge, player vs. player (postal chess style) with auto-notification when the other player has moved - downloaded via the 'net/pluscart place. Perhaps hooking in to other chess engines, too, so you can play really strong engines on the '2600 again via 'net. And of course lots of speech via AtariVox, but first I need to write a decent editing/sequencing tool to get the best speech possible. The main challenge in this version was the display and memory organisation. I didn't really intend to write a fully fledged chess program, but here we are - although I have had decent enough feedback from most - enough to keep me complacent, your "I think weaknesses of this engine iteration are obvious" is a bit of a slap in the face with a gauntlet. Challenge accepted, sir! chess20200831_5PQ8.bin 5 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) 56 minutes ago, Andrew Davie said: If you are playing on turbo mode, then this 5PQ8 version wont take eternity - but it will still be a lot slower. It would be interesting, if you are so inclined, to see the difference in strength/quality of moves. "I think weaknesses of this engine iteration are obvious" is a bit of a slap in the face with a gauntlet. Challenge accepted, sir! So far You have done a great job! If my opinion about the weaknesses of the program can be helpful, I will try to share it from the next games. 20 years ago I was around 1900 ELO (FIDE) average club player and I know a little about the game. I read that one of your goals is to beat Video Chess on 2600, I just played a game on level 5 (3:15 per move). I think defeating the VCS is an ambitious goal and I am rooting for you! :] 1. f4 c5 2. e4 Nc6 3. Nf3 e6 4. c3 d5 5. Bd3 Nf6 6. e5 Ne4 7. O-O Be7 8. Bc2 Qb6 9. d3 c4+ 10. d4 O-O 11. Nbd2 f5 12. exf6 Nxf6 13. Ne5 Bd7 14. Rf3 Qb5 15. Rh3 Rad8 16. Qe1 Be8 17. Qg3 Bd6 18. Rh6 Nxe5 19. fxe5 Bc7 20. Rh4 Qb6 21. Nf3 Bh5 22. Ng5 Bg6 23. Bxg6 hxg6 24. Qh3 Nh5 25. g4 Rf4 26. Bxf4 Qxb2 27. Rf1 Re8 28. gxh5 Ba5 29. hxg6 Qxh2+ 30. Qxh2 Kf8 31. Qh3 Bd8 32. Rh8+ Ke7 33. Qxe6# chess.mp4 Edited August 30, 2020 by zbyti my elo 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 I have some problems with chess20200831_5PQ8 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) chess20200819_4PQ4 1. Nf3 d5 2. c4 dxc4 3. e4 Be6 ; bad develop of the bishop (blocks pawns) 4. Ng5 Qd4 ; white want to attack or weakening important f7 square 5. Nxe6 fxe6 6. Qh5+ g6 7. Qb5+ Nc6 8. Qxb7 Qxe4+ 9. Be2 Rd8 10. O-O Qxe2 11. Qxc6+ Kf7 12. Nc3 Qd3 13. Qxc7 Nf6 14. b3 cxb3 15. axb3 Bg7 16. Rxa7 Nd5 ; loosing move 17. Nxd5 Rxd5 18. Qxe7+ Kg8 19. Qxg7# chess.mp4 Edited August 30, 2020 by zbyti analyse 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) The most common mistakes (for start) related to the evaluation of positions in the previous games: 1. incorrect material sacrifice, incorrect exchanges 2. the losing side should not exchange pieces 2. lose material in 4 ply Lack of the chess knowledge: 1. repeating movements with the same piece in the opening - bad development 2. putting the Queen into the game too early 3. lack of penalty for weakening square f2 and f7 Edited August 30, 2020 by zbyti 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 (edited) chess20200819_4PQ4 [Event "Playground"] [Site "X201"] [Date "2020.08.31"] [Round "-"] [White "zbyti"] [Black "bitChess"] [Result "1-0"] 1. h3 d5 2. g4 e5 3. Bg2 Bb4 4. a3 Bc5 5. b4 Bd4 6. c3 Bb6 7. a4 Qf6 8. e3 c6 9. Ba3 e4 10. Ne2 Bd7 11. Nd4 Na6 12. Qe2 O-O-O 13. b5 cxb5 14. Nxb5 Nc5 15. Bxc5 Bxc5 16. N1a3 a6 17. Nd4 Bxa4 18. O-O Bxd4 19. cxd4 Ne7 20. Rfc1+ Nc6 21. Nc2 Bb5 22. Qe1 Bc4 23. Bf1 Bxf1 24. Qxf1 Qf3 25. Nb4 h5 26. Nxc6 bxc6 27. Qxa6+ Kb8 28. Qb6+ Kc8 29. Qxc6+ Kb8 30. Rcb1# {White mates} 1-0 I think that's enough for now :] chess.mp4 Edited August 30, 2020 by zbyti I think that's enough 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 30, 2020 Share Posted August 30, 2020 And one for the road! chess20200819_4PQ4 [Event "Playground"] [Site "X201"] [Date "2020.08.31"] [Round "-"] [White "zbyti"] [Black "bitChess"] [Result "1-0"] 1. b4 e5 2. Bb2 Qf6 3. Nf3 Bxb4 4. Bxe5 Qg6 5. e3 Nc6 6. Bd3 Qxg2 7. Rg1 Qxg1+ 8. Nxg1 Nxe5 9. Bf5 d5 10. Bxc8 Rxc8 11. f4 Nc4 12. c3 Bc5 13. Qg4 Ne7 14. Nf3 O-O 15. h4 f5 16. Qg2 Nc6 17. Nd4 Nxd4 18. cxd4 Nxe3 19. dxe3 Bb4+ 20. Nd2 Rcd8 21. O-O-O Rfe8 22. Rg1 Ba3+ 23. Kc2 Re7 24. Nf3 c5 25. Ne5 cxd4 26. exd4 Rc7+ 27. Kb3 Bc1 28. Qg5 Rf8 29. h5 Be3 30. h6 Bxg1 31. Qxg1 Rfc8 32. Kb4 g6 33. Qg5 Rc2 34. Qe7 Rb2+ 35. Ka3 Rxa2+ 36. Kxa2 Rc2+ 37. Kb3 Rb2+ 38. Kxb2 {Black resign} 1-0 18. cxd4 Nxe3?? chess.mp4 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 31, 2020 Author Share Posted August 31, 2020 5 hours ago, zbyti said: I have some problems with chess20200831_5PQ8 I just downloaded/tested the binary I posted on Stella 6.1 and 6.2 and it works fine. Very strange; perhaps this is a Stella bug...? Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 31, 2020 Share Posted August 31, 2020 (edited) 7 minutes ago, Andrew Davie said: Very strange; perhaps this is a Stella bug...? Stella 6.2.1 on Ubuntu 18.04 LTS 64-bit. I'll try MAME instead and let You know. EDIT: MAME also didn't work.. . Edited August 31, 2020 by zbyti MAME Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 31, 2020 Author Share Posted August 31, 2020 21 minutes ago, zbyti said: Stella 6.2.1 on Ubuntu 18.04 LTS 64-bit. I'll try MAME instead and let You know. EDIT: MAME also didn't work.. . Thanks. Odd. Did you re-download the chess binary, too? Here it is again... chess20200831_5PQ8.bin Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 31, 2020 Share Posted August 31, 2020 Yes, I downloaded new binary and Stella don't talk to me anymore Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 31, 2020 Author Share Posted August 31, 2020 6 minutes ago, zbyti said: Yes, I downloaded new binary and Stella don't talk to me anymore Let's try one more version.... chess20200831_5PQ4.bin Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 31, 2020 Share Posted August 31, 2020 3 minutes ago, Andrew Davie said: Let's try one more version.... chess20200831_5PQ4.bin Works! Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 31, 2020 Author Share Posted August 31, 2020 (edited) 19 minutes ago, zbyti said: Works! Thanks. The only difference being the depth of the quiescence. This points to some bug/mismanagement in either my code - or, as I suspect, the Stella 3E+ RAM-management. Edited August 31, 2020 by Andrew Davie Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 31, 2020 Author Share Posted August 31, 2020 3 hours ago, zbyti said: And one for the road! chess20200819_4PQ4 [Event "Playground"] [Site "X201"] [Date "2020.08.31"] [Round "-"] [White "zbyti"] [Black "bitChess"] [Result "1-0"] 1. b4 e5 2. Bb2 Qf6 3. Nf3 Bxb4 4. Bxe5 Qg6 5. e3 Nc6 6. Bd3 Qxg2 7. Rg1 Qxg1+ 8. Nxg1 Nxe5 9. Bf5 d5 10. Bxc8 Rxc8 11. f4 Nc4 12. c3 Bc5 13. Qg4 Ne7 14. Nf3 O-O 15. h4 f5 16. Qg2 Nc6 17. Nd4 Nxd4 18. cxd4 Nxe3 19. dxe3 Bb4+ 20. Nd2 Rcd8 21. O-O-O Rfe8 22. Rg1 Ba3+ 23. Kc2 Re7 24. Nf3 c5 25. Ne5 cxd4 26. exd4 Rc7+ 27. Kb3 Bc1 28. Qg5 Rf8 29. h5 Be3 30. h6 Bxg1 31. Qxg1 Rfc8 32. Kb4 g6 33. Qg5 Rc2 34. Qe7 Rb2+ 35. Ka3 Rxa2+ 36. Kxa2 Rc2+ 37. Kb3 Rb2+ 38. Kxb2 {Black resign} 1-0 18. cxd4 Nxe3?? Ok, it's thinking here -- QxP (d5) check, then QxK, so it's better to defend the D5 pawn with the knight and at the same time capture a pawn. Because it's seeing... QxP+, then NxQ is better than QxP+ and ... nothing. This is a bit to do with the quiescence being quite low (4 ply), but also to do with avoiding losing a king at all costs. Essentially, Nxe3 pushes the "loss" of the king off the event horizon, and so it seemed like a good move at the time . The program will throw pieces wildly to avoid a loss, as I noticed in one of your games. I'm not saying it's anything but a terrible move, but I'm pretty sure I know *why* it made the terrible move. This will definitely self-correct when I get to improving the evaluation and have deeper quiescence. Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 31, 2020 Author Share Posted August 31, 2020 Mmh. The 5PQ8 version does not run on actual hardware. Strange, as I would expect it to run, and it definitely runs on MacOS Stella.... But, something weird is going on, so... chasing that down. Quote Link to comment Share on other sites More sharing options...
zbyti Posted August 31, 2020 Share Posted August 31, 2020 (edited) 5 hours ago, Andrew Davie said: Ok, it's thinking here -- QxP (d5) check, then QxK, so it's better to defend the D5 pawn with the knight and at the same time capture a pawn. Because it's seeing... QxP+, then NxQ is better than QxP+ and ... nothing. This is a bit to do with the quiescence being quite low (4 ply), but also to do with avoiding losing a king at all costs. Essentially, Nxe3 pushes the "loss" of the king off the event horizon, and so it seemed like a good move at the time . The program will throw pieces wildly to avoid a loss, as I noticed in one of your games. I'm not saying it's anything but a terrible move, but I'm pretty sure I know *why* it made the terrible move. This will definitely self-correct when I get to improving the evaluation and have deeper quiescence. OK, in this case you are right I did not seeing Qxd5+, knight is lost in any case - my bad. When I playing with A2600 I'm not focused and only take 1-3 seconds on my time to make a move. But what about this? 17 ... Nxe3?? Edited August 31, 2020 by zbyti and this? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.