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
Something happened in this period (1995-2002), the rise of internet, programmers sharing ideas by email, on servers and in fora. An explosion of knowledge, Which only became more important in the years that followed.
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
Progress in 30 years by four intervals of 7-8 years
Moderators: hgm, Rebel, chrisw
-
- Posts: 6991
- Joined: Thu Aug 18, 2011 12:04 pm
Re: Progress in 30 years by four intervals of 7-8 years
-
- 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
In regard to this porting back to period hardware, I posed a question once to GM Kaufman: Could GM play against a period machine with a modern program reveal to a GM weaknesses in the program's strategic thinking? Could such analysis be used to improve a modern program?Laskos wrote: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.mhull wrote:I guess I'm asking if the new software techniques reduce "path-length-to-elo" on machines with "highly reduced MIPS".Dann Corbit wrote:I don't understand your question.mhull wrote: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?Dann Corbit wrote: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.mhull wrote:Could a programmer from the future have dominated with micros in the 1980s? Is there a way to demonstrate this?
Simple math.
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.
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?
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.
Because a program running on current hardware is just too powerful for a GM to offer it "advice" because the program is already stronger than the GM. But running on vintage hardware, the limits of the program might be observable to a GM.
By slowing down the program (not at blink-of-an-eye time controls that can't be monitored) the program's progress during thinking can be analyzed in real-time, like ultra slow-motion photography.
I don't know.
Matthew Hull
-
- Posts: 2204
- Joined: Sat Jan 18, 2014 10:24 am
- Location: Andorra
Re: Progress in 30 years by four intervals of 7-8 years
It's not necessary to slow down the engine. Andscacs is enormously stronger than me, and I find every day bad played positions than can be improved, and with some of the changes it wins elo.mhull wrote: In regard to this porting back to period hardware, I posed a question once to GM Kaufman: Could GM play against a period machine with a modern program reveal to a GM weaknesses in the program's strategic thinking? Could such analysis be used to improve a modern program?
Because a program running on current hardware is just too powerful for a GM to offer it "advice" because the program is already stronger than the GM. But running on vintage hardware, the limits of the program might be observable to a GM.
Daniel José - http://www.andscacs.com
-
- Posts: 496
- Joined: Wed Mar 08, 2006 9:45 pm
- Location: Portland, OR
Re: Progress in 30 years by four intervals of 7-8 years
This is also an interesting question to me, but I don't think it is as clear-cut as the bolded statement. There would be an "impedance-mismatch" between the old architectures and the architectures Stockfish and other modern engines are tuned for: less speed, less memory bandwidth, fewer bits per word, less memory for tables, etc. It could be that if you reduce the resources enough, the modern programs would become weaker than programs that were tuned for the old architectures.Laskos wrote: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.mhull wrote:I guess I'm asking if the new software techniques reduce "path-length-to-elo" on machines with "highly reduced MIPS".Dann Corbit wrote:I don't understand your question.mhull wrote: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?Dann Corbit wrote: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.mhull wrote:Could a programmer from the future have dominated with micros in the 1980s? Is there a way to demonstrate this?
Simple math.
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.
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?
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.
One area that could be easily improved is tuning. The automatic and methodical eval tuning methods should work for any architecture. Due to resource limits, most of the classic programs were hand-tuned.
Of course, modern search techniques should improve strength, but it might be some require a minimum search depth to take effect, which might not be obtained on the weakest hardware.
The closest thing we have to this kind of work to prove this out is Ruud Martin's wonderful Resurrection/Revelation line of dedicated chess computers, which provide both classic dedicated chess computer emulation and modern engines like Stockfish, Rybka, Shredder, and Hiarcs on the same small ARM (and emulated 68000 and 6502) platform. It clearly shows that modern engines are hundreds of ELO stronger than classic engines on the same reduced hardware. It is especially useful for these measurements because it has the option to reduce the processor speed for strength adjustment.
-
- 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
I have a running (last time I checked) MC68030 @20Mhz machine with 8Mb RAM. It might be interesting to replicate the backport of Stockfish to confirm the comparison with a period chess computer/program.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.Stan Arts wrote:Main problem back then was not the CPU but memory.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.
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.
Matthew Hull
-
- 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
Googling from memory, I seem to spot now onmhull wrote:I have a running (last time I checked) MC68030 @20Mhz machine with 8Mb RAM. It might be interesting to replicate the backport of Stockfish to confirm the comparison with a period chess computer/program.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.Stan Arts wrote:Main problem back then was not the CPU but memory.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.
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.
http://de4.aminet.net/game/board/
only Amiga OS4 port of Stockfish. There is a Crafty for 68000 Amiga. I wouldn't know how to make a backport.
-
- 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
I see the Stockfish port on that link was for a PowerPC and not an MC680x0. But, if I can get Linux running on my Mac IIsi, there might be a way to squeeze it into the platform. (Unless someone has an idea for compiling under MacOS 7).Laskos wrote:Googling from memory, I seem to spot now onmhull wrote:I have a running (last time I checked) MC68030 @20Mhz machine with 8Mb RAM. It might be interesting to replicate the backport of Stockfish to confirm the comparison with a period chess computer/program.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.Stan Arts wrote:Main problem back then was not the CPU but memory.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.
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.
http://de4.aminet.net/game/board/
only Amiga OS4 port of Stockfish. There is a Crafty for 68000 Amiga. I wouldn't know how to make a backport.
Failing that, I might be able to get a recent version of Crafty to run on it (adjusted to run on a 32-bit machine).
Matthew Hull
-
- 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
IIRC, the port of Stockfish (5? 6?) to 68000 gave 200-300 NPS per MHz. This is not so bad in spite of the changes of machine architecture. Stockfish on i7 gives close to 600 NPS per MHz, so only a factor 2-3 frequency wise. I don't think there is a question whether Stockfish on old machines is much stronger than old engines. Stockfish at 1000 nodes per move is pretty equal to Mephisto Roma (1987) at tournament time control, which probably spends hundreds of thousands of nodes per move. Yes, one of those Resurrection/Revelation boards and emulators would be useful.IanO wrote:This is also an interesting question to me, but I don't think it is as clear-cut as the bolded statement. There would be an "impedance-mismatch" between the old architectures and the architectures Stockfish and other modern engines are tuned for: less speed, less memory bandwidth, fewer bits per word, less memory for tables, etc. It could be that if you reduce the resources enough, the modern programs would become weaker than programs that were tuned for the old architectures.Laskos wrote: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.mhull wrote:I guess I'm asking if the new software techniques reduce "path-length-to-elo" on machines with "highly reduced MIPS".Dann Corbit wrote:I don't understand your question.mhull wrote: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?Dann Corbit wrote: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.mhull wrote:Could a programmer from the future have dominated with micros in the 1980s? Is there a way to demonstrate this?
Simple math.
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.
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?
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.
One area that could be easily improved is tuning. The automatic and methodical eval tuning methods should work for any architecture. Due to resource limits, most of the classic programs were hand-tuned.
Of course, modern search techniques should improve strength, but it might be some require a minimum search depth to take effect, which might not be obtained on the weakest hardware.
The closest thing we have to this kind of work to prove this out is Ruud Martin's wonderful Resurrection/Revelation line of dedicated chess computers, which provide both classic dedicated chess computer emulation and modern engines like Stockfish, Rybka, Shredder, and Hiarcs on the same small ARM (and emulated 68000 and 6502) platform. It clearly shows that modern engines are hundreds of ELO stronger than classic engines on the same reduced hardware. It is especially useful for these measurements because it has the option to reduce the processor speed for strength adjustment.
-
- 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
I seem to not be able to find that Stockfish port to 68000 Amiga. It was 2-3 years ago that I saw a link to that port and a discussion about its efficiency. IIRC it was claimed Stockfish is getting 200-300 NPS per MHz. On Amiga 1000 it would mean about 2,000 NPS.mhull wrote:I see the Stockfish port on that link was for a PowerPC and not an MC680x0. But, if I can get Linux running on my Mac IIsi, there might be a way to squeeze it into the platform. (Unless someone has an idea for compiling under MacOS 7).Laskos wrote:Googling from memory, I seem to spot now onmhull wrote:I have a running (last time I checked) MC68030 @20Mhz machine with 8Mb RAM. It might be interesting to replicate the backport of Stockfish to confirm the comparison with a period chess computer/program.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.Stan Arts wrote:Main problem back then was not the CPU but memory.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.
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.
http://de4.aminet.net/game/board/
only Amiga OS4 port of Stockfish. There is a Crafty for 68000 Amiga. I wouldn't know how to make a backport.
Failing that, I might be able to get a recent version of Crafty to run on it (adjusted to run on a 32-bit machine).
-
- 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
A Fidelity Mach II LA, MC68000 @12Mhz with Spracklen chess engine averages about 2,000 NPS (IIRC). If that was an assembler program, I would expect a C program to get somewhat less but who knows.Laskos wrote:I seem to not be able to find that Stockfish port to 68000 Amiga. It was 2-3 years ago that I saw a link to that port and a discussion about its efficiency. IIRC it was claimed Stockfish is getting 200-300 NPS per MHz. On Amiga 1000 it would mean about 2,000 NPS.mhull wrote:I see the Stockfish port on that link was for a PowerPC and not an MC680x0. But, if I can get Linux running on my Mac IIsi, there might be a way to squeeze it into the platform. (Unless someone has an idea for compiling under MacOS 7).Laskos wrote:Googling from memory, I seem to spot now onmhull wrote:I have a running (last time I checked) MC68030 @20Mhz machine with 8Mb RAM. It might be interesting to replicate the backport of Stockfish to confirm the comparison with a period chess computer/program.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.Stan Arts wrote:Main problem back then was not the CPU but memory.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.
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.
http://de4.aminet.net/game/board/
only Amiga OS4 port of Stockfish. There is a Crafty for 68000 Amiga. I wouldn't know how to make a backport.
Failing that, I might be able to get a recent version of Crafty to run on it (adjusted to run on a 32-bit machine).
http://www.schach-computer.info/wiki/in ... 00_Mach_II
Matthew Hull