Page 3 of 15

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

Posted: Wed Feb 20, 2019 7:46 am
by Steppenwolf
@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.-:)

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

Posted: Wed Feb 20, 2019 12:23 pm
by Damir
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

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

Posted: Wed Feb 20, 2019 12:50 pm
by lovetb
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%.

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

Posted: Wed Feb 20, 2019 1:21 pm
by Ozymandias
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.

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

Posted: Wed Feb 20, 2019 1:51 pm
by corres
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.

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

Posted: Wed Feb 20, 2019 7:41 pm
by Dann Corbit
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/

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

Posted: Wed Feb 20, 2019 9:01 pm
by corres
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.

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

Posted: Wed Feb 20, 2019 9:09 pm
by MikeB
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).

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

Posted: Wed Feb 20, 2019 11:13 pm
by MikeB
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.


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

Posted: Thu Feb 21, 2019 1:36 am
by KillerDucky
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.