SlowChess Blitz Classic 2.0

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

Moderators: hgm, Rebel, chrisw

jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

SlowChess Blitz Classic 2.1 is now available at https://www.3dkingdoms.com/chess/slow.htm

Changes :
  • More evaluation tuning (+20 elo)
  • Improved search (+45 elo)
    The biggest impact change was allowing LMR at root, surprisingly tested +15 elo better.
    More lenient LMR rules (eg. now allowed in-check, and to a limited extent on even safe checks) helped a bit to not bog down search as much.
    Many other small tweaks added up but I didn't test enough to show clearly better.
  • Fixed a pgn->opening book import bug that also led to some bugged lost positions in opening book.
  • Improved and fixed a few protocol issues.
    UCI - fix to analysis, support multi-pv, hash full %, searchmoves command.
    Winboard - can parse seconds in base time, eg. 0:30
Getting tougher to improve play. The general method of improvement was make one or more adjustments to search code, fast self-play test, and keep changes that seemed probably better. Most were still just guesses though because I have limited testing capabilities. Small eval changes I didn't try to measure other than checking they reduced eval error in tuner.

If/when I get back to it, I might finally start focusing on all the other stuff like own GUI improvement or Linux version. But I do still feel like 50+ elo increase is doable if I am patient enough to test and am able to make tuning process improvements.
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: SlowChess Blitz Classic 2.0

Post by Gabor Szots »

Thanks Jon. And remain patient.
Gabor Szots
CCRL testing group
Alayan
Posts: 550
Joined: Tue Nov 19, 2019 8:48 pm
Full name: Alayan Feh

Re: SlowChess Blitz Classic 2.0

Post by Alayan »

Extraordinary progress.

Of course it's getting harder and harder to improve, but if your expected gains hold up, you've caught up with RubiChess and are getting close to the current limits of non-Stockfish/Komodo AB engines.

I would be quite interested to have a look at your eval, could give some ideas to enhance Ethereal.
jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

The +65 elo is from 6000 self-play games, so on rating lists my hope somewhere close to +50 elo.

I have thought about making a detailed web-page and/or post about the inner-workings of SlowChess, but when I test against Stockfish and see how much SF11 dominates, it always makes me wonder how much real value there would be, so I never end up following through. Maybe if I ever get within 250 elo of SF...

I don't mind sharing info, since it's easy to share here's the current eval table tunable values.
Some of the terms might spark some ideas even without description/implementation details, and there is the right-click on piece for evaluation in own gui.
At this point most eval terms are standard Fruit-style mid,end Score Blend (SB), which I now appreciate ease of use compared to the hodgepodge of game stage I had before.

Code: Select all

	Group("MaterialV", &MaterialV);
	V("BISHOP_PAIR", SB(29, 46));
	V("MORE_PIECE_BONUS", SB(36, 88));
	V("TWO_MINORS_VS_ROOK", SB(48, 71));
	V("ROOK_V_KNIGHT_END", SB(0, 59));
	V("ROOK_V_BISHOP_END", SB(0, 44));
	V("KNIGHT_BASE_OFFSET", SB(-11, 17));
	V("BISHOP_BASE_OFFSET", SB(14, 19));
	V("ROOK_BASE_OFFSET", SB(-32, 10));
	V("QUEEN_BASE_OFFSET", SB(0, 45));
	V("PAWN_BASE_OFFSET", SB(-5, 4));
	EndGroup();

	Group("KnightV", &KnightV);
	V("KNIGHT_MOB_MIN", SB(-20, -16));
	V("KNIGHT_MOB_MAX", SB(7, 24));
	V("KNIGHT_MOB_CURVE_FACTOR", SB(49, 56));
	V("KNIGHT_CENTER_MOVE_BONUS", SB(8, 18));
	V("KNIGHT_AWOL", SB(-4, -4));
	V("KNIGHT_NO_RETREAT", SB(-13, -14));
	V("KNIGHT_OUTPOST", SB(26, 16));
	V("KNIGHT_OUTPOST_UNSUPPORTED", SB(4, 0));
	V("KNIGHT_OUTPOST_MOVE", SB(22, 14));
	V("KNIGHT_OUTPOST_FOURTH", SB(19, 13));
	EndGroup();

	Group("BishopV", &BishopV);
	V("BISHOP_MOB_MIN", SB(-25, -29));
	V("BISHOP_MOB_MAX", SB(11, 22));
	V("BISHOP_MOB_CURVE_FACTOR", SB(41, 42));
	V("BISHOP_COLOR_PAWNS", SB(-4, -4));
	V("BISHOP_COLOR_BLOCKED_PAWN", SB(-2, -2));
	V("BISHOP_COLOR_BLOCKED_CENTER_PAWN", SB(0, -2));
	V("BISHOP_FORWARD_BLOCKED_PAWN", SB(-5, -6));
	V("BISHOP_FIANCHETTO", SB(13, 11));
	V("BISHOP_OUTPOST", SB(20, 15));
	V("BISHOP_OUTPOST_MOVE", SB(5, 7));
	V("BISHOP_ONLY_REACHES_ONE_SIDE", SB(-3, -6));
	V("BISHOP_NO_PAWN_TARGETS", SB(0, -22));
	V("BISHOP_ROOK_ALIGNED", SB(7, 9));
	V("BISHOP_CENTER_CONTROL_0", SB(-4, 0));
	V("BISHOP_CENTER_CONTROL_1", SB(4, 7));
	V("BISHOP_CENTER_CONTROL_2", SB(11, 11));
	V("BISHOP_TRAPPED_OVER_5", SB(-26, -16));
	EndGroup();

	Group("RookV", &RookV);
	V("ROOK_MOB_MIN", SB(-23, -35));
	V("ROOK_MOB_MAX", SB(16, 48));
	V("ROOK_MOB_CURVE_FACTOR", SB(28, 30));
	V("ROOK_OUTPOST_BONUS", SB(10, 6));
	V("ROOK_CAN_MOVE_TO_OPEN_FILE", SB(8, 9));
	V("ROOK_THREATENED_BY_KNIGHT_MOVE", SB(-6, -10));
	V("ROOK_TRAPPED_BY_KING", SB(-24, -5));
	V("ROOK_TRAPPED_BY_KING_PARTIAL", SB(-11, 0));
	V("ROOK_FILE_OPEN", SB(19, 20));
	V("ROOK_FILE_OPEN_OPP_OUTPOST", SB(13, 12));
	V("ROOK_FILE_HALF_OPEN_WEAK", SB(3, 12));
	V("ROOK_FILE_HALF_OPEN", SB(4, 3));
	V("ROOK_FILE_HALF_OPEN_DEFENDED_PAWN", SB(-4, -1));
	V("ROOK_FILE_MOBILE_PAWN", SB(-2, 3));
	V("ROOK_FILE_BLOCKED_PAWN_BY_PIECE", SB(-6, 2));
	V("ROOK_FILE_BLOCKED_PAWN", SB(-11, -12));
	V("ROOKS_TWO_7_K8", SB(35, 80));
	EndGroup();

	Group("QueenV", &QueenV);
	V("QUEEN_MOB_MIN", SB(-41, -56));
	V("QUEEN_MOB_MAX", SB(17, 76));
	V("QUEEN_MOB_CURVE_FACTOR", SB(9, 3));
	V("QUEEN_OPP_ROOK_ON_FILE", SB(-10, -1));
	V("QUEEN_OPP_SIDE", SB(-2, 21));
	V("QUEEN_NO_RETREAT", SB(-20, -3));
	EndGroup();

	Group("TacticalV", &TacticalV);
	V("PIECE_HANGING_TO_PAWN", SB(70, 40));
	V("ROOK_HANGING_TO_MINOR", SB(57, 25));
	V("QUEEN_HANGING_TO_LESSER_PIECE", SB(59, 51));
	V("KNIGHT_ON_BISHOP", SB(35, 19));
	V("UNDEFENDED_PIECE_HANGING", SB(43, 34));
	V("UNDEFENDED_PAWN_HANGING", SB(14, 21));
	V("WEAKLY_DEFENDED_PAWN", SB(2, 8));
	V("WEAKLY_DEFENDED_PIECE", SB(14, 23));
	V("PIECE_CAN_BE_THREATENED_BY_PAWN", SB(19, 18));
	V("PINNED_PIECE_THREATENED", SB(76, 106));
	V("KING_ON_PAWN", SB(0, 14));
	V("QUEEN_THREATENED_BY_KNIGHT_MOVE", SB(23, 8));
	V("QUEEN_THREATENED_BY_BISHOP_ROOK_MOVE", SB(27, 9));
	V("QUEEN_BEHIND_PIN", SB(42, 14));
	V("BISHOP_ON_KNIGHT", SB(24, 14));
	V("PINNED_PAWN_PUSH_THREAT", SB(15, 23));
	EndGroup();

	Group("CoordV", &CoordV);
	V("MINOR_BEHIND_PAWN", SB(7, 3));
	V("PAWN_BLOCKED_BY_PIECE", SB(-4, -5));
	V("PAWN_BLOCKED_BY_PIECE_CENTER", SB(-9, -8));
	V("OUR_SIDE_SAFE_MOVE", SB(16, 0));
	EndGroup();

	Group("KingV", &KingV);
	V("WEAK_SQ_COVER", 3);
	V("WEAK_SQ_DOUBLE_COVER", 2);
	V("EXTENDED_WEAK_SQ_COVER", 2);
	V("BASE_COVER_BY_PIECE", 3);
	V("SQ_COVER_BY_PIECE", 9);
	V("SAFE_BISHOP_CHECK_ADJUST", -3);
	V("SAFE_CHECK_SCORE", { 0, 10, 15, 20, 25, 29 });
	V("TOUCH_CHECK_ADJUST", 4);
	V("UNSAFE_CHECK", 2);
	V("MULTIPLE_UNSAFE_CHECKS", 3);
	V("DISCOVERED_CHECK", 21);
	V("PROMO_CHECK", 19);
	V("KS_COUNT_ZONE", 4);
	V("KS_COUNT_EXTENDED_ZONE", 2);
	V("DEF_KING_ZONE", 150, 5);
	V("DEF_KING_ZONE_COVERED", 115, 5);
	V("DEF_EXTENDED_KING_ZONE", 125, 5);
	V("DEF_COVER_MUL", 18);
	V("DEF_MOBILITY_MUL", 13);
	V("DEF_BASE", 2626, 10);
	V("DEF_MIN", 660, 5);
	V("ATTACK_BASE", 17);
	V("ATTACK_SUB", 241, 2);
	V("ATTACK_DIV", 57);
	V("COVER_SUB", 22);
	V("KS_OPEN_FILE", -6);
	V("KS_COVER_PAWN_ENPRISE", -13);
	V("KS_OPEN_FILE_COUNT", -2);
	V("CASTLE_VAL_MID", 19);
	V("TRAPPED_BACKRANK_BY_PAWN", -23);
	V("TRAPPED_BACKRANK_BLOCKED", -22);
	V("WEAK_BACK_RANK", -6);
	EndGroup();

	Group("EndGameV", &EndGameV);
	V("PAWN_DIST_MULT", -5);
	V("KING_STUCK_ON_EDGE", -5);
	V("OUTSIDE_PASSED_PAWN_ONE_PIECE", 12);
	V("OUTSIDE_PASSED_PAWN_ONE_KNIGHT", 54);
	V("OUTSIDE_PASSED_PAWN_KPK", { -22, 0, 19, 37, 35 });
	V("KING_OUTSIDE_PAWNS_ENDGAME", { 1, -5, -17, -37, -52, -58 });
	V("KING_MOBILITY", { -29, -3, 6, 9, 9, 9, 9, 6, 0 });
	V("KING_OUTSIDE_PAWNS_PENALTY_KPK", { 2, -3, -4, 53, 105, 167 });
	EndGroup();

	Group("ScaleV", &ScaleV);
	V("SCALE_LOW_SPREAD_BASE", 27);
	V("SCALE_PAWN_SPREAD", 5);
	V("SCALE_PAWN_BOTH_SIDES", 6);
	V("SCALE_PAWN_COUNT", 7);
	V("SCALE_KING_DIST", 4);
	V("SCALE_PIECE_MAT", 34);
	EndGroup();

	Group("PawnV", &PawnV);
	V("PAWN_SUPPORTED", SB(3, 3));
	V("PAWN_SUPPORTED_TWICE", SB(15, 7));
	V("PAWN_BACKWARD", SB(-4, -6));
	V("PAWN_ISOLATED", SB(-2, -9));
	V("PAWN_UNCONNECTED_OPEN_FILE", SB(-10, 1));
	V("PAWN_UNCONNECTED_CLOSED_FILE", SB(-7, 0));
	V("PAWN_WEAK_OPEN_FILE", SB(-7, -8));
	V("PAWN_DOUBLED", { SB(-6,-12), SB(-1,0) });
	V("PAWN_CONNECTED_RANK", { SB(0,0), SB(-4,-1), SB(2,4), SB(2,1), SB(7,3), SB(16,24), SB(86,49), SB(0,0) });
	V("PAWN_CONNECTED_FILE", { SB(-3,-2), SB(0,3), SB(3,3), SB(1,6) });
	V("PAWN_CONNECTED_OPEN_RANK", { SB(3,2), SB(4,6), SB(11,15), SB(23,17) });
	EndGroup();

	Group("PassedV", &PassedV);
	V("PP_PASSED_RANK", { SB(-1,-2), SB(-7,8), SB(-2,10), SB(-4,20), SB(11,36), SB(56,71), SB(103,135), SB(0,0) });
	V("PP_PASSED_FILE", { SB(3,1), SB(-7,-3), SB(-14,-7), SB(-9,-10) });
	V("PP_KING_DIST", { SB(43,133), SB(69,119), SB(57,79), SB(45,40), SB(16,13), SB(5,1), SB(-12,-4), SB(-14,2) });
	V("PP_O_KING_DIST", { SB(-75,-89), SB(-40,-74), SB(-11,-62), SB(-3,-3), SB(-2,33), SB(10,48), SB(42,60), SB(71,49) });
	V("PP_PROMO_DIST", { SB(140,112), SB(109,92), SB(48,52), SB(14,26), SB(8,8), SB(8,3) });
	V("PP_COVERED_ADVANCE", { SB(34,77), SB(29,36), SB(16,15), SB(10,8) });
	V("PP_COVERED_ADVANCE_PATH", { SB(58,98), SB(20,60), SB(20,32), SB(17,17) });
	V("PP_FREE_PUSH", { SB(161,133), SB(18,51), SB(9,21), SB(6,2) });
	V("PP_FREE_ADVANCE_PATH", { SB(133,221), SB(52,126), SB(-5,45), SB(-42,18) });
	V("PP_CONNECTED", { SB(63,39), SB(17,15), SB(4,9), SB(1,3) });
	V("PP_HANGING", { SB(-28,-40), SB(-26,-15) });
	V("PP_V_ROOK_MULT", SB(100, 110), 5);
	V("PP_CANDIDATE_NEAR_MULT", SB(115, 85), 5);
	V("PP_CANDIDATE_FAR_MULT", SB(30, 30), 5);
	EndGroup();
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: SlowChess Blitz Classic 2.0

Post by mvanthoor »

Do it. I'm writing my own chess engine, and the first thing to do after version Alpha 1 is out (a version that can play a few hundred games in tournaments against other engines to establish a base rating), I'll be writing an actual book/website on how it's put together; sort of a written version of BlueFever's VICE youtube tutorials. (In Rust, instead of C.)

Stockfish is not the be-all and end-all of chess engine development, because over the years, the code has become quite hard to understand. For most people who are not developing an engine that is now in the top 15 or thereabout already, Stockfish isn't interesting, because they're at least 250 ELO behind. No engine except one in the top 3-5 can defeat Stockfish in a match. The only engines having a chance are neural network engines running on multiple GPU's (and thus have a huge amount of computing power.)

Against an a/b-engine, Stockfish basically only loses a game if it gets forced into a bad opening with black. (By an opening book, or on purpose by pre-selected openings.)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

So far after taking a break I've always gotten curious enough to just start tinkering / experimenting for fun, then eventually something improves play unexpectedly well, or maybe a few changes in a row show clear improvement, and I end up putting more effort into improving rating for a new release, then I wonder why I'm spending so much time on chess and take a break. So maybe the cycle will repeat.

But either way I do plan on creating a more detailed description of what's in the program and how it works at some point, and/or a more general what I learned during development.

In super fast blitz games (w/ 2-moves book from stockfish site) SlowChess does get some single game wins against Stockfish now and then, but it's extremely rare and the overall match will probably be around -370 elo. The work required to increase play even 70 elo is daunting, and then even if that goes well it's still 300 elo behind Stockfish.

Anyway this is a good excuse to share a nice win over Stockfish 11 in a 30s+.3s game. (In other games I've found a few rare "blunder" moves by stockfish at this time control too where the result of games changes with one move, but overall it's still amazing to me how consistently dominating top programs have become since the Fruit days.)

[pgn][Event "My Tournament"]
[Site "?"]
[Date "2020.05.03"]
[Round "125"]
[White "Slow 2.1"]
[Black "Stockfish11"]
[Result "1-0"]
[ECO "A10"]
[Opening "English Opening"]
[PlyCount "94"]
[Termination "adjudication"]
[TimeControl "30+0.3"]

1. c4 {book} d6 {book} 2. d3 {book} Nf6 {book} 3. Nc3 {+0.08/18 1.1s}
c5 {+0.12/23 2.6s} 4. g3 {+0.04/17 0.91s} Nc6 {-0.01/23 2.1s}
5. Bg2 {+0.08/17 0.92s} e6 {0.00/18 0.35s} 6. Nf3 {+0.21/15 0.92s}
Qb6 {0.00/20 1.7s} 7. O-O {+0.44/16 0.92s} Be7 {+0.03/20 0.62s}
8. b3 {+0.44/16 0.92s} O-O {0.00/19 0.44s} 9. Bb2 {+0.48/15 0.92s}
d5 {+0.11/18 0.38s} 10. cxd5 {+0.44/15 0.99s} Nxd5 {-0.01/25 1.5s}
11. Qd2 {+0.44/16 0.98s} Nxc3 {+0.24/23 1.7s} 12. Qxc3 {+0.32/15 0.98s}
f6 {+0.13/21 1.7s} 13. d4 {+0.44/17 0.98s} Rd8 {-0.06/22 1.2s}
14. dxc5 {+0.56/16 1.2s} Qb5 {0.00/21 0.56s} 15. Rfd1 {+0.92/17 2.1s}
Rxd1+ {+0.01/20 0.23s} 16. Rxd1 {+0.92/16 0.40s} e5 {0.00/21 0.54s}
17. Ng5 {+1.48/17 1.3s} g6 {-1.74/22 1.1s} 18. e3 {+1.52/17 2.2s}
Bg4 {-1.15/18 0.33s} 19. Rd5 {+1.72/15 0.83s} Rd8 {-1.62/23 1.6s}
20. h3 {+1.72/14 0.83s} Bc8 {-1.71/21 0.35s} 21. Bf1 {+2.52/17 1.3s}
Qb4 {-1.61/22 0.37s} 22. Rxd8+ {+2.52/17 0.47s} Bxd8 {-1.55/22 0.39s}
23. Bc4+ {+2.32/18 0.58s} Kf8 {-1.07/21 0.51s} 24. Qd3 {+5.20/16 0.84s}
Qxc5 {-5.91/26 4.6s} 25. Ne4 {+5.16/18 0.84s} Qe7 {-5.87/20 0.23s}
26. Qd5 {+5.24/19 0.84s} Qe6 {-5.83/22 1.3s} 27. Ba3+ {+5.48/17 0.67s}
Kg7 {-5.97/22 0.65s} 28. Qxe6 {+5.64/18 0.66s} Bxe6 {-5.86/20 0.45s}
29. Bxe6 {+5.60/19 0.45s} h5 {-6.09/22 2.4s} 30. Bd5 {+5.86/16 0.61s}
Ba5 {-6.86/25 4.1s} 31. Bd6 {+6.00/18 0.64s} Nb4 {-6.21/17 0.17s}
32. Bxb4 {+6.00/17 0.63s} Bxb4 {-4.74/20 0.29s} 33. Bxb7 {+6.12/19 0.62s}
Be7 {-4.87/25 1.1s} 34. h4 {+6.16/19 0.61s} Bb4 {-4.90/18 0.20s}
35. Bd5 {+6.16/19 0.60s} Be7 {-5.24/23 1.4s} 36. Nd2 {+6.48/18 0.58s}
Bb4 {-5.24/21 0.58s} 37. Nc4 {+6.56/17 0.58s} a5 {-6.05/24 1.6s}
38. Kf1 {+6.76/18 0.57s} Bc3 {-5.59/21 0.27s} 39. Ke2 {+6.76/16 0.57s}
f5 {-6.08/25 0.95s} 40. e4 {+6.96/16 0.56s} Kf6 {-6.67/23 0.54s}
41. a3 {+6.88/16 0.55s} g5 {-6.17/19 0.31s} 42. hxg5+ {+7.80/17 0.55s}
Kxg5 {-7.08/20 0.30s} 43. exf5 {+7.96/18 0.54s} Kxf5 {-5.89/18 0.11s}
44. Nd6+ {+7.96/18 0.53s} Kg6 {-6.62/24 0.49s} 45. Nb5 {+10.92/19 1.3s}
Bb2 {-9.31/18 0.30s} 46. a4 {+12.68/16 0.48s} Bc1 {-10.37/18 0.30s}
47. b4 {+16.64/16 0.49s} axb4 {-18.64/16 0.30s, White wins by adjudication} 1-0[/pgn]
Jamal Bubker
Posts: 326
Joined: Mon May 24, 2010 4:32 pm

Re: SlowChess Blitz Classic 2.0

Post by Jamal Bubker »

Thanks Jon !! wow Impressive progress !! :D :D
jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

I've managed to compile a Linux version, it's available on the SlowChess webpage now.
Some caveats are this version is engine-only for UCI or winboard (no own GUI), and I didn't compile a _noPop at this time.
I compiled with g++ & tested it on Ubuntu booted from a USB stick with CuteChessGUI with 3000 games and everything looked the same as the Windows version, so hopefully aren't any issues, but I have limited Linux experience so no guarantees.
jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

Slow Chess Blitz Classic 2.2 is now released.
At the webpage https://www.3dkingdoms.com/chess/slow.htm

Version 2.2 (+100 elo)
  • Fixed a bug where history update would try to decrease the score of wrong or invalid moves. This also helped search depth. (+55 elo)
  • More evaluation tuning. Added some terms, removed some terms, and changed some logic. More work than it sounds. Also ran some more FRC training games. (+30 elo)
  • syzygy Tablebase support. Is functional for playing games, but needs work to choose most reasonable move.
  • Various small search changes of which my elo measurement is mostly meaningless (+15 elo)
  • Use SEE in LMR Reduction of quiet piece moves
  • History Extension
  • Limit IID to PV or eval > alpha
  • counter history shallow pruning increase active depth, and check scores are below k*d*d
  • Adjust history delta amounts, max amount, and LMR history adjustment threshold
  • GUI : higher res pieces, all move / analysis shows as arrows + eval now for clearer display
With 100 self-play elo increase I'd hope for aroud +70 elo in blitz rating lists.
The majority of the strength increase was from fixing a history bug I posted in technical discussions, additional evaluation work also helped, then more minor was some search tweaks.

There is also a Linux version for 2.2 that additionally fixes a bad multi-threading bug where it would play way too fast, and several other smaller bugs that were in 2.1 linux version, and is compiled on Ubuntu 18.04 instead of 20.04 to hopefully be more compatible with older linux versions.

Let me know if any issues, hopefully everything working well enough for now.
Alayan
Posts: 550
Joined: Tue Nov 19, 2019 8:48 pm
Full name: Alayan Feh

Re: SlowChess Blitz Classic 2.0

Post by Alayan »

Congratulations on the impressive progress. If the elo gain estimates hold in rating lists, this should be close to Xiphos 0.6/Fire 7.1.

With the Linux version now being more tested and SMP more robust, I hope we'll see SlowChess compete at TCEC and CCC.

I've read your webpage about how you tuned eval, it was interesting.

I'd like to see your engine open-sourced to allow studying your original ides and to allow you joining OpenBench to take advantage of the shared CPU resources to significantly speed up your patch testing.