Page 7 of 25

Re: A complete 2000 lines of code engine

Posted: Fri Dec 28, 2018 5:47 pm
by emadsen
Yes, perhaps it’s a time management issue. I ran the match overnight and did not watch the games. I simply verified in the morning there were no abnormal terminations.

When I get home tonight I’ll test at 40/4 and update this thread with my results, Minic’s NPS, etc.

Re: A complete 2000 lines of code engine

Posted: Sat Dec 29, 2018 9:28 am
by xr_a_y
Ok, so here's last night results of Minic 0.28 (not really converged ... +/-60, ) at 40/0:20 :

Code: Select all

Rank Name                          Elo     +/-   Games   Score   Draws
   1 myrddin                       131      67     100   68.0%   16.0%
   2 sungorus64                     14      61     100   52.0%   22.0%
   3 zevra                         -14      60     100   48.0%   24.0%
Myrddin 0.87 is 2487, so 130 weaker is 2350. Sungorus is 2312 and zevra 1.8.6 is 2302.

The test at 40/1 against Isa 2.0.64 gives 137-113-69 for Isa so around +26elo for Isa that is 2329.

Minic seems to be between 2300 and 2400 (more 2300 than 2400). This is more or less coherent with Minic results versus Weini (or the stupid test against Fruit2.1).

I'll run an incremental TC test soon.

I guess Minic is weaker than Madchess. Madchess 3 has some good passer eval (taking king square, free, unstoppable into account). I often see Weini and Minic loss end game, I guess I should work on end game evaluation. Also Minic only see FIDE draws not "near" draw (like KRRK, KNKR, ...) so it might go to a drawish end-game thinking it can win...

Re: A complete 2000 lines of code engine

Posted: Sun Dec 30, 2018 6:34 am
by emadsen
Looks like Minic has time management issues for games with incremental time controls. I ran another match between MadChess 3.0 Beta and Minic 0.28 using a time control of 40 moves in 4 minutes. Minic won the match.

Code: Select all

# PLAYER          :  RATING  ERROR  CFS(%)  PLAYED    W    D    L   (%)  OppAvg
1 Minic 0.28      :  2407.0   19.7     100    1000  511  197  292    61  2329.0
2 MadChess 3.0    :  2329.0   ----     ---    1000  292  197  511    39  2407.0
The absolute ELO values are not relevant. I don't have a database of 40/4m games involving MadChess and Minic playing a pool of other engines (I test using a time control of 2m+1s). The relative ELO is what matters. Minic is 78 ELO stronger than MadChess 3.0 beta at this time control.
I guess Minic is weaker than Madchess.
Depends on the time control (until you improve Minic's time management with incremental time controls) and the version of MadChess. The 3.0 Beta version (a rewrite using bitboards still in early development) is weaker than the 2.2 release version (mailbox). So yes, Minic is weaker than MadChess 2.2 but likely stronger than 3.0 Beta.

Vivien, to answer your question from an earlier post: Minic on my PC (AMD Ryzen Threadripper 1950X) runs at ~1.1 million NPS in the middlegame.

Re: A complete 2000 lines of code engine

Posted: Sun Dec 30, 2018 9:03 am
by xr_a_y
Thanks lot for those tests.

Re: A complete 2000 lines of code engine

Posted: Sat Jan 05, 2019 4:44 pm
by xr_a_y
Minic 0.29 is released. Nearly +100elo.

Re: A complete 2000 lines of code engine

Posted: Sat Jan 05, 2019 4:56 pm
by CMCanavessi
Wow, progress is so fast... "Etherealesque"

Re: A complete 2000 lines of code engine

Posted: Sat Jan 05, 2019 5:37 pm
by xr_a_y
CMCanavessi wrote: Sat Jan 05, 2019 4:56 pm Wow, progress is so fast... "Etherealesque"
Thanks for the compliment, but Minic will probably never reach Ethereal strength ... and I am probably far less skilled than Andrew.

The improvement between 0.28 and 0.29 is mainly linked to a bug in TT (the previous stored score was total crap), and a better use of SEE I guess.
Evaluation is still very poor, but I'm working on it, maybe the next release will have a more complex eval.

Minic is now near 3000sloc, so my plan to stick near 2000sloc seems to vanish. Some part of the code needs quite some lines (SMP, material table, evaluation, ...). I'll try to compact things a little to get back to 2500sloc maybe ...

Re: A complete 2000 lines of code engine

Posted: Sun Jan 06, 2019 4:21 pm
by xr_a_y
Minic has a lichess bot now : https://lichess.org/@/Minic-chess_engine :D
It won't be playing 24/7.

Re: A complete 2000 lines of code engine

Posted: Mon Jan 07, 2019 3:51 pm
by MikeB
xr_a_y wrote: Sun Jan 06, 2019 4:21 pm Minic has a lichess bot now : https://lichess.org/@/Minic-chess_engine :D
It won't be playing 24/7.
Keep up the good work!

Re: A complete 2000 lines of code engine

Posted: Mon Jan 07, 2019 4:39 pm
by MikeB
MikeB wrote: Mon Jan 07, 2019 3:51 pm
xr_a_y wrote: Sun Jan 06, 2019 4:21 pm Minic has a lichess bot now : https://lichess.org/@/Minic-chess_engine :D
It won't be playing 24/7.
Keep up the good work!
I played a two quick knights odds games vs McCain 5 sec game with 5 sec increment. single core/thread 256 hash. They split the set.
[pgn] [Event "Mac Pro x5690 3.46 Ghz"] [Site "Mac-Pro.local"] [Date "2019.01.07"] [Round "-"] [White "Minic 0.29"] [Black "McCain X1"] [Result "1-0"] [TimeControl "1+1"] [FEN "r1bqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"] [SetUp "1"] 1. e4 {+3.54/14 +1} e6 {-3.41/19 +1} 2. Nf3 {+3.47/13 +1} d5 {-3.40/17 +1} 3. e5 {+3.56/12 +1} c5 {-3.44/21 +1} 4. Nc3 {+3.45/12 +1} Ne7 {-3.24/18 +1} 5. Bb5+ {+3.29/11 +2} Bd7 {-3.11/17 +2} 6. a4 {+3.28/13 +2} a6 {-3.08/19 +2} 7. Bxd7+ {+3.13/13 +2} Qxd7 {-3.01/20 +2} 8. O-O {+3.06/12 +2} Qc7 {-2.97/21 +2} 9. d4 {+3.17/13 +2} cxd4 {-3.09/20 +2} 10. Qxd4 {+3.31/12 +2} Nc6 {-2.98/21 +1} 11. Qd1 {+3.04/10 +3} Be7 {-2.81/19 +1} 12. Bf4 {+3.11/12 +3} h6 {-2.77/17 +1} 13. Bg3 {+3.13/11 +3} O-O-O {-2.92/19 +1} 14. Ne2 {+3.27/12 +3} g5 {-2.74/16 +1} 15. h3 {+3.41/13 +3} h5 {-2.88/20 +1} 16. c3 {+3.26/12 +3} Rdg8 {-2.33/19 +1} 17. Ned4 {+3.58/12 +3} g4 {-2.46/19 +1} 18. hxg4 {+3.77/11 +4} hxg4 {-2.58/19 +1} 19. Nxc6 {+4.02/12 +4} Qxc6 {-2.81/19 +1} 20. Nh2 {+4.24/13 +4} Rh5 {-2.54/20 +1} 21. Nxg4 {+4.41/13 +4} Rgh8 {-2.44/16 +1} 22. Bh2 {+4.41/12 +4} Kb8 {-2.30/18 +1} 23. Re1 {+4.78/11 +4} Qc8 {-2.70/20 +1} 24. Re3 {+4.58/10 +4} Qg8 {-2.56/21 +1} 25. Rh3 {+3.46/11 +4} Rxh3 {-3.07/23 +1} 26. gxh3 {+3.52/14 +4} Rxh3 {-3.11/21 +2} 27. Bg3 {+3.65/14 +4} Rh8 {-3.24/24 +1} 28. Nf6 {+3.59/12 +4} Qg6 {-3.29/22 +1} 29. Qf3 {+3.64/13 +5} Ka7 {-3.13/18 +1} 30. Rc1 {+3.49/11 +5} Bxf6 {-3.12/21 +1} 31. exf6 {+3.75/15 +5} Qg5 {-3.17/20 +1} 32. Qf4 {+3.76/15 +5} Qxf4 {-3.43/19 +1} 33. Bxf4 {+3.82/15 +5} b6 {-3.60/21 +1} 34. Be5 {+3.84/14 +5} a5 {-3.75/21 +1} 35. Kg2 {+3.87/16 +5} Ka6 {-3.89/21 +1} 36. b3 {+3.86/13 +5} b5 {-4.15/22 +1} 37. Kg3 {+3.80/14 +5} Kb6 {-4.29/23 +1} 38. Ra1 {+3.83/14 +5} Rh5 {-4.63/22 +1} 39. Bd4+ {+4.07/15 +5} Ka6 {-5.13/22 +1} 40. axb5+ {+4.27/15 +5} Kxb5 {-5.12/24 +1} 41. Kf4 {+4.27/15 +5} Rh8 {-5.33/23 +1} 42. Ke5 {+4.30/16 +5} Kc6 {-5.52/21 +1} 43. Rxa5 {+5.92/14 +5} Rh5+ {-5.70/21 +1} 44. Kf4 {+6.42/13 +5} e5+ {-5.94/21 +1} 45. Bxe5 {+7.02/12 +5} d4 {-6.76/21 +1} 46. cxd4 {+7.89/12 +5} Rh4+ {-7.51/21 +1} 47. Kg5 {+8.83/11 +5} Rh1 {-8.68/22 +1} 48. Ra7 {+9.41/13 +5} Kb6 {-38.06/17 +1} 49. Rxf7 {+10.18/12 +5} Rg1+ {-48.08/18 +1} 50. Bg3 {+10.45/10 +6} Rd1 {-54.48/20 +1} 51. Re7 {+15.19/12 +3} {User adjudication} 1-0 [Event "Mac Pro x5690 3.46 Ghz"] [Site "Mac-Pro.local"] [Date "2019.01.07"] [Round "-"] [White "McCain X1"] [Black "Minic 0.29"] [Result "1-0"] [TimeControl "5+5"] [FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"] [SetUp "1"] 1. d4 {-2.90/23 +8} Nf6 {+3.07/16 +6} 2. Bg5 {-2.99/25 +5} g6 {+3.30/16 +7} 3. e3 {-2.82/22 +7} Bg7 {+3.24/16 +8} 4. Bd3 {-2.99/23 +5} O-O {+3.26/17 +9} 5. Nf3 {-2.93/21 +5} h6 {+3.28/16 +9} 6. Bh4 {-2.93/22 +5} d5 {+3.29/16 +10} 7. O-O {-2.92/19 +8} Be6 {+3.30/15 +11} 8. Nd2 {-2.81/22 +9} Nc6 {+3.48/12 +12} 9. c3 {-2.57/18 +12} Na5 {+3.29/13 +13} 10. f4 {-2.82/22 +5} Nc4 {+3.39/13 +13} 11. Bxc4 {-2.49/19 +8} dxc4 {+3.39/14 +14} 12. e4 {-2.20/20 +9} b5 {+3.44/15 +15} 13. h3 {-2.23/20 +11} Rc8 {+3.40/15 +15} 14. Qf3 {-2.13/21 +5} c6 {+3.45/15 +16} 15. g4 {-2.13/20 +8} Nh7 {+3.38/14 +17} 16. f5 {-2.24/21 +5} Bd7 {+3.24/14 +17} 17. Qe3 {-2.31/19 +6} Nf6 {+3.15/13 +18} 18. e5 {-2.05/19 +9} Nd5 {+3.03/14 +18} 19. Qf3 {-1.88/21 +12} a6 {+2.92/13 +19} 20. Ne4 {-1.83/19 +15} a5 {+2.76/13 +19} 21. Rae1 {-1.87/23 +6} Bh8 {+2.80/15 +20} 22. Nc5 {-1.56/19 +9} g5 {+2.65/16 +20} 23. Bg3 {-1.21/19 +12} Bg7 {+2.59/17 +21} 24. h4 {-1.11/22 +13} a4 {+2.53/15 +21} 25. hxg5 {+0.00/21 +16} hxg5 {+2.60/15 +21} 26. a3 {+0.65/22 +18} Be8 {+2.56/15 +22} 27. Qh1 {+2.62/21 +18} Qb6 {+2.25/17 +22} 28. Qh3 {+4.92/21 +20} Ra8 {+2.28/14 +22} 29. Rf2 {+11.76/23 +23} Rd8 {+2.60/11 +23} 30. Rh2 {+1000.04/58 +26} Nf6 {-99.93/58 +27} 31. exf6 {+1000.03/99 +28} Bh6 {-99.95/58 +32} 32. Qxh6 {+1000.02/125 +29} exf6 {-99.97/58 +37} 33. Qh8# {+1000.01/127 +34} {White mates} 1-0[/pgn]

Here's macOS Minic: