That sounds exactly like Triple Brain except the third engine is shredder and that it decides based on the eval of the two slave engines.Ozymandias wrote: ↑Sun May 13, 2018 11:32 pmTriple Brain has only two engines, and the move with the highest eval is automatically chosen.
Here you can use three engines, and the third one evaluates the moves from the slaves, before deciding. Actually, it evaluates the replies.
NUCLEUS
Moderators: hgm, Rebel, chrisw
-
- Posts: 6340
- Joined: Mon Mar 13, 2006 2:34 pm
- Location: Acworth, GA
Re: NUCLEUS
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
__________________________________________________________________
Ted Summers
-
- Posts: 1535
- Joined: Sun Oct 25, 2009 2:30 am
Re: NUCLEUS
Judge for yourself, here's the example provided by the author:yanquis1972 wrote: ↑Mon May 14, 2018 12:23 am what do you mean by 'replies'? in the NN example, would a traditional engine be able to adequately assess it?
Ferdy wrote: ↑Thu Mar 22, 2018 11:44 amStarted coding, here is a sample run so far. The score is in cp and is side POV. The master reply with lower score +47 (example below) will be the one to follow, and bestmove at root is d7d6 from slave 1.Ovyron wrote:Hey Ferdy! I have always dreamed of an adapter that is able to play chess games by taking into account suggestions from other engines, very similar to ProDeo's MASTER.ENG concept.
An initial implementation would work as follows:
User tells the adapter about 3 engines that exist, giving them paths in some configuration file, setting them as "Slave 1", "Slave 2", and "Master", say:
I will upload a beta once it can play as uci engine with support of at least movetime TC.
Could you suggest a unique name for this Adapter?
uci
Adapter v0.1.0
Ulysses P., Ferdy
master:
spark-1.0
AJ Siemelink
slave1:
Stockfish 9 64 POPCNT
T. Romstad, M. Costalba, J. Kiiski, G. Linscott
slave2:
Fizbo 2
Youri Matiounine
ucinewgame
position startpos moves e2e4 c7c5 g1f3
go movetime 5000
slave1: Stockfish 9 64 POPCNT
bestmove d7d6
bestscore -9
slave2: Fizbo 2
bestmove d7d5
bestscore +71
master reply to slave1: d2d4, +47
master reply to slave2: e4d5, +82
move to make: d7d6 from slave1
bestmove d7d6
-
- Posts: 3186
- Joined: Sat Feb 16, 2008 7:38 am
- Full name: Peter Martan
Re: NUCLEUS
I'am not able to configure the engines, e.g. as for hash given, when I try to do so with Arena's Option for that, GUI tells me, it would need a configuration file and can't find any.
Peter.
-
- Posts: 6995
- Joined: Thu Aug 18, 2011 12:04 pm
Re: NUCLEUS
Load Nucleus in Arena, CRTL-1 moves you to the engine properties.
90% of coding is debugging, the other 10% is writing bugs.
-
- Posts: 10948
- Joined: Wed Jul 26, 2006 10:21 pm
- Full name: Kai Laskos
Re: NUCLEUS
Thanks Ferdy and Ed, I missed this thing!yanquis1972 wrote: ↑Sun May 13, 2018 9:11 pm holy hell, doesn't this mean anyone with a GPU can run SF + (a stable) Neural Net simultaneously?
My first experiment in Arena in fair conditions at total time for both conditions 5s/move (SF is the strongest engine Elo-wise):
1/
Nucleus:
Master: Komodo 20%
Slave1: LC0 70%
Slave2: SF 10%
against SF 100%:
+0 -5 =5
Maybe just a little better than SF at 10% against SF at 100%, but not by much.
2/
Nucleus:
Master: LC0 40%
Slave1: SF 30%
Slave2: Komodo 30%
against SF 100%:
+0 -4 =8
Maybe just a little better than SF or Komodo at 30% against SF at 100%, but not by much.
3/
Here the result is interesting:
Nucleus:
Master: Komodo 40%
Slave1: SF 40%
Slave2: LC0 20%
against SF 100%:
+0 -2 =18
Clearly better than SF at 40% against SF at 100%, so even at this high level, LC0 can give useful hints to Komodo to decide. It is a better score than Komodo 100% would get against SF at 100%.
===================================
4/
Now I am running "Centaur" conditions:
100% are 5s/move
Assume LC0 is not computer, but a human running two instances, one with SF, one with Komodo. LC0 decides what move is better. And pit this "Centaur" against SF 100%. So, the conditions are:
Nucleus:
Master: LC0 50% --- human "Centaur"
Slave1: SF 50%
Slave2: Komodo 50%
against SF 100%
So, Nucleus runs at 150% time, or 7.5s/move, SF at 100% time, or 5s/move, but we assume that the 2.5s/move used by LC0 is a "human" seeing engine's output, so it's basically a "Centaur" at 5s/move against SF at 5s/move.
As of now the result is:
+1 -0 =5 for "Centaur" (LC0 as human) against SF, in fair conditions.
20 games will be played in this "Centaur mode" with LC0 as human. That's very interesting.
-
- Posts: 3186
- Joined: Sat Feb 16, 2008 7:38 am
- Full name: Peter Martan
Re: NUCLEUS
Thanks, Ed, I know how that should work in Arena, but as for Nucleus (and for this one only in my Arena 3.51- installation) it doesn't work because of the error- message I told about twice now:
"No configuration- file set for engine Nucleus 0.0.1_beta! Would you like to select it now?"
Answering this with yes, the file folder in which the engines are (Nucleus, slave1, slave2 and master) is opened, but that's all, here I can break off only., because there isn't any file I could use.
Will give it a try with Arena 3 instead of 3.51 and another PC now.
Edit: Arena 3.0 and different PC with Win7x64bit (other one W8) same Arena- message.
Tried Winboard- Engine in Arena now too, same message at trying to configure.
Peter.
-
- Posts: 1535
- Joined: Sun Oct 25, 2009 2:30 am
Re: NUCLEUS
Whatever time the human component needs, to make a decision when playing as Centaur, runs in parallel to the one used by the engines. The TD won't give you a bonus for selecting that playing mode. When the clock runs dry, the human will eventually stop "wasting" time and start following blindly one engine's output. At that point, play will be worse than the engine running on its own, because you have to deduct the human lag from the time per move available. That's one of the many quirks to Centaur play, your configuration doesn't represent that mode of play at all.
-
- Posts: 6995
- Joined: Thu Aug 18, 2011 12:04 pm
Re: NUCLEUS
I get the message too if I try to install Nucleus as a WB engine. But Nucleus is UCI.peter wrote: ↑Mon May 14, 2018 9:40 amThanks, Ed, I know how that should work in Arena, but as for Nucleus (and for this one only in my Arena 3.51- installation) it doesn't work because of the error- message I told about twice now:
"No configuration- file set for engine Nucleus 0.0.1_beta! Would you like to select it now?"
Answering this with yes, the file folder in which the engines are (Nucleus, slave1, slave2 and master) is opened, but that's all, here I can break off only., because there isn't any file I could use.
Will give it a try with Arena 3 instead of 3.51 and another PC now.
Edit: Arena 3.0 and different PC with Win7x64bit (other one W8) same Arena- message.
Tried Winboard- Engine in Arena now too, same message at trying to configure.
90% of coding is debugging, the other 10% is writing bugs.
-
- Posts: 10948
- Joined: Wed Jul 26, 2006 10:21 pm
- Full name: Kai Laskos
Re: NUCLEUS
I don't understand what you are saying. I have no experience in that, but there is possibility of a "Centaur" running as I describe. Human runs 2 engines simultaneously (say on half the threads each) and makes the decision in the latter stages of analysis (thus 50% for LC0 and not 50%+50%=100%, but keep in my my LC0 is weak on CPU) what move is better. The result is encouraging insofar, which might show that a "Centaur" using SF (the strongest Elo-wise) and a bit weaker Komodo against a pure SF is beneficial, if the human part of the "Centaur" is as skillful as LC0. You seem to say that a "Centaur" will always be weaker than the pure strongest engine, which is probably wrong to say.Ozymandias wrote: ↑Mon May 14, 2018 11:00 amWhatever time the human component needs, to make a decision when playing as Centaur, runs in parallel to the one used by the engines. The TD won't give you a bonus for selecting that playing mode. When the clock runs dry, the human will eventually stop "wasting" time and start following blindly one engine's output. At that point, play will be worse than the engine running on its own, because you have to deduct the human lag from the time per move available. That's one of the many quirks to Centaur play, your configuration doesn't represent that mode of play at all.
-
- Posts: 1535
- Joined: Sun Oct 25, 2009 2:30 am
Re: NUCLEUS
If you don't understand what I'm saying, how can you say anything about it? There's no possibility of a "Centaur" running as you describe, because it would go against the rules of any Freestyle tournament ever held. The rest of the post stems from a misinterpretation, so I'll just refer you to my part of the quoted message.Laskos wrote: ↑Mon May 14, 2018 11:15 amI don't understand what you are saying. I have no experience in that, but there is possibility of a "Centaur" running as I describe. Human runs 2 engines simultaneously (say on half the threads each) and makes the decision in the latter stages of analysis (thus 50% for LC0 and not 50%+50%=100%, but keep in my my LC0 is weak on CPU) what move is better. The result is encouraging insofar, which might show that a "Centaur" using SF (the strongest Elo-wise) and a bit weaker Komodo against a pure SF is beneficial, if the human part of the "Centaur" is as skillful as LC0. You seem to say that a "Centaur" will always be weaker than the pure strongest engine, which is probably wrong to say.Ozymandias wrote: ↑Mon May 14, 2018 11:00 amWhatever time the human component needs, to make a decision when playing as Centaur, runs in parallel to the one used by the engines. The TD won't give you a bonus for selecting that playing mode. When the clock runs dry, the human will eventually stop "wasting" time and start following blindly one engine's output. At that point, play will be worse than the engine running on its own, because you have to deduct the human lag from the time per move available. That's one of the many quirks to Centaur play, your configuration doesn't represent that mode of play at all.