Page 7 of 12

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 6:09 am
by Madeleine Birchfield
lkaufman wrote:
Sat Nov 14, 2020 5:57 am
I would like to see this too, but I don't think that even Dragon is strong enough to make this a good fight yet. 2' + 1" is about the same as 3' with no inc when playing a computer, as 60 move games are probably normal. This is just standard blitz, and regular Komodo did poorly in some 3' + 2" games with GM Lenderman about six months ago. He was about 2800 on chess.com blitz, while Hikaru is well over 3200 (he beat a 3000+ GM by 21 to 5 today). I'd want to see Dragon decisively win a test blitz match at knight odds against Lenderman or another GM of similar strength before offering it to Hikaru. The basic problem is that knight odds is really equal to four pawn handicap, not three, since knights are worth about four pawns in the opening position. Giving four pawns to the world's number 1 or 2 blitz player in blitz is a Herculean task!
What about Andrew Tang (penguingm1 at chess.com)? He played against Leela two years ago when it first came out, so might be interested in playing Dragon.

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 6:26 pm
by mbabigian
Larry/Mark, in the Dragon UCI options it appears you can specify an nnue network. Do you use the same architecture as SF. Meaning, could I specify a SF network and have dragon work properly?

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 6:38 pm
by Cornfed
Since Komodo: Dragon (more natural to say) is all the talk when it comes to NNUE and one of the best it seems, I want to ask this...not just specifically of Dragon (we both have older Komodo engines), but NNUE in general.

A friend of mine called me last night to ask about a an idea he head in an opening he was preparing and we naturally wondered what an engine might think. Then he asked about these new breed of engines: "how do these engines actually chose a move"?

I gave a shamefully basic overview of the history of NNUE development and then realized...I could not actually with any great confidence how they actually do this in a given position! :cry: I said I would check with some people who know; but my initial thoughts were...lets say on a rare position on move 14 of any opening :

1. It looks for that specific piece positioning (pawn structure?) in a quick search of its NNUE file. If found, it takes the weights assigned to that position....and starts analyzing with those from there.
2. If the position is completely novel (or heavily in favor of one side)...it uses the A/B search and its evaluation function and calculates from there.


Again, that may be very off the mark. Could someone correct that if wrong with so very 'non-tech' words. :)

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 6:43 pm
by lkaufman
mbabigian wrote:
Sat Nov 14, 2020 6:26 pm
Larry/Mark, in the Dragon UCI options it appears you can specify an nnue network. Do you use the same architecture as SF. Meaning, could I specify a SF network and have dragon work properly?
Well, it does seem to work, but I'm not sure about the "properly" part, I think I'll run a test to determine that.

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 7:29 pm
by lkaufman
mbabigian wrote:
Sat Nov 14, 2020 6:26 pm
Larry/Mark, in the Dragon UCI options it appears you can specify an nnue network. Do you use the same architecture as SF. Meaning, could I specify a SF network and have dragon work properly?
OK, I ran a test of a SF net from around the time of SF12 release (net 1705) running in Dragon vs. Dragon with its own embedded net. The SF net lost by 244 elo after 2200 bullet games. So it was still playing very strong chess, better than 99% of engines, but way below its true strength. So I guess the answer is, it works decently but not properly.

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 7:37 pm
by lkaufman
Cornfed wrote:
Sat Nov 14, 2020 6:38 pm
Since Komodo: Dragon (more natural to say) is all the talk when it comes to NNUE and one of the best it seems, I want to ask this...not just specifically of Dragon (we both have older Komodo engines), but NNUE in general.

A friend of mine called me last night to ask about a an idea he head in an opening he was preparing and we naturally wondered what an engine might think. Then he asked about these new breed of engines: "how do these engines actually chose a move"?

I gave a shamefully basic overview of the history of NNUE development and then realized...I could not actually with any great confidence how they actually do this in a given position! :cry: I said I would check with some people who know; but my initial thoughts were...lets say on a rare position on move 14 of any opening :

1. It looks for that specific piece positioning (pawn structure?) in a quick search of its NNUE file. If found, it takes the weights assigned to that position....and starts analyzing with those from there.
2. If the position is completely novel (or heavily in favor of one side)...it uses the A/B search and its evaluation function and calculates from there.


Again, that may be very off the mark. Could someone correct that if wrong with so very 'non-tech' words. :)
No, that's not at all right. It searches thru possible variations in just the same way as a normal A/B engine, but when it comes time to evaluate the terminal position of a line, it uses its NN to evaluate the position based on the weights it assigns in similar positions, rather than evaluating based on arbitrary rules. This has the huge advantage of "knowing" which features of a position are likely to be important and which are not. Standard chess engines evaluate things like pawn structure, king safety etc. based primarily on the stage of the game, but a NN can consider many details of the position in deciding how much weight to give to a backward pawn or an exposed king, for example. There are some situations where the NNUE engine will skip doing the NN eval, but that's a minor detail.

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 7:59 pm
by mbabigian
lkaufman wrote:
Sat Nov 14, 2020 7:29 pm

OK, I ran a test of a SF net from around the time of SF12 release (net 1705) running in Dragon vs. Dragon with its own embedded net. The SF net lost by 244 elo after 2200 bullet games. So it was still playing very strong chess, better than 99% of engines, but way below its true strength. So I guess the answer is, it works decently but not properly.
Yikes. 244 Elo is definitely not "properly." Good to know the two are not compatible before I started experimenting.

Thanks for the quick reply,
Mike

Re: Dragon by Komodo Chess

Posted: Sat Nov 14, 2020 8:32 pm
by Cornfed
lkaufman wrote:
Sat Nov 14, 2020 7:37 pm
Cornfed wrote:
Sat Nov 14, 2020 6:38 pm
Since Komodo: Dragon (more natural to say) is all the talk when it comes to NNUE and one of the best it seems, I want to ask this...not just specifically of Dragon (we both have older Komodo engines), but NNUE in general.

A friend of mine called me last night to ask about a an idea he head in an opening he was preparing and we naturally wondered what an engine might think. Then he asked about these new breed of engines: "how do these engines actually chose a move"?

I gave a shamefully basic overview of the history of NNUE development and then realized...I could not actually with any great confidence how they actually do this in a given position! :cry: I said I would check with some people who know; but my initial thoughts were...lets say on a rare position on move 14 of any opening :

1. It looks for that specific piece positioning (pawn structure?) in a quick search of its NNUE file. If found, it takes the weights assigned to that position....and starts analyzing with those from there.
2. If the position is completely novel (or heavily in favor of one side)...it uses the A/B search and its evaluation function and calculates from there.


Again, that may be very off the mark. Could someone correct that if wrong with so very 'non-tech' words. :)
No, that's not at all right. It searches thru possible variations in just the same way as a normal A/B engine, but when it comes time to evaluate the terminal position of a line, it uses its NN to evaluate the position based on the weights it assigns in similar positions, rather than evaluating based on arbitrary rules. This has the huge advantage of "knowing" which features of a position are likely to be important and which are not. Standard chess engines evaluate things like pawn structure, king safety etc. based primarily on the stage of the game, but a NN can consider many details of the position in deciding how much weight to give to a backward pawn or an exposed king, for example. There are some situations where the NNUE engine will skip doing the NN eval, but that's a minor detail.
Exactly the kind of explanation I was hoping for - Thanks!

Re: Dragon by Komodo Chess

Posted: Sun Nov 15, 2020 12:44 am
by mwyoung
mwyoung wrote:
Fri Nov 13, 2020 5:36 pm
Cornfed wrote:
Fri Nov 13, 2020 5:06 pm
Still about 80 points behind a similar current Stockfish. Not bad.
At 5m+5s on a 32 thread 2950x. Dragon is doing much better then 80 Elo. Very good for the first release of Dragon.

Mark L. asked my to change the default setting for hash memory from default. I do not know if this changed the results. Default was 64, and was changed to 512. The suggested best setting for this many threads.

Here is the results playing the best Stockfish.

Dragon by Komodo Chess vs Stockfish 101120 (TC=5m+5s)

With 198 games played so far. Dragon vs Stockfish 101120 +6 =172 -20. 46.5% TP = -25 Elo.

Live Stream https://www.youtube.com/watch?v=C9mVJJGeiHc
End of match

Code: Select all

DESKTOP-CORSAIR, Blitz 5.0min+5.0sec  0

                                         
1   Stockfish 101120                +31  +35/=263/-8 54.41%  166.5/306
2   Dragon by Komodo Chess 64-bit   -31  +8/=263/-35 45.59%  139.5/306


Re: Dragon by Komodo Chess

Posted: Sun Nov 15, 2020 4:46 am
by MikeB
Larry,

I saw in the notes, you will have a K14 for the Android soon, any chance of seeing a Dragon for the Android?

MikeB