Dragon by Komodo Chess

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

Moderators: hgm, Rebel, chrisw

Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Re: Dragon by Komodo Chess

Post by Madeleine Birchfield »

lkaufman wrote: Sat Nov 14, 2020 6: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.
mbabigian
Posts: 204
Joined: Tue Oct 15, 2013 2:34 am
Location: US
Full name: Mike Babigian

Re: Dragon by Komodo Chess

Post 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?
“Censorship is telling a man he can't have a steak just because a baby can't chew it.” ― Mark Twain
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: Dragon by Komodo Chess

Post 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. :)
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Dragon by Komodo Chess

Post by lkaufman »

mbabigian wrote: Sat Nov 14, 2020 7: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.
Komodo rules!
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Dragon by Komodo Chess

Post by lkaufman »

mbabigian wrote: Sat Nov 14, 2020 7: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.
Komodo rules!
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Dragon by Komodo Chess

Post by lkaufman »

Cornfed wrote: Sat Nov 14, 2020 7: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.
Komodo rules!
mbabigian
Posts: 204
Joined: Tue Oct 15, 2013 2:34 am
Location: US
Full name: Mike Babigian

Re: Dragon by Komodo Chess

Post by mbabigian »

lkaufman wrote: Sat Nov 14, 2020 8: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
“Censorship is telling a man he can't have a steak just because a baby can't chew it.” ― Mark Twain
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: Dragon by Komodo Chess

Post by Cornfed »

lkaufman wrote: Sat Nov 14, 2020 8:37 pm
Cornfed wrote: Sat Nov 14, 2020 7: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!
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: Dragon by Komodo Chess

Post by mwyoung »

mwyoung wrote: Fri Nov 13, 2020 6:36 pm
Cornfed wrote: Fri Nov 13, 2020 6: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
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

"The worst thing that can happen to a forum is a running wild attacking moderator(HGM) who is not corrected by the community." - Ed Schröder
But my words like silent raindrops fell. And echoed in the wells of silence.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Dragon by Komodo Chess

Post 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
Image