Trying out the Leela Hybrid engine (NN with AB)
Moderators: hgm, Rebel, chrisw
-
- Posts: 8
- Joined: Sun Mar 03, 2019 12:46 pm
- Full name: Kalikoba
Re: Trying out the Leela Hybrid engine (NN with AB)
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)
-
- Posts: 536
- Joined: Thu Mar 09, 2006 3:01 pm
Re: Trying out the Leela Hybrid engine (NN with AB)
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.
What GUI is it?
Also, the .exe inside an .exe incurs almost no overhead relative to the engine actually searching for a move.
-
- Posts: 8
- Joined: Sun Mar 03, 2019 12:46 pm
- Full name: Kalikoba
Re: Trying out the Leela Hybrid engine (NN with AB)
it works on fritz gui but not on infinitychess
-
- Posts: 536
- Joined: Thu Mar 09, 2006 3:01 pm
Re: Trying out the Leela Hybrid engine (NN with AB)
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.
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.
-
- Posts: 8
- Joined: Sun Mar 03, 2019 12:46 pm
- Full name: Kalikoba
Re: Trying out the Leela Hybrid engine (NN with AB)
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 :/
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 :/
-
- Posts: 536
- Joined: Thu Mar 09, 2006 3:01 pm
Re: Trying out the Leela Hybrid engine (NN with AB)
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.
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.
-
- Posts: 8
- Joined: Sun Mar 03, 2019 12:46 pm
- Full name: Kalikoba
Re: Trying out the Leela Hybrid engine (NN with AB)
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
-
- Posts: 4619
- 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)
You must be doing something wrong. Polyglot logs itself.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
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:
Talkchess nowadays is a joke - it is full of trolls/idiots/people stuck in the pleistocene > 80% of the posts fall into this category...
trollwatch:
Talkchess nowadays is a joke - it is full of trolls/idiots/people stuck in the pleistocene > 80% of the posts fall into this category...
-
- Posts: 1535
- Joined: Sun Oct 25, 2009 2:30 am
-
- Posts: 13
- Joined: Sat Mar 02, 2019 7:45 pm
- Full name: Jacek Glowinski
Re: Trying out the Leela Hybrid engine (NN with AB)
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.
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.