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

Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

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

Post by Daniel Shawul »

mclane wrote: Sun Mar 22, 2020 9:26 pm Look ahead with millions of NPS is not planning for me.
It is also not knowledge for me.

A plan needs no search depth of 30-40.

It needs no AB search at all.

A plan is a concept.
Where to manoeuvre the pieces and WHY to do so.

A plan is a thesis.
And the search tree could find out if the thesis Works.
But it can be build without proof that it works or not.

Chess engines have plenty of evaluation categories and give malus and bonus and sum up them into a value.
But this is not a plan.

This is knowledge and the knowledge can be put into consideration of the position.

A plan can be a mate attack or misusing a positional weakness. It can be important to bring a piece into a certain position or to build a certain pawn structure or destroy it.


A plan is NOT the main line the AB engine has found out.

Of course this CAN be a method to do it and it is a method that is used in most AB programs.

I do believe that programs like LC0 can play a better strategical chess even if they use very few resources then the usual AB engines.

This is because normal AB programs rely mainly on many NPS and huge search depth. Something that is IMO not important for the thing I am talking about.

Normal AB chess Engines misuse resources in a very Heavy way.
It’s been done because these resources are there and we have plenty of them. But they lead to a loss of planning because the programmers rely on search instead on creating a plan. The search replaces the plan and substitutes it.

IMO it would make more sense to stop this waste of resources and substitute search tree with planning.
Thorsten, I basically agree with what you are saying, it is the definitions that I have problems with.
Neural network engines are better strategists ( not planners ) than alpha-beta engines and are the kind of engines you are looking for from what I understood of your post. The big nets searching only hundred of nodes per move are already very strong, so this is not different from how humans play. Also, the actual planning method ( MCTS ) is very selective and only considers the most viable moves, again just like humans.
That is why MCTS is considered a better planning method than "brute-force" alpha-beta in AI.
That GPUs can accelerate NN and give it more lookahead searching capability does not invalidate the fact that NN engines are more closer
to how humans think. Do you see anything missing from how NN engines play chess that you don't like?

I will try to recite the definitions of tactics, strategy, and planning as applied to chess
Strategy - is the long term goal (winning) and how you plan to achieve it. Control of center squares, pawn structure, mobility, etc fall in this category. You can think of a strategy for your opponent by studying his weaknesses and strengths even before play starts.

Tactics - is a short term goal achieved with very specific steps. e.g. Forking rook and king with a knight for an immediate benefit
One tactic is not going to get you to your goal, so you need many of those along the way.

Planning - is the method you use to achieve your goal ( i.e. realize your strategy ). The best strategy without good planning will fail.
In chess, you plan with alpha-beta, MCTS, and other lookahead search methods

Plan - is a sequence of strategic and tactical moves that will get you to the winning position.
Planning seeks to find a plan to achieve the desired outcome.
So that is why I was opposed to your claim that there is no chess engine that plans, because with the above definition all engines do planning unless they play with just static evaluation. I think what you are looking for is an engine that is a good strategist and does not rely heavily on the planning method ( i.e. lookahead search ) to achieve its goal, like alpha-beta engines mostly are.
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 ?pp

Post by mclane »

Yes we agree on these things,

I do think that this search tree chess is not good for the quality of chess,
It gives much ELO in competition but the programs play strange chess,

I can live much better with LC0.
But here I am also in war with heavy GPU solutions.

I prefer low hardware resources and I am astonished how good the quality of chess is the NN produces here.

The absurd thing (contradictory) to me is that chess created by a neural network plays more human alike
Like chess created by 50 years practise done by human chess programmers.

The human chess engines play machine chess. While NN plays human like.

Isn’t this absurd ?
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

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

Post by Ovyron »

mclane wrote: Sun Mar 22, 2020 10:59 pm Isn’t this absurd ?
No. Tell me of any human plan that didn't require search.

Suppose that you have a human thinking about a chess plan, but you give them a decade to plan their next move, and as time goes on their plan goes deeper and deeper. Finally, at the end of the decade they managed to come up with a plan that is a line that the engine found in 1 minute. You claimed that you don't count the engine's line as a plan because of the depth it required, but since the human could come up with it after enough time then, when did it stop being a "plan"?
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 »

Sorry but you forget that a plan does not have to have plausible lines.
Humans play chess by seeing lines structures and trajectories on board, not real main lines or even outcomputed trees or subtrees.
They think in less complicate chess vocabulary. Often do only register those areas of the board that matter.


A chess plan does not need to have legal moves. The human sees possible trajectories.

An engine cannot see this. An engine cannot abstract frommte position.
It cannot generate trajectories but has to generate moves.
It cannot see patterns.

Engines have No eyes.

They cannot see structures,
Or geometrical Stuff.

They maybe have knowledge of them. But they do not see them geometrical.
They have them digital in memory,

It’s much easier for a human to see these things like it is for a human to drive a car in opposite to a machine that tries to drive a car.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

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

Post by JohnWoe »

Speaking about NN engines it would be interesting to see time management connected to NN. What would be the optimum time management strategy. Would it spend more time in critical games paces. Less time on easy moves. Right now it's hard coded.

DeepMind used 1 minute per move time control against Stockfish. Instead of letting their NN decide how much time it needs per position. Also taking into account opponents time. Maybe pressuring him with the clock? Just like humans do.

In general. There is lots of ELO left in time management problems. :P
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 »

mclane wrote: Mon Mar 23, 2020 12:17 am Humans play chess by seeing lines structures and trajectories on board, not real main lines or even outcomputed trees or subtrees.
This is pure fantasy, I've watched +120 hours of footage from GM Hikaru Nakamura while he plays games and explains his plans and I never saw him doing anything extraordinary. He's just a fast thinker, if I had the exact same thought processes that I do but 10 times faster I'd play stronger than him, as I was catching moves that he was missing now and then.

There's nothing special about human thought processes when playing chess, it's mostly about having seen lots and lots of patterns and remembering them and recognizing them when they're on the board and playing the right moves. The most telling thing about Nakamura games was that when he blundered because the chess pattern was rare, most of the time their opponents didn't see the winning move either, and when he was on losing positions his opponents didn't have enough time on the clock to play the winning moves, so he could easily get to 3000 elo.

But any chess player knows what is happening on the human brain, nothing different is happening on the brain of the top human players, it's just much quicker (10 seconds to see what one would take 10 minutes) and refined, but no "structures and trajectories" unrelated to chess lines happening, it's the same basic "I go there and they go there" stuff we see on chess engines, with a different eval function and much slower search.
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 »

mclane wrote: Mon Mar 23, 2020 12:17 am Sorry but you forget that a plan does not have to have plausible lines.
Humans play chess by seeing lines structures and trajectories on board, not real main lines or even outcomputed trees or subtrees.
They think in less complicate chess vocabulary. Often do only register those areas of the board that matter.


A chess plan does not need to have legal moves. The human sees possible trajectories.

An engine cannot see this. An engine cannot abstract frommte position.
It cannot generate trajectories but has to generate moves.
It cannot see patterns.

Engines have No eyes.

They cannot see structures,
Or geometrical Stuff.

They maybe have knowledge of them. But they do not see them geometrical.
They have them digital in memory,

It’s much easier for a human to see these things like it is for a human to drive a car in opposite to a machine that tries to drive a car.
In an abstract sense, everything you say is true. A human may say, I will try a pawn storm. He is opposite castled, and had some wood close to the enemy king, but he did not compute the full path to the end, because it is very deep and beyond his human horizon. But in executing his path, he will (at some point) calculate the full remaining trajectory in order to win. Computers can also do this, and they do it to some extent. The test set developed by Swaminathan (STS) was full of strategic ideas. Indeed, all of the good positions do not have a striking tactical win and the score after a deep search is still not fully decisive (won position is more likely but not determined). There are some positions in the test that turn into won positions due to the extreme compute power we have today and the exponentially better software. But at the time it was written, there were no outcomes where the position was up a full piece after the key move. There are also positions that have been overturned because a very deep tactic was beyond the horizon of the computers and software of the day. So, in a way, what used to be strategic with computers has now become tactical. I think we see the same thing with humans in a way. If a weak player tries to beat a great player, he may form a plan. But the great player is able to out calculate the weak player.

Computers definitely make moves where they do not know the ending outcome, but they evaluate (based on strategic principles) that a given move gives a strategic advantage.

I think pawn storms are a current weakness (we very rarely see them in computer games) because of two things: 1) they take a lot of moves and 2) they usually give away material with no clear tactical gain.

I think that with increasing depth of search things like pawn storms and fortresses will be discovered by computer programs, likely with the aid of code that keeps those ideas in mind.
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.
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 »

Dann Corbit wrote: Sun Mar 22, 2020 7:33 pm
jp wrote: Sun Mar 22, 2020 9:56 am
Dann Corbit wrote: Sun Mar 22, 2020 1:02 am
jp wrote: Sun Mar 22, 2020 12:37 am
Dann Corbit wrote: Sun Mar 22, 2020 12:26 am At some point, computers will see 100 plies ahead. No matter how you look at it, that's strategic.
It's not strategy or tactics. It's calculation.
Both strategy and tactics are calculation.
For computers, there is no strategy or tactics. It's just calculation. Strategy and tactics are meaningful concepts only for human chess thinking.
Humans have transported their human chess thinking into the programs.
The evaluation and search ideas are, in fact, human thinking.
<snip> and just about everything else a GM does.
Sure, it is just calculation, but that is also true when a GM does it,
This is not what a GM or any human does. No human sits there adding up lots of different terms (multiplied by awkward coefficients like 0.38526) to get a number, etc. The closest a human gets to that is counting pieces and assigning values to them to see who's ahead on material.
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 »

jp wrote: Mon Mar 23, 2020 2:35 am No human sits there adding up lots of different terms (multiplied by awkward coefficients like 0.38526) to get a number, etc.
Because we *can't*. If humans could do it and it helped us play better chess, we'd do it. If engines can do that to play better chess, it's not smart to ask that they stop doing it, so they play worse...
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 »

Ovyron wrote: Mon Mar 23, 2020 3:05 am Because we *can't*. If humans could do it and it helped us play better chess, we'd do it. If engines can do that to play better chess, it's not smart to ask that they stop doing it, so they play worse...
The point is not that it's "bad" to be different from humans. The point is that people keep treating software programs like they are humans and using concepts that make sense only for humans to describe computers. There is no "strategy" in computer calculation. They all use enormous computer resources, especially the NN engines. Depending on who one is, one may or may not like that, but it's absurd to indulge the fantasy that they are being "strategic". And if some human savant could add and multiply many terms very quickly and accurately, no one would say he's playing very "strategically" (unless the savant lied about what he was doing).