Trying out the Leela Hybrid engine (NN with AB)

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

Moderators: hgm, Rebel, chrisw

kalikoba2019
Posts: 8
Joined: Sun Mar 03, 2019 12:46 pm
Full name: Kalikoba

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by kalikoba2019 »

My polyglot will work on some GUIs, but not on my main GUI. Btw I'm sure that using an .exe inside another .exe is not the best in terms of calculation. That's why I think the best would be a simple engine option (i know that brainfish does it, and that we can compile asmfish so that book files are taken into account)
brianr
Posts: 536
Joined: Thu Mar 09, 2006 3:01 pm

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by brianr »

That is odd. Polyglot should work in place of any UCI engine regardless of the GUI.
What GUI is it?

Also, the .exe inside an .exe incurs almost no overhead relative to the engine actually searching for a move.
kalikoba2019
Posts: 8
Joined: Sun Mar 03, 2019 12:46 pm
Full name: Kalikoba

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by kalikoba2019 »

it works on fritz gui but not on infinitychess
brianr
Posts: 536
Joined: Thu Mar 09, 2006 3:01 pm

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by brianr »

I'm not familiar with that GUI.

Perhaps you could try it with Polyglot logging enabled to see what messages pass between it and the GUI.

-log true -lf logfilename

I forgot to mention earlier that it is extremely unlikely that Leela will ever support her own book, at least for quite a long time.
kalikoba2019
Posts: 8
Joined: Sun Mar 03, 2019 12:46 pm
Full name: Kalikoba

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by kalikoba2019 »

Oh, and I forgot to mention that when i run polyglot.exe, the program is fine with the basic commands/tries (uciready, go movetime, etc..).
So this is a communication problem between polyglot and my GUI, that's why I was asking a direct implementation into leela.
Sorry I'm no programmer, I thought it was rather easy because it has already been done with stockfish derivatives :/
brianr
Posts: 536
Joined: Thu Mar 09, 2006 3:01 pm

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by brianr »

It is easy. However, Leela still has a fairly strong "zero" goal; that is, minimal chess-specific coding.
Of course, a chess opening book would be quite contrary to the zero principal.

If you don't want to provide some log info, perhaps you can use a different GUI.
If on Windows, Winboard would be fine.
kalikoba2019
Posts: 8
Joined: Sun Mar 03, 2019 12:46 pm
Full name: Kalikoba

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by kalikoba2019 »

the GUI can't log the polyglot, so i will never have a log file ;(. I have a "create new engine", and when i click on the polyglot, it simply freezes the GUI
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by Guenther »

kalikoba2019 wrote: Tue Mar 05, 2019 5:23 pm the GUI can't log the polyglot, so i will never have a log file ;(. I have a "create new engine", and when i click on the polyglot, it simply freezes the GUI
You must be doing something wrong. Polyglot logs itself.
Your chain of loading the programs is probably wrong, I guess your polyglot.ini content is faulty.

Is InfinityChess a free GUI? In that case I would try it for you.

Edit:
Well, I see it needs some registering, thus I am not too keen to try it, sorry...
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
User avatar
Ozymandias
Posts: 1532
Joined: Sun Oct 25, 2009 2:30 am

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by Ozymandias »

Guenther wrote: Tue Mar 05, 2019 8:09 pmIs InfinityChess a free GUI? In that case I would try it for you.

Edit:
Well, I see it needs some registering, thus I am not too keen to try it, sorry...
Here's the Installer, but I don't recall if you can play games as a guest.
Jaglo
Posts: 13
Joined: Sat Mar 02, 2019 7:45 pm
Full name: Jacek Glowinski

Re: Trying out the Leela Hybrid engine (NN with AB)

Post by Jaglo »

Hi KillerDucky. Your project is very interesting. But...

The biggest weakness of LC0 is endgame and tactics. Leela handles other elements well, and in the positional game she outperforms the classic engines.

I have tested eigenmann (100 positions) and AH_tactics (250 positions). Stockfish 10 plays them almost perfectly (97/100 and 246/250).

The results of LC0 (network 32988) are 68% in both cases.

You can see that all you need to do is to run Stockfish on the processor and read its indication (the best movement).

I have chosen those positions that LC0 can't solve (and Stockfish does). The eigenmann subset consists of 32 items. The AH_tectics subset is 79 positions. In this subset I tested Leelafish with different settings. The best results I received when:

auxengine-depth=20/25
auxengine-boost=100.00

Leelafish solves about 50% of the unresolved positions by LC0. But it consumes much more time than Stockfish. E.g. 30 seconds vs. 1 second. I couldn't get more than 50%. I also didn't check if such settings do not negatively influence the positional play.

Maybe there is a simpler solution?

Let the engines run independently - LC0 on the GPU, Stockfish on the CPU. If Stockfish finds a strong tactical play, the rating of the moves will be high. Similarly, if LC0 finds a strong positional moves, the score will be high.

Let's calculate the average score for each possible move. Then strong moves will stand out. However, Stockfish movements should, in my opinion, have a higher weight (weighted average). Why? If you can gain a big advantage with tactics, the positional nuances lose their meaning. Similarly, if you can give the mat in a few moves, everything else does not matter.

If the position is equal, Stockfish will indicate 0. And then the decision will depend on LC0, which plays more positionally.
Stockfish very often finds tactical play or the best movement at the end in a fraction of a second.