Trying out the Leela Hybrid engine (NN with AB)

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Steppenwolf
Posts: 33
Joined: Thu Jan 31, 2019 3:54 pm
Full name: Sven Steppenwolf

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

Post by Steppenwolf » Wed Feb 20, 2019 7:46 am

@KillerDucky
I appreciate your efforts, maybe that is a way to improve computerchess by combining AB and NN.
You Compiler posted on Github does not work, I do not have Cuda.
Please can you make the other Windows Compiles espc. working only for CPU. Thanks.-:)

Damir
Posts: 2066
Joined: Mon Feb 11, 2008 2:53 pm

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

Post by Damir » Wed Feb 20, 2019 12:23 pm

yanquis1972 wrote:
Tue Feb 19, 2019 10:08 pm
Damir wrote:
Tue Feb 19, 2019 3:41 pm
Jouni wrote:
Tue Feb 19, 2019 2:01 pm
Which engine is this Eman? It's topping same rating lists in PlayChess! SF clone?
http://eman.zohosites.com/
is there a direct link to the download? i'm not seeing it on the webpage.
You will have to ask author of Eman. His name is Khalid Omar. he plays on Infinity Chess server. :) :) :D

lovetb
Posts: 16
Joined: Thu Dec 13, 2018 5:57 am
Full name: MR PRASHANTH KRISHNACHARI

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

Post by lovetb » Wed Feb 20, 2019 12:50 pm

I have been testing this. The end game is very poor. Lc0 also suffers in the end game.

Would it be possible for the auxillary engine (SF) to play the end game completely ? We know that SF uses tablebase effectively & pretty strong in end game. Let is say after 50 moves, The auxillary engine plays 100%.

User avatar
Ozymandias
Posts: 1087
Joined: Sun Oct 25, 2009 12:30 am

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

Post by Ozymandias » Wed Feb 20, 2019 1:21 pm

lovetb wrote:
Wed Feb 20, 2019 12:50 pm
Let is say after 50 moves, The auxillary engine plays 100%.
Better yet, let the user decide the number of pieces on the board there should be left, before SF takes over.

corres
Posts: 1400
Joined: Wed Nov 18, 2015 10:41 am
Location: hungary

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

Post by corres » Wed Feb 20, 2019 1:51 pm

KillerDucky wrote:
Tue Feb 19, 2019 8:59 pm
Hello, I'm KillerDucky the author of https://github.com/killerducky/lc0/wiki/LeelaFish thanks for testing it! Those using the engine know but to emphasize for others, the AuxEngine can be any UCI engine. It's only natural that Stockfish is the first choice, and implied by the name Leelafish. :wink:

I'm not a C++ programmer or an expert on chess engines, so I tried to keep it simple. Please let me know any suggestions! Especially regarding Stockfish internals that I could take advantage of. A couple questions I have:

Currently it runs SF using "go depth N" where N is a parameter. Would it be better to maybe use "go movetime N"? Where SF could decide to spend more or less time depending on the position?

I was wondering about contempt, it will be calling SF to analyze positions for both white and black, and if contempt is on does that mean it will have to redo a bunch of work? Or does it have to redo that work regardless when you change positions? Maybe I should disable contempt, or set it to white only or black only depending on what color leela is.
A question to you:
Where is /boost/ directory and process.hpp file (for eg.) ?
Your source does not contain them.

Dann Corbit
Posts: 9835
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

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

Post by Dann Corbit » Wed Feb 20, 2019 7:41 pm

corres wrote:
Wed Feb 20, 2019 1:51 pm
A question to you:
Where is /boost/ directory and process.hpp file (for eg.) ?
Your source does not contain them.
You get boost from here:
https://www.boost.org/
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.

corres
Posts: 1400
Joined: Wed Nov 18, 2015 10:41 am
Location: hungary

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

Post by corres » Wed Feb 20, 2019 9:01 pm

Dann Corbit wrote:
Wed Feb 20, 2019 7:41 pm
corres wrote:
Wed Feb 20, 2019 1:51 pm
A question to you:
Where is /boost/ directory and process.hpp file (for eg.) ?
Your source does not contain them.
You get boost from here:
https://www.boost.org/
Thanks.
Can you succeeded to compile the binary of Leelafish from source?
For LC0 no need "Boost" libraries so I find its using peculiar in Leelafish.

MikeB
Posts: 3189
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

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

Post by MikeB » Wed Feb 20, 2019 9:09 pm

corres wrote:
Wed Feb 20, 2019 9:01 pm
Dann Corbit wrote:
Wed Feb 20, 2019 7:41 pm
corres wrote:
Wed Feb 20, 2019 1:51 pm
A question to you:
Where is /boost/ directory and process.hpp file (for eg.) ?
Your source does not contain them.
You get boost from here:
https://www.boost.org/
Thanks.
Can you succeeded to compile the binary of Leelafish from source?
For LC0 no need "Boost" libraries so I find its using peculiar in Leelafish.
Apparently the communications between lc0 and the auxiliary engine is using the boost libraries ,so yes, this is requirement which is different from lcO. On the other hand, installing the Boost libraries is not too hard at least on macOS).

MikeB
Posts: 3189
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

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

Post by MikeB » Wed Feb 20, 2019 11:13 pm

KillerDucky wrote:
Tue Feb 19, 2019 8:59 pm
Hello, I'm KillerDucky the author of https://github.com/killerducky/lc0/wiki/LeelaFish thanks for testing it! Those using the engine know but to emphasize for others, the AuxEngine can be any UCI engine. It's only natural that Stockfish is the first choice, and implied by the name Leelafish. :wink:

I'm not a C++ programmer or an expert on chess engines, so I tried to keep it simple. Please let me know any suggestions! Especially regarding Stockfish internals that I could take advantage of. A couple questions I have:

Currently it runs SF using "go depth N" where N is a parameter. Would it be better to maybe use "go movetime N"? Where SF could decide to spend more or less time depending on the position?

I was wondering about contempt, it will be calling SF to analyze positions for both white and black, and if contempt is on does that mean it will have to redo a bunch of work? Or does it have to redo that work regardless when you change positions? Maybe I should disable contempt, or set it to white only or black only depending on what color leela is.
Small sample size, but impressive nonetheless.

This is getting really interesting. Ignore the Elo calc, sample size is too small and bayeselo does not to handle the calc well when one side is winless.

Special settings for Leelafish, auxiliary engine McCain X2.
NOTE: Stockfish was using just 1 core , the auxiliary engine McCain was using 8 cores. It was just to prove the concept works.

Code: Select all

Rank Name                      Rating   Δ     +    -     #     Σ    Σ%     W    L    D   W%    =%   OppR 
---------------------------------------------------------------------------------------------------------
   1 Leelafish v0.21.0-fish-v   3108   0.0    4    4    10    7.5  75.0    5    0    5  50.0  50.0  3092 
   2 Stockfish 02142019 64 PO   3092  16.5    4    4    10    2.5  25.0    0    5    5   0.0  50.0  3108 
All ten games are below.


KillerDucky
Posts: 12
Joined: Fri Mar 23, 2018 1:31 am

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

Post by KillerDucky » Thu Feb 21, 2019 1:36 am

I released v0.21.0-fish-v0.3, including windows cuda, blas, and opencl builds: https://github.com/killerducky/lc0/releases

* Add AuxEngineFollowPvDepth. Default 3, setting to 1 will give v0.2 behavior.
* Fix bug that caused castling to not be boosted
* Move auxengine intialization into AuxEngineWorker, so init time does not slow down startup.

My testing didn't show much Elo change for the new feature AuxEngineFollowPvDepth, actually it lost a bit. I just wanted to get it out there in case people want to fiddle with parameters.

Post Reply