When will the chess programmers write an engine that plans ?

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

Moderators: hgm, Rebel, chrisw

Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: When will the chess programmers write an engine that plans ?

Post by Zenmastur »

Dann Corbit wrote: Wed Mar 25, 2020 9:59 am Bernstein's engine did not learn. It memorized. It could parlay that data into new ideas at all.
It stored pv nodes to disk. It reloaded them on startup.
But if it encountered a position it did not know, it had no new knowledge at all to deal with it,

It is an idea called position learning,
Crafty had a variant that did this a very long time ago.

It's not what you think it is, though it is nice
First, you assume that "remembering" and "learning" are totally separate operations. They aren't. If you can't remember, you can't learn.

A few years ago my father suffered a traumatic brain injury. He had to relearn a lot of things, like how to talk, how to walk etc. The brain injury significantly reduced his ability to remember "new" things. As a result he had great difficulty learning anything. Remembering is the first step towards learning. Without it no engine will be able to learn.

So, while you might not think much of it memorizing a bunch of positions because it didn't have the ability to develop new "ideas" (a very high level concept), it is the first step that is required before anything else can happen. Arbitrarily dismissing it as "useless" or "nothing special" is a mistake. It may not have been a huge leap but it was a step in the right direction.
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
jp
Posts: 1470
Joined: Mon Apr 23, 2018 7:54 am

Re: When will the chess programmers write an engine that plans ?

Post by jp »

h1a8 wrote: Mon Mar 23, 2020 10:25 pm
mclane wrote: Fri Mar 20, 2020 11:22 pm I mean that creates a plan and develops a main line that leads to something.
I thought alpha zero and Leela did that. Well it seems they play with a long term plan (illusion).
If A0 & Lc give the illusion of planning, then SF must give that illusion too. We've consistently seen in analysis of positions on this board that at long times, SF & Lc tend to have the same first move in their analysis and often same PV, sometimes for 15 or 30 plies.
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: When will the chess programmers write an engine that plans ?

Post by Dann Corbit »

Zenmastur wrote: Wed Mar 25, 2020 11:45 am
Dann Corbit wrote: Wed Mar 25, 2020 9:59 am Bernstein's engine did not learn. It memorized. It could parlay that data into new ideas at all.
It stored pv nodes to disk. It reloaded them on startup.
But if it encountered a position it did not know, it had no new knowledge at all to deal with it,

It is an idea called position learning,
Crafty had a variant that did this a very long time ago.

It's not what you think it is, though it is nice
First, you assume that "remembering" and "learning" are totally separate operations. They aren't. If you can't remember, you can't learn.

A few years ago my father suffered a traumatic brain injury. He had to relearn a lot of things, like how to talk, how to walk etc. The brain injury significantly reduced his ability to remember "new" things. As a result he had great difficulty learning anything. Remembering is the first step towards learning. Without it no engine will be able to learn.

So, while you might not think much of it memorizing a bunch of positions because it didn't have the ability to develop new "ideas" (a very high level concept), it is the first step that is required before anything else can happen. Arbitrarily dismissing it as "useless" or "nothing special" is a mistake. It may not have been a huge leap but it was a step in the right direction.
I did not say it was useless. I said it was not learning in the sense that Ovyron imagined.
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
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: When will the chess programmers write an engine that plans ?

Post by mclane »

Ok we have now collected enough inspiration IMO, or what do you think ?

I want to thank you the pioneers in this field.

Each of them made a step into the right direction.

Mikhail Botwinnik, Mike Johnson, David Broughton, Thomas Nitsche+Elmar Henne, Julio Kaplan, Marty Hirsch, Mark Uniacke, Chris Whittington, Steen Suurballe, Don Dailey, ...
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: When will the chess programmers write an engine that plans ?

Post by Zenmastur »

Dann Corbit wrote: Wed Mar 25, 2020 6:48 pm I did not say it was useless. I said it was not learning in the sense that Ovyron imagined.
Sorry, those comments weren't directed at you, but at some people I have seen dismiss the idea of storing positions in past discussions.

Regards,

Zenmastur
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: When will the chess programmers write an engine that plans ?

Post by Ovyron »

And I'll agree with Dann: if some engine is built that is capable of "PATTERN RECOGNITION" (something completely outside of the scope of current approaches) to learn about how a current position could be solved with the same idea of a previously seen position in some other game, because THE PATTERN is the same, then you don't need position learning.

Imagine a position where the engine really struggles to find the winning plan, but once it does, it stores it to a file, so when they see this position again, they can play it instantly.

Then you show them the exact same position, but with some rook in a different place. Where that rook is has no effect on the solution, and it could even be a Bishop, or a Queen. But the engine does NOT recognize this PATTERN so it struggles again to find the solution. You make a slight change to the position, and it'll struggle to find the plan again, even though the PV of all solutions is exactly the same.

This is a clear and solid idea that hasn't been explored by chess playing machines yet. Imagine an engine that comes out of book in a position it hasn't seen before, and it plays it at a much higher level than anything else, because it recognizes the PATTERNS of the positions and has learned what has worked before. Maybe it could play its great moves without so much search?

Perhaps this is getting closer to what mclane wants...
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: When will the chess programmers write an engine that plans ?

Post by Dann Corbit »

That is not far from what LC0 does (recognizes features and scores them) as a function of the rules of the game and actual outcomes of games played.
I think that the Komodo team is onto something. If they succeed in blending the best features of alpha-beta and Lc0 style NN recognition, they will have a thing beyond what our wildest imagination dreams of.

But easier said than done
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
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: When will the chess programmers write an engine that plans ?

Post by Ovyron »

A LC0+Bernstein Learning engine would be very interesting (the reason Leela was so useless in my 1.g4 games was that one would show it how a move she scored as -0.90 was actually -4.00, but going to a previous position it'd show -0.90 again, without a way to recognize this line lost from the root so it'd suggest a different plan for black.)
Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: When will the chess programmers write an engine that plans ?

Post by Zenmastur »

Ovyron wrote: Thu Mar 26, 2020 6:54 am A LC0+Bernstein Learning engine would be very interesting (the reason Leela was so useless in my 1.g4 games was that one would show it how a move she scored as -0.90 was actually -4.00, but going to a previous position it'd show -0.90 again, without a way to recognize this line lost from the root so it'd suggest a different plan for black.)
Imagine the number of times that all the various engines have analyzed the opening positions because they lack even a rudimentary method of "remembering" what they calculated the last time they saw the exact same position. It makes me wonder what people are thinking. It's not rocket science. Anyone with more than two brain cells can figure out that it's both cheaper and quicker to retrieve a stored calculation than it is to recalculate it if the calculation time exceeds some threshold value.

It shouldn't be a surprise to anyone that the threshold time for this to be economical has been decreasing as the speed and size of mass storage devices has increased while cost per GB stored has gone down. I did calculations several years ago that included the life cycle cost of the computer, mass storage devices including electricity costs that showed that even if each positions uses a relatively large amount of disk space, any calculatation that took more than a fraction of a second was cheaper, took less time, and consumed less energy to retrieve than it did to recalculate it. So, even if no learning is involved, it's still worthwhile to store calculated results unless the calculation time is very short.

I'm not surprised that many people find engines that have this capability useful and still use them despite the fact that many engines have a much higher ELO.
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: When will the chess programmers write an engine that plans ?

Post by Ovyron »

Ha, the funny thing is that mass storage isn't even needed, Bernstein Learning shows how little the engine needs to save in a file for it to work. We're talking about 64MB per year or something even storage from 10 years ago could manage without sweating.