stockfish 10 vs. Mephisto III S Glasgow

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

Moderators: hgm, Rebel, chrisw

Vinvin
Posts: 5228
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by Vinvin »

mclane wrote: Wed Dec 04, 2019 9:06 pm
Vinvin wrote: Wed Dec 04, 2019 7:45 pm In our time, an average CPU runs Stockfish at 5 Mn/s.
So what's the point to stop Stockfish after 1000 nodes ?
The fact that stockfish needs 5 million NPS to make a move is disastrous enough,
As I read in a previous message, 50 Knodes is around +1000 Elo over 1 Knodes. And 50 Knodes is 0.01 seconds CPU.
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by PK »

Also, misdefining intelligence as adherence to some restriction pulled out from a hat is, well, not very intelligent. I could probably write na engine playing something resembling 1800 Elo chess in 1000 nodes searches, but its code would be ugly beyond measure. Thousands lines of code detecting tactical patterns, static evaluation of upcoming forks etc. - this is not inteligence. This is plain ugly, and searching more nodes in exchange for getting rid of such rubbish is the best thing that happened to chess programming.

On the other hand, working with Brendan Norman on a chess engine impersonating Mikhail Tal (http://www.pkoziol.cal24.pl/opental/) I didn't care how many nodes it burns, as long as it played brilliant if not quite correct sacrifices.
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by mclane »

The main point was about lc0 vs. Stockfisch. That Mephisto III plays it too with only 3 NPS was only the ice on the cake.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by mclane »

PK wrote: Thu Dec 05, 2019 11:04 am Also, misdefining intelligence as adherence to some restriction pulled out from a hat is, well, not very intelligent. I could probably write na engine playing something resembling 1800 Elo chess in 1000 nodes searches, but its code would be ugly beyond measure. Thousands lines of code detecting tactical patterns, static evaluation of upcoming forks etc. - this is not inteligence. This is plain ugly, and searching more nodes in exchange for getting rid of such rubbish is the best thing that happened to chess programming.

On the other hand, working with Brendan Norman on a chess engine impersonating Mikhail Tal (http://www.pkoziol.cal24.pl/opental/) I didn't care how many nodes it burns, as long as it played brilliant if not quite correct sacrifices.
If you have an engine that understands these forks, pins and mate threads without search and has everything in static you don't need to burn resources.

And it's not ugly.

Ugly is to burn resources for beeing lazy in programming.

This way computer chess will not make any progress.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by corres »

In the time of Mephistos (I have the Lyon 16 bits with about 2100 Elo against humans) the fast engines called "bean counter".
Now we call Stockfish.
But what a difference is!
In every times the main task of the developers is to find the balance among chess power, methods of position evaluation and speed of engine. It is a hard task and only the developers of the best engine of that time could perform well this task.
In the power of a chess engines it plays important role the accuracy of the used parameters. This was the main lesson of the spectacular success of Vasik Rajlich and his Rybka. (Maybe it is not valued enough well.)
The time of Mephistos the optimization of engine parameters was very primitive.
I am very curious to know if the parameters of those old engine would set with the help of present methods (as it happens with Stockfish, Houdini, Komodo, Ethereal, etc.) how Elo those old engine could reach.
Raphexon
Posts: 476
Joined: Sun Mar 17, 2019 12:00 pm
Full name: Henk Drost

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by Raphexon »

mclane wrote: Thu Dec 05, 2019 12:21 pm
PK wrote: Thu Dec 05, 2019 11:04 am Also, misdefining intelligence as adherence to some restriction pulled out from a hat is, well, not very intelligent. I could probably write na engine playing something resembling 1800 Elo chess in 1000 nodes searches, but its code would be ugly beyond measure. Thousands lines of code detecting tactical patterns, static evaluation of upcoming forks etc. - this is not inteligence. This is plain ugly, and searching more nodes in exchange for getting rid of such rubbish is the best thing that happened to chess programming.

On the other hand, working with Brendan Norman on a chess engine impersonating Mikhail Tal (http://www.pkoziol.cal24.pl/opental/) I didn't care how many nodes it burns, as long as it played brilliant if not quite correct sacrifices.
If you have an engine that understands these forks, pins and mate threads without search and has everything in static you don't need to burn resources.

And it's not ugly.

Ugly is to burn resources for beeing lazy in programming.

This way computer chess will not make any progress.
NPS isn't the same as burning resources.

Mephisto burns resources just as hard as Stockfish, it displays a lower NPS because its evaluation function is bigger and therefore slower.
Both will use all resources a CPU gives them, Stockfish just does it more efficiently.
Peter Berger
Posts: 653
Joined: Thu Mar 09, 2006 2:56 pm

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by Peter Berger »

mclane wrote: Tue Dec 03, 2019 8:39 pm The failure of todays chess programs is that they heavily rely on search tree instead of knowledge or intuition.
How would you know in the first place? Because Mephisto III displays low NPS? Would you love Stockfish if it displayed NPS=1N/S?

Actually this is probably a question of chess horizon to some extent. I used to play against Mephisto 2 and 3 as a human , and Mephisto 3 was a huge disappoint for me when I got it.

Mephisto 2 played very simple chess and had its obvious limitations, but you had to pay some attention not to blunder, else it would grab your material and convert.
I remember that Mephisto 3 played at a similar level in general, but at times it just played +ridiculously+ weak moves and I could often just out-calculate it.

For a long time I could follow and understand what chessengines were doing ( I had improved my own chess, too). I think up to about the time of Junior 10. It was *way* stronger than me of course, but its moves in games against other engines always made sense to me and if it made a mistake, this could be understood, too, with some analysis work.

This is definitely not the case anymore, when I watch current Stockfish games. Often I don't have the slightest idea why it thinks some move is strong and its "plans" are soo deep that most of the time I only get them with a lot of hindsight if at all. I see that its moves work, but many of them are just +completely+ over my head. And if it loses, I most often don't get the "why" either ;).

Now I imagine that this looks completely different to Magnus Carlsen. He probably looks at Stockfish games and most of what he sees makes a lot of sense to him. And he can probably also spot dumb moves Stockfish does. And at other times appreciate the depth and beauty of its strategy.

On the other hand Magnus would just *destroy* Mephisto 3, even if he played a 5 minutes blitz game and Mephisto could calculate each move for a month. So what does the intelligence you perceive mean?

Peter
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by PK »

Ugly is to burn resources for beeing lazy in programming.
No. Ugly is to write expert system with layer upon layer of code to handle corner cases, only to be asked "but why placing a rook on a closed file when there is enemy queen on the same file plus a chance for a pawn break is considered less important than moving a king to h1 to prevent non-threatening bishop check". This would help in short searches, but longer searches would become more rigid, more reliant non predefined stuff and less reactive to board dynamic. Engine with this kind of knowledge guiding search would be far less likely to find a creative move. I always enjoyed coding evaluation function, but even there I gradually moved away from fixed patterns towards approaches like "take weighted average between competing piece/square evaluations, skewing result towards more optimistic one". This actually begins to look like planning, except that plan is not shaped by general considerations, but by statistics. And for this approach to work, you need a big tree, a large pool of positions to be compared, only then a pattern has a chance to emerge.
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by mclane »

Todays chess programs have no idea what chess is or how they shall win.
They maximise score. They find key moves as if chess is a test position to solve.

And if they see a mate score they do so.

But they do not plan to mate.

Why not.

Mate is the target of the game.

Stockfish solves chess by going very fast very deep into the tree.
It is doing millions of NPS on todays machines.

Chess programming has made much progress.
The algorithms are better today.
But the chess programs are in no way different then they were in the eighties.

Even worse. As some people here frankly said, they found out that all the static knowledge is not needed anymore.

Search can replace this static knowledge.

This is the point of view we had before in computerchess many many times.
We had it when mephisto B+F or beated many selective engines with its A strategy.
We had it when fritz beated many knowledge based programs with nullmove + preprocessing.


Of course the intelligent programs (knowledge based) always striked back, e.g. when mephisto III won the world computer chess championship title against his opponents who did 500 times more NPS, when Ed schröders rebel beated mm2 ( a strategy) . When mchess dominated pc chess scene or hiarcs dominated .

There was always the fight between dumb/stupid programs who did it via tree and knowledge based programs who did it via static or also dynamic knowledge but mainly by chess vocabulary.

I had this discussion over and over again, not only in the newsgroups, also on tournaments directly with the opponents.

I fought with mark uniacke at the championship 1993 in Munich against ossi weiner and his genius wondermachines.
Wit chess system tal i fought at the championship in Paderborn against ossi weiner and genius pc program.
With chess system tal in paris 1997.

And it is always knowledge based versus tree search based.


In the Moment LC0 is the program that fights against the group of tree search based programs.

This is the context I discuss here.
This discussion is old. And the tree search based programs have made progress due to the enormous increase in hardware since 1982.

But you see how it has side effects, many programmers often speak out : why should I put knowledge into my programs when throwing knowledge out gives more ELO.

This is and ever was the problem. Only that in the old days the hardware was 6502 or worse with only 3.7 MHz.

So the hardware went from 1 core 8bit and 32 KB 8 KB RAM to 4 or 8 or even more cores computing parallel and 1130 KB ( size stockfish 10), 64 bit ( makes bitboards possible), hashtables , almost infinite size of opening books, Gigabyte RAM . And instead 3.7 MHz the computers compute 3000 or more MHz and this on many cores parallel.

Do you see the factor of progress the hardware made ?

And all this progress of hardware is not used for new AI ideas and instead invested and used for tree search.

Of course these todays AB programs are smart.

Nobody denies the hours and hours of work been done in those engines,
But IMO it is wasted energy. Because it leads to ELO increase, but not to a quality increase.
While LC0 is in fact bringing a quality increase.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Uri Blass
Posts: 10269
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: stockfish 10 vs. Mephisto III S Glasgow

Post by Uri Blass »

mclane wrote: Thu Dec 05, 2019 6:33 pm Todays chess programs have no idea what chess is or how they shall win.
They maximise score. They find key moves as if chess is a test position to solve.

And if they see a mate score they do so.

But they do not plan to mate.

Why not.

Mate is the target of the game.

Stockfish solves chess by going very fast very deep into the tree.
It is doing millions of NPS on todays machines.

Chess programming has made much progress.
The algorithms are better today.
But the chess programs are in no way different then they were in the eighties.

Even worse. As some people here frankly said, they found out that all the static knowledge is not needed anymore.

Search can replace this static knowledge.

This is the point of view we had before in computerchess many many times.
We had it when mephisto B+F or beated many selective engines with its A strategy.
We had it when fritz beated many knowledge based programs with nullmove + preprocessing.


Of course the intelligent programs (knowledge based) always striked back, e.g. when mephisto III won the world computer chess championship title against his opponents who did 500 times more NPS, when Ed schröders rebel beated mm2 ( a strategy) . When mchess dominated pc chess scene or hiarcs dominated .

There was always the fight between dumb/stupid programs who did it via tree and knowledge based programs who did it via static or also dynamic knowledge but mainly by chess vocabulary.

I had this discussion over and over again, not only in the newsgroups, also on tournaments directly with the opponents.

I fought with mark uniacke at the championship 1993 in Munich against ossi weiner and his genius wondermachines.
Wit chess system tal i fought at the championship in Paderborn against ossi weiner and genius pc program.
With chess system tal in paris 1997.

And it is always knowledge based versus tree search based.


In the Moment LC0 is the program that fights against the group of tree search based programs.

This is the context I discuss here.
This discussion is old. And the tree search based programs have made progress due to the enormous increase in hardware since 1982.

But you see how it has side effects, many programmers often speak out : why should I put knowledge into my programs when throwing knowledge out gives more ELO.

This is and ever was the problem. Only that in the old days the hardware was 6502 or worse with only 3.7 MHz.

So the hardware went from 1 core 8bit and 32 KB 8 KB RAM to 4 or 8 or even more cores computing parallel and 1130 KB ( size stockfish 10), 64 bit ( makes bitboards possible), hashtables , almost infinite size of opening books, Gigabyte RAM . And instead 3.7 MHz the computers compute 3000 or more MHz and this on many cores parallel.

Do you see the factor of progress the hardware made ?

And all this progress of hardware is not used for new AI ideas and instead invested and used for tree search.

Of course these todays AB programs are smart.

Nobody denies the hours and hours of work been done in those engines,
But IMO it is wasted energy. Because it leads to ELO increase, but not to a quality increase.
While LC0 is in fact bringing a quality increase.

I believe stockfish plays well also thanks to good evaluation and not only because of search.
A part of the patches of stockfish are evaluation patch and not search patches.

There are probably evaluation ideas that help with 5M nodes per move and do not help with 1000 nodes per move
so you cannot measure evaluation quality by games when stockfish get only 1000 nodes per move.

I can add that there are search ideas that stockfish use that may be counterproductive at 1000 nodes per move.