What is the strongest python engine?

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

Moderators: hgm, Rebel, chrisw

dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

What is the strongest python engine?

Post by dkappe »

I’m putting the finishing touches on my engine, a0lite. It uses the badgyal-8 network — a Frankenstein monster trained up on lichess games and shallow sf multipv search — and is written entirely in python.

I’ve been looking for sparring partners that are also written in python. So far the only vaguely strong one I’ve found was Feeks (https://github.com/flok99/feeks). At 1 min + 1 sec, a0lite wins all games. A sample:

[pgn]
[Event "A0Lite vs Feeks II: Feeks - A0Lite"]
[Site "https://lichess.org/study/c2VDeWZV/lp6oyjiq"]
[Date "2020.03.20"]
[Round "2"]
[White "Feeks"]
[Black "A0Lite"]
[Result "0-1"]
[TimeControl "60+1"]
[Termination "adjudication"]
[UTCDate "2020.03.21"]
[UTCTime "02:42:17"]
[Variant "Standard"]
[ECO "A45"]
[Opening "Indian Game"]
[Annotator "https://lichess.org/@/dkappe"]

1. d4 { book } 1... Nf6 { book } 2. Bf4 { book } 2... c5 { book } 3. d5 { book } 3... d6 { book } 4. Nc3 { -0.10/6 2.5s } 4... e5 { 2.4s } 5. Bg3 { +0.02/6 3.7s } 5... b5 { 2.3s } 6. Nxb5 { +0.97/6 3.4s } 6... Qa5+ { 2.2s } 7. Nc3 { +0.18/6 3.6s } 7... Nbd7 { 2.2s } 8. Nf3 { +1.17/5 1.8s } 8... Ne4 { 2.2s } 9. Qd3 { +1.12/6 2.3s } 9... f5 { 2.1s } 10. Qb5 { +1.18/5 1.7s } 10... Qxb5 { 2.1s } 11. Nxb5 { +1.12/6 3.2s } 11... Rb8 { 2.0s } 12. Nxa7 { +2.11/6 1.7s } 12... Ba6 { 2.0s } 13. O-O-O { +2.12/6 2.5s } 13... Ra8 { 1.9s } 14. Nc6 { +2.23/6 1.8s } 14... g5 { 1.9s } 15. Rg1 { +1.66/5 2.6s } 15... f4 { 1.9s } 16. Nxg5 { +0.23/5 1.5s } 16... Nxg5 { 1.8s } 17. Bh4 { +0.21/6 1.8s } 17... Rg8 { 1.8s } 18. Bxg5 { +0.16/5 2.5s } 18... Rxg5 { 1.8s } 19. a3 { +0.12/6 1.3s } 19... Nf6 { 1.7s } 20. b4 { +0.11/5 1.5s } 20... e4 { 1.7s } 21. bxc5 { +0.22/5 2.0s } 21... Rxd5 { 1.7s } 22. Rxd5 { +0.26/6 1.9s } 22... Nxd5 { 1.7s } 23. cxd6 { -0.62/6 0.99s } 23... Bxd6 { 1.6s } 24. a4 { -0.78/6 0.87s } 24... Rc8 { 1.6s } 25. Na7 { +0.13/6 1.1s } 25... Rc7 { 1.6s } 26. Nb5 { -0.53/6 1.1s } 26... Bxb5 { 1.5s } 27. axb5 { -0.63/6 0.77s } 27... Bc5 { 1.5s } 28. g4 { -0.68/6 0.99s } 28... Bxf2 { 1.5s } 29. h4 { -1.46/5 1.3s } 29... Bxg1 { 1.5s } 30. Bg2 { -6.23/6 0.77s } 30... Nc3 { 1.5s } 31. Kb2 { -6.92/5 1.2s } 31... Bd4 { 1.4s } 32. Ka3 { -7.15/5 1.1s } 32... Ra7+ { 1.4s } 33. Kb4 { -6.18/5 1.1s } 33... Ra4+ { 1.4s } 34. Kb3 Kf7 { 1.4s } 35. Bxe4 { -4.70/5 0.99s } 35... Nxe4 { 1.4s } 36. Kxa4 { -4.33/6 0.95s } 36... Nc3+ { 1.4s } 37. Ka5 { -4.31/6 0.47s } 37... Nxe2 { 1.3s } 38. b6 { -4.28/6 0.45s } 38... f3 { 1.3s } 39. b7 { -4.48/6 0.58s } 39... Ba7 { 1.3s } 40. Ka6 { -5.31/6 0.65s } 40... Bb8 { 1.3s } 41. g5 { -8.23/7 1.3s } 41... f2 { 1.3s } 42. Kb5 { -12.30/7 1.4s } 42... f1=Q { 1.3s } 43. h5 { -13.38/5 0.85s } 43... Qf5+ { 1.3s } 44. Kb6 { -14.23/6 1.2s } 44... Nd4 { 1.3s } 45. c4 { -14.18/6 1.4s } 45... Qxg5 { 1.3s } 46. c5 { -15.40/6 0.95s, Black wins by adjudication } 0-1

[/pgn]

I can still goose the performance 5-15 fold, but I’d like to establish a0lite as the king of the python hill. I know there’s sunfish (https://github.com/thomasahle/sunfish), but it seems kind of weak. Any other possible challengers?
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: What is the strongest python engine?

Post by dkappe »

Another game against a CCRL ~2150 engine at 3 min + 2 sec.

[pgn]

[Event "A0Lite vs Various I: Baislicka - A0Lite"]
[Site "https://lichess.org/study/Gj9NmP2G/AlJO1fFS"]
[Date "2020.03.20"]
[Round "3"]
[White "Baislicka"]
[Black "A0Lite"]
[Result "0-1"]
[TimeControl "60+1"]
[Termination "adjudication"]
[UTCDate "2020.03.21"]
[UTCTime "04:40:45"]
[Variant "Standard"]
[ECO "D02"]
[Opening "Queen's Pawn Game: London System"]
[Annotator "https://lichess.org/@/dkappe"]

1. d4 { book } 1... d5 { book } 2. Nf3 { book } 2... Nf6 { book } 3. Bf4 { book } 3... g6 { book } 4. h3 { +0.43/9 0.84s } 4... c5 { 3.3s } 5. dxc5 { +0.75/9 0.97s } 5... Bg7 { 3.2s } 6. c3 { +1.06/8 0.76s } 6... Nbd7 { 3.0s } 7. Qa4 { +1.18/9 1.3s } 7... O-O { 2.9s } 8. c6 { +0.93/9 0.72s } 8... Nb6 { 2.8s } 9. cxb7 { +0.94/10 1.0s } 9... Bxb7 { 2.7s } 10. Qb5 { +0.88/10 1.4s } 10... Nfd7 { 2.6s } 11. Nbd2 { +0.98/8 1.2s } 11... a5 { 2.5s } 12. a3 { +1.07/8 0.89s } 12... e5 { 2.4s } 13. Bg5 { +0.79/9 0.76s } 13... Qc7 { 2.4s } 14. e3 { +0.65/9 0.93s } 14... h6 { 2.3s } 15. Be7 { +0.52/9 0.69s } 15... Rfe8 { 2.2s } 16. Bh4 { +0.40/10 1.1s } 16... Bc6 { 2.2s } 17. Qe2 { +0.36/10 0.79s } 17... Na4 { 2.1s } 18. c4 { -0.54/9 1.3s } 18... d4 { 2.0s } 19. Rc1 { -0.75/8 0.95s } 19... Ndc5 { 2.0s } 20. Qd1 { -1.82/9 1.3s } 20... Nxb2 { 1.9s } 21. Qc2 { -2.95/10 1.7s } 21... Rab8 { 1.9s } 22. Rb1 { -2.16/9 1.0s } 22... Ba4 { 1.8s } 23. Qxb2 { -2.29/10 0.98s } 23... Rxb2 { 1.8s } 24. Rxb2 { -2.69/11 1.5s } 24... dxe3 { 1.7s } 25. fxe3 { -3.01/10 0.83s } 25... e4 { 1.7s } 26. Nd4 { -4.66/10 0.91s } 26... Bxd4 { 1.6s } 27. exd4 { -7.86/11 1.9s } 27... Nd3+ { 1.6s } 28. Bxd3 { -6.62/10 1.7s } 28... exd3+ { 1.6s } 29. Kf1 { -9.46/9 1.6s } 29... Qf4+ { 1.5s } 30. Nf3 { -10.13/10 0.81s } 30... Qc1+ { 1.5s } 31. Kf2 { -10.91/10 0.88s } 31... Qxb2+ { 1.5s } 32. Kg3 { -10.98/10 3.9s } 32... Re2 { 1.5s } 33. Rg1 { -12.32/9 2.5s, Black wins by adjudication } 0-1

[/pgn]
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: What is the strongest python engine?

Post by dkappe »

Now it looks like we have the number of a CCRL 2445 engine in 3+2. Only tweak was a little prefetching of high policy children which doubled the nps. I'm tempted to go mutithreaded, but I want to keep the code simple.

[pgn]
[Event "?"]
[Site "?"]
[Date "2020.03.21"]
[Round "1"]
[White "A0Lite"]
[Black "Tunguska-1.1"]
[Result "1-0"]
[ECO "D07"]
[GameDuration "00:09:56"]
[GameEndTime "2020-03-21T19:00:41.099 CDT"]
[GameStartTime "2020-03-21T18:50:44.791 CDT"]
[Opening "QGD"]
[PlyCount "130"]
[Termination "adjudication"]
[TimeControl "180+2"]
[Variation "Chigorin defense"]

1. d4 {book} d5 {book} 2. c4 {book} Nc6 {book} 3. cxd5 {book} Qxd5 {book}
4. e3 {15s} e5 {-0.01/15 8.0s} 5. Nc3 {14s} Bb4 {-0.21/16 7.8s} 6. a3 {13s}
Bxc3+ {-0.01/15 7.6s} 7. bxc3 {12s} Nf6 {-0.15/15 7.4s} 8. c4 {11s}
Qd6 {-0.15/15 7.2s} 9. d5 {10s} Ne7 {-0.35/14 7.1s} 10. a4 {9.7s}
Ne4 {-0.09/14 6.9s} 11. Ba3 {9.0s} Qf6 {-0.21/15 6.7s} 12. Nf3 {8.5s}
Bg4 {-0.04/14 6.6s} 13. Bd3 {7.9s} Ng5 {0.00/14 6.4s} 14. Be2 {7.4s}
Bxf3 {-0.31/13 6.3s} 15. Bxf3 {7.0s} Nxf3+ {-0.08/14 6.1s} 16. Qxf3 {6.6s}
Qxf3 {-0.21/16 6.0s} 17. gxf3 {6.2s} Ng6 {-0.10/15 5.9s} 18. Ke2 {5.8s}
O-O-O {-0.12/15 5.7s} 19. h4 {5.5s} h5 {-0.06/14 5.6s} 20. Bc5 {5.2s}
b6 {-0.06/15 5.5s} 21. Ba3 {5.0s} Rd7 {-0.04/14 5.4s} 22. Bb4 {4.7s}
Rhd8 {-0.02/14 5.3s} 23. Rhg1 {4.5s} Kb7 {-0.04/14 5.1s} 24. Rg5 {4.3s}
Rh8 {-0.04/16 5.0s} 25. a5 {4.1s} Rh6 {-0.03/14 4.9s} 26. a6+ {3.9s}
Kc8 {-0.10/15 4.8s} 27. Rag1 {3.7s} Rh7 {-0.27/16 4.7s} 28. Bc3 {3.7s}
Re7 {-0.26/17 4.7s} 29. Bb4 {3.5s} Rd7 {0.00/24 4.6s} 30. f4 {3.4s}
exf4 {+0.19/16 4.5s} 31. e4 {3.2s} f3+ {+0.10/15 4.4s} 32. Kd2 {3.1s}
c6 {-0.25/17 4.3s} 33. Bc3 {3.0s} Nxh4 {-0.22/16 4.2s} 34. Rxg7 {2.9s}
Rxg7 {-0.64/16 4.2s} 35. Rxg7 {2.9s} Ng6 {-0.79/17 4.1s} 36. Ke3 {2.8s}
cxd5 {-1.25/17 4.0s} 37. cxd5 {2.7s} h4 {-1.29/16 4.0s} 38. Kxf3 {2.7s}
b5 {-1.74/16 3.9s} 39. Kg4 {2.6s} Kc7 {-1.30/16 3.8s} 40. f4 {2.6s}
b4 {-1.11/17 3.8s} 41. Bf6 {2.5s} Kd6 {-1.96/16 3.7s} 42. Rg8 {2.6s}
Kc7 {-2.86/16 3.7s} 43. Ra8 {2.4s} Kb6 {-3.33/17 3.6s} 44. f5 {2.4s}
Ne7 {-3.25/18 3.5s} 45. Rb8+ {2.4s} Kxa6 {-3.23/18 3.5s} 46. Rxb4 {2.3s}
h3 {-3.34/18 3.4s} 47. Kxh3 {2.3s} Nc8 {-3.48/18 3.4s} 48. Kg4 {2.3s}
Nb6 {-3.52/18 3.3s} 49. Kg5 {2.3s} Kb7 {-3.81/16 3.3s} 50. Bd4 {2.2s}
Kc7 {-4.50/17 3.3s} 51. Kf6 {2.2s} Nc8 {-5.11/16 3.2s} 52. Be5+ {2.2s}
Kd8 {-5.41/17 3.2s} 53. Rb8 {2.2s} a5 {-5.83/21 3.1s} 54. Bf4 {2.2s}
a4 {-4.69/18 3.1s} 55. Ra8 {2.1s} a3 {-6.36/17 3.1s} 56. Rxa3 {2.1s}
Re7 {-6.36/15 3.0s} 57. e5 {2.1s} Nb6 {-9.45/16 3.0s} 58. d6 {2.1s}
Nd5+ {-10.75/16 3.0s} 59. Kg7 {2.1s} Rb7 {-13.12/17 2.9s} 60. Bg5+ {2.1s}
f6+ {-7.06/14 2.9s} 61. Kg6 {2.1s} fxg5 {-9.26/15 2.9s} 62. e6 {2.1s}
Rb8 {-13.50/15 2.8s} 63. f6 {2.1s} Nf4+ {-14.13/14 2.8s} 64. Kf7 {2.1s}
Kc8 {-16.63/15 2.8s} 65. e7 {2.1s}
Kd7 {-11.96/19 2.8s, White wins by adjudication} 1-0
[/pgn]

and the reverse

[pgn]
[Event "?"]
[Site "?"]
[Date "2020.03.21"]
[Round "1"]
[White "Tunguska-1.1"]
[Black "A0Lite"]
[Result "0-1"]
[ECO "D07"]
[GameDuration "00:09:48"]
[GameEndTime "2020-03-21T19:10:29.891 CDT"]
[GameStartTime "2020-03-21T19:00:41.681 CDT"]
[Opening "QGD"]
[PlyCount "127"]
[Termination "adjudication"]
[TimeControl "180+2"]
[Variation "Chigorin defense"]

1. d4 {book} d5 {book} 2. c4 {book} Nc6 {book} 3. cxd5 {book} Qxd5 {book}
4. Nf3 {+0.36/15 8.0s} e5 {15s} 5. Nc3 {+0.37/15 7.8s} Bb4 {14s}
6. dxe5 {+0.32/15 7.6s} Qxd1+ {13s} 7. Kxd1 {+0.18/14 7.4s} Be6 {12s}
8. Ke1 {+0.38/13 7.2s} Nge7 {11s} 9. e4 {+0.34/15 7.1s} O-O-O {10s}
10. a3 {+0.33/14 6.9s} Bc5 {9.7s} 11. Bg5 {+0.41/14 6.7s} h6 {9.0s}
12. Bh4 {+0.33/15 6.6s} g5 {8.5s} 13. Bg3 {+0.35/16 6.4s} Ng6 {7.9s}
14. h3 {+0.43/15 6.3s} Nd4 {7.4s} 15. Rc1 {+0.49/14 6.1s} Nxf3+ {7.0s}
16. gxf3 {+0.27/14 6.0s} Bd4 {6.6s} 17. Nb5 {+0.14/15 5.9s} Bxb2 {6.2s}
18. Rb1 {-0.06/16 5.7s} Bd4 {5.8s} 19. Nxd4 {0.00/18 5.6s} Rxd4 {5.5s}
20. h4 {-0.01/17 5.5s} Ra4 {5.2s} 21. hxg5 {-0.38/16 5.4s} hxg5 {4.9s}
22. Rxh8+ {-0.80/17 5.3s} Nxh8 {4.7s} 23. Ra1 {-0.80/18 5.1s} Ng6 {4.5s}
24. Be2 {-0.74/17 5.0s} Nf4 {4.3s} 25. Bd1 {-0.75/17 4.9s} Rd4 {4.1s}
26. Bxf4 {0.00/17 4.8s} gxf4 {3.9s} 27. Ke2 {-0.66/18 4.7s} c5 {3.8s}
28. Rc1 {-0.77/19 4.7s} b6 {3.6s} 29. Ke1 {-0.83/18 4.6s} Rd3 {3.5s}
30. Ra1 {-0.88/18 4.5s} b5 {3.4s} 31. Rb1 {-0.38/17 4.4s} a6 {3.2s}
32. a4 {-0.80/18 4.3s} b4 {3.1s} 33. Be2 {-1.77/18 4.2s} Ra3 {3.0s}
34. Rc1 {-1.82/18 4.2s} Kb7 {2.9s} 35. Rxc5 {-2.54/18 4.1s} Rxa4 {2.9s}
36. Rc1 {-1.84/16 4.0s} b3 {2.8s} 37. Rb1 {-2.62/19 4.0s} a5 {2.7s}
38. Bd1 {-3.46/20 3.9s} Rb4 {2.7s} 39. Kd2 {-1.47/19 3.8s} a4 {2.6s}
40. Kc3 {-2.95/21 3.8s} Rb6 {2.6s} 41. Kb2 {-2.59/20 3.7s} Rc6 {2.5s}
42. Ka3 {-2.97/20 3.7s} Rc4 {2.5s} 43. Bxb3 {-2.98/19 3.6s} axb3 {2.4s}
44. Rxb3+ {-3.87/20 3.5s} Kc6 {2.4s} 45. Kb2 {-4.25/20 3.5s} Kc5 {2.4s}
46. Rd3 {-4.27/19 3.4s} Rb4+ {2.3s} 47. Kc1 {-4.57/20 3.4s} Kc4 {2.3s}
48. Ra3 {-4.50/19 3.3s} Kd4 {2.3s} 49. Kc2 {-4.46/19 3.3s} Bc4 {2.3s}
50. e6 {-4.35/20 3.3s} fxe6 {2.2s} 51. Kc1 {-6.16/20 3.2s} Be2 {2.2s}
52. Kc2 {-6.07/18 3.2s} e5 {2.2s} 53. Kd2 {-6.27/19 3.1s} Rb2+ {2.2s}
54. Kc1 {-6.48/18 3.1s} Rb5 {2.2s} 55. Kd2 {-6.40/21 3.1s} Bc4 {2.1s}
56. Kc2 {-6.49/20 3.0s} Rb8 {2.1s} 57. Kc1 {-6.98/20 3.0s} Bd3 {2.1s}
58. Ra4+ {-7.26/25 3.0s} Kc3 {2.1s} 59. Ra3+ {-8.08/25 2.9s} Rb3 {2.1s}
60. Rxb3+ {-9.04/26 2.9s} Kxb3 {2.1s} 61. Kd2 {-14.10/36 2.9s} Bb5 {2.1s}
62. Ke1 {-14.13/39 2.8s} Kc3 {2.1s} 63. Kd1 {-18.86/42 2.8s} Bc4 {2.1s}
64. Ke1 {-18.86/32 2.8s, Black wins by adjudication} 0-1

[/pgn]
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: What is the strongest python engine?

Post by dkappe »

Still not up to the level of a CCRL 2600 engine, but some hope.

[pgn]
[Event "?"]
[Site "?"]
[Date "2020.03.21"]
[Round "5"]
[White "A0Lite"]
[Black "Donna"]
[Result "1-0"]
[ECO "D20"]
[GameDuration "00:08:13"]
[GameEndTime "2020-03-21T21:17:52.972 CDT"]
[GameStartTime "2020-03-21T21:09:39.214 CDT"]
[Opening "Queen's gambit accepted"]
[PlyCount "100"]
[Termination "adjudication"]
[TimeControl "180+2"]

1. d4 {book} d5 {book} 2. c4 {book} dxc4 {book} 3. e3 {book} e5 {book}
4. Bxc4 {15s} exd4 {-0.59/12 8.4s} 5. exd4 {14s} Nf6 {-0.54/12 7.3s}
6. Qb3 {13s} Qe7+ {-0.48/14 6.1s} 7. Ne2 {12s} Nbd7 {-0.47/14 3.8s} 8. O-O {11s}
Nb6 {-0.57/15 3.8s} 9. Nbc3 {10s} Nxc4 {-0.76/15 4.0s} 10. Qxc4 {9.7s}
c6 {-0.63/14 3.8s} 11. Nf4 {9.0s} Bf5 {-0.89/14 8.1s} 12. d5 {8.5s}
Rc8 {-0.97/13 7.6s} 13. Qd4 {7.9s} cxd5 {-1.49/13 14s} 14. Be3 {7.4s}
Qd7 {-1.09/13 3.8s} 15. Ncxd5 {7.0s} Nxd5 {-1.71/14 6.2s} 16. Nxd5 {6.6s}
Be6 {-1.61/15 7.6s} 17. Nf4 {6.2s} Qxd4 {-1.59/17 12s} 18. Bxd4 {5.8s}
Bd6 {-1.68/15 3.8s} 19. Nxe6 {5.5s} fxe6 {-1.80/16 3.0s} 20. Bxg7 {5.2s}
Rg8 {-1.71/15 3.0s} 21. Bd4 {5.0s} b6 {-1.81/14 3.0s} 22. Bc3 {4.7s}
Kf7 {-1.94/14 8.5s} 23. Rad1 {4.5s} Rgd8 {-1.93/15 3.7s} 24. Rd4 {4.3s}
Rc5 {-1.90/15 2.8s} 25. g3 {4.1s} Rd5 {-1.84/16 2.8s} 26. Rh4 {3.9s}
h5 {-1.78/16 4.6s} 27. Re1 {3.8s} a6 {-1.77/13 2.8s} 28. Rhe4 {3.6s}
Re8 {-1.80/15 2.8s} 29. Kg2 {3.5s} b5 {-1.86/14 2.8s} 30. a3 {3.3s}
Bc5 {-1.78/14 5.5s} 31. R1e2 {3.2s} Bb6 {-1.78/13 2.8s} 32. Rf4+ {3.1s}
Rf5 {-1.71/15 2.5s} 33. Rfe4 {3.1s} Rd5 {0.00/24 4.1s} 34. h3 {2.9s}
a5 {-1.70/13 2.5s} 35. Rf4+ {2.9s} Rf5 {-1.74/16 2.5s} 36. Rfe4 {2.8s}
Rd5 {-1.76/15 2.5s} 37. g4 {2.7s} Bc7 {-1.75/14 3.0s} 38. R2e3 {2.7s}
hxg4 {-1.84/14 2.5s} 39. hxg4 {2.6s} e5 {-1.92/14 3.0s} 40. Rh3 {2.6s}
Rg8 {-2.09/14 2.5s} 41. Rh7+ {2.5s} Rg7 {-2.04/14 2.5s} 42. Rxg7+ {2.5s}
Kxg7 {-2.08/14 2.5s} 43. f4 {2.4s} Kf7 {-2.13/13 2.5s} 44. Bxe5 {2.4s}
Bxe5 {-1.66/14 12s} 45. Rxe5 {2.4s} Rxe5 {-2.11/16 2.3s} 46. fxe5 {2.3s}
Ke6 {-2.49/17 2.3s} 47. Kg3 {2.3s} Kxe5 {-2.83/17 3.8s} 48. Kh4 {2.3s}
Kf6 {-2.85/19 11s} 49. Kh5 {2.3s} Kg7 {-3.11/19 2.3s} 50. b4 {2.2s}
axb4 {-3.79/19 8.0s, White wins by adjudication: SyzygyTB} 1-0
[/pgn]
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: What is the strongest python engine?

Post by dkappe »

This time with the 32x4 Mean Girl 8 on 1 CPU. 3+2.

[pgn]
[Event "?"]
[Site "?"]
[Date "2020.03.21"]
[Round "8"]
[White "A0Lite-CPU"]
[Black "Baislicka"]
[Result "1-0"]
[ECO "B40"]
[GameDuration "00:08:19"]
[GameEndTime "2020-03-22T00:06:30.073 CDT"]
[GameStartTime "2020-03-21T23:58:10.454 CDT"]
[Opening "Sicilian defense"]
[PlyCount "132"]
[Termination "adjudication"]
[TimeControl "180+2"]

1. e4 {book} c5 {book} 2. Nf3 {book} e6 {book} 3. c3 {book} Nf6 {book}
4. e5 {15s} Nd5 {-0.55/11 3.4s} 5. d4 {14s} cxd4 {-0.54/10 2.4s} 6. cxd4 {13s}
Nc6 {-0.41/10 4.4s} 7. Bc4 {12s} d6 {-0.43/10 4.9s} 8. O-O {11s}
h6 {-0.40/10 2.6s} 9. Bd2 {10s} dxe5 {-0.19/10 2.8s} 10. dxe5 {9.7s}
a6 {-0.17/10 2.3s} 11. Qe2 {9.0s} b5 {+0.11/10 3.5s} 12. Bb3 {8.5s}
Bb7 {-0.05/10 5.1s} 13. Nc3 {7.9s} Na5 {-0.08/10 2.2s} 14. Bxd5 {7.4s}
exd5 {-0.03/10 2.7s} 15. e6 {7.0s} Qd6 {-0.20/9 2.4s} 16. Rfe1 {6.6s}
Nc4 {-0.15/9 5.8s} 17. exf7+ {6.2s} Kxf7 {-0.14/9 3.6s} 18. Rac1 {5.8s}
Rc8 {+0.10/9 3.6s} 19. b3 {5.5s} Nxd2 {-0.05/10 2.2s} 20. Qxd2 {5.2s}
b4 {-0.23/10 4.4s} 21. Na4 {5.0s} Kg8 {-0.37/10 3.3s} 22. Rxc8 {4.7s}
Bxc8 {-0.27/11 2.3s} 23. Rc1 {4.5s} Bg4 {-0.35/11 3.0s} 24. Nd4 {4.3s}
Be7 {-0.58/10 3.3s} 25. Rc6 {4.1s} Qe5 {-1.20/11 4.7s} 26. h3 {3.9s}
Bf5 {-1.48/10 3.3s} 27. Rxa6 {3.8s} Kf7 {-1.34/10 2.7s} 28. Nf3 {3.6s}
Qe4 {-0.52/10 3.1s} 29. Ra7 {3.5s} Rc8 {-0.39/9 1.8s} 30. Nb6 {3.3s}
Rc5 {-0.66/10 3.7s} 31. Nd4 {3.2s} Bxh3 {-0.96/10 3.2s} 32. gxh3 {3.1s}
Qg6+ {-1.41/10 3.1s} 33. Kh2 {3.0s} Qd6+ {-1.36/10 2.6s} 34. Kg2 {2.9s}
Qxb6 {-0.86/10 4.0s} 35. Qf4+ {2.9s} Ke8 {-3.07/10 4.7s} 36. Ra8+ {2.8s}
Bd8 {-2.78/10 3.4s} 37. Qg4 {2.7s} Ra5 {-1.97/9 2.0s} 38. Rxa5 {2.7s}
Qxa5 {-2.36/10 2.7s} 39. Qxg7 {2.6s} Bg5 {-2.19/9 2.1s} 40. Qg6+ {2.6s}
Kf8 {-2.80/8 1.7s} 41. h4 {2.6s} Bd2 {-2.69/10 3.4s} 42. Qf6+ {2.5s}
Ke8 {-2.70/9 2.8s} 43. Nf5 {2.4s} Qc5 {-2.16/10 2.5s} 44. Qe6+ {2.4s}
Kd8 {-2.19/9 2.4s} 45. Qf7 {2.4s} Qc6 {-1.57/9 2.8s} 46. Qf8+ {2.3s}
Kc7 {-1.33/9 2.8s} 47. Qg7+ {2.3s} Qd7 {-1.35/9 3.0s} 48. Qe5+ {2.3s}
Kb7 {-1.33/9 2.8s} 49. Nd6+ {2.3s} Kc6 {-1.27/9 2.6s} 50. Nf5 {2.2s}
Kb7 {-1.38/9 2.3s} 51. h5 {2.2s} Bc3 {-1.52/10 3.9s} 52. Qe7 {2.2s}
Qxe7 {-0.95/13 1.6s} 53. Nxe7 {2.2s} d4 {-0.94/13 1.9s} 54. Kf3 {2.2s}
d3 {-1.26/13 2.6s} 55. Nf5 {2.2s} Kc6 {-1.30/12 2.2s} 56. Nxh6 {2.1s}
Kd5 {-1.64/12 3.0s} 57. Nf5 {2.1s} Ke5 {-1.66/12 2.2s} 58. Ne3 {2.1s}
Kf6 {-1.90/13 3.3s} 59. Nc4 {2.1s} d2 {-1.92/13 2.1s} 60. Ke2 {2.1s}
Kg5 {-2.05/13 3.5s} 61. Nxd2 {2.1s} Kxh5 {-2.16/13 3.6s} 62. Ne4 {2.1s}
Be5 {-2.28/13 3.0s} 63. Kd3 {2.1s} Kg4 {-2.20/13 1.5s} 64. Kc4 {2.1s}
Kf3 {-2.30/12 2.5s} 65. Nc5 {2.1s} Bh2 {-2.55/12 2.5s} 66. Kxb4 {2.1s}
Kxf2 {-2.75/12 2.8s, White wins by adjudication: SyzygyTB} 1-0
[/pgn]
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: What is the strongest python engine?

Post by JohnWoe »

Stockfish in every language basically ?

https://github.com/Dani4kor/stockfishpy
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: What is the strongest python engine?

Post by dkappe »

I will try out this python stockfish.

In the meantime, I implemented tree reuse in a0lite. It doesn't add too much code and has a noticeable effect:

[pgn]
[Event "?"]
[Site "?"]
[Date "2020.03.22"]
[Round "5"]
[White "A0Lite"]
[Black "Donna"]
[Result "1-0"]
[ECO "E60"]
[GameDuration "00:09:18"]
[GameEndTime "2020-03-22T17:12:06.827 CDT"]
[GameStartTime "2020-03-22T17:02:48.383 CDT"]
[Opening "King's Indian"]
[PlyCount "118"]
[Termination "adjudication"]
[TimeControl "180+2"]
[Variation "3.g3"]

1. d4 {book} Nf6 {book} 2. c4 {book} g6 {book} 3. g3 {book} c5 {book}
4. d5 {15s} d6 {-0.16/15 6.0s} 5. Nc3 {14s} Bg7 {-0.30/15 4.0s} 6. Bg2 {13s}
O-O {-0.15/16 4.0s} 7. Nf3 {12s} Nbd7 {-0.38/15 11s} 8. a4 {11s}
Nb6 {-0.21/15 5.0s} 9. Qd3 {10s} Bf5 {-0.16/15 6.2s} 10. e4 {9.7s}
Bg4 {-0.29/15 6.6s} 11. Nd2 {9.1s} a5 {-0.35/15 3.5s} 12. O-O {8.5s}
Qc8 {-0.39/14 3.8s} 13. f4 {7.9s} Bh3 {-0.59/15 5.3s} 14. b3 {7.4s}
Qg4 {-0.71/14 8.0s} 15. Ra2 {7.0s} Qh5 {-0.87/14 14s} 16. Nf3 {6.6s}
Ng4 {-0.89/14 14s} 17. Nb5 {6.2s} h6 {-0.99/14 3.3s} 18. Nh4 {5.8s}
Bxg2 {-1.10/15 3.0s} 19. Rxg2 {5.5s} Nf6 {-1.84/14 8.7s} 20. Re2 {5.2s}
Nfd7 {-1.22/14 3.0s} 21. Kg2 {5.0s} Bf6 {-1.42/14 9.2s} 22. Nf3 {4.7s}
g5 {-2.12/15 5.2s} 23. e5 {4.5s} dxe5 {-2.80/15 4.8s} 24. fxe5 {4.3s}
Bg7 {-3.02/14 3.4s} 25. h3 {4.1s} Qg6 {-2.95/15 11s} 26. Qxg6 {3.9s}
fxg6 {-3.39/16 9.4s} 27. e6 {3.8s} Nf6 {-3.40/16 8.0s} 28. Ne5 {3.6s}
Nfxd5 {-3.48/16 2.3s} 29. cxd5 {3.5s} Rxf1 {-3.18/17 4.8s} 30. Kxf1 {3.3s}
Nxd5 {-3.18/16 2.3s} 31. Nxg6 {3.2s} Rd8 {-3.16/16 2.3s} 32. h4 {3.1s}
Kh7 {-3.44/15 10s} 33. h5 {3.0s} Re8 {-3.56/15 3.3s} 34. Rd2 {2.9s}
Nf6 {-3.93/15 3.0s} 35. Nc7 {2.9s} Rc8 {-4.67/16 3.4s} 36. Nd5 {2.8s}
Ne4 {-3.75/15 3.3s} 37. Rd3 {2.7s} c4 {-3.65/16 3.9s} 38. bxc4 {2.7s}
Rxc4 {-3.66/16 2.0s} 39. Ba3 {2.6s} Rc6 {-4.11/14 2.8s} 40. Ngxe7 {2.6s}
Rxe6 {-3.94/15 2.0s} 41. Kg2 {2.5s} b6 {-4.04/14 2.0s} 42. Nf5 {2.5s}
Rc6 {-4.51/14 3.2s} 43. Nde3 {2.4s} Rc3 {-5.08/15 5.3s} 44. Rxc3 {2.4s}
Bxc3 {-5.45/16 4.4s} 45. Kf3 {2.4s} Nf6 {-4.94/17 8.5s} 46. g4 {2.3s}
Nd7 {-5.05/18 8.0s} 47. Nd5 {2.3s} Be5 {-5.05/16 1.8s} 48. Ke4 {2.3s}
Bh8 {-5.40/15 5.8s} 49. Nfe3 {2.3s} Kg7 {-5.85/17 2.3s} 50. Kf5 {2.2s}
Kh7 {-5.93/17 7.3s} 51. Nc4 {2.2s} Bd4 {-6.73/17 4.5s} 52. Ke6 {2.2s}
Nb8 {-6.73/16 1.8s} 53. Bd6 {2.2s} Nc6 {-7.53/16 2.5s} 54. Kd7 {2.2s}
Nb4 {-7.99/16 6.8s} 55. Nxb4 {2.1s} axb4 {-9.89/15 4.7s} 56. Bxb4 {2.1s}
Kg7 {-10.39/14 5.2s} 57. Kc6 {2.1s} b5 {-10.87/14 6.0s} 58. axb5 {2.1s}
Bg1 {-18.44/13 3.7s} 59. Bc3+ {2.1s}
Kf7 {-12.07/13 2.7s, White wins by adjudication} 1-0
[/pgn]
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
farmersrice
Posts: 1
Joined: Thu Mar 19, 2020 1:07 am
Full name: Anson Hu

Re: What is the strongest python engine?

Post by farmersrice »

JohnWoe wrote: Sun Mar 22, 2020 10:18 pm Stockfish in every language basically ?

https://github.com/Dani4kor/stockfishpy
That's a wrapper, not an engine. I don't think you can count it in the running for "strongest python engine".
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: What is the strongest python engine?

Post by dkappe »

JohnWoe wrote: Sun Mar 22, 2020 10:18 pm Stockfish in every language basically ?

https://github.com/Dani4kor/stockfishpy
It's just a uci wrapper. Not an engine.
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: What is the strongest python engine?

Post by dkappe »

[pgn]
[Event "?"]
[Site "?"]
[Date "2020.03.22"]
[Round "8"]
[White "Donna"]
[Black "A0Lite"]
[Result "0-1"]
[ECO "C29"]
[GameDuration "00:07:48"]
[GameEndTime "2020-03-22T18:04:25.343 CDT"]
[GameStartTime "2020-03-22T17:56:36.682 CDT"]
[Opening "Vienna gambit, Steinitz Variation"]
[PlyCount "95"]
[Termination "adjudication"]
[TimeControl "180+2"]

1. e4 {book} e5 {book} 2. Nc3 {book} Nf6 {book} 3. f4 {book} d5 {book}
4. d3 {-0.64/13 19s} exf4 {15s} 5. exd5 {-0.51/13 3.8s} Nxd5 {14s}
6. Nxd5 {-0.95/13 4.5s} Qxd5 {13s} 7. Ne2 {-0.89/13 11s} f3 {12s}
8. gxf3 {-1.38/13 6.1s} Qxf3 {11s} 9. Rg1 {-1.00/13 3.5s} Nc6 {10s}
10. Bg2 {-1.26/13 5.9s} Qf6 {9.7s} 11. Be3 {-1.55/13 6.7s} Qxb2 {9.1s}
12. Bxc6+ {-1.44/15 10s} bxc6 {8.5s} 13. Bd4 {-1.44/14 3.3s} Qb4+ {7.9s}
14. c3 {-1.61/13 3.3s} Qd6 {7.4s} 15. Bxg7 {-1.62/14 3.3s} Rg8 {7.0s}
16. Bd4 {-2.04/13 7.4s} Rxg1+ {6.6s} 17. Bxg1 {-2.05/13 3.0s} Bg4 {6.2s}
18. Rb1 {-2.28/13 4.0s} Qe6 {5.8s} 19. Rb2 {-2.13/12 3.3s} O-O-O {5.5s}
20. Bxa7 {-2.35/13 6.6s} Re8 {5.2s} 21. Rb8+ {-1.57/15 3.9s} Kd7 {4.9s}
22. Rxe8 {-1.58/15 3.0s} Kxe8 {4.7s} 23. Qc2 {-1.88/13 7.4s} Bd6 {4.5s}
24. h3 {-2.02/14 13s} Bh5 {4.3s} 25. Bf2 {-2.02/14 3.0s} Qxh3 {4.1s}
26. Qd2 {-2.24/13 2.8s} Bg6 {3.9s} 27. d4 {-2.35/13 2.8s} Kd7 {3.7s}
28. Qe3 {-2.72/14 4.0s} Qf5 {3.6s} 29. Bg3 {-2.60/14 3.0s} Qb1+ {3.5s}
30. Kf2 {-2.77/13 2.5s} Qxa2 {3.3s} 31. Qf3 {-2.83/12 6.3s} Qc2 {3.2s}
32. Qg4+ {-2.78/11 2.8s} Bf5 {3.1s} 33. Qf3 {-2.77/12 2.8s} Be6 {3.0s}
34. Be5 {-2.93/12 2.5s} Bxe5 {2.9s} 35. dxe5 {-2.77/11 2.5s} c5 {2.9s}
36. Kg3 {-2.90/12 4.3s} Qg6+ {2.8s} 37. Kf2 {-2.70/12 2.5s} Qf5 {2.7s}
38. Qxf5 {-2.62/14 2.5s} Bxf5 {2.7s} 39. Nf4 {-2.59/13 2.5s} h6 {2.6s}
40. Kg3 {-2.65/14 2.8s} Be6 {2.6s} 41. Kh4 {-2.46/14 3.5s} Kc6 {2.5s}
42. Nxe6 {-3.56/15 3.9s} fxe6 {2.5s} 43. c4 {-8.99/19 5.0s} Kb6 {2.4s}
44. Kh5 {-10.47/22 11s} Ka5 {2.4s} 45. Kg6 {-13.31/20 6.7s} h5 {2.4s}
46. Kf6 {-14.23/19 4.3s} h4 {2.3s} 47. Kxe6 {-14.84/18 4.1s} h3 {2.3s}
48. Kf7 {-15.17/17 9.3s, Black wins by adjudication} 0-1

[/pgn]
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".