Positional and Tactical

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Positional and Tactical

Post by Ferdy »

What methods are needed to make an engine plays strong positionally but weak tactically? One can limit the depth and nodes based from material on the board for example, but probably needs more enhancements.

Due to deep opening preparation and understanding humans are very strong in the early part of the game, they are also good at ending because there are a lot of studies and rule/pattern to remember, how to draw a KRPvKR ending etc. They are also good on closed positions because there are less variations to calculate.
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Positional and Tactical

Post by Dann Corbit »

Ferdy wrote: Thu Apr 11, 2019 7:44 pm What methods are needed to make an engine plays strong positionally but weak tactically? One can limit the depth and nodes based from material on the board for example, but probably needs more enhancements.

Due to deep opening preparation and understanding humans are very strong in the early part of the game, they are also good at ending because there are a lot of studies and rule/pattern to remember, how to draw a KRPvKR ending etc. They are also good on closed positions because there are less variations to calculate.
Eliminate the wood values.
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.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Positional and Tactical

Post by Ferdy »

Dann Corbit wrote: Thu Apr 11, 2019 7:56 pm
Ferdy wrote: Thu Apr 11, 2019 7:44 pm What methods are needed to make an engine plays strong positionally but weak tactically? One can limit the depth and nodes based from material on the board for example, but probably needs more enhancements.

Due to deep opening preparation and understanding humans are very strong in the early part of the game, they are also good at ending because there are a lot of studies and rule/pattern to remember, how to draw a KRPvKR ending etc. They are also good on closed positions because there are less variations to calculate.
Eliminate the wood values.
We can try that.

I also thought
1. Turn off or reduce the transposition table usage as the search gets deeper
2. Reduce influence of move ordering as the search gets deeper

So for the first 6 plies or 3 moves, try to be perfect, humans can do this.
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Positional and Tactical

Post by Dann Corbit »

I always thought that if the search got deep enough, the wood values would become pointless.
The power of what they can do (sort of like kinetic energy) would become apparent so that the power of what they might do (sort of potential energy == wood count) becomes less and less important.
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
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Positional and Tactical

Post by hgm »

Well, that only would be true if checkmate is within the horizon. Because otherwise 'what they can do' is mostly just gobble up other material, but if you have no idea that that material is valuable, and how valuable it is, it still knows absolutely nothing.

One way that is not mentioned yet is increase the reduction of non-PV moves when you get above a certain remaining depth. Positional errors tend to go from bad to worse in time, so a deep PV will eventually show the tactical punishment of earlier positional mistakes. But by making sure deviations from the PV are searched only to limited depth, you can limit the engine's tactical abilities.
konsolas
Posts: 182
Joined: Sun Jun 12, 2016 5:44 pm
Location: London
Full name: Vincent

Re: Positional and Tactical

Post by konsolas »

How about adding lots and lots of unsound pruning?

For example, futility pruning with a margin of 32cp * depth, or maybe late move pruning at a low movecount at all depths, null move pruning with a very high reduction (say depth over 2), and also disable all search extensions.

This also has the advantage of making the engine search quite deep, which can be good for positional play. Meanwhile, all the unsound pruning significantly reduces tactical strength.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Positional and Tactical

Post by Ferdy »

Maintain a stronger move when the position is not tactical.

[d]rnbqk2r/pppp1ppp/4pn2/8/1bPP4/2N5/PPQ1PPPP/R1B1KBNR b KQkq - 3 4
Last move Qc2 is positional.
a3 can be tactical, something that there is threat of a capture.

Applying aggressive pruning in a non-controlled manner may backfire on its positional play.


Black launches an aggressive beautiful attack starting at move 11. ... c5, but somehow get lost in the complications.

[pgn][Event "?"] [Site "?"] [Date "2019.04.11"] [Round "2"] [White "Ramjet 0.13 2220"] [Black "Lc0 v0.21.1 w11258-120x9-se blas"] [Result "1-0"] [ECO "E12"] [GameDuration "00:03:15"] [GameEndTime "2019-04-11T23:37:43.803 China Standard Time"] [GameStartTime "2019-04-11T23:34:28.619 China Standard Time"] [Opening "Queen's Indian"] [Termination "adjudication"] [TimeControl "40/180"] [Variation "4.Nc3"] 1.d4 { book } 1...Nf6 { book } 2.c4 { book } 2...e6 { book } 3.Nf3 { book } 3...b6 { book } 4.Nc3 { book } 4...Bb7 { book } 5.Bg5 { book } 5...Be7 { book } 6.Qc2 { book } 6...d5 { book } 7.Bxf6 { book } 7...Bxf6 { book } 8.cxd5 { book } 8...exd5 { book } 9.e3 { 0.00/10 7.6s } 9...O-O { -0.20/3 5.6s } 10.Bd3 { +0.11/9 3.2s } 10...g6 { -0.02/3 5.4s } 11.Qb3 { +0.13/9 7.7s } 11...c5 { +0.66/3 4.9s } 12.dxc5 { +0.29/10 4.6s } 12...Nd7 { +0.92/3 6.2s } 13.cxb6 { +0.29/10 5.3s } 13...Nc5 { +1.31/4 5.0s } 14.Qc2 { +0.22/9 3.0s } 14...d4 { +0.73/3 6.5s } 15.Nxd4 { +0.67/9 2.6s } 15...Bxd4 { +1.89/4 4.5s } 16.exd4 { +0.59/10 2.9s } 16...Qxd4 { +0.51/4 5.7s } 17.O-O-O { +0.33/9 3.1s } 17...axb6 { -0.29/3 6.8s } 18.Be4 { +0.87/10 2.7s } 18...Qf6 { -0.75/3 5.6s } 19.Bxb7 { +1.24/10 2.6s } 19...Nxb7 { -1.10/4 4.3s } 20.Nd5 { +1.48/9 2.3s } 20...Qe6 { -1.51/3 6.9s } 21.Rhe1 { +3.29/11 4.9s } 21...Qd6 { -1.69/4 4.5s } 22.Ne7+ { +6.25/11 2.6s } 22...Qxe7 { -3.46/4 6.3s } 23.Rxe7 { +7.51/12 3.2s } 23...Rfc8 { -6.61/4 3.9s } 24.Rc7 { +7.71/13 3.5s } 24...Rxc7 { -4.90/4 7.8s } 25.Qxc7 { +8.68/14 3.2s } 25...Rc8 { -10.61/5 5.6s } 26.Qxc8+ { +M13/13 1.8s } 26...Kg7 { -22.36/4 5.4s } 27.Qxb7 { +M11/11 0.96s } 27...Kf6 { -23.48/3 5.8s } 28.Rd7 { +M9/9 0.42s } 28...Kg5 { -24.11/2 5.6s } 29.Rxf7 { +M7/7 0.071s } 29...Kh4 { -26.24/3 5.6s } 30.Rxh7+ { +M5/5 0.054s } 30...Kg5 { -26.59/4 5.6s, White wins by adjudication } 1-0 [/pgn]

Limiting iteration depth is one the best way to weaken the engine tactically.


Querying the table in https://fsmosca.github.io/chess-tests/ for positionally strong and tactically weaker engines. Got this.
https://docs.google.com/spreadsheets/d/ ... sp=sharing

Texel and Senpai seemed to fit for positionally stronger but tactically weaker engines. But of course this is only arasan test suite which is generally a difficult test suite.

Would like to add some more tactics there.