LC0 bad search and poor tactics

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
mbabigian
Posts: 104
Joined: Tue Oct 15, 2013 12:34 am
Location: US

LC0 bad search and poor tactics

Post by mbabigian » Fri Jan 25, 2019 1:35 am

It is interesting that for years we had positionally stupid chess software with ever more fantastic tactics that eventually overcame their ongoing positional stupidness with tactical proficiency. Now we also have software that is positionally competent and tactically incompetent. This opening illustrates the point.



Here LC0 wants to play 4 .. dxc4 because it thinks 5. e4 is bad. Flawed tactics steer it down a weaker line. It doesn't think much of 6. Bxc4 because of its flawed tactics and plows huge resources into investigating Bg5. It doesn't like Bxc4 because it thinks 5 e4 is refuted by Nxe4, but after several moves its flawed plan gets more flawed as it prefers 7.. Bxc3 and later 9. ... Nd5 to b5 (black is already under pressure anyway) and worse, thinks 10. ... f6?? is playable. As I looked through this line several times it is clear why LC0 plays it so badly. Its bad tactics lead it to spend enormous resources investigating lines that will never be played.

I realize this type of engine is in its infancy; however, these glaringly bad tactics will need attention sooner or later. If super smart networks could fix this without building a sensible search, then we could just analyze the current position and play perfectly. We all know that is factually false; hence the need to search forward. Once the search design is taken seriously, the strength of these types of engines will skyrocket.

I laugh every time someone says the NN is getting better tactically. The net is good at making positional judgements and when its positional judgement improves, it "appears" it is tactically superior, just like traditional engines "appear" to play positionally good chess due to vast tactical search. If we don't lie to ourselves about how positionally strong the eval function of traditional engines are, why do we lie to ourselves about training better tactics? We will never train better tactics - just the illusion of them. We must search for better tactics.

I don't have the latest Komodo MCTS, but my older 12.1.1 sees e4, but also doesn't like Bxc4. Flipping through the line, Komodo appears way more competent tactically than LC0 even though it misses tactics too. I know Mark and Larry have improved a lot since 12.1.1 and this gives me hope that a positional monster can be married to a search that isn't so horrible. On day I hope to have a strong search and strong positional analyst in one program.

Nay Lin Tun
Posts: 529
Joined: Mon Jan 16, 2012 5:34 am

Re: LC0 bad search and poor tactics

Post by Nay Lin Tun » Fri Jan 25, 2019 3:45 am

Which network version? and what is the speed or nodes of Lco?

mbabigian
Posts: 104
Joined: Tue Oct 15, 2013 12:34 am
Location: US

Re: LC0 bad search and poor tactics

Post by mbabigian » Fri Jan 25, 2019 5:19 am

Speed is relevant in games. This was analysis. Some positions were a million, others tens of millions of nodes. Various networks from the 30 series we're used. Probably tried half a dozen to see if any were better.

I find it more fascinating that you find getting those particular questions answered important. I'd suggest you examine the behavior of whatever networks you want, at however number of nodes you have patience for and come to your own conclusions regarding the "tactics." You'll find little help by changing networks and that is the point.

This common opening's tactics are understood well by the AB engines. Even a semi competent search would be a huge improvement for the NN. The current search is way too pathalogical. Deciding early on a bad path and putting so many nodes into it that even the best hardware won't get the line to change before the next ice age. Bad search = bad tactics and schizophrenic play as some have described it.

yanquis1972
Posts: 1762
Joined: Tue Jun 02, 2009 10:14 pm

Re: LC0 bad search and poor tactics

Post by yanquis1972 » Fri Jan 25, 2019 8:51 am

Even stockfish 10 on a single core i ran alongside leela takes quite some time to even discover, much less reject, the ideas here:

FEN: rnbqk2r/ppp2ppp/4p3/8/1bBPn3/2N2N2/PP3PPP/R1BQ1RK1 b kq - 1 7

Lc0 T30:
14/30 00:00.036 56k 5k +0.35 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
13/30 00:00.118 56k 5k +0.35 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
13/31 00:00.239 57k 4k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
14/32 00:00.260 57k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
15/34 00:00.308 57k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
16/37 00:00.328 57k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
15/37 00:00.356 58k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
16/37 00:00.397 58k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
15/37 00:00.487 58k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
14/37 00:00.776 60k 5k +0.35 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
15/37 00:04.176 76k 5k +0.35 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Bf4 Rb8 14.b3 0-0 15.Be5 Bc8 16.Qg3 Bb7 17.Rad1 Qe7 18.Rfe1 Rbd8 19.h3 Bxe5 20.dxe5 Nd7 21.Rd4 Nb6
16/37 00:06.604 88k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 Rb8 13.b3 0-0 14.Bg5 h6 15.Bh4 Rb6 16.d5 Be5 17.Rad1 Qc8 18.dxe6 Bxe6 19.Bxe6 Rxe6 20.Bg3 Rfe8
17/37 00:09.505 104k 5k +0.36 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 Rb8 13.b3 0-0 14.Bg5 h6 15.Bh4 Rb6 16.d5 Be5 17.Rad1 Qc8 18.dxe6 Bxe6 19.Bxe6 Rxe6 20.Bg3 Rfe8
17/37 00:09.989 107k 5k +0.33 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Kg8 18.Bd3 Bd7 19.Re2 Be8 20.Rfe1 Bf7 21.a3 Nac7 22.Nc5 Ne8 23.Bf4
17/37 00:14.996 128k 5k +0.34 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Kg8 18.Bd3 Bd7 19.Re2 Be8 20.Rfe1 Bf7 21.a3 Nac7 22.Nc5 Ne8 23.Bf4
18/37 00:19.029 148k 5k +0.29 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Kg8 18.Bd3 Bd7 19.Re2 Be8 20.Rfe1 Bf7 21.a3 Nac7 22.Nc5 Ne8 23.Bf4
18/37 00:24.051 174k 5k +0.24 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 Na6 14.Qg3 Kf7 15.Rc1 b4 16.Rxc6 bxa3 17.Bxa6 Ne7 18.Rd6 Qc7 19.Qxa3 Nf5 20.Ne4 Qe7 21.Bxc8 Rhxc8 22.g4 Nxd6
18/37 00:29.060 201k 5k +0.24 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 Na6 14.Qg3 Kf7 15.Rc1 b4 16.Rxc6 bxa3 17.Bxa6 Ne7 18.Rd6 Qc7 19.Bd3 Rd8 20.Rxd8 Qxd8 21.Bxh7 g6 22.Ne4 Kg7
19/37 00:29.233 202k 5k +0.24 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 Na6 14.Qg3 Kf7 15.Rc1 b4 16.Rxc6 bxa3 17.Bxa6 Ne7 18.Rd6 Qc7 19.Bd3 Rd8 20.Rxd8 Qxd8 21.Bxh7 g6 22.Ne4 Kg7
19/37 00:34.246 231k 5k +0.21 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 Na6 14.Qg3 Kf7 15.Rc1 b4 16.Rxc6 bxa3 17.Bxa6 Ne7 18.Rd6 Qc7 19.Bd3 Rd8 20.Rxd8 Qxd8 21.Bxh7 g6 22.Ne4 Kg7
19/37 00:39.249 259k 5k +0.20 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Bd3 Rh6 21.Nc3 Nxc3 22.Rxc3 Nb4 23.Bb1 Nd5 24.Rf3 Bf7 25.Rc1
19/38 00:42.095 274k 5k +0.19 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Bxb4 Nxb4 23.Nxb5 Rd8
20/38 00:42.799 277k 5k +0.20 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Bxb4 Nxb4 23.Nxb5 Rd8
20/39 00:44.283 284k 5k +0.21 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Bxb4 Nxb4 23.Nxb5 Rd8
20/48 00:47.086 299k 5k +0.20 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Bxb4 Nxb4 23.Nxb5 Rd8
21/48 00:50.368 320k 5k +0.20 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Bxb4 Nxb4 23.Nxb5 Rd8
21/49 00:50.506 320k 5k +0.20 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Bxb4 Nxb4 23.Nxb5 Rd8
21/50 00:50.833 322k 5k +0.20 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Bxb4 Nxb4 23.Nxb5 Rd8
21/50 00:55.854 353k 5k +0.18 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Bd3 Rh6 21.Nc3 Nxc3 22.Rxc3 Nb4 23.Rxe6 Nxd3 24.Qxd3 Bf7 25.Be7 Qd7
21/50 01:00.864 384k 5k +0.17 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Nxd5 Nxd5 23.Bxd5 exd5 24.Re7 Qg4 25.Qxg4
21/50 01:15.873 449k 5k +0.17 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Be8 19.Rfe1 Kg8 20.Nc3 Nab4 21.Bf3 Qd7 22.Nxd5 Nxd5 23.Bxd5 exd5 24.Re7 Qg4 25.Qxg4
21/50 01:20.890 479k 5k +0.16 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Kg8 19.Bd3 Be8 20.Rfe1 Rh6 21.Nc3 Nxc3 22.Rxc3 f5 23.Be2 Nb4 24.Bf3 Nxa2 25.Rxc6 Bxc6 26.Bxc6
21/50 01:35.913 558k 5k +0.38 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Ba3 f6 11.Rae1 c6 12.Nd2 b5 13.Be2 a5 14.Qg3 Kf7 15.Bd6 Na6 16.Ne4 h5 17.h4 Bd7 18.Rc1 Kg8 19.Bd3 Be8 20.Rfe1 Rh6 21.Nc3 Nxc3 22.Rxc3 f5 23.Be2 Nb4 24.Bf3 Nxa2 25.Rxc6 Bxc6 26.Bxc6

Stockfish 10 1cpu:
1/1 00:00.002 66 33k +0.22 7. ... Nf6
2/3 00:00.002 118 59k +0.12 7. ... Nf6 8.Qa4+ Nc6
3/4 00:00.002 174 87k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5
4/5 00:00.002 238 119k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3
5/6 00:00.002 323 162k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3
6/8 00:00.002 531 266k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6
7/9 00:00.002 778 389k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7
8/10 00:00.002 1k 544k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3
9/10 00:00.002 1k 718k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3
10/15 00:00.002 2k 1,035k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 h6 13.Re1 0-0 14.b3 Rb8
11/19 00:00.003 4k 1,242k +0.13 7. ... Nf6 8.Qa4+ Nc6 9.Ne5 Bd6 10.Nxc6 bxc6 11.Qxc6+ Bd7 12.Qf3 Rb8 13.b3 h6 14.d5 0-0 15.dxe6 fxe6 16.Qh3 Nd5
12/20 00:00.004 8k 1,985k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rae1 h6 12.Bh4 Ne7 13.Bxf6 gxf6 14.Qc2 Bd7
13/19 00:00.007 16k 2,347k +0.12 7. ... Nf6 8.d5 0-0 9.dxe6 Bxe6 10.Bxe6 Qxd1 11.Bxf7+ Rxf7 12.Rxd1 Nc6 13.Be3 h6 14.Nd4 Bxc3 15.bxc3
14/19 00:00.016 39k 2,445k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Bxf6 Qxf6 12.Rfe1 h6 13.Bd3 Bd7 14.Rab1 Rab8 15.Qc2
15/20 00:00.019 45k 2,378k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Bxf6 Qxf6 12.Rfe1 h6 13.Bd3 Bd7 14.Rab1 Rab8 15.Qc2 Rfd8 16.Qd2 Ne7 17.Ne5
16/25 00:00.030 72k 2,388k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Bxf6 Qxf6 12.Rfe1 Rb8 13.Bd3 Bd7 14.Qc2 h6 15.Qe2 Rfd8 16.h3 Ne7 17.Ne5 Nd5
17/21 00:00.033 80k 2,424k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Bxf6 Qxf6 12.Rfe1 Rb8 13.Bd3 Bd7 14.Qc2 h6 15.Qe2 Rfd8 16.h3 Ne7 17.Ne5 Nd5
18/22 00:00.041 103k 2,516k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Bxf6 Qxf6 12.Rfe1 Rb8 13.Bd3 Bd7 14.Qc2 h6 15.Qe2 Rfd8 16.h3 Ne7 17.Ne5 Nd5 18.Qe4
19/29 00:00.064 159k 2,488k +0.21 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bh4 Ne7 13.Bd3 Nf5 14.Bxf6 Qxf6 15.Ne5 Nd6 16.Re3 b6 17.Rf3 Qd8 18.Qc2 Bb7 19.Rg3 f5 20.Qe2 Rf6 21.Rh3 Be4
20/33 00:00.124 296k 2,384k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bxf6 Qxf6 13.Bd3 Bd7 14.Qc2 Rab8 15.Qe2 Rfd8 16.Rab1 Ne7 17.Ne5 Bc6 18.Bc2 g6 19.Qd3
21/29 00:00.133 319k 2,402k +0.24 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bxf6 Qxf6 13.Bd3 Bd7 14.Qc2 b6 15.Qe2 Rae8 16.Bc2 Qe7 17.Qd2 f5 18.h3 Rb8 19.Rab1 Na5 20.Qe2
22/32 00:00.167 404k 2,421k +0.14 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bxf6 Qxf6 13.Bd3 Bd7 14.Qc2 Rfd8 15.Rab1 Rab8 16.h3 b6 17.Qe2 g6 18.Qe3 Kh7 19.a3 Kg7 20.Bc2 Qe7 21.Ne5
23/33 00:00.263 634k 2,411k +0.09 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bxf6 Qxf6 13.Bd3 Bd7 14.Qc2 Rfd8 15.Rab1 Rab8 16.h3 b6 17.Be4 b5 18.Qd3 a6 19.Rbd1 a5 20.Qc2 b4 21.cxb4 Nxb4
24/34 00:00.422 990k 2,346k +0.20 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bxf6 Qxf6 13.Bd3 Bd7 14.Qc2 Rfd8 15.Rab1 Rab8 16.h3 b6 17.Be4 g6 18.Qd2 Kg7 19.Qe2 Qe7 20.Qe3
25/37 00:01.307 3,038k 2,324k +0.25 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bxf6 Qxf6 13.Bd3 Bd7 14.Rab1 Rab8 15.Qc4 Rfd8 16.Bc2 b5 17.Qd3 Qf5 18.Qd2 Qf6 19.h3 Rb6 20.Qd3 Qf5 21.Qe2 Qd5 22.Rbd1 a6 23.Qd2 Qd6 24.Rb1 f5 25.Bb3
26/40 00:02.558 5,878k 2,298k +0.12 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Bd3 h6 12.Bh4 e5 13.Nxe5 Nxe5 14.dxe5 Qxd3 15.exf6 Bd7 16.Qb4 Qb5 17.Rfe1 Qxb4 18.cxb4 Be6 19.fxg7 Kxg7 20.a4 Rfe8 21.Bg3 c5 22.bxc5 Rac8 23.Be5+ f6
27/42 00:05.899 13,571k 2,301k +0.13 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bxf6 Qxf6 13.Bd3 Bd7 14.Rab1 Rab8 15.Qc4 Rfd8 16.Bc2 b5 17.Qd3 Qf5 18.Qd2 Qf6 19.h3 a6 20.Qd3 Qf5 21.Qe2 Qf6 22.Rbd1 Qf4 23.Rd2
28/37+ 00:07.163 16,424k 2,293k +0.23 7. ... Nf6 8.Qa4+
28/38- 00:07.579 17,374k 2,292k +0.13 7. ... Nf6
28/39 00:10.675 24,518k 2,297k 0.00 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bh4 Ne7 13.Bxf6 gxf6 14.Rad1 b6 15.d5 exd5 16.Bd3 Qd6 17.Qh4 Kg7 18.Rxe7 Qxe7 19.Qg3+ Kh8 20.Qf4 Kg7
29/41+ 00:13.884 31,768k 2,288k +0.10 7. ... Nf6 8.Qa4+
29/41- 00:15.640 35,701k 2,283k 0.00 7. ... Nf6
29/41 00:22.483 51,497k 2,290k 0.00 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bh4 Ne7 13.Bxf6 gxf6 14.Qc2 Kg7 15.Bb3 Qd6 16.c4 Bd7 17.Qc3 b5 18.d5 bxc4 19.dxe6 Bxe6 20.Rad1 Qa6 21.Bxc4 Qxc4 22.Qxc4 Bxc4 23.Rxe7 Bxa2 24.Rxc7 Kg6
30/42 00:30.395 69,456k 2,285k 0.00 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bh4 Ne7 13.Bd3 Nf5 14.Bxf6 Qxf6 15.Ne5 Nd6 16.Re3 b6 17.Rae1 Rd8 18.Rf3 Qg5 19.Rg3 Qd2 20.Rd1 Qf4 21.Qc2 Bb7 22.Re1 Qf6 23.Ng4 Qf4
31/34+ 00:31.962 72,975k 2,283k +0.09 7. ... Nf6 8.Qa4+
31/38+ 00:32.901 75,106k 2,283k +0.18 7. ... Nf6 8.Qa4+
31/38+ 00:34.216 78,092k 2,282k +0.33 7. ... Nf6 8.Qa4+
31/44- 00:36.600 83,536k 2,282k +0.21 7. ... Nf6
31/44 00:38.770 88,515k 2,283k +0.14 7. ... Nf6 8.Qa4+ Nc6 9.Bg5 Bxc3 10.bxc3 0-0 11.Rfe1 h6 12.Bh4 Ne7 13.Bxf6 gxf6 14.Rad1 Kg7 15.Qb5 Bd7 16.Qh5 Ba4 17.Rd2 c6 18.Qg4+ Ng6 19.Qg3 Kh7 20.Rb2 Qd7 21.Reb1 b6 22.Bd3 f5 23.Ne5 Qe7 24.c4
32/43- 00:49.561 113,301k 2,286k +0.04 7. ... Nf6
32/47+ 00:58.306 133,339k 2,287k +0.24 7. ... Nf6 8.Qa4+
32/47- 01:13.607 168,221k 2,285k +0.09 7. ... Bxc3
32/47 01:15.911 173,745k 2,289k 0.00 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Re1 0-0 11.Ba3 Re8 12.Bxd5 exd5 13.Rxe8+ Qxe8 14.Re1 Be6 15.Qxb7 Nc6 16.Qxc7 Qd7 17.Qxd7 Bxd7 18.Rb1 Re8 19.h3 f6 20.Bd6 Bf5 21.Rc1 Bd7 22.Rb1
33/49 01:35.227 217,965k 2,289k 0.00 7. ... Bxc3 8.bxc3 Nxc3 9.Qb3 Nd5 10.Re1 0-0 11.Ba3 Re8 12.Bxd5 exd5 13.Rxe8+ Qxe8 14.Re1 Be6 15.Qxb7 Nc6 16.Qxc7 Qd7 17.Qg3 Bf5 18.Bc5 f6 19.h3 Rb8 20.Nd2 Rb2 21.Nf1 Be4 22.Qa3 Rb8 23.Ng3 Bg6 24.Nf1


Leela doesn’t think e4 is bad, just inferior...again, SF thought the same at depth 30+. Imo the issue here isn’t search but exploration; a refined NN shouldn’t be guiding itself into a trap 10 moves in.

Either leelas understanding is much deeper than we’re crediting it (possible but doubtful since she eventually moves to 7...Nf6 in my search) or this is a product of the training mishaps that were part and parcel of test30...this is plain, common position, so it’s an apparent failure of training and exploration, ultimately strength of the NN, and not its search.

mbabigian
Posts: 104
Joined: Tue Oct 15, 2013 12:34 am
Location: US

Re: LC0 bad search and poor tactics

Post by mbabigian » Fri Jan 25, 2019 5:20 pm

Nonsense. If you want to put your blinders on and only examine e4, that's sad in itself. The tactics get easier and frankly the moves more ridiculous as you move through the line. That is why I posted so many moves and not a FEN. Not finding e4 is a minor infraction as dxc4 is playable. The blunders come later when the tactics are easier to spot. I pointed out e4 as it is part of the story of poor tactics. See how long SF sticks with f6?? if you can even see it in a pv.

If tactics weren't terrible, LC0 wouldn't find dumber and dumber moves the closer you move it to disaster. Try moving any AB engine two ply further into a tactical puzzle and watch as its tactics get even more wrong - LOL.

NN don't do tactics period. They recognize patterns only. Search does tactics. If you believe otherwise, delete search entirely, keep training the NN until it plays the right move by only examining the current board position. A ridiculous idea, but it seems you believe in it.

Thanks for the "training mishaps" explaination. First chuckle of my day. :)

MonteCarlo
Posts: 62
Joined: Sun Dec 25, 2016 3:59 pm

Re: LC0 bad search and poor tactics

Post by MonteCarlo » Fri Jan 25, 2019 6:17 pm

mbabigian wrote:
Fri Jan 25, 2019 5:20 pm

NN don't do tactics period. They recognize patterns only. Search does tactics. If you believe otherwise, delete search entirely, keep training the NN until it plays the right move by only examining the current board position. A ridiculous idea, but it seems you believe in it.
This much is wrong. If the NN were simply incapable of resolving any tactics at all, then playing at 1 node per move would mean Leela would constantly hang material to 1 ply responses from the opponent, which it does not.

It is obviously much worse at everything at 1 node per move, including tactics, but it also doesn't just leave its pieces lying around when you attack them.

The NN clearly resolves some tactics, however simple they might be, on its own.

If you want to shift the claim to something like, "NNs don't reliably find all tactics", then that's fine, and I think no one will argue you on that point.

Saying that they do zero tactics of any type (i.e., "don't do tactics period"), however, is perhaps a bit too much hyperbole :D

mbabigian
Posts: 104
Joined: Tue Oct 15, 2013 12:34 am
Location: US

Re: LC0 bad search and poor tactics

Post by mbabigian » Fri Jan 25, 2019 6:24 pm

Since you wanted to add analysis time to SF by putting it on one thread when 4 core cpus are ubiquitous, for giggles I did something similar. I put SF on my 9 year old PC after 10. Ba3. It initially considered Nc6 then considered f6 until it reached a terrifyingly long 5 seconds before permanently rejecting both.

I also downloaded 40456 and gave it a whirl since the CCRL estimates show it plays better than the current world champion. To my horror, it appears to also be the victim of "training mishaps" as it prefers the even weaker 10. ... Nc6??? ;)

As you can see below, after 2 million nodes, LC0 is super close to giving up on Nc6 and f6:

Code: Select all

b8c6	(36)	N:	1973661	(+246)  (P: 20.70%) (Q: 0.01468)        (U: 0.00186) (Q+U: 0.01654) (V: 0.1698)
f7f6	(346)	N:	38267	(+0)	(P: 2.87%)  (Q:	-0.00590)	(U:	0.01329) (Q+U: 0.00739) (V:	-0.2507)
a7a5	(207)	N:	12336	(+0)	(P: 6.21%)  (Q:	-0.07263)	(U:	0.08911) (Q+U: 0.01648) (V:	-0.0308)
c7c6	(259)	N:	11855	(+0)	(P: 8.98%)  (Q:	-0.11755)	(U:	0.13404) (Q+U: 0.01649) (V:	-0.0765)
d5b6	(747)	N:	4867	(+0)	(P: 10.73%) (Q: -0.37371)	(U:	0.39018) (Q+U: 0.01647) (V:	-0.0749)
d5e7	(745)	N:	4404	(+2)	(P: 8.87%)  (Q: -0.33995)	(U:	0.35644) (Q+U: 0.01649) (V:	-0.2018)
b7b6	(230)	N:	2506	(+0)	(P: 5.40%)  (Q: -0.36474)	(U:	0.38119) (Q+U: 0.01645) (V:	-0.0923)
a7a6	(204)	N:	1895	(+0)	(P: 3.32%)  (Q: -0.29413)	(U:	0.31051) (Q+U: 0.01639) (V:	0.0216)
h7h6	(400)	N:	1819	(+0)	(P: 2.84%)  (Q: -0.26003)	(U:	0.27634) (Q+U: 0.01632) (V:	-0.1052)
c7c5	(264)	N:	1280	(+0)	(P: 1.68%)  (Q: -0.21581)	(U:	0.23232) (Q+U: 0.01651) (V:	-0.3728)
I know, I know, if we train test 40 for 200 years, it will spot tactics without search.... Got it.

mbabigian
Posts: 104
Joined: Tue Oct 15, 2013 12:34 am
Location: US

Re: LC0 bad search and poor tactics

Post by mbabigian » Fri Jan 25, 2019 6:35 pm

MonteCarlo wrote:
Fri Jan 25, 2019 6:17 pm

Saying that they do zero tactics of any type (i.e., "don't do tactics period"), however, is perhaps a bit too much hyperbole :D
Also nonsense. Looking at positional patterns, there are certain patterns that lend themselves to tactics. This is the whole reason human players practice tactical puzzles to recognize these patterns. Steering to them or away from them depending on which side you are playing, improves play. You make a positional assessment and realize that those positions are likely to contain those types of tactics. You then calculate. LC0 is the same. It solves zero tactics looking at 1 position - zero. You are right - it will steer away from constructs (patterns) that are bad for it tactically or toward those if the opponent's position looks like a tactical pattern that is bad, but it does not solve tactics - ever. This ability to steer to or away from good/bad tactical patterns appears as "better tactics" in tests.

If you believe making positional assessments is "solving tactics," then we can agree to disagree.
Last edited by mbabigian on Fri Jan 25, 2019 6:37 pm, edited 1 time in total.

yanquis1972
Posts: 1762
Joined: Tue Jun 02, 2009 10:14 pm

Re: LC0 bad search and poor tactics

Post by yanquis1972 » Fri Jan 25, 2019 6:37 pm

You’re moving goalposts and everybody sees you doing it.

NNs are bad tactically. Agreed. Thx, appreciate the insight.

How test10 does here, and why a nn with as many games trained as t30 is susceptible to blundering so early in a common position, would be interesting questions. But you just want to hit hit something with your hammer, repeatedly, and ive been around long enough to know how a “discussion” with you ends up.

MonteCarlo
Posts: 62
Joined: Sun Dec 25, 2016 3:59 pm

Re: LC0 bad search and poor tactics

Post by MonteCarlo » Fri Jan 25, 2019 7:22 pm

mbabigian wrote:
Fri Jan 25, 2019 6:35 pm
MonteCarlo wrote:
Fri Jan 25, 2019 6:17 pm

Saying that they do zero tactics of any type (i.e., "don't do tactics period"), however, is perhaps a bit too much hyperbole :D
Also nonsense. Looking at positional patterns, there are certain patterns that lend themselves to tactics. This is the whole reason human players practice tactical puzzles to recognize these patterns. Steering to them or away from them depending on which side you are playing, improves play. You make a positional assessment and realize that those positions are likely to contain those types of tactics. You then calculate. LC0 is the same. It solves zero tactics looking at 1 position - zero. You are right - it will steer away from constructs (patterns) that are bad for it tactically or toward those if the opponent's position looks like a tactical pattern that is bad, but it does not solve tactics - ever. This ability to steer to or away from good/bad tactical patterns appears as "better tactics" in tests.

If you believe making positional assessments is "solving tactics," then we can agree to disagree.
Ok, two final points from me on the subject, and then I assume we'll be left where you predict, just disagreeing.

First, there is zero evidence supporting the claim that the NN can't resolve any tactics. You can tell a story like the above, and while such a story has some internal consistency, a coherent story is not evidence. The story that the NN has also implemented some very shallow checks for common tactics is also internally consistent. Until someone can translate the NN's working into something we can understand, it's speculation, and shouldn't be paraded as an obvious fact.

Second, steering the position towards or away from certain patterns is of course something Leela does. Nobody here has denied that. However, at some point you're just describing the same thing in different words. If Leela at 1 node consistently finds/avoids certain tactics, saying that this is just "making positional assessments" and not "resolving tactics" is tantamount to agreeing on facts and disagreeing on which words should be used.

At any rate, it's pretty clear there's no progress to be made here, so you can go on referring to positional judgments that miraculously avoid shallow tactics, and I'll just say that it seems the NN can resolve some tactics. :)

Post Reply