Page 2 of 3

Re: Nibbler Lc0 GUI - updates

Posted: Wed May 20, 2020 9:18 am
by Werewolf
fohristiwhirl wrote: Tue May 19, 2020 5:55 pm Search depth really isn't a thing with Leela.
So what are other GUIs reporting? And is there a place which describes the search of Lc0 in simple terms? Most of the attention in articles seems to be on the NN (evaluation function?).
I only understood the other day that it's the CPU which does the actual calculations. Apparently the GPU reads the net, but it's the CPU which calculates.

Re: Nibbler Lc0 GUI - updates

Posted: Wed May 20, 2020 12:24 pm
by fohristiwhirl
Leela does indeed report a depth statistic, but the tree is so unevenly pruned compared to A/B engines it's probably just confusing to look at it.

I'm no expert but the search looks (roughly) like this:

Say we're limiting Leela to a 1000 node search. Leela will construct a tree with 1000 nodes in it. To construct the tree, it initially starts with 1 node (the current position) and has to add a node somewhere in the tree at each step, 1000 times. But it will do so very unevenly. Moves that look promising (e.g. 1. d4) will get more attention than moves that just look bad (e.g. 1. g4).

So after 1000 nodes, it may have a quite extensive tree of moves and countermoves around 1. d4, but only the slightest exploration of 1. g4 - and not to the same depth, unlike the simplest form of A/B search. So any depth statistic it returns is a bit misleading.

As it expands the tree, it focuses especially on regions that look promising and have significant uncertainty - it wants more nodes in those areas to confirm (or refute) its belief that the moves leading to them were good.

To do this, it has to have a good ability to evaluate the "value" of each node (who's winning, and by how much?) and a good ability to generate the most promising moves in each position (Leela's "policy"). This is what training the neural net is for.

The whole process is often called MCTS - Monte Carlo Tree Search - but this is for historical reasons; the current version of it has no randomness at all.

Re: Nibbler Lc0 GUI - updates

Posted: Wed May 20, 2020 12:37 pm
by Werewolf
That's very helpful, thank you

Re: Nibbler Lc0 GUI - updates

Posted: Wed May 20, 2020 4:07 pm
by ChiefPushesWood
Werewolf wrote: Tue May 19, 2020 4:35 pm Quick question: how do you show search depth ?
Suggest not thinking of depth with Leela the way you do with AB engines. It just isn't the same and doesn't make sense. Think in terms of nodes for Leela. (when you're considering how sufficiently a position or line is analyzed)

This is THE biggest feature of Nibbler... the ability to focus Leela on a specific move outside her normal algorithm (many times will be the best line)

Chief

Re: Nibbler Lc0 GUI - updates

Posted: Sun May 24, 2020 5:00 pm
by fohristiwhirl
v1.4.0-rc1

I just added the ability to lock the engine to a position so you can make moves on the board without disrupting the analysis.

Re: Nibbler Lc0 GUI - updates

Posted: Mon May 25, 2020 7:52 pm
by Werewolf
Great news.

What penalty, if any, does Lc0 incur for running in MPV mode?
I think with conventional AB engines doubling the PVs effectively halves (?) the speed of the engine.

Re: Nibbler Lc0 GUI - updates

Posted: Mon May 25, 2020 9:19 pm
by fohristiwhirl
MultiPV should have no impact on Lc0.

Re: Nibbler Lc0 GUI - updates

Posted: Thu May 28, 2020 10:49 am
by fohristiwhirl
fohristiwhirl wrote: Sun May 24, 2020 5:00 pm I just added the ability to lock the engine to a position so you can make moves on the board without disrupting the analysis.
After a flurry of minor releases, I think (at 1.4.4) that I have the bugs shaken out of this.

Re: Nibbler Lc0 GUI - updates

Posted: Sat May 30, 2020 6:36 pm
by Werewolf
Great work.

Do you think there's any merit continuing to work on the graphics? For example, the best move with the highest winning chances could have a larger graphic with an arrow.

Just an idea...


https://ibb.co/3hLbjQQ/

Re: Nibbler Lc0 GUI - updates

Posted: Sun Jun 07, 2020 10:51 am
by EroSennin
I always thought a node means half a move. Now I have read that nodes can mean pretty much anything depending on the engine. So is it normal when nodes analyzed is 100, but I can only see about 40 moves in Nibbler? Does anyone know what version of Leela best predicts human moves?