Mussaurus 0.1-prealpha - a poor man's Vice

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by Gabor Szots »

Well, after the bug fix (released a couple of minutes ago) it did not hang but lost a piece in about 10 moves then left its queen en prise, so...
Gabor Szots
CCRL testing group
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by shinkarom »

So what? Didn't I say it loses to Nero while having all the same features that Vice had when it trounced Nero?
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by Gabor Szots »

shinkarom wrote: Fri Nov 22, 2019 9:24 amSo what?
To put it frankly, if an engine blunders a queen in every game, I am not going to test it. Other testers may have less severe restrictions so there is hope from both sides.
Gabor Szots
CCRL testing group
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by Gabor Szots »

shinkarom wrote: Fri Nov 22, 2019 9:24 am So what? Didn't I say it loses to Nero while having all the same features that Vice had when it trounced Nero?
I took it literally when you said it did not dominate Nero. I wanted to test it against that range of engines.
Gabor Szots
CCRL testing group
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by shinkarom »

If by "testing" you mean CCRL, then it would be insanity to ask for that now (or maybe ever). And that was not yet the intention of my post. If you mean just playing a couple of games, then it still needs a lot of work.
After removing HashEntryFlag (again) so that it hashes only moves that are between alpha and beta; and removing returning the hash score altogether (so that it uses the table only for move ordering), here is a sample game against Nero 6.1 on 1+0 time controls:
[pgn] [Event "Computer chess game"] [Site "SHINKAR-PC"] [Date "2019.11.22"] [Round "?"] [White "Mussaurus 0.1"] [Black "Nero_61"] [Result "0-1"] [BlackElo "2200"] [ECO "C00"] [Opening "French"] [Time "11:10:19"] [Variation "2.Nc3"] [WhiteElo "2000"] [TimeControl "60+0"] [Termination "normal"] [PlyCount "154"] [WhiteType "program"] [BlackType "program"] 1. Nc3 {(Nb1c3 Nb8c6 e2e4 e7e5 Bf1d3) +0.25/5 1} e6 {(e7e6 d2d3 Bf8b4) -0.22/6 1} 2. e4 {(e2e4 Qd8e7 a2a3 d7d5 d2d4) +0.30/5 1} Bb4 {(Bf8b4 d2d3 Nb8c6) +0.41/6 1} 3. Bc4 {(Bf1c4 Ng8f6 e4e5 Bb4xc3 d2xc3) +0.20/5 1} Bxc3 {(Bb4xc3 d2xc3 Ng8f6) +0.61/5 1} 4. dxc3 {(d2xc3 Ng8e7 Ng1f3 d7d5 Bc4d3) +0.25/5 1} Nf6 {(Ng8f6 f2f3 Nb8c6) +0.48/5 1} 5. e5 {(e4e5 Nf6g8 Bc1f4 Nb8c6 Ng1f3) +0.65/5 1} Ng8 {(Nf6g8 Bc1f4 Ng8e7) -0.09/6 1} 6. Qg4 {(Qd1g4 Ke8f8 Bc1g5 Ng8e7 Ng1f3) +0.62/5 1} g6 {(g7g6 Bc1g5 Ng8e7) +0.22/5 1} 7. Bg5 {(Bc1g5 f7f6 Bg5f4 Nb8c6) +0.55/4 1} Ne7 {(Ng8e7 OOO Nb8c6) +0.21/6 1} 8. Bf6 {(Bg5f6 OO Qg4g5 Nb8c6) +1.03/4 1} O-O {(OO Ng1f3 Nb8c6) +0.15/5 1} 9. Qg5 {(Qg4g5 Nb8c6 OOO d7d5) +1.03/4 1} Nbc6 {(Nb8c6 Qg5h6 Ne7f5) -0.44/5 1} 10. Qh6 {(Qg5h6 Ne7f5 Bf6xd8 Nf5xh6) +1.14/4 1} Nf5 {(Ne7f5 Bf6xd8 Nf5xh6) -0.58/5 1} 11. Qg5 {(Qh6g5 h7h6 Bf6xd8 h6xg5) +0.70/4 1} Qe8 {(Qd8e8 Ng1f3 b7b6) +0.58/6 1} 12. O-O-O {(OOO h7h6 Qg5f4 d7d5) +0.18/4 1} b6 {(b7b6 Ng1f3 h7h6) +0.62/5 1} 13. Nf3 {(Ng1f3 h7h6 Qg5f4 d7d5) +0.49/4 1} a5 {(a7a5 Bc4d3 h7h6) +0.45/4 1} 14. g4 {(g2g4 h7h6 Qg5d2 d7d5) +1.44/4 1} h6 {(h7h6 Qg5d2 Nf5e7) -0.65/5 1} 15. Qd2 {(Qg5d2 d7d5 Bc4xd5 e6xd5) +1.42/4 1} d5 {(d7d5 Bc4b5 Bc8a6) -1.13/5 1} 16. Bb5 {(Bc4b5 h6h5 g4xf5 g6xf5) +2.64/4 1} Kh7 {(Kg8h7 Bb5xc6 Qe8xc6) -1.78/5 1} 17. gxf5 {(g4xf5 g6xf5 c3c4) +3.10/3 1} Ba6 {(Bc8a6 Bb5xc6 Qe8xc6) -3.05/4 1} 18. Bxc6 {(Bb5xc6 Qe8xc6 Nf3d4) +4.15/3 1} Qxc6 {(Qe8xc6 f5xe6 f7xe6) -3.09/4 1} 19. fxg6+ {(f5xg6+ f7xg6 Nf3d4 Qc6d7) +4.10/4 1} fxg6 {(f7xg6 Nf3d4 Qc6d7) -3.18/4 1} 20. Nd4 {(Nf3d4 Qc6d7 Rh1e1 Ba6c4) +3.96/4 1} Qd7 {(Qc6d7 f2f4 c7c5) -2.77/5 1} 21. Rhe1 {(Rh1e1 c7c5 Nd4f3 Ba6c4) +3.76/4 1} c5 {(c7c5 Nd4f3 b6b5) -2.35/5 1} 22. Nf3 {(Nd4f3 g6g5 h2h4 g5xh4) +3.70/4 0} Qa4 {(Qd7a4 Kc1b1 Ra8a7) -2.33/5 0} 23. Kb1 {(Kc1b1 Ba6c4 a2a3 Ra8e8) +3.70/4 0} g5 {(g6g5 b2b3 Qa4g4) -2.38/4 0} 24. Qe3 {(Qd2e3 Kh7g8 Bf6e7 Rf8e8) +3.70/4 0} Bc4 {(Ba6c4 b2b3 Qa4b5) -2.40/4 0} 25. b3 {(b2b3 Qa4b5 a2a4 Qb5a6) +5.96/4 0} Qb5 {(Qa4b5 Bf6e7 Rf8xf3) -4.43/5 0} 26. a4 {(a2a4 Qb5a6 b3xc4 Qa6xc4) +6.00/4 0} Qa6 {(Qb5a6 b3xc4 Qa6xc4) -4.28/5 0} 27. bxc4 {(b3xc4 Qa6xc4 Bf6e7 Rf8e8) +6.02/4 0} Qxc4 {(Qa6xc4 Qe3d3+ Qc4xd3) -4.31/5 0} 28. Qd3+ {(Qe3d3+ Qc4xd3 c2xd3 g5g4) +5.78/4 0} Qxd3 {(Qc4xd3 c2xd3 g5g4) -4.42/6 0} 29. Nxg5+ {(Nf3xg5+ h6xg5 Rd1xd3 Rf8xf6 Rd3h3+ Kh7g8) +119.70/6 0} hxg5 {(h6xg5 c2xd3 Kh7h6) -2.24/6 0} 30. Rxd3 {(Rd1xd3 Rf8xf6 Rd3h3+ Kh7g8 Kb1a1) +8.73/5 0} g4 {(g5g4 c3c4 d5d4) -2.11/5 0} 31. Rg3 {(Rd3g3 Rf8g8 Re1g1 Ra8e8) +4.19/4 0} Rg8 {(Rf8g8 Re1g1 d5d4) -2.91/5 0} 32. Reg1 {(Re1g1 c5c4 Kb1b2 Kh7g6 Kb2a3) +2.53/5 0} Rac8 {(Ra8c8 Rg3xg4 Rg8xg4) -3.20/5 0} 33. Kb2 {(Kb1b2 Kh7h6 c3c4 Kh6h5 Kb2c3) +3.40/5 0} Rg6 {(Rg8g6 Rg3xg4 Rg6xg4) -3.20/5 0} 34. Rxg4 {(Rg3xg4 Rg6xg4 Rg1xg4 Kh7h6 Kb2b3) +4.83/5 0} Rxg4 {(Rg6xg4 Rg1xg4 Rc8c7) -3.52/5 0} 35. Rxg4 {(Rg1xg4 Rc8f8 Rg4h4+ Kh7g8 Rh4g4+ Kg8f7 Rg4g7+) -319.00/7 0} Kh6 {(Kh7h6 f2f4 Rc8c6) -3.44/6 0} 36. Rg7 {(Rg4g7 Rc8b8 Kb2c1 Rb8e8) +4.54/4 0} Kh5 {(Kh6h5 Rg7g5+ Kh5h6) -3.45/5 0} 37. Rg5+ {(Rg7g5+ Kh5h6 f2f4 Rc8c7 Kb2b3) +4.94/5 0} Kh6 {(Kh5h6 f2f4 Rc8c7) -3.49/5 0} 38. f4 {(f2f4 Rc8c7 c3c4 b6b5 Kb2c3) +4.86/5 0} Rc7 {(Rc8c7 c3c4 d5d4) -3.57/5 0} 39. Kc1 {(Kb2c1 Rc7d7 Kc1d2 b6b5 Kd2e3) +4.81/5 0} Rf7 {(Rc7f7 h2h4 Rf7a7) -3.45/5 0} 40. Kd2 {(Kc1d2 b6b5 Kd2d3 Rf7xf6 e5xf6 b5xa4) +23.20/6 0} Rb7 {(Rf7b7 h2h4 Rb7h7) -3.53/5 0} 41. Kd3 {(Kd2d3 Rb7f7 c3c4 b6b5 Bf6g7+ Rf7xg7) +23.52/6 0} Rf7 {(Rb7f7 c3c4 d5d4) -3.56/5 0} 42. c4 {(c3c4 Rf7d7 c4xd5 e6xd5 Bf6g7+ Rd7xg7) +24.55/6 0} Rd7 {(Rf7d7 c4xd5 e6xd5) -3.74/5 0} 43. cxd5 {(c4xd5 e6xd5 e5e6 Rd7h7 Bf6g7+ Rh7xg7) +24.90/6 0} Rxd5+ {(Rd7xd5+ Kd3e3 Rd5d4) -3.81/5 0} 44. Kc4 {(Kd3c4 Rd5d4+ Kc4c3 Rd4xf4 Kc3d3 Rf4xa4) +190.94/6 0} Rd4+ {(Rd5d4+ Kc4b5 Rd4b4+) -2.72/6 0} 45. Kc3 {(Kc4c3 Rd4xf4 Bf6e7 Rf4xa4 Be7f6) +4.99/5 0} Rxf4 {(Rd4xf4 Bf6d8 Rf4xa4) -1.78/5 0} 46. Rg7 {(Rg5g7 Kh6h5 Rg7g5+ Kh5h4 Rg5g7+) +3.80/5 0} Rf3+ {(Rf4f3+ Kc3c4 Rf3f1) -2.64/4 0} 47. Kc4 {(Kc3c4 Rf3f4+ Kc4b5 Rf4b4+) +5.25/4 0} Rf2 {(Rf3f2 Kc4b5 Rf2xh2) -3.07/5 0} 48. Kb5 {(Kc4b5 Rf2xh2 Kb5xb6 Kh6h5 Kb6xc5) +5.06/5 0} Rxh2 {(Rf2xh2 Kb5xb6 Rh2xc2) -3.11/5 0} 49. Kxb6 {(Kb5xb6 Rh2xc2 Rg7g5 Rc2f2 Rg5g7) +4.62/5 0} c4 {(c5c4 Kb6xa5 c4c3) -3.83/5 0} 50. Kxa5 {(Kb6xa5 Kh6h5 Ka5b6 Rh2xc2 Kb6c5 c4c3) +21.16/6 0} c3 {(c4c3 Ka5b4 Rh2xc2) -3.84/5 0} 51. Kb5 {(Ka5b5 Rh2d2 Rg7g3 Kh6h5 Rg3xc3) +6.04/5 0} Rxc2 {(Rh2xc2 Kb5b4 Rc2c1) -3.88/5 0} 52. Re7 {(Rg7e7 Kh6g6 Kb5c4 Kg6f5 Kc4d4) +4.98/5 0} Rb2+ {(Rc2b2+ Kb5a6 c3c2) -2.88/7 0} 53. Kc4 {(Kb5c4 c3c2 Bf6g7+ Kh6h5) +4.07/4 0} c2 {(c3c2 Bf6g7+ Kh6h5) +0.26/3 0} 54. Bg7+ {(Bf6g7+ Kh6h5 Bg7h6 Kh5xh6) +1.00/4 0} Kg5 {(Kh6g5 Bg7f6+ Kg5f4) +0.23/5 0} 55. Bf6+ {(Bg7f6+ Kg5f4 Bf6g5+ Kf4xg5) +0.14/4 0} Kf4 {(Kg5f4 Bf6g5+ Kf4xg5) +1.41/5 0} 56. Bg5+ {(Bf6g5+ Kf4xg5 Re7g7+ Kg5f5 Rg7g1) -3.09/5 0} Kxg5 {(Kf4xg5 Re7g7+ Kg5f4) +1.19/4 0} 57. Rg7+ {(Re7g7+ Kg5f4 Rg7g1 Kf4xe5) -1.48/4 0} Kh6 {(Kg5h6 Rg7g1 Rb2b1) +5.10/5 0} 58. Rg1 {(Rg7g1 Rb2b1 Rg1c1 Rb1xc1 Kc4d4) -0.38/5 0} Rb1 {(Rb2b1 Kc4c3 Rb1xg1) +4.88/6 0} 59. Rc1 {(Rg1c1 Rb1xc1 a4a5 Kh6g5 Kc4d4) -4.29/5 0} Rxc1 {(Rb1xc1 Kc4c3 Kh6g5) +5.05/6 0} 60. Kc3 {(Kc4c3 Rc1e1 Kc3xc2 Kh6g5 Kc2c3) -6.43/5 0} Re1 {(Rc1e1 Kc3xc2 Re1xe5) +5.12/6 0} 61. Kxc2 {(Kc3xc2 Re1e3 Kc2d2 Re3a3 a4a5) -6.23/5 0} Rxe5 {(Re1xe5 Kc2b3 Kh6g5) +5.21/7 0} 62. Kc3 {(Kc2c3 Re5d5 Kc3b3 Kh6g5 Kb3c4) -4.67/5 0} Kg5 {(Kh6g5 Kc3b4 Re5e4+) +5.04/6 0} 63. a5 {(a4a5 Kg5f4 a5a6 Kf4e4 Kc3c4) -7.51/5 0} Rxa5 {(Re5xa5 Kc3d4 Ra5d5+) +6.32/6 0} 64. Kd3 {(Kc3d3 Ra5a4 Kd3c3 Ra4a2) -6.69/4 0} Kf4 {(Kg5f4 Kd3c3 Ra5d5) +6.34/6 0} 65. Kc4 {(Kd3c4 Kf4e4 Kc4b4 Ra5a2 Kb4c4) -8.76/5 0} e5 {(e6e5 Kc4b4 Ra5d5) +6.45/6 0} 66. Kb4 {(Kc4b4 Ra5a2 Kb4c4 Kf4e4 Kc4c5 Ra2d2) -27.84/6 0} Rd5 {(Ra5d5 Kb4c4 Rd5d4+) +6.42/6 0} 67. Kc4 {(Kb4c4 Kf4e4 Kc4b3 Rd5d4 Kb3c3) -10.48/5 0} Rd1 {(Rd5d1 Kc4b3 Rd1c1) +6.49/6 0} 68. Kb4 {(Kc4b4 Rd1c1 Kb4b3 Kf4e4 Kb3b4) -9.69/5 0} e4 {(e5e4 Kb4a5 e4e3) +14.62/6 0} 69. Kc4 {(Kb4c4 Kf4e5 Kc4b4 Ke5d5 Kb4b5) -9.64/5 0} e3 {(e4e3 Kc4b3 e3e2) +14.68/6 0} 70. Kc3 {(Kc4c3 e3e2 Kc3c4 e2e1Q Kc4c5) -15.70/5 0} e2 {(e3e2 Kc3b3 Rd1c1) +14.55/5 0} 71. Kc2 {(Kc3c2 Kf4e5 Kc2c3 e2e1Q+) -15.90/4 0} e1=Q {(e2e1Q Kc2b3 Rd1c1) +14.80/6 0} 72. Kb3 {(Kc2b3 Rd1b1+ Kb3c2) -16.35/3 0} Rd3+ {(Rd1d3+ Kb3c4 Qe1b1) +M5/4 0} 73. Kc4 {(Kb3c4 Qe1e4+) -15.95/2 0} Qc3+ {(Qe1c3+ Kc4b5 Rd3d6) +M5/4 0} 74. Kb5 {(Kc4b5 Qc3b2+ Kb5c5) -16.55/3 0} Rd6 {(Rd3d6 Kb5a4 Qc3b2) +M3/3 0} 75. Ka4 {(Kb5a4 Rd6d4+ Ka4b5 Qc3b4+) -16.75/4 0} Qb2 {(Qc3b2 Ka4a5) +M2/2 0} 76. Ka5 {(Ka4a5 Rd6d5+ Ka5a4 Rd5d4+) -16.75/4 0} Qb7 {(Qb2b7 Ka5a4) +M2/2 0} 77. Ka4 {(Ka5a4 Rd6a6+) -M1/4 0} Ra6# {(Rd6a6+) +319.00/1 0} 0-1 [/pgn]
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by Gabor Szots »

shinkarom wrote: Fri Nov 22, 2019 10:21 am If by "testing" you mean CCRL, then it would be insanity to ask for that now (or maybe ever). And that was not yet the intention of my post. If you mean just playing a couple of games, then it still needs a lot of work.
OK then. I did mean testing for CCRL and I have not given up on Mussaurus for ever. From the game you posted I gather that it can play fairly reasonable chess. For your information, the weakest engine on the list that has games from me is Soberango (in fact I did play 32 games with AcquaD but I expected a stronger engine when I did that).
Gabor Szots
CCRL testing group
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by shinkarom »

I've converted the search to fail-soft, just because.
May I request that somebody give a cursory glance to https://github.com/shinkarom/mussaurus/ ... e/search.d and check it for blunders?
RubiChess
Posts: 584
Joined: Fri Mar 30, 2018 7:20 am
Full name: Andreas Matthies

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by RubiChess »

shinkarom wrote: Thu Nov 21, 2019 9:00 am Nobody has anything to say to me at all?
All I can say is that the VICE videos on youtube were a great introduction to chess programming for me.
Keep on going!

Andreas
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by shinkarom »

Yes, Bluefever has done well, even about reading Polyglot books.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Mussaurus 0.1-prealpha - a poor man's Vice

Post by Ovyron »

shinkarom wrote: Thu Nov 21, 2019 2:11 pm@Ovyron Well, didn't you smile when you saw the poor and sloppy shape my code is in?
Ha! I doubt you can write more sloppy code than me! I'm not a fan of "for" loops, so I use the "goto" command everywhere. Actually, the reason I quit coding was because after a few years I'd check my old projects and the code was so unreadable that I couldn't know what it was doing anymore.

Whatever status you think Mussaurus is at, it definitively beats my only "from scratch" effort. I tried building a chess GUI, and it looked beautiful, the problem was that when the user moved pieces around (and I only implemented click on piece and click on destination, never dragging) randomly pieces would just move towards the destination square, miss it, and keep moving forever, and it would hang (because nothing else would be done until it reached it, but after missing it it'd move away from it), and I never knew why. I managed to reduce it to 1 in 100 attempts, but the next time it hung I gave up, I couldn't deal with it, because I always thought I had finally fixed it, only to see a piece flying off the board forever making all my fixes useless...

So yeah, don't compare to others, realize that if Mussaurus was the only engine around, it'd be the best one, and never surrender :)