Observations about Komodo 2.03

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

Moderators: hgm, Rebel, chrisw

User avatar
Eelco de Groot
Posts: 4565
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Observations about Komodo 2.03

Post by Eelco de Groot »

mclane wrote:i find it very funny that especially this radical forward pruning is the key to success. i remember how the FIRST dedicated chess computers HAD TO use forward pruning because of their SLOW hardware.

1981 Mark V had to use B-strategy to come deep into trees. although doing often tactical mistakes, it was enough in travemuende to win.

the old dedicated chess computers had to prune much because their speed was not high enough to
come deep enough into the tree without forward pruning.

Mephisto III by Nitsche and Henne can be seen as the master in this discipline.

then, with rising speed, the brute force machines took over.
this was when 6502 came to 4 mhz and more.

constellation 3.6, superconstellation, novag expert, mephisto B+P,
and the forward pruners were beaten.
and now...
Good to see you back Thorsten! Your story is exactly why I have some doubts about the explanation Larry is offering. Rebel could on a 6502 beat the mainframes because of, among other things, forward pruning. But does that still work very well at long timecontrols, that is the question.

Obviously the pruning techniques have improved and still nullmove is very important, Rebel did not have it back then, in 1995 was it not? But the testing is done at such extremely short timecontrols now that I think it is very similar to the depths achieved by micros in 3 minutes per move. So some of the techniques will still work not unlike they did for Rebel. But there are also holes and I think Houdini could be an example of "skipping" a lot of moves to get to extreme depths. Rybka 4 is a bit better for correspondence chess I have heard, I can't confirm it because I don't have it. But Anthony Cozzie compared Rybka much more to Fritz, because it had a tiny eval compared to some other programs and a very high nodes per second. I still think Rybka is more about brute force strategy than about a highly selective search. It tries to outsearch the opponent. Then again there was that famous Mephisto III that you mention that could search very few nodes but still play strong. Very different from the modern programs! Could the program from Nitsche and Henne compete on modern hardware? Probably it would be very difficult to repair enough holes in the Mephisto III for it to compete with the programs of today. But it would still play interesting chess!

Regards, Eelcio
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Observations about Komodo 2.03

Post by lkaufman »

It's true that most testing is done at very fast levels now. However it is still typical to reach depths around 15 plies at the levels the developers use and around 18 plies at the fastest levels used by the testing organizations, far more than was possible "back in the day". Furthermore there is enough testing done at real levels (like 40 moves in 40') to establish that the same programs retain their superiority at much higher depths, around the mid-twenties. So I would say that the superiority of heavy pruning is proven beyond any reasonable doubt. I don't think anyone used current techniques for pruning thirty years ago; both null move and LMR were then unknown. Also move ordering was not then good enough to make heavy pruning work. I think any author of a top program today, if he could go back in time two or three decades, would easily be able to write programs for the hardware of that time that would crush the best programs then extant by scores like 80-20 or more. Actually it would be possible to prove this; if someone wants to pay a top programmer to write code for the 6502 for example it could be run against a Novag superconstellation or whatever you like.
IanO
Posts: 496
Joined: Wed Mar 08, 2006 9:45 pm
Location: Portland, OR

Re: Observations about Komodo 2.03

Post by IanO »

lkaufman wrote:It's true that most testing is done at very fast levels now. However it is still typical to reach depths around 15 plies at the levels the developers use and around 18 plies at the fastest levels used by the testing organizations, far more than was possible "back in the day". Furthermore there is enough testing done at real levels (like 40 moves in 40') to establish that the same programs retain their superiority at much higher depths, around the mid-twenties. So I would say that the superiority of heavy pruning is proven beyond any reasonable doubt. I don't think anyone used current techniques for pruning thirty years ago; both null move and LMR were then unknown. Also move ordering was not then good enough to make heavy pruning work. I think any author of a top program today, if he could go back in time two or three decades, would easily be able to write programs for the hardware of that time that would crush the best programs then extant by scores like 80-20 or more. Actually it would be possible to prove this; if someone wants to pay a top programmer to write code for the 6502 for example it could be run against a Novag superconstellation or whatever you like.
Personally, I think you're wrong for that particular example. The 8-bit programs of the day (6502, H8) were hogtied by lack of address space, so no transposition tables. Don't most of the modern search innovations rely on sufficient hash space to avoid rework during the many re-searches to get to those high depths and refine the very narrow aspiration windows? (I'd love to be proven wrong; it would be a grand... er... petite challenge to write a modern program that could defeat the top dedicated computers on equivalent hardware. Even the top dedicated computers sold today are using decade's old engines and 1980's era search algorithms. Btw, Ed Schröder's Polgar/MM V programs are the ones to beat on the 6502.)
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Observations about Komodo 2.03

Post by lkaufman »

Some modern ideas need hash tables, some benefit from them but would still be good without them, and some are pretty much independent of them. I think simply null move alone is enough to make any decent 8 bit program beat the best ones without it.
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Observations about Komodo 2.03

Post by Uri Blass »

I think that the quick test may be wrong
I did some analysis by houdini15(one cpu but more than 30 minutes of analysis) with 2 options and houdini evaluates b2 as the best move when Rxa5 is only the second best move(both seem to win the game and I see no evidence that Rxa5 force mate faster).

The score at depth 24 is 3.99 for b2 and 3.93 for Rxa5

Here is the analysis for depths 22-24

FEN: 1q6/r4pbk/1r1p2pp/B2Pn3/Q2NP3/1p3P2/6PP/1R3RK1 b - - 0 1

Houdini_15_w32:
22/65 08:40 703.531.986 1.353.000 +3.26 Ra7xa5 Qa4xa5 Ne5c4 Qa5c3 Rb6b4 e4e5 Bg7xe5 f3f4 Be5xd4+ Qc3xd4 Nc4a3 Qd4f2 Na3xb1 f4f5 Qb8b7 f5xg6+ f7xg6 Rf1xb1 Qb7xd5 h2h4 Qd5c5 Kg1f1 Qc5c4+ Kf1g1 Rb4b7 Kg1h2 b3b2 Rb1xb2 Rb7xb2 Qf2xb2 Qc4xh4+ Kh2g1 Qh4e1+ Kg1h2 Qe1e5+ Qb2xe5 d6xe5 Kh2g3 Kh7g7 Kg3f3 Kg7f6 Kf3e4 h6h5 g2g3 Kf6e6 Ke4e3
22/65 08:40 703.531.986 1.353.000 +3.91 b3b2 f3f4 Ne5g4 Nd4c6 Rb6xc6 d5xc6 Qb8a8 e4e5 Ra7xa5 Qa4d4 d6xe5 Qd4xb2 Qa8xc6 f4xe5 Ra5xe5 Rf1xf7 Qc6c4 Rf7xg7+ Kh7xg7 h2h3 Qc4c5+ Kg1h1 Ng4f2+ Kh1h2 Nf2d3 Qb2a1 Qc5c7 Kh2h1 Kg7h7 Qa1a3 Re5e3 Qa3a2 Qc7e7 Qa2a5 Re3e2 Qa5d5 Nd3f4


23/73 17:22 1.393.619.737 1.336.000 +3.83 Ra7xa5 Qa4xa5 Ne5c4 Qa5c3 Rb6b4 e4e5 Bg7xe5 f3f4 Be5xd4+ Qc3xd4 Nc4a3 Qd4f2 Na3xb1 f4f5 g6g5 Rf1xb1 Qb8b5 h2h3 Qb5xd5 Kg1h1 Qd5d3 Qf2f1 Qd3xf1+ Rb1xf1 b3b2 Rf1b1 Kh7g7 Kh1g1 Kg7f6 Kg1f2 Kf6xf5 Kf2e3 Rb4b3+ Ke3d4 h6h5 Rb1f1+ Kf5e6 Rf1e1+ Ke6f6 Re1f1+ Kf6g6 Rf1b1 h5h4 Kd4c4
23/73 17:22 1.393.619.737 1.336.000 +3.91 b3b2 f3f4 Ne5g4 Nd4c6 Rb6xc6 d5xc6 Qb8a8 e4e5 Ra7xa5 Qa4d4 d6xe5 Qd4xb2 Qa8xc6 f4xe5 Ra5xe5 Rf1xf7 Qc6c4 Rf7xg7+ Kh7xg7 h2h3 Qc4c5+ Kg1h1 Ng4f2+ Kh1h2 Nf2d3 Qb2a1 Qc5c7 Kh2h1 Kg7h7 Qa1a2 Nd3f4 Qa2a8 Nf4d5 Qa8f8 Re5e2 Rb1f1 Re2e7 Rf1d1


24/73 33:21 2.680.728,578 1.339.000 +3.93 Ra7xa5 Qa4xa5 Ne5c4 Qa5c3 Rb6b4 Kg1h1 Nc4a5 Qc3d2 Bg7xd4 h2h4 b3b2 h4h5 Na5b3 h5xg6+ f7xg6 Qd2c2 Nb3c5 g2g3 Qb8b5 Rf1d1 Bd4e5 Kh1g2 Rb4b3 Qc2f2 h6h5 Rd1d2 g6g5 Qf2e2 Qb5xe2+ Rd2xe2 Kh7g6 f3f4 Be5d4 e4e5 Kg6f5 e5xd6 g5xf4 g3xf4 Rb3a3
24/73 33:21 2.680.728,578 1.339.000 +3.99 b3b2 f3f4 Ne5g4 Nd4c6 Rb6xc6 d5xc6 Qb8a8 e4e5 Ra7xa5 Qa4d4 d6xe5 Qd4xb2 Qa8xc6 f4xe5 Ra5xe5 Rf1xf7 Qc6c4 Rf7xg7+ Kh7xg7 h2h3 Qc4c5+ Kg1h1 Ng4f2+ Kh1h2 Nf2d3 Qb2a1 Qc5c7 Kh2h1 Kg7h7 Qa1a2 Nd3f4 Qa2a8 Re5e7 Qa8f3 Nf4e2 Rb1d1 Kh7g7 Qf3b3
User avatar
Mike S.
Posts: 1480
Joined: Thu Mar 09, 2006 5:33 am

Re: Observations about Komodo 2.03

Post by Mike S. »

I guess I should not disagree with a World Champion :mrgreen: But the 2nd position isn't even a sacrifice and Komodo also doesn't choose Bxf7 either.

[D]1q6/r4pbk/1r1p2pp/B2Pn3/Q2NP3/1p3P2/6PP/1R3RK1 b - - 0 1

Analysis by Fire 1.5 xTreme w32+TriB:

1...b2 2.f4 Ng4 3.Nc6 Rxc6 4.dxc6 Qa8 5.c7 Rxc7 6.Qd1 Qxa5 7.Qxg4 Qd2 8.Qd1 Qe3+ 9.Kh1 Qxe4 10.f5 Be5 11.fxg6+ fxg6 12.Re1 Qc2 13.Kg1 Qxd1 14.Rexd1 Rc2 15.h3 Kg7 16.Kf1 Kf6 17.g4 Kg5
-/+ (-1.14) Depth: 8 00:00:00 8kN
-+ (-2.13) Depth: 17 00:00:25 9146kN, tb=2
1...Rxa5 2.Qxa5 Nc4 3.Qc3 Rb4 4.Kh1 Na5 5.f4 Bxd4 6.Qd2 b2 7.e5 Qb5 8.Qe1 Rb3 9.e6 fxe6 10.dxe6 Re3 11.Qd1 Nc6 12.f5 gxf5 13.Qh5 Qd3 14.Qe8 Qc2 15.Qd7+ Kg6 16.Qxd6
-+ (-2.32 ++) Depth: 17 00:00:31 11482kN, tb=2
-+ (-2.65 ++) Depth: 19 00:01:03 24068kN, tb=33

Analysis by Critter 1.01 32-bit+GTB:

1...b2 2.f4 Ng4 3.e5 Ne3 4.Rf2 Nxd5 5.Nc6 Rxc6 6.Qxc6 Rxa5 7.Rfxb2 Qa7+ 8.Kh1 Qe3 9.Qc4 Qxf4 10.Qxf4 Nxf4 11.Rb7 dxe5 12.g3 Ne6 13.Rxf7 g5 14.Kg2 e4 15.Rb6 Ra2+ 16.Kh3 Nc5 17.Rc7 Nd3 18.Rbb7 Nf2+ 19.Kg2 Ng4+ 20.Kg1
-/+ (-1.10) Depth: 6/12 00:00:00 24kN
-+ (-2.86) Depth: 19/58 00:02:57 83762kN


[D]4k2r/r2n1p1p/pq3p2/4pN2/Q1B1p3/4P2P/PP4P1/3R2K1 w - - 0 1

Analysis by Fire 1.5 xTreme w32+TriB:

1.b3 h5 2.Kh2 Rg8 3.Rd6 Qd8 4.Rd2 h4
+/= (0.69 ++) Depth: 8 00:00:00 17kN
+/= (0.63) Depth: 8 00:00:00 41kN
1.Bb3 Kd8 2.Bxf7 Kc8 3.Rd6 Qb5 4.Ne7+ Kc7 5.Qc2+ Nc5 6.Rxf6 Kd7 7.Nc6 Rc7 8.Bc4 Qxc6 9.Qd2+ Ke7 10.Rxc6 Rxc6 11.b3 Rd8
+/- (0.99) Depth: 8 00:00:00 80kN
+- (1.46 --) Depth: 14 00:00:05 1553kN
1.Rd6 Qd8 2.Rc6 Ra8 3.Nd6+ Kf8 4.Nxf7 Qb8 5.Nxh8 Kg7 6.Rxa6 Nb6 7.Rxa8 Nxa8 8.Nf7 Qxb2 9.Nd6 Nb6 10.Qa7+ Kh6 11.Bf1 Qb1 12.Nxe4 Qxe4 13.Qxb6 Kg6
+- (1.62 ++) Depth: 14 00:00:06 1914kN
+- (4.82 ++) Depth: 16 00:00:44 15353kN, tb=1

Analysis by Critter 1.01 32-bit+GTB:

1.b3 Rg8 2.g4 Rc7 3.Rd6 Qc5 4.Rxf6
+/- (0.89) Depth: 6/10 00:00:00 7kN
+/- (1.19 ++) Depth: 8/14 00:00:00 30kN
1.Bb3 Kd8 2.Qc4 h5 3.Nd6 Rc7 4.Qxe4 Rf8 5.Qa8+ Qb8 6.Nxf7+ Ke8 7.Nd6+ Kd8 8.Qxa6 Qa7 9.Qe2 Qb6 10.Nf5 Rh8 11.Ba4 Qa5 12.b3 e4 13.Nd6 Ke7 14.Nxe4 Nb6 15.Bb5 Rd8 16.Rxd8 Kxd8 17.Nxf6 Rc1+ 18.Kh2 Kc7
+/- (0.92) Depth: 8/16 00:00:01 57kN
+- (2.61) Depth: 15/40 00:00:29 11118kN
1.Rd6 Qd8 2.Rc6 Ra8 3.Nd6+ Kf8 4.Nxf7 Nc5 5.Rxc5 Qd2 6.Qa3 Kg7 7.Nxh8 Rxh8 8.Bd5 Kh6 9.Bxe4 Rg8 10.Qc3 Qxc3 11.Rxc3 Rb8 12.Rc2 Rb4 13.Bd3 Ra4
+- (2.77 ++) Depth: 16/50 00:00:49 20006kN
+- (5.05) Depth: 17/50 00:02:33 60874kN

(all from 32-bit P4/2.4 GHz 128 MB hash only, as above)

Maybe it's not typical anyway. I did not compare very many positions. Also, Komodo does of course play sacs too, like:

86: Mike's Test 2.2,N, Mikes_22
[D]2r3k1/pp1b1p2/1q1pp1p1/2r3Pn/4P3/1BN2Q2/PPP5/1K1R3R w - - 0 1

Analysis by Komodo32 2.03 JA:

1.Rhf1 Rf8 2.Rg1 Bc6 3.a3 Rd8 4.Na4 Bxa4 5.Bxa4 Qa5 6.b4 Qxa4 7.bxc5 Qb5+ 8.Qb3 Qxc5 9.Qb4
= (-0.05) Depth: 6 00:00:00 5kN
= (-0.14) Depth: 13 00:00:03 504kN
1.Rxh5 (Fischer's choice too)
= (0.03) Depth: 13 00:00:09 1391kN
+- (2.17) Depth: 18 00:00:55 10730kN

Appreciated! Of course these are just single examples; one would probably need 1,000 to get a complete picture...
Regards, Mike
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Observations about Komodo 2.03

Post by lkaufman »

Mike S. wrote:I guess I should not disagree with a World Champion :mrgreen: But the 2nd position isn't even a sacrifice and Komodo also doesn't choose Bxf7 either.

[D]1q6/r4pbk/1r1p2pp/B2Pn3/Q2NP3/1p3P2/6PP/1R3RK1 b - - 0 1

.
Well, in the second problem Komodo discovered that Bb3 wins material, so alternate moves appear to be "sacrifices" relative to that move. With enough depth it should eventually see the better move though.

Larry