NUCLEUS

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

Moderators: hgm, Rebel, chrisw

User avatar
AdminX
Posts: 6340
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: NUCLEUS

Post by AdminX »

Ozymandias wrote: Sun May 13, 2018 11:32 pm
AdminX wrote: Sun May 13, 2018 10:58 pm Question: In what ways does it differ from Triple Brain feature of Shredder?
Triple 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.
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.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
Ozymandias
Posts: 1535
Joined: Sun Oct 25, 2009 2:30 am

Re: NUCLEUS

Post by Ozymandias »

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?
Judge for yourself, here's the example provided by the author:
Ferdy wrote: Thu Mar 22, 2018 11:44 am
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:
Started 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.

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
peter
Posts: 3186
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: NUCLEUS

Post by peter »

Rebel wrote: Mon May 14, 2018 12:52 am No problem here with Arena 3.0 but are you using the fixed time control? It is a must currently.

The Nucleus README states it's only tested with Arena & Winboard.
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.
User avatar
Rebel
Posts: 6995
Joined: Thu Aug 18, 2011 12:04 pm

Re: NUCLEUS

Post by Rebel »

peter wrote: Mon May 14, 2018 8:11 am
Rebel wrote: Mon May 14, 2018 12:52 am No problem here with Arena 3.0 but are you using the fixed time control? It is a must currently.

The Nucleus README states it's only tested with Arena & Winboard.
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.
Load Nucleus in Arena, CRTL-1 moves you to the engine properties.
nuc1.jpg
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: NUCLEUS

Post by Laskos »

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?
Thanks Ferdy and Ed, I missed this thing!
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.
peter
Posts: 3186
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: NUCLEUS

Post by peter »

Rebel wrote: Mon May 14, 2018 8:38 am Load Nucleus in Arena, CRTL-1 moves you to the engine properties.
nuc1.jpg
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.
User avatar
Ozymandias
Posts: 1535
Joined: Sun Oct 25, 2009 2:30 am

Re: NUCLEUS

Post by Ozymandias »

Laskos wrote: Mon May 14, 2018 9:11 amSo, 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.
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.
User avatar
Rebel
Posts: 6995
Joined: Thu Aug 18, 2011 12:04 pm

Re: NUCLEUS

Post by Rebel »

peter wrote: Mon May 14, 2018 9:40 am
Rebel wrote: Mon May 14, 2018 8:38 am Load Nucleus in Arena, CRTL-1 moves you to the engine properties.
nuc1.jpg
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.
I get the message too if I try to install Nucleus as a WB engine. But Nucleus is UCI.
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: NUCLEUS

Post by Laskos »

Ozymandias wrote: Mon May 14, 2018 11:00 am
Laskos wrote: Mon May 14, 2018 9:11 amSo, 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.
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.
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.
User avatar
Ozymandias
Posts: 1535
Joined: Sun Oct 25, 2009 2:30 am

Re: NUCLEUS

Post by Ozymandias »

Laskos wrote: Mon May 14, 2018 11:15 am
Ozymandias wrote: Mon May 14, 2018 11:00 am
Laskos wrote: Mon May 14, 2018 9:11 amSo, 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.
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.
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.
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.