Progress in 30 years by four intervals of 7-8 years

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

Moderators: hgm, Rebel, chrisw

User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: Progress in 30 years by four intervals of 7-8 years

Post by mhull »

Dann Corbit wrote:
mhull wrote:
Dann Corbit wrote:
mhull wrote:Could a programmer from the future have dominated with micros in the 1980s? Is there a way to demonstrate this?
Yes, the search techniques get the branching factor down to 2 or better today. In the 80's it was around 6. A modern program transported to the motorola would blow the doors off of the software of the time.

Simple math.
Do you think the math shows that the software techniques required to achieve lower BF (and higher depth) would compensate for the potentially higher NPS of period software at both blitz and standard time controls?
I don't understand your question.
The NPS will be about the same on period hardware for the old software and the new using mailbox. It may be that the magics bitboards would work better on 32 bit than the old techniques. Not sure about that.

Modern programs compiled for the 68K CPUs would blow the doors off the older programs on the same hardware.

It sounds to me like you may be asking for something else, though.
I guess I'm asking if the new software techniques reduce "path-length-to-elo" on machines with "highly reduced MIPS".

For example, a 16-bit TI9900 machine a 3Mhz with 48K RAM. The strongest chess program on that architecture AFAIK was a David Levy program written for TI994A computer. A C player could handle its highest levels with relative ease.

Or consider the Novag Super-Constellation. Could that same hardware host a significantly stronger program?
Matthew Hull
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Progress in 30 years by four intervals of 7-8 years

Post by Dann Corbit »

mhull wrote:
Dann Corbit wrote:
mhull wrote:
Dann Corbit wrote:
mhull wrote:Could a programmer from the future have dominated with micros in the 1980s? Is there a way to demonstrate this?
Yes, the search techniques get the branching factor down to 2 or better today. In the 80's it was around 6. A modern program transported to the motorola would blow the doors off of the software of the time.

Simple math.
Do you think the math shows that the software techniques required to achieve lower BF (and higher depth) would compensate for the potentially higher NPS of period software at both blitz and standard time controls?
I don't understand your question.
The NPS will be about the same on period hardware for the old software and the new using mailbox. It may be that the magics bitboards would work better on 32 bit than the old techniques. Not sure about that.

Modern programs compiled for the 68K CPUs would blow the doors off the older programs on the same hardware.

It sounds to me like you may be asking for something else, though.
I guess I'm asking if the new software techniques reduce "path-length-to-elo" on machines with "highly reduced MIPS".

For example, a 16-bit TI9900 machine a 3Mhz with 48K RAM. The strongest chess program on that architecture AFAIK was a David Levy program written for TI994A computer. A C player could handle its highest levels with relative ease.

Or consider the Novag Super-Constellation. Could that same hardware host a significantly stronger program?
Yes.
For instance, I had a C compiler for the Commodore 64, which was an 8 bit machine. So C programs (e.g. CFish) could be made to run on it.
You might have to write an emulation layer for larger integer types, but the branching factor will dominate, even if the software runs much more slowly.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Progress in 30 years by four intervals of 7-8 years

Post by Laskos »

S.Taylor wrote:I thought that Genius (3?) was a giant leap, as was Rybka. Also Hiarcs 7 was a big leap above the rest in its time.
Genius 3 was only 20 ELO points above Rebel 6.0 (top engine of 1994) in 1995:

Code: Select all

THE SSDF RATING LIST 1995-09-08   44786 games played by  142 computers

                                           Rating   +     -  Games   Won  Oppo
                                           ------  ---   --- -----   ---  ----
   1 Genius 3.0 Pentium 90 MHz               2451   37   -35   415   70%  2306
   2 Rebel 6.0 Pentium 90 MHz                2431   42   -40   309   64%  2327
   3 Hiarcs 3.0 Pentium 90 MHz               2422   42   -39   313   65%  2315
   4 MChess Pro 4.0 Pentium 90 MHz           2396   41   -39   310   59%  2329
   5 Fritz 3.0 Pentium 90 MHz                2373   37   -36   377   59%  2312
   6 R30 v. 2.5                              2369   93   -70   111   83%  2101
   7 Genius 3.0 486/50-66 MHz                2367   29   -28   653   67%  2243
   8 Mephisto Genius 2.0  486/50-66 MHz      2345   27   -26   697   61%  2262
   9 MChess Pro 4.0 486/50-66 MHz            2336   30   -29   580   60%  2263
  10 Rebel 6.0 486/50-66 MHz                 2316   27   -27   681   60%  2245
  11 Hiarcs 3.0 486/50-66 MHz                2312   29   -29   586   56%  2268
  12 WChess 1.03 486/50-66 MHz               2308   32   -32   477   51%  2302
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Progress in 30 years by four intervals of 7-8 years

Post by Laskos »

mhull wrote:
Dann Corbit wrote:
mhull wrote:
Dann Corbit wrote:
mhull wrote:Could a programmer from the future have dominated with micros in the 1980s? Is there a way to demonstrate this?
Yes, the search techniques get the branching factor down to 2 or better today. In the 80's it was around 6. A modern program transported to the motorola would blow the doors off of the software of the time.

Simple math.
Do you think the math shows that the software techniques required to achieve lower BF (and higher depth) would compensate for the potentially higher NPS of period software at both blitz and standard time controls?
I don't understand your question.
The NPS will be about the same on period hardware for the old software and the new using mailbox. It may be that the magics bitboards would work better on 32 bit than the old techniques. Not sure about that.

Modern programs compiled for the 68K CPUs would blow the doors off the older programs on the same hardware.

It sounds to me like you may be asking for something else, though.
I guess I'm asking if the new software techniques reduce "path-length-to-elo" on machines with "highly reduced MIPS".

For example, a 16-bit TI9900 machine a 3Mhz with 48K RAM. The strongest chess program on that architecture AFAIK was a David Levy program written for TI994A computer. A C player could handle its highest levels with relative ease.

Or consider the Novag Super-Constellation. Could that same hardware host a significantly stronger program?
I remember someone 2-3 years ago ported Stockfish (5? 6?) to Commodore Amiga 1000 (1985, Motorola 68000 CPU), he was getting around 300 NPS per MHz. On 68020 14 MHz of Mephisto Roma, it would get NPS of about 4000. Tournament time control is about 150 seconds per move, or 600,000 nodes per move. For Stockfish 8, this is solidly in 2800+ FIDE ELO territory, while Mephisto Roma was 2070 FIDE ELO. From my data, the FIDE ELO of Stockfish 8 on 68020 can also be estimated: 1250 computer ELO software progress in 30 years, meaning taking care of FIDE ELO compression, 1250*0.66 = 825 FIDE ELO software progress, and 2070+825 = ~2900 FIDE ELO of Stockfish 8 on Motorola 68020. It is probably a bit inflated, because porting involves a factor of 2-3 NPS loss, but it is too solidly in 2800+ FIDE ELO territory.

So, a present day Stockfish on that Mephisto Roma 68020 board would probably be at least on a par with Kasparov and Deep Blue. Imagine what a stir it would have brought, had it appeared back then in 1987. Strong players played for fun blitz games with these machines, beating them quite easily, imagine Stockfish machine, which is even better at blitz (probably FIDE 3000 on 68020), killing them all.
Stan Arts
Posts: 179
Joined: Fri Feb 14, 2014 10:53 pm
Location: the Netherlands

Re: Progress in 30 years by four intervals of 7-8 years

Post by Stan Arts »

Dann Corbit wrote: Yes.
For instance, I had a C compiler for the Commodore 64, which was an 8 bit machine. So C programs (e.g. CFish) could be made to run on it.
You might have to write an emulation layer for larger integer types, but the branching factor will dominate, even if the software runs much more slowly.
Main problem back then was not the CPU but memory.

You simply have no room to implement anything.
For that reason the programs of it's day on their hardware are still hard to beat.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Progress in 30 years by four intervals of 7-8 years

Post by Laskos »

Stan Arts wrote:
Dann Corbit wrote: Yes.
For instance, I had a C compiler for the Commodore 64, which was an 8 bit machine. So C programs (e.g. CFish) could be made to run on it.
You might have to write an emulation layer for larger integer types, but the branching factor will dominate, even if the software runs much more slowly.
Main problem back then was not the CPU but memory.

You simply have no room to implement anything.
For that reason the programs of it's day on their hardware are still hard to beat.
How this is a problem for Commodore Amiga 1000 of 1985 (Motorola 68000 CPU), with its 512 kB DRAM? Porting of Stockfish on it is known, as I wrote in an earlier post. People could have had a 2800+ FIDE ELO engine (Stockfish 8) by 1985.
Stan Arts
Posts: 179
Joined: Fri Feb 14, 2014 10:53 pm
Location: the Netherlands

Re: Progress in 30 years by four intervals of 7-8 years

Post by Stan Arts »

Laskos wrote:How this is a problem for Commodore Amiga 1000 of 1985 (Motorola 68000 CPU), with its 512 kB DRAM? Porting of Stockfish on it is known, as I wrote in an earlier post. People could have had a 2800+ FIDE ELO engine (Stockfish 8) by 1985.
It isn't. But specifically the C64 was mentioned and a lot of dedicated chess hardware was rather limited back then as well. Yes the Amiga's were amazing machines and hardware was going much faster than software at the time.
Karlo Bala
Posts: 373
Joined: Wed Mar 22, 2006 10:17 am
Location: Novi Sad, Serbia
Full name: Karlo Balla

Re: Progress in 30 years by four intervals of 7-8 years

Post by Karlo Bala »

Laskos wrote:I took 5 top engines of their time separated by 4 fairly equal intervals of 7-8 years since 1987, thanks to Ed's porting to UCI of his beautiful old works.
Hardware gains are for one core.
  • Mephisto Roma (1987)
    CPU: 68020 14 MHz
    FIDE ELO: 2070

    Rebel 6.0 (1994)
    CPU: i486 66 MHz
    Hardware gain: 150 ELO points
    FIDE ELO: 2350

    Shredder 6PB (2002)
    CPU: Athlon 1500 MHz
    Hardware gain: 300 ELO points
    FIDE ELO: 2750

    Robbolito 0.085 (2009)
    CPU: Core 2 3000 MHz
    Hardware gain: 100 Elo points
    FIDE ELO: 3050

    Stockfish (2017)
    CPU: i7 4000 MHz
    Hardware gain: 70 Elo points
    FIDE ELO: 3300
Software gain (equal hardware, one i7 core):

Code: Select all

Games Completed = 100 of 100 (Avg game length = 144.497 sec)
Settings = RR/64MB/60000ms in 40 moves/M 200000cp for 1000 moves, D 4000 moves/EPD:2moves_v1.epd(32000)
Time = 3904 sec elapsed, 0 sec remaining
 1.  Rebel 6.0          (1994)	   64.5/100	   60-31-9  	(L: m=30 t=1 i=0 a=0)	(D: r=4 i=5 f=0 s=0 a=0)	(tpm=1268.5 d=7.10 nps=335726008)
 2.  Mephisto Roma      (1987)      35.5/100	   31-60-9  	(L: m=54 t=6 i=0 a=0)	(D: r=4 i=5 f=0 s=0 a=0)	(tpm=1385.3 d=1.00 nps=0)
100 ELO points

Code: Select all

Games Completed = 100 of 100 (Avg game length = 467.077 sec)
Settings = RR/64MB/120000ms+2000ms/M 200000cp for 1000 moves, D 4000 moves/EPD:2moves_v1.epd(32000)
Time = 11964 sec elapsed, 0 sec remaining
 1.  Shredder Paderborn (2002)      80.5/100	  74-13-13  	(L: m=11 t=2 i=0 a=0)	(D: r=8 i=3 f=0 s=2 a=0)	(tpm=3294.0 d=12.37 nps=1409398)
 2.  Rebel 6.0          (1994)      19.5/100	  13-74-13  	(L: m=70 t=4 i=0 a=0)	(D: r=8 i=3 f=0 s=2 a=0)	(tpm=3373.5 d=9.80  nps=125460712)
250 ELO points

Code: Select all

Games Completed = 100 of 100 (Avg game length = 253.156 sec)
Settings = RR/64MB/2000ms per move/M 200000cp for 1000 moves, D 4000 moves/EPD:2moves_v1.epd(32000)
Time = 6428 sec elapsed, 0 sec remaining
 1.  RobboLito 0.085    (2009)      92.0/100	   87-3-10  	(L: m=3 t=0 i=0 a=0)	(D: r=7 i=1 f=2 s=0 a=0)	(tpm=2001.4 d=18.02 nps=2700313)
 2.  Shredder Paderborn (2002)       8.0/100	   3-87-10  	(L: m=86 t=0 i=1 a=0)	(D: r=7 i=1 f=2 s=0 a=0)	(tpm=2031.7 d=12.46 nps=1425171)
420 ELO points

Code: Select all

Games Completed = 100 of 100 (Avg game length = 233.045 sec)
Settings = RR/64MB/60000ms+1000ms/M 200000cp for 1000 moves, D 4000 moves/EPD:2moves_v1.epd(32000)
Time = 5974 sec elapsed, 0 sec remaining
 1.  Stockfish 110117  (2017)       94.0/100	  89-1-10  	(L: m=1 t=0 i=0 a=0)	(D: r=6 i=2 f=1 s=1 a=0)	(tpm=1644.9 d=28.96 nps=1965019)
 2.  RobboLito 0.085   (2009)        6.0/100	  1-89-10  	(L: m=89 t=0 i=0 a=0)	(D: r=6 i=2 f=1 s=1 a=0)	(tpm=1852.4 d=16.50 nps=2572328)
480 ELO points


One can observe that software progression in 1987-2002 was fairly slow, slower than hardware progression. However, 2002-2017 saw extremely fast software progression and slow hardware progression. This is mostly due to such developments as Fruit/Rybka and Stockfish/Komodo.

In 30 years:

Total gain hardware: 150+300+100+70 = 620 ELO points
Total gain software: 100+250+420+480 = 1250 ELO points
Total gain hardware + software: 620+1250 = 1870 ELO points
FIDE ELO gain: 3300-2070 = 1230 ELO points
Compression of FIDE rating compared to computer rating: 1250/1870 = 0.67
There is a threshold when developers stopped to think about hardware and started to think about chess. With limited hardware there is no room to think about fancy algorithms. Formerly, OS and hardware knowledge was more important, while today is more important chess knowledge, statistic, etc.
Best Regards,
Karlo Balla Jr.
User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: Progress in 30 years by four intervals of 7-8 years

Post by mhull »

Laskos wrote:
Stan Arts wrote:
Dann Corbit wrote: Yes.
For instance, I had a C compiler for the Commodore 64, which was an 8 bit machine. So C programs (e.g. CFish) could be made to run on it.
You might have to write an emulation layer for larger integer types, but the branching factor will dominate, even if the software runs much more slowly.
Main problem back then was not the CPU but memory.

You simply have no room to implement anything.
For that reason the programs of it's day on their hardware are still hard to beat.
How this is a problem for Commodore Amiga 1000 of 1985 (Motorola 68000 CPU), with its 512 kB DRAM? Porting of Stockfish on it is known, as I wrote in an earlier post. People could have had a 2800+ FIDE ELO engine (Stockfish 8) by 1985.
I think this begins to answer my question very well. For 8-bit architecture it could have been more challenging. But MC68000 was readily available in the early '80s.
Matthew Hull
duncan
Posts: 12038
Joined: Mon Jul 07, 2008 10:50 pm

Re: Progress in 30 years by four intervals of 7-8 years

Post by duncan »

Laskos wrote: One can observe that software progression in 1987-2002 was fairly slow, slower than hardware progression. However, 2002-2017 saw extremely fast software progression and slow hardware progression. This is mostly due to such developments as Fruit/Rybka and Stockfish/Komodo.

how much of slowdown of 2002-2017 hardware progression was due to diminishing returns and how much was due to slowdown of moore's law?
fom 1987 to 2002 mhz increased over a hundred fold.

if mhz increase had kept up then we would dealing with over 150,000 ghz rather than 4000 mz