released: micro-Max 4.8w

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

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

released: micro-Max 4.8w

Post by hgm »

I released a new version of micro-Max, with which I will also participate in ICT7. The Winboard version can be found on my download page, both as a Windows executable and as a C source.

The stand-alone version, on which the official character counts will be based, is not yet available (the links are there, but are not functional). I have to polish the source a bit first, before releasing that and making the count. My estimate is that it will be somewhere around 1930 characters, when I delete the Winboard specific code, and add the stand-alone interface.

New features of uMax 4.8w compared to uMax 4.4w are:
* Better piece values to avoid swapping 2 pieces for Rook + Pawn or Piece for 3 Pawns.
* Less passive play with Pawns in end-game.
* More vigurous action against enemy Pawns on 6th or 7th rank.
* Check extension.
* Late-Move reductions.

This helped a lot. Micro-Max will never be the strongest engine in the World, but these changes now make it consistently win against engines from which it consistently lost before. I tested with 2 min games (2+0) starting from the 10 Nunn positions (each with black and white, so 20 games against each opponent), and against TSCP 1.81, Clueless 1.4, Gibbon 2.01b and Cilian 4.14 (so 80 games in total) the score went up from 26% to 62%.

This should not be taken as an indicator of absolute strength, as no doubt I installed most of the opponents with suboptimal parameters for hash size etc; they only served to gauge the difference between the various uMax versions. I know TSCP is quite a weak engine, but it used to be the 'angstgegner' of micro-Max against which it used to score much worse than against engines with a much higher rating. None of my earlier improvements (that worked quite well against other engines) seemed to have any effect. But micro-Max 4.8 now could keep TSCP below 25% in the Nunn match!
PauloSoare
Posts: 1335
Joined: Thu Mar 09, 2006 5:30 am
Location: Cabo Frio, Brasil

Re: released: micro-Max 4.8w

Post by PauloSoare »

Muller, for me you are a great chessthinker, and you are a programmer too! We all are writing about the new Rybka, it´s impossible not write
about this.
But I admirable your work, and others programmers, in their engines, altought I don´t know your engine.
I will to download micro-Max and make some tests with it. I like
to test positions.
Good luck !

Paulo Soares
User avatar
Jim Ablett
Posts: 1383
Joined: Fri Jul 14, 2006 7:56 am
Location: London, England
Full name: Jim Ablett

Re: released: micro-Max 4.8w

Post by Jim Ablett »

Hi H.G,

I think it's an amazing feat of programming what you have achieved with MicroMax in so little code. - Bravo! :D

Jim.
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: released: micro-Max 4.8w

Post by Dann Corbit »

Perhaps Lance's Thinker has a rival in Elo per byte of code.
Erik Roggenburg

Re: released: micro-Max 4.8w

Post by Erik Roggenburg »

Great job, H.G.!

Good luck in Leiden!
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: released: micro-Max 4.8w

Post by Dann Corbit »

The openings really make me wince, but after that, he plays pretty good.

Code: Select all

[Event "strt"]
[Site "DCORBIT64"]
[Date "2007.05.17"]
[Round "1"]
[White "Micromax"]
[Black "31337-75"]
[Result "0-1"]
[ECO "B43"]
[Opening "Sicilian"]
[Time "18:53:47"]
[Variation "Kan, 5.Nc3 Qc7 6.Be2 Nf6"]
[WhiteElo "2200"]
[TimeControl "120+5"]
[Termination "time forfeit"]
[PlyCount "84"]
[WhiteType "program"]
[BlackType "program"]

1. e4 &#123;&#40;e2e4&#41; +0.01/9 15&#125; c5 &#123;(<book> c7c5&#41; 0.00/1 1&#125; 2. Nc3 &#123;&#40;Nb1c3&#41;
+0.05/9 8&#125; e6 &#123;(<book> e7e6&#41; 0.00/1 0&#125; 3. Nf3 &#123;&#40;Ng1f3&#41; +0.03/9 10&#125; Be7
&#123;&#40;Bf8e7 Bf1e2 Ng8f6 e4e5 Nf6d5 00 00 Nc3xd5 e6xd5&#41; -0.22/7 9&#125; 4. d4 &#123;&#40;d2d4&#41;
+0.06/9 10&#125; cxd4 &#123;&#40;c5xd4 Nf3xd4 Ke8f8 Bf1b5 e6e5 Nd4f3 d7d6&#41; -0.03/7 9&#125; 5.
Nxd4 &#123;&#40;Nf3xd4&#41; -0.13/10 12&#125; Bb4 &#123;&#40;Be7b4 Bf1d3 e6e5 Nd4e2 Ng8f6 00 00&#41;
-0.21/7 9&#125; 6. Nb5 &#123;&#40;Nd4b5&#41; -0.01/9 12&#125; Nf6 &#123;&#40;Ng8f6&#41; -0.17/6 9&#125; 7. Bf4
&#123;&#40;Bc1f4&#41; +0.58/10 5&#125; e5 &#123;&#40;e6e5&#41; -0.22/5 9&#125; 8. Bxe5 &#123;&#40;Bf4xe5&#41; +1.06/11 8&#125;
O-O &#123;&#40;00 Qd1f3 Nb8c6 Be5xf6 g7xf6&#41; -0.96/5 9&#125; 9. Nc7 &#123;&#40;Nb5c7&#41; +1.86/11 4&#125;
Nc6 &#123;&#40;Nb8c6 Nc7xa8 Nc6xe5 f2f4 Ne5c6 e4e5 Bb4xc3+ b2xc3&#41; -0.87/8 8&#125; 10.
Nxa8 &#123;&#40;Nc7xa8&#41; +1.98/11 3&#125; Nxe5 &#123;&#40;Nc6xe5 f2f4 Ne5c6 Bf1d3 d7d5 e4e5 Rf8e8&#41;
-0.99/7 8&#125; 11. a3 &#123;&#40;a2a3&#41; +1.65/10 5&#125; Bxc3 &#123;&#40;Bb4xc3+ b2xc3 d7d5 f2f4 Ne5c6
e4e5 Bc8g4&#41; -0.59/6 8&#125; 12. bxc3 &#123;&#40;b2xc3&#41; +1.23/12 7&#125; Nxe4 &#123;&#40;Nf6xe4 Bf1d3
Ne5xd3+ Qd1xd3 Ne4c5 Qd3c4 Rf8e8+ Ke1d1 b7b6&#41; +0.43/7 8&#125; 13. Qd4 &#123;&#40;Qd1d4&#41;
+1.22/10 4&#125; Nc6 &#123;&#40;Ne5c6 Qd4e3 d7d5 Bf1d3 Bc8f5 Qe3f4&#41; +0.60/6 8&#125; 14. Qe3
&#123;&#40;Qd4e3&#41; +0.91/10 6&#125; d5 &#123;&#40;d7d5 Bf1b5 Bc8d7 Bb5xc6 Bd7xc6 Qe3xa7 Qd8xa8
Qa7xa8 Rf8xa8&#41; +1.16/6 8&#125; 15. O-O-O &#123;&#40;000&#41; +0.36/9 5&#125; Bd7 &#123;&#40;Bc8d7 Rd1xd5
Ne4f6 Qe3d2 Nf6xd5 Qd2xd5&#41; +1.63/6 8&#125; 16. Rxd5 &#123;&#40;Rd1xd5&#41; +0.19/11 6&#125; Nf6
&#123;&#40;Ne4f6 Rd5d6 Qd8xa8 Bf1e2 Rf8e8 Qe3d3&#41; +2.12/6 8&#125; 17. Nc7 &#123;&#40;Na8c7&#41;
+0.13/11 7&#125; Qxc7 &#123;&#40;Qd8xc7 Rd5d1 Rf8e8 Qe3g3 Qc7a5 c3c4 Kg8h8&#41; +2.38/7 8&#125;
18. Rd1 &#123;&#40;Rd5d1&#41; -0.22/11 7&#125; Bg4 &#123;&#40;Bd7g4 Rd1e1 Qc7a5 c3c4 Rf8d8&#41; +2.52/5 8&#125;
19. f3 &#123;&#40;f2f3&#41; 0.00/11 7&#125; Re8 &#123;&#40;Rf8e8 Qe3d2 Bg4f5 Bf1d3 Qc7a5 Bd3xf5
Qa5xf5&#41; +2.24/6 7&#125; 20. Qg5 &#123;&#40;Qe3g5&#41; -0.16/10 7&#125; Be6 &#123;&#40;Bg4e6 Bf1b5 Qc7e7
a3a4 h7h6&#41; +2.39/5 6&#125; 21. Qb5 &#123;&#40;Qg5b5&#41; -0.18/10 7&#125; Qe7 &#123;&#40;Qc7e7 Qb5a4 Nf6d5
Rd1d3&#41; +2.42/4 6&#125; 22. Qb2 &#123;&#40;Qb5b2&#41; -0.15/10 4&#125; Nd5 &#123;&#40;Nf6d5 c3c4 Qe7g5+
Rd1d2 Nd5b6 Qb2c3&#41; +2.51/5 6&#125; 23. Be2 &#123;&#40;Bf1e2&#41; -0.68/10 8&#125; Qg5 &#123;&#40;Qe7g5+
Rd1d2 Qg5xg2 Rh1d1 b7b6&#41; +2.79/4 9&#125; 24. Rd2 &#123;&#40;Rd1d2&#41; -0.74/10 10&#125; Qxg2
&#123;&#40;Qg5xg2 Rh1e1&#41; +2.97/3 8&#125; 25. Rhd1 &#123;&#40;Rh1d1&#41; -1.12/11 13&#125; Ne3 &#123;&#40;Nd5e3 Rd1e1
Qg2f2 Re1h1&#41; +3.28/4 6&#125; 26. Qxb7 &#123;&#40;Qb2xb7&#41; +0.75/11 3&#125; Nxd1 &#123;&#40;Ne3xd1 Be2xd1
Nc6d8 Rd2xg2 Nd8xb7&#41; +2.54/3 8&#125; 27. Qxc6 &#123;&#40;Qb7xc6&#41; +0.66/12 5&#125; Rb8 &#123;&#40;Re8b8
Qc6c7 Rb8f8 Be2xd1 Qg2g1&#41; +0.21/5 8&#125; 28. Qd6 &#123;&#40;Qc6d6&#41; +0.66/11 6&#125; Rf8
&#123;&#40;Rb8f8 Be2xd1 Qg2h1 f3f4&#41; +0.19/4 10&#125; 29. Bxd1 &#123;&#40;Be2xd1&#41; +0.67/12 9&#125; Qf1
&#123;&#40;Qg2f1 Qd6d3 Qf1h1 Qd3d4 Rf8c8 Qd4xa7 Rc8xc3&#41; +0.08/6 6&#125; 30. Qc5 &#123;&#40;Qd6c5&#41;
+0.74/12 12&#125; a6 &#123;&#40;a7a6 Qc5f2 Qf1c4 Qf2e2 Qc4c6&#41; +0.21/5 6&#125; 31. Qa5 &#123;&#40;Qc5a5&#41;
+0.79/11 3&#125; Bc4 &#123;&#40;Be6c4 Rd2d8 f7f6 Rd8xf8+ Kg8xf8 Qa5c7&#41; -0.05/5 6&#125; 32. Rd8
&#123;&#40;Rd2d8&#41; +1.16/12 3&#125; f6 &#123;&#40;f7f6 Rd8xf8+ Kg8xf8 Qa5h5 Bc4e2 Qh5c5+ Kf8g8
Qc5c8+ Kg8f7&#41; -0.09/6 6&#125; 33. Rxf8 &#123;&#40;Rd8xf8+) +1.63/12 5&#125; Kxf8 &#123;&#40;Kg8xf8
Qa5c7&#41; -0.05/1 0&#125; 34. Qd8 &#123;&#40;Qa5d8+) +1.63/12 3&#125; Kf7 &#123;&#40;Kf8f7 Qd8a8&#41; -0.03/1
0&#125; 35. Qd7 &#123;&#40;Qd8d7+) +1.62/12 8&#125; Kf8 &#123;&#40;Kf7f8 Kc1b2 h7h6 a3a4 Kf8g8 Qd7c8+
Kg8h7 Kb2a3 Bc4f7 Qc8d8 Bf7e6&#41; -0.11/9 6&#125; 36. Qc8 &#123;&#40;Qd7c8+) +1.59/12 5&#125; Kf7
&#123;&#40;Kf8f7 Qc8d7+ Kf7g6 Qd7g4+ Kg6h6 f3f4 g7g6 Qg4f3 Qf1g1 Qf3e4 Qg1c5 Kc1b1&#41;
-0.32/9 6&#125; 37. Qc7 &#123;&#40;Qc8c7+) +1.56/12 9&#125; Kg6 &#123;&#40;Kf7g6 Qc7e7 h7h6 Kc1d2
Qf1g2+ Bd1e2 Bc4d5 Qe7e8+ Kg6h7 Qe8c8 Qg2g5+ Kd2d3 Qg5f4 c3c4&#41; -0.20/10 6&#125;
38. Qg3 &#123;&#40;Qc7g3+) +1.48/13 12&#125; Kf7 &#123;&#40;Kg6f7 Qg3c7+ Kf7g6&#41; -0.20/10 6&#125; 39.
Qh4 &#123;&#40;Qg3h4&#41; +1.47/13 8&#125; Be2 &#123;&#40;Bc4e2 Qh4h5+ Kf7e7 Qh5d5 Ke7f8 Qd5d6+ Kf8f7
Qd6d7+ Kf7f8 Qd7d5&#41; -0.10/7 6&#125; 40. Qh5 &#123;&#40;Qh4h5+) +1.74/14 3&#125; Kf8 &#123;&#40;Kf7f8
Qh5c5+ Kf8f7 Qc5d5+ Kf7f8 h2h4 h7h6 h4h5 Qf1h1 Qd5d6+ Kf8f7&#41; -0.09/10 5&#125;
41. Qc5 &#123;&#40;Qh5c5+) +1.71/15 2&#125; Kg8 &#123;&#40;Kf8g8 Qc5d5+ Kg8f8 h2h3 h7h6 h3h4 Qf1h1
c3c4 Be2xd1 Qd5xd1 Qh1xh4&#41; -0.09/9 5&#125; 42. Qc8 &#123;&#40;Qc5c8+) +1.69/16 11&#125; Kf7
&#123;&#40;Kg8f7 Qc8d7+ Kf7g8&#41; +0.19/1 0&#125; 43. ... &#123;0-1 White forfeits on time&#125; 0-1

&#91;Event "strt"&#93;
&#91;Site "DCORBIT64"&#93;
&#91;Date "2007.05.17"&#93;
&#91;Round "2"&#93;
&#91;White "31337-75"&#93;
&#91;Black "Micromax"&#93;
&#91;Result "0-1"&#93;
&#91;BlackElo "2200"&#93;
&#91;ECO "C10"&#93;
&#91;Opening "French"&#93;
&#91;Time "19&#58;05&#58;28"&#93;
&#91;Variation "3.Nc3 Nc6 4.Nf3 Nf6"&#93;
&#91;TimeControl "120+5"&#93;
&#91;Termination "normal"&#93;
&#91;PlyCount "98"&#93;
&#91;WhiteType "program"&#93;
&#91;BlackType "program"&#93;

1. e4 &#123;(<book> e2e4&#41; 0.00/1 1&#125; Nc6 &#123;&#40;Nb8c6&#41; +0.04/9 16&#125; 2. Nc3 &#123;(<book>
Nb1c3&#41; 0.00/1 0&#125; Nf6 &#123;&#40;Ng8f6&#41; +0.03/9 8&#125; 3. d4 &#123;(<book> d2d4&#41; 0.00/1 0&#125; d5
&#123;&#40;d7d5&#41; +0.04/9 6&#125; 4. e5 &#123;(<book> e4e5&#41; 0.00/1 0&#125; Ne4 &#123;&#40;Nf6e4&#41; -0.11/10 8&#125;
5. f4 &#123;(<book> f2f4&#41; 0.00/1 0&#125; Bf5 &#123;&#40;Bc8f5&#41; +0.05/10 6&#125; 6. Bb5 &#123;(<book>
Bf1b5&#41; 0.00/1 0&#125; a6 &#123;&#40;a7a6&#41; +0.06/11 9&#125; 7. Bxc6 &#123;&#40;Bb5xc6+ b7xc6 Nc3e2 e7e6
Ng1f3 Bf8e7 Ne2g3 Ne4xg3 h2xg3&#41; +0.61/8 10&#125; bxc6 &#123;&#40;b7xc6&#41; +0.08/12 7&#125; 8.
Nxe4 &#123;&#40;Nc3xe4 d5xe4 Ng1e2 Bf5g4 c2c3 Ra8b8 00 e7e6 Qd1c2&#41; +0.82/9 10&#125; Bxe4
&#123;&#40;Bf5xe4&#41; +0.21/11 8&#125; 9. Nf3 &#123;&#40;Ng1f3 e7e6 c2c3 Bf8e7 Qd1a4 Qd8d7 00 00
c3c4&#41; +0.66/9 9&#125; e6 &#123;&#40;e7e6&#41; +0.42/10 7&#125; 10. O-O &#123;&#40;00 c6c5 c2c3 c5xd4 Qd1a4+
Qd8d7 Qa4xd4&#41; +0.99/6 10&#125; Be7 &#123;&#40;Bf8e7&#41; +0.52/10 6&#125; 11. Be3 &#123;&#40;Bc1e3 00 b2b3
Ra8b8 Qd1e2 Be4xf3 Qe2xf3 c6c5 d4xc5&#41; +0.56/8 9&#125; O-O &#123;&#40;00&#41; +0.63/10 7&#125; 12.
Nd2 &#123;(<book> Nf3d2&#41; 0.00/1 0&#125; Bg6 &#123;&#40;Be4g6&#41; +0.33/10 8&#125; 13. g4 &#123;(<book>
g2g4&#41; 0.00/1 0&#125; f5 &#123;&#40;f7f5&#41; +0.45/9 3&#125; 14. h3 &#123;(<book> h2h3&#41; 0.00/1 0&#125; Rb8
&#123;&#40;Ra8b8&#41; +0.39/10 8&#125; 15. Nb3 &#123;&#40;Nd2b3 f5xg4 h3xg4 Qd8c8 f4f5 e6xf5 g4xf5
Bg6xf5&#41; +0.08/8 9&#125; fxg4 &#123;&#40;f5xg4&#41; +0.35/10 5&#125; 16. hxg4 &#123;&#40;h3xg4 Qd8d7 f4f5
e6xf5 g4xf5 Bg6xf5 Qd1e2 c6c5 d4xc5&#41; +0.27/8 9&#125; Qe8 &#123;&#40;Qd8e8&#41; +0.32/9 3&#125; 17.
Rc1 &#123;&#40;Ra1c1 a6a5 f4f5 e6xf5 g4xf5 Bg6xf5 c2c4&#41; +0.41/7 9&#125; Be4 &#123;&#40;Bg6e4&#41;
+0.41/10 5&#125; 18. f5 &#123;&#40;f4f5 e6xf5 g4xf5 Be4xf5 Rf1f2 Qe8g6+ Rf2g2 Qg6e8 c2c4&#41;
+0.06/8 9&#125; exf5 &#123;&#40;e6xf5&#41; +1.12/10 4&#125; 19. gxf5 &#123;&#40;g4xf5 Be4xf5 Rf1f2 Be7h4
Rf2g2 Bf5e4 Rg2g4&#41; -0.05/7 9&#125; Rxf5 &#123;&#40;Rf8xf5&#41; +1.72/11 6&#125; 20. Rxf5 &#123;&#40;Rf1xf5
Qe8g6+ Kg1f1 Qg6xf5+ Kf1e1 Be4f3 Qd1d2 Be7h4+ Be3f2 Qf5e4+ Ke1f1&#41; -0.10/7
9&#125; Qg6 &#123;&#40;Qe8g6+) +1.87/12 15&#125; 21. Kf2 &#123;&#40;Kg1f2 Qg6xf5+ Kf2e1&#41; -0.04/7 8&#125; Qg2
&#123;&#40;Qg6g2+) +1.88/11 7&#125; 22. Ke1 Bxf5 &#123;&#40;Be4xf5&#41; +1.53/11 13&#125; 23. Qe2 &#123;&#40;Qd1e2
Qg2xe2+ Ke1xe2 g7g5 c2c4 Bf5e6 Rc1g1 g5g4 Rg1h1 d5xc4&#41; +0.10/9 8&#125; Bh4
&#123;&#40;Be7h4+) +1.57/11 4&#125; 24. Kd2 &#123;&#40;Ke1d2 Qg2xe2+ Kd2xe2 h7h5 c2c4 Bf5e4 e5e6
g7g5 Ke2d2&#41; -0.17/10 10&#125; Qxe2 &#123;&#40;Qg2xe2+) +1.45/11 5&#125; 25. Kxe2 &#123;&#40;Kd2xe2 a6a5
Nb3xa5 Rb8xb2 Na5xc6 Bf5d7 Nc6a5 Rb2xa2 Na5b3 g7g5&#41; -0.13/9 8&#125; Bg4
&#123;&#40;Bf5g4+) +1.28/11 8&#125; 26. Kd2 &#123;&#40;Ke2d2 h7h5 c2c4 Bg4e6 Kd2c3 g7g5 Nb3c5
Be6c8 Rc1g1 g5g4&#41; +0.07/9 8&#125; Be7 &#123;&#40;Bh4e7&#41; +1.07/11 5&#125; 27. c3 &#123;&#40;c2c3 h7h5
c3c4 Be7b4+ Kd2d3 Bg4f5+ Kd3e2 Bf5g4+ Ke2f1 Rb8f8+ Kf1g2 d5xc4 Rc1xc4&#41;
+0.21/7 8&#125; a5 &#123;&#40;a6a5&#41; +1.35/12 9&#125; 28. Rb1 &#123;&#40;Rc1b1 Rb8b6 Be3g1 Bg4f5 Rb1f1
Be7g5+ Bg1e3 Bg5xe3+ Kd2xe3 Bf5c2 Nb3xa5 Rb6xb2&#41; -0.01/9 8&#125; Bf5 &#123;&#40;Bg4f5&#41;
+1.44/12 3&#125; 29. Rf1 &#123;&#40;Rb1f1 g7g6 Kd2c1 Rb8b5 Nb3d2 c6c5 Nd2b3&#41; +0.11/9 8&#125;
g6 &#123;&#40;g7g6&#41; +1.51/12 5&#125; 30. Kc1 &#123;&#40;Kd2c1 Rb8b5 Nb3d2 h7h5 a2a4 Rb5b8 Rf1h1
h5h4&#41; -0.06/8 8&#125; a4 &#123;&#40;a5a4&#41; +1.13/13 6&#125; 31. Na5 &#123;&#40;Nb3a5 Rb8b6 c3c4 a4a3
b2b3 h7h5 Rf1h1&#41; -0.16/8 8&#125; a3 &#123;&#40;a4a3&#41; +1.57/12 3&#125; 32. Nb3 &#123;&#40;Na5b3 h7h5
Rf1h1 a3xb2+ Kc1xb2 Rb8a8&#41; -0.16/8 7&#125; Rxb3 &#123;&#40;Rb8xb3&#41; +4.85/13 4&#125; 33. Rf2
&#123;&#40;Rf1f2 a3xb2+ Rf2xb2 Rb3xc3+ Kc1d2 Rc3d3+ Kd2e2 c6c5 Rb2b3 Rd3xb3 a2xb3
c5xd4 Be3xd4&#41; -5.14/9 8&#125; c5 &#123;&#40;c6c5&#41; +5.41/13 5&#125; 34. Rxf5 &#123;&#40;Rf2xf5 a3xb2+
Kc1b1 Rb3xc3 Be3d2 Rc3c4 Rf5f2 h7h5 Kb1xb2 Rc4xd4&#41; -3.35/8 7&#125; gxf5 &#123;&#40;g6xf5&#41;
+7.07/13 5&#125; 35. dxc5 &#123;&#40;d4xc5 Rb3xb2 Kc1d1 h7h5 c3c4 d5xc4 Be3d4 Rb2xa2
c5c6&#41; -8.29/9 6&#125; Rxb2 &#123;&#40;Rb3xb2&#41; +7.28/15 3&#125; 36. Kd1 &#123;&#40;Kc1d1 h7h5 c3c4 d5xc4
e5e6 c4c3 c5c6 c3c2+ Kd1d2 Rb2xa2 Be3f4 Be7d6&#41; -8.60/11 6&#125; Rxa2 &#123;&#40;Rb2xa2&#41;
+9.32/16 5&#125; 37. c4 &#123;&#40;c3c4 d5xc4 Be3d4 Kg8f7 c5c6&#41; -8.81/10 6&#125; Rg2 &#123;&#40;Ra2g2&#41;
+9.64/16 9&#125; 38. Bd4 &#123;&#40;Be3d4 a3a2 c5c6 Rg2g4 Bd4b2 Rg4xc4 e5e6 Rc4xc6&#41;
-9.90/8 7&#125; Rg4 &#123;&#40;Rg2g4&#41; +10.36/17 7&#125; 39. Ba1 &#123;&#40;Bd4a1 d5d4 Kd1c2 Be7xc5 e5e6
Rg4e4 Ba1xd4 Re4xd4 Kc2c3&#41; -10.90/9 6&#125; Rg1 &#123;&#40;Rg4g1+) +10.87/17 3&#125; 40. Kc2
&#123;&#40;Kd1c2 Rg1xa1 c4xd5 Be7xc5 e5e6 Ra1e1 Kc2b3 c7c6 Kb3c4 Re1c1+ Kc4b3 c6xd5
Kb3a4 h7h5&#41; -12.82/12 6&#125; Rxa1 &#123;&#40;Rg1xa1&#41; +11.46/17 4&#125; 41. cxd5 &#123;&#40;c4xd5
Be7xc5 e5e6&#41; -13.01/12 6&#125; Bxc5 &#123;&#40;Be7xc5&#41; +12.38/17 5&#125; 42. d6 &#123;&#40;d5d6 c7xd6
e5xd6 Ra1d1 Kc2b3 h7h5 d6d7 Rd1xd7 Kb3c4 Bc5d4 Kc4d3&#41; -13.51/11 6&#125; cxd6
&#123;&#40;c7xd6&#41; +18.28/18 5&#125; 43. exd6 &#123;&#40;e5xd6 Bc5xd6 Kc2b3 Ra1b1+ Kb3c3 a3a2 Kc3c4
Rb1d1 Kc4b5 a2a1Q Kb5c6 h7h5 Kc6d7&#41; -22.82/12 6&#125; Bxd6 &#123;&#40;Bc5xd6&#41; +18.35/15
3&#125; 44. Kc3 &#123;&#40;Kc2c3 Ra1c1+ Kc3b3 Rc1b1+ Kb3c4 a3a2 Kc4d5 a2a1Q Kd5c6 Qa1a4+
Kc6xd6 Qa4d4+) -M9/13 6&#125; f4 &#123;&#40;f5f4&#41; +18.36/13 4&#125; 45. Kc2 &#123;&#40;Kc3c2 h7h5 Kc2b3
Ra1e1 Kb3c4 a3a2 Kc4d5 Re1d1+ Kd5c6 a2a1Q Kc6d7 Rd1d2 Kd7e6&#41; -23.29/12 6&#125;
f3 &#123;&#40;f4f3&#41; +24.85/14 8&#125; 46. Kb3 &#123;&#40;Kc2b3 f3f2 Kb3c4 f2f1Q+ Kc4d5 a3a2 Kd5e6
Qf1e1+ Ke6xd6 Ra1d1+ Kd6c7 Qe1c3+ Kc7b7 Rd1b1+ Kb7a6 a2a1Q+) -M8/11 6&#125; Rc1
&#123;&#40;Ra1c1&#41; 0.00/98 0&#125; 47. Ka4 &#123;&#40;Kb3a4 f3f2 Ka4a5 f2f1Q Ka5b6&#41; -M8/11 6&#125; Rb1
&#123;&#40;Rc1b1&#41; 0.00/98 0&#125; 48. Ka5 &#123;&#40;Ka4a5&#41; -13.48/1 0&#125; a2 &#123;&#40;a3a2&#41; 0.00/98 0&#125; 49.
Ka4 &#123;&#40;Ka5a4&#41; -M1/3 1&#125; a1=Q &#123;&#40;a2a1Q+) 0.00/98 0 Mate&#125; 0-1

&#91;Event "strt"&#93;
&#91;Site "DCORBIT64"&#93;
&#91;Date "2007.05.17"&#93;
&#91;Round "3"&#93;
&#91;White "Micromax"&#93;
&#91;Black "31337-75"&#93;
&#91;Result "1-0"&#93;
&#91;ECO "C41"&#93;
&#91;Opening "Philidor"&#93;
&#91;Time "19&#58;17&#58;04"&#93;
&#91;Variation "Philidor Countergambit, Zukertort Variation"&#93;
&#91;WhiteElo "2200"&#93;
&#91;TimeControl "120+5"&#93;
&#91;Termination "normal"&#93;
&#91;PlyCount "85"&#93;
&#91;WhiteType "program"&#93;
&#91;BlackType "program"&#93;

1. e4 &#123;&#40;e2e4&#41; +0.01/9 14&#125; e5 &#123;(<book> e7e5&#41; 0.00/1 1&#125; 2. Nf3 &#123;&#40;Ng1f3&#41;
+0.08/9 5&#125; f5 &#123;(<book> f7f5&#41; 0.00/1 0&#125; 3. exf5 &#123;&#40;e4xf5&#41; +0.42/10 6&#125; Nc6
&#123;&#40;Nb8c6 Bf1b5 Bf8d6 Bb5xc6 b7xc6 Qd1e2 Qd8e7 d2d4&#41; -0.62/8 9&#125; 4. d4 &#123;&#40;d2d4&#41;
+0.77/9 6&#125; e4 &#123;&#40;e5e4 Nf3g5 Ng8f6 d4d5 Nc6b8 f2f3 Bf8b4+ Bc1d2&#41; -0.32/7 9&#125;
5. Ne5 &#123;&#40;Nf3e5&#41; +0.65/10 17&#125; Nxe5 &#123;&#40;Nc6xe5 d4xe5 Qd8h4 Bc1d2 Bf8c5 g2g3
Qh4e7&#41; -0.33/7 9&#125; 6. dxe5 &#123;&#40;d4xe5&#41; +1.24/10 5&#125; Qh4 &#123;&#40;Qd8h4 g2g3 Qh4e7 Qd1d5
d7d6 Bf1b5+ Ke8d8 e5e6&#41; -0.98/7 9&#125; 7. g3 &#123;&#40;g2g3&#41; +1.76/12 6&#125; Qe7 &#123;&#40;Qh4e7&#41;
-0.98/5 9&#125; 8. Qh5 &#123;&#40;Qd1h5+) +1.94/12 5&#125; Qf7 &#123;&#40;Qe7f7 Qh5xf7+ Ke8xf7 Bf1g2
d7d5 e5e6+ Kf7f6 c2c4 c7c6 g3g4 Bf8b4+ Bc1d2 Bb4d6&#41; -1.66/9 8&#125; 9. Qxf7
&#123;&#40;Qh5xf7+) +1.88/12 11&#125; Kxf7 &#123;&#40;Ke8xf7 Bf1g2 d7d5&#41; -1.66/9 8&#125; 10. Nc3
&#123;&#40;Nb1c3&#41; +1.91/12 36&#125; Bb4 &#123;&#40;Bf8b4 Bf1g2 Bb4xc3+ b2xc3 d7d5 e5e6+ Kf7e8 f2f3
e4xf3 Bg2xf3 Ng8f6&#41; -1.62/9 8&#125; 11. Bc4 &#123;&#40;Bf1c4+) +1.83/10 4&#125; Ke8 &#123;&#40;Kf7e8
Bc1d2 Bb4xc3 Bd2xc3 c7c6 000 b7b5 Bc4e2 Ke8d8&#41; -1.33/8 8&#125; 12. O-O &#123;&#40;00&#41;
+1.69/10 9&#125; Bxc3 &#123;&#40;Bb4xc3 b2xc3 Ng8e7 Rf1e1 d7d5 e5xd6/ep c7xd6 Re1xe4
Bc8xf5&#41; -1.03/8 8&#125; 13. bxc3 &#123;&#40;b2xc3&#41; +1.24/10 3&#125; d6 &#123;&#40;d7d6 e5e6 c7c6 Bc4e2
d6d5 f2f3 Ng8f6 f3xe4 d5xe4&#41; -1.29/8 8&#125; 14. e6 &#123;&#40;e5e6&#41; +1.59/11 5&#125; Ne7
&#123;&#40;Ng8e7 Bc1g5 Ne7xf5 Rf1e1 c7c6 g3g4 d6d5 g4xf5 d5xc4 Re1xe4&#41; -1.33/8 8&#125;
15. f3 &#123;&#40;f2f3&#41; +1.74/10 6&#125; d5 &#123;&#40;d6d5 Bc4b3 Rh8f8 f3xe4 d5xe4 Rf1e1 Ne7xf5
Re1xe4 c7c5&#41; -1.19/9 8&#125; 16. Bb3 &#123;&#40;Bc4b3&#41; +1.67/11 3&#125; Rf8 &#123;&#40;Rh8f8 f3xe4
d5xe4 Rf1e1 Rf8xf5 Re1xe4 Ne7d5 c3c4 Nd5f6&#41; -1.46/9 8&#125; 17. fxe4 &#123;&#40;f3xe4&#41;
+1.79/12 18&#125; dxe4 &#123;&#40;d5xe4 Rf1e1 Rf8xf5 Re1xe4 Ne7d5 Bb3xd5 Rf5xd5 Ra1b1&#41;
-1.56/8 7&#125; 18. Re1 &#123;&#40;Rf1e1&#41; +1.80/11 10&#125; Rxf5 &#123;&#40;Rf8xf5 Re1xe4 Ne7g6 Ra1b1
Rf5e5 Re4e3 c7c5 h2h3&#41; -1.66/8 7&#125; 19. Rxe4 &#123;&#40;Re1xe4&#41; +1.80/10 5&#125; Nd5
&#123;&#40;Ne7d5 Bc1d2 Nd5f6 Re4d4 c7c5 Rd4d6 Nf6e4&#41; -1.64/7 7&#125; 20. Bd2 &#123;&#40;Bc1d2&#41;
+1.95/10 4&#125; Nf6 &#123;&#40;Nd5f6&#41; -1.64/5 7&#125; 21. Re2 &#123;&#40;Re4e2&#41; +1.88/10 3&#125; a5 &#123;&#40;a7a5
Ra1d1 c7c5 e6e7 Nf6d5 Bb3xd5 Rf5xd5&#41; -1.80/6 6&#125; 22. a4 &#123;&#40;a2a4&#41; +1.97/11 10&#125;
Ke7 &#123;&#40;Ke8e7 Ra1b1 Ra8a6 Bb3c4 Ra6d6&#41; -1.54/5 6&#125; 23. Rae1 &#123;&#40;Ra1e1&#41; +1.74/11
7&#125; c5 &#123;&#40;c7c5 Re2f2 Rf5xf2 Kg1xf2 Ke7d6&#41; -1.48/5 6&#125; 24. Bc4 &#123;&#40;Bb3c4&#41;
+1.82/11 6&#125; b6 &#123;&#40;b7b6 Re1b1 Bc8a6 Bc4d3 Nf6d5 c3c4&#41; -1.78/6 6&#125; 25. Bd3
&#123;&#40;Bc4d3&#41; +1.78/11 5&#125; Rd5 &#123;&#40;Rf5d5 Bd2f4 Bc8a6 c3c4 Rd5d4 Bf4c7 Ba6xc4
Bc7xb6&#41; -1.70/7 6&#125; 26. h4 &#123;&#40;h2h4&#41; +1.76/10 3&#125; Rd8 &#123;&#40;Rd5d8 Bd2g5 h7h6 Bg5f4
Nf6d5 c3c4 Nd5xf4 g3xf4&#41; -1.30/6 6&#125; 27. Bf4 &#123;&#40;Bd2f4&#41; +1.80/11 8&#125; Re8
&#123;&#40;Rd8e8 Re1b1 Bc8xe6 Rb1xb6 Ke7f7 Rb6d6&#41; -1.57/6 6&#125; 28. Bb5 &#123;&#40;Bd3b5&#41;
+2.88/13 6&#125; Ba6 &#123;&#40;Bc8a6 Bb5xa6 Ra8xa6 c3c4 Nf6h5 Re2f2 Nh5xf4 Rf2xf4&#41;
-1.51/6 6&#125; 29. Bxe8 &#123;&#40;Bb5xe8&#41; +3.18/12 3&#125; Rxe8 &#123;&#40;Ra8xe8 Re2d2 Re8d8 Rd2xd8
Ke7xd8&#41; -3.31/5 8&#125; 30. Rd2 &#123;&#40;Re2d2&#41; +3.86/12 5&#125; Rd8 &#123;&#40;Re8d8 Rd2f2 Nf6d5
Bf4g5+ Nd5f6 Bg5xf6+ g7xf6 g3g4 Rd8f8&#41; -3.49/7 6&#125; 31. Rxd8 &#123;&#40;Rd2xd8&#41;
+3.66/13 3&#125; Kxd8 &#123;&#40;Ke7xd8 Bf4d6 Ba6c4 g3g4 Bc4xe6 g4g5 Kd8d7 g5xf6 Kd7xd6
f6xg7&#41; -3.25/8 6&#125; 32. Bd6 &#123;&#40;Bf4d6&#41; +3.06/14 12&#125; Nd5 &#123;&#40;Nf6d5 Bd6e5 Kd8e7
c3c4 Nd5f6 Be5xf6+ Ke7xf6 Re1e4 Ba6b7&#41; -3.11/8 6&#125; 33. Re5 &#123;&#40;Re1e5&#41; +3.13/13
10&#125; Nxc3 &#123;&#40;Nd5xc3 Re5f5 Kd8c8 Rf5f8+ Kc8b7 e6e7 Nc3e2+ Kg1f2 Ba6c4&#41; -3.03/7
6&#125; 34. Rf5 &#123;&#40;Re5f5&#41; +10.48/17 2&#125; Kc8 &#123;&#40;Kd8c8 Rf5f8+ Kc8b7 e6e7 Ba6b5 a4xb5
Nc3xb5&#41; -5.25/6 8&#125; 35. Rf8 &#123;&#40;Rf5f8+) +12.03/17 4&#125; Kb7 36. e7 &#123;&#40;e6e7&#41;
+12.06/16 5&#125; Ne2 &#123;&#40;Nc3e2+ Kg1f2 Kb7c6 e7e8Q+ Kc6xd6 Qe8d8+ Kd6c6 Qd8a8+
Kc6d7 Qa8xa6&#41; -11.38/6 6&#125; 37. Kf2 &#123;&#40;Kg1f2&#41; +12.75/15 4&#125; Kc6 &#123;&#40;Kb7c6 Bd6e5
Kc6d5 Rf8d8+ Kd5c4 e7e8Q Kc4b4 Be5xg7&#41; -12.55/7 6&#125; 38. e8=Q &#123;&#40;e7e8Q+)
0.00/98 3&#125; Kd5 &#123;&#40;Kc6d5 Qe8f7+ Kd5d4 Bd6e5+ Kd4xe5 Qf7xg7+ Ke5e4 Rf8e8+
Ke4d5 Qg7d7+ Kd5c4 Qd7d3+ Kc4b4 Qd3b3+) -M7/7 6&#125; 39. Qe5 &#123;&#40;Qe8e5+) 0.00/98
0&#125; Kc4 &#123;&#40;Kd5c4 Bd6xc5 b6xc5 Rf8f5 Kc4b4 Qe5xc5+ Kb4xa4 Qc5xa5+) -M4/8 5&#125;
40. Bxc5 &#123;&#40;Bd6xc5&#41; 0.00/98 0&#125; bxc5 &#123;&#40;b6xc5&#41; -M3/6 3&#125; 41. Rf5 &#123;&#40;Rf8f5&#41;
0.00/98 0&#125; Kb4 &#123;&#40;Kc4b4&#41; -M2/4 3&#125; 42. Qxc5 &#123;&#40;Qe5xc5+) 0.00/98 0&#125; Kxa4 43.
Qxa5 &#123;&#40;Qc5xa5+) 0.00/98 0 Mate&#125; 1-0
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: released: micro-Max 4.8w

Post by hgm »

Yes, playing a good opening without knowledge remains a problem. I tried adding some general knowledge directed at improving opening play (e.g. recognizing some forms of doubled Pawns when they are created), but these changes did not result in a significant score improvement.

I can add that, at the level where micro-Max (and even Joker) plays, playing without opening book is often an advantage: you are out of book after 1 or 2 moves, and then the opponent starts making a mess of it as well. Some opponents don't even know how or when to castle if castling doesn't happen as a book move. Especially Joker scores much better in a tournament if it plays without book, as it tends to mess up its position less than micro-Max does when it is playing the opening from general knowledge, as it has a reasonable understanding of Pawn structure.

The forfeiting on time is a problem that I have yet to solve: once every 100 games or so, it does that. It is a consequence of the Keep-Hash modification (which is essential for rep-draw detection). Micro'Max' time management is such that it does never interrupt an iteration, it decides based on the time left if it starts a new one. With Keep Hash this is tricky, as the first N iterations might all be satisfied from the hash in zero time, while the N+1th iteration takes too long. This in particular happens in rep-draw positions.

As it happens so infrequently, and most often in drawn or lost positions, it hardly brings any ELO to correct it. To not annoy testers I will probably have the interface resign on behalf of micro-Max if there is no time left on the clock (like it does when the opponent underpromotes).
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: released: micro-Max 4.8w

Post by hgm »

Please note that I already discovered two bugs

in the hash replacement. Because the statements replacing all the fields in the hash entry are now under an if-statement, that suppresses it if the old entry belonged to the game history (indicated by draft a->D == 99), the statements had to be separated by commas rather than semicolons, to make them appear as a single statement. (A trick to save braces.)

Stupidly I had forgotten to replace one of the semicolons, so that only the replacements of the score and hash lock were conditional. This could cause the game-history entry to get lost, by overwriting its depth by a lower one, so that it lost its privileged status.

Code: Select all

C&#58;if&#40;m>I-M|m<M-I&#41;d=98;                         /* mate holds to any depth  */
  m=m+I|P==I?m&#58;0;                              /* best loses K&#58; &#40;stale&#41;mate*/
  if&#40;a->D<99&#41;                                  /* protect game history     */
   a->K=Z,a->V=m,a->D=d,                       /* always store in hash tab */
   a->X=X|8*&#40;m>q&#41;|S*&#40;m<l&#41;,a->Y=Y;              /* move, type &#40;bound/exact&#41;,*/
The second bug was that the draft stored on checkmates was 99, rather than 98 (as it had been in all more recent versions of uMax, but apparently not the one I used as a basis for deriving this one. This had as a consequence that mate positions would be treated as game-history states, i.e. be locked in the hash table. This might very well have been the cause of the time losses, if the hash table gets saturated with mate positions, and becomes effectively unusable.

Both bugs are corrected now in the source and executable on my website. :oops:
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: released: micro-Max 4.8w

Post by Uri Blass »

hgm wrote:I released a new version of micro-Max, with which I will also participate in ICT7. The Winboard version can be found on my download page, both as a Windows executable and as a C source.

The stand-alone version, on which the official character counts will be based, is not yet available (the links are there, but are not functional). I have to polish the source a bit first, before releasing that and making the count. My estimate is that it will be somewhere around 1930 characters, when I delete the Winboard specific code, and add the stand-alone interface.

New features of uMax 4.8w compared to uMax 4.4w are:
* Better piece values to avoid swapping 2 pieces for Rook + Pawn or Piece for 3 Pawns.
* Less passive play with Pawns in end-game.
* More vigurous action against enemy Pawns on 6th or 7th rank.
* Check extension.
* Late-Move reductions.

This helped a lot. Micro-Max will never be the strongest engine in the World, but these changes now make it consistently win against engines from which it consistently lost before. I tested with 2 min games (2+0) starting from the 10 Nunn positions (each with black and white, so 20 games against each opponent), and against TSCP 1.81, Clueless 1.4, Gibbon 2.01b and Cilian 4.14 (so 80 games in total) the score went up from 26% to 62%.

This should not be taken as an indicator of absolute strength, as no doubt I installed most of the opponents with suboptimal parameters for hash size etc; they only served to gauge the difference between the various uMax versions. I know TSCP is quite a weak engine, but it used to be the 'angstgegner' of micro-Max against which it used to score much worse than against engines with a much higher rating. None of my earlier improvements (that worked quite well against other engines) seemed to have any effect. But micro-Max 4.8 now could keep TSCP below 25% in the Nunn match!
I wonder what is the reason that micromax4.4 is going to play in
the following tournament and not micromax4.8
http://www.csvn.nl/index.php?lang=en

I also wonder what caused you to implement check extensions
because I remember that earlier you were against this idea inspite of the fact that I told you that it is productive for playing strength.

Uri
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: released: micro-Max 4.8w Feature Request

Post by Dann Corbit »

Feature request for the Winboard interface part:
setboard