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

User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

When will the chess programmers write an engine that plans ?

Post by mclane »

I mean that creates a plan and develops a main line that leads to something.
Not the usual engines we have today. That play chess within a Horizont of search depth.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
D Sceviour
Posts: 570
Joined: Mon Jul 20, 2015 5:06 pm

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

Post by D Sceviour »

mclane wrote: Fri Mar 20, 2020 11:22 pm I mean that creates a plan and develops a main line that leads to something.
Not the usual engines we have today. That play chess within a Horizont of search depth.
There are a lot of plans that programs follow. First:

(1) To checkmate the other side. More and more, engines are announcing mate even in the middle game.
(2) If there is no checkmate on the horizon, then the plan is to queen a pawn to gain material.
(3) Before queening a pawn, the engines try to look for ways to gain material with combinations. Programs do this better than humans with multiple threats all over the board.
(4) The engines also demonstrate plans for openings and good piece development.

What plan are you looking for?
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 »

That what differs 1-4 from a good human chess player.
Your 1-4 is maybe good and important until you have 1800 ELO.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

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

Post by carldaman »

I agree with Dennis, the top programs (Leela, SF, Komodo and Houdini and even free 'lesser' engines like Fizbo, Schooner, SlowChess, Winter, Wasp, Rodent, Spark, Rhetoric among quite a few others), sometimes when tweaked, show a more human-like disposition, or something very close to human planning, but on a very high level. Specialized derivatives like OpenTal and CyberNezh demonstrate a spectacular ability to attack and take risks where most human GMs would be proud to be able to play powerful and creative chess of that sort.

Yes, some flaws and short-comings may show up here and there, but the picture is more convincing than, say, 10-15 years ago, when Junior, Hiarcs, Rebel or old-favorite CSTal were the best we could hope for. As a fan of attacking chess I welcome the progress being made. My own game has dramatically evolved from being rather stodgy, positional and risk-averse to all-out aggressive in recent years, under the influence of modern engine play.
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 »

"Planning" is a human construction.

Humans have to do it because all the future outcomes can only happen in their imagination, and they falter because their imagination didn't match reality (specially when they imagine that a future position has an evaluation favorable to them, yet it's losing.)

Machines instead build a tree of all variations that they can and see in reality the positions those moves lead to (unlike humans that might glitch and imagine a position with a knight in the wrong place), and play moves that lead the the positions they like the most. If humans could do that they'd do it instead of "planning", and would play at least 300 elo better than they do now, showing how the construction is useless.

Humans don't understand what chess is about, that's why machines have to give them big handicaps to stand a chance with their "planning."

(except I'm human, but these statements sound better in fourth person)
Dann Corbit
Posts: 12538
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: Fri Mar 20, 2020 11:22 pm I mean that creates a plan and develops a main line that leads to something.
Not the usual engines we have today. That play chess within a Horizont of search depth.
An alpha-beta search is a kind of plan. Humans have horizons too, or they would play perfect chess,
The search of LC0 is another kind of plan. NN engines are not moving haphazardly. They examine future outcomes and choose the one they think best,

Now, if what you are really asking is, "When will engines think like we do when playing chess?" I guess the answer is never, and it is just as well. If they thought exactly the same way that we do, they would not be any better than us at it.
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.
BrendanJNorman
Posts: 2526
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

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

Post by BrendanJNorman »

D Sceviour wrote: Fri Mar 20, 2020 11:53 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.
Not the usual engines we have today. That play chess within a Horizont of search depth.
There are a lot of plans that programs follow. First:

(1) To checkmate the other side. More and more, engines are announcing mate even in the middle game.
(2) If there is no checkmate on the horizon, then the plan is to queen a pawn to gain material.
(3) Before queening a pawn, the engines try to look for ways to gain material with combinations. Programs do this better than humans with multiple threats all over the board.
(4) The engines also demonstrate plans for openings and good piece development.

What plan are you looking for?
Firstly, I agree with these 4, but I want to add...

Your 4 ''plans" are mostly related to gaining material, not checkmate.

"No checkmate on the horizon" (mentioned in point (2) ) misses a key point:

Checkmate can only REACH the horizon if you PLAN to reduce king safety by a certain margin.

To do this, engines (especially when I tweak the hell out of them :lol: ) can:

(5) Exchange pieces close to the enemy king, so as to reduce king safety (simple examples being a white knight from c3 exchanging for black knight on f6 via a well-timed Ne4 or a thematic ...Rxc3 sacrifice in an opposite castling Sicilian)

(6) Accumulation of force. That is, transferring pieces to the king's vicinity (I believe you guys call this tropism or something, right? :lol: ) via rook lifts (Re3-g3/h3), Qh5, Ne5, Bg5 type moves - such plans can be done in isolation or combined with pawn storms.

(7) When the above two strategies are accomplished (king safety reduced and piece forces accumulated near king), usually a sacrificial possibility will open up, which even if it doesn't lead to mate, will lead to such forced defensive measures that the defending side will need to give overwhelming material to avoid mate.

(8) Once those 3 outcomes are successful, your point (2) may come into the picture.

IMO the more smoothly one can make an engine walk through this process, the more "human-like" the play will appear to be.

There are other things, but this thread relates to planning only.
BrendanJNorman
Posts: 2526
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

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

Post by BrendanJNorman »

Dann Corbit wrote: Sat Mar 21, 2020 3:49 am
mclane wrote: Fri Mar 20, 2020 11:22 pm I mean that creates a plan and develops a main line that leads to something.
Not the usual engines we have today. That play chess within a Horizont of search depth.
An alpha-beta search is a kind of plan. Humans have horizons too, or they would play perfect chess,
The search of LC0 is another kind of plan. NN engines are not moving haphazardly. They examine future outcomes and choose the one they think best,

Now, if what you are really asking is, "When will engines think like we do when playing chess?" I guess the answer is never, and it is just as well. If they thought exactly the same way that we do, they would not be any better than us at it.
What people don't want to admit, is that human play is absolutely FEEBLE compared to even weak engines.

In order to make an engine "human-like" - especially in the days of powerful hardware - we have to artificially weaken them drastically in order to produce the types of mistakes that even strong humans make.

And once weakened to this extent, we can also flavor the play in the way we like by tweaking the eval terms (increase king safety/tropism + avoid exchanges + reduce material value to produce an attacker, increase pawn structure, outposts, control of open files/lines. decrease tropism etc for the strategic player).

I recently downloaded ALL the games that Lance Perkins' "Thinker" engine played on FICS over the years...

This was a deliberately weakened "Active" version which is designed for human play, designed to "swindle" and designed to often choose the 2nd or 3rd best move in the PV.

It was still smashing 2300 level humans as if it were nothing...with Thinker's typical beautiful play too.

Human play means weak play, but that's not necessarily a bad thing.

People just need to be realistic and honest when designing an engine for ANALYSIS/ENGINE MATCHES vs for Human SPARRING.

Because the difference in strength in these cases is perhaps 500 or more Elo.
BrendanJNorman
Posts: 2526
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

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

Post by BrendanJNorman »

BrendanJNorman wrote: Sat Mar 21, 2020 4:29 am
What people don't want to admit, is that human play is absolutely FEEBLE compared to even weak engines.

I recently downloaded ALL the games that Lance Perkins' "Thinker" engine played on FICS over the years...

This was a deliberately weakened "Active" version which is designed for human play, designed to "swindle" and designed to often choose the 2nd or 3rd best move in the PV.

It was still smashing 2300 level humans as if it were nothing...with Thinker's typical beautiful play too.
Here are a couple examples - LancePerkins is Thinker's FICS account name.

[pgn][Event "FICS rated standard game"]
[Site "FICS freechess.org"]
[Date "2008.07.08"]
[Round "?"]
[White "LancePerkins"]
[Black "askermag"]
[Result "1-0"]
[ECO "D20"]
[WhiteElo "2564"]
[BlackElo "2121"]
[PlyCount "59"]
[EventDate "2008.??.??"]
[TimeControl "900+1"]
[WhiteClock "0:15:00"]
[BlackClock "0:15:00"]

1. d4 d5 2. c4 dxc4 3. e3 Be6 4. Na3 Bd5 5. Nxc4 e6 6. Nf3 c5 7. Bd3 cxd4 8.
Nxd4 Bxg2 9. Rg1 Bd5 10. Ne5 Ne7 11. e4 Bc6 12. Nxf7 Kxf7 13. Qf3+ Ke8 14. Nxe6
Qa5+ 15. Bd2 Qe5 16. Bc4 Bd5 17. Bxd5 Nxd5 18. Ng5 Nf6 19. O-O-O Nbd7 20. Bf4
Qc5+ 21. Kb1 Qc6 22. Qb3 Bc5 23. Qf7+ Kd8 24. e5 g6 25. exf6 Kc8 26. Rge1 Rd8
27. Ne6 Rf8 28. Nxf8 Nxf8 29. Re8+ Qxe8 30. Qxe8# {Black checkmated} 1-0[/pgn]

[pgn][Event "FICS rated standard game"]
[Site "FICS freechess.org"]
[Date "2008.07.07"]
[Round "?"]
[White "LancePerkins"]
[Black "AlexGuban"]
[Result "1-0"]
[ECO "B21"]
[WhiteElo "2569"]
[BlackElo "2361"]
[PlyCount "47"]
[EventDate "2008.??.??"]
[TimeControl "900+1"]
[WhiteClock "0:15:00"]
[BlackClock "0:15:00"]

1. e4 c5 2. f4 e6 3. d3 d5 4. Nd2 Nc6 5. g3 h5 6. exd5 exd5 7. Ndf3 Bd6 8. Qe2+
Nge7 9. Bd2 Qb6 10. O-O-O O-O 11. Kb1 Re8 12. Re1 Bd7 13. Ng5 f6 14. Qxh5 fxg5
15. Bh3 g6 16. Qh6 g4 17. Nf3 gxf3 18. Bxd7 Nd4 19. Be3 Bxf4 20. Qxf4 Red8 21.
Bxd4 Rxd7 22. Be5 Nc6 23. Bf6 Nd4 24. Qh4 {Black resigns} 1-0[/pgn]

If weakened Thinker can do this to guys in the 2100-2400 range, what hope does the average player have of using it as a sparring partner?

Need to cut hundreds of Elo off whilst somehow retaining the playing style.

I believe this should be the real challenge for programmers now, adding Elo is getting boring (although necessary for some engines).
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 »

Why not get a human sparring partner, anyway? All you need is Internet and Lichess, the site has gotten so popular that I can basically get a sparring partner for any time control I want of any strength I want. And their blunders will be as human-like as possible.