Queens vs Knights

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

Moderators: hgm, Rebel, chrisw

Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Need material for a speech

Post by Lyudmil Tsvetkov »

hgm wrote:
Lyudmil Tsvetkov wrote:I am watching raw engine output all the time, comparing evals.
Don't do that, then, or blame yourself for the consequences.
how do I know then how both engines evaluate the respective game positions?
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Need material for a speech

Post by Evert »

Lyudmil Tsvetkov wrote: that makes 27% draws or so, which is by no way negligeable.

nothing like Harm's 100% win rate.
27% draws is small, if all the other games are Black wins. Note that White gets the first move advantage. To measure the actual value of the imbalance, you need to play with reversed colours as well. Of course, if having the first move does not tip the scale in favour of the Queens, taking it away is hardly going to improve things for them.
of course, the precise el.value matters very much.
otherwise, why would you set any specific value at all?

it matters very much if you value the 7/3 knights higher, lower, much higher or much lower than a single queen.
It matters a lot up to the point where you get the value of the exchanges right. After that you can still get some improvements, but you look into diminishing returns for your efforts. In short, you can make the engine score better against a version of itself that is not tuned as much, but you cannot improve the score of the Queens considerably in self-play.

Note that this extra bit of knowledge is just the tip of the iceberg. You can make the engine stronger still by tuning all other evaluation parameters for this particular imbalance. What's the point though?
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Need material for a speech

Post by hgm »

Lyudmil Tsvetkov wrote:in any case, I am fully certain with perfect play the knight side can not win this position.
Which is the best guarantee that it is won for the Knights anyone could wish for. Nothing is more certain to be wrong than when Lyudmil Tsvetkov claims it.
how do I know then how both engines evaluate the respective game positions?
Analyze with both engines simultaneously in the same GUI?

Run each of the engines in its own GUI, and set them analyzing?
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Queens vs Knights broadcast

Post by Lyudmil Tsvetkov »

hgm wrote:
Lyudmil Tsvetkov wrote:that is a big progress, man!
No surprise there. Stockfish did get a lot stronger Elo-wise since I last tried this a few years ago.
from 'Queeny wins 100%', meaning 100/100, here we already have 11/13, which is only about 80+%. :)
After I let it run overnight we are now at 27-4. The point is that when QueeNy loses by doing something obviously stupid, because its primitive evaluation does not warn against it (e.g. for lack of trapped-piece patterns), it doesn't tell us much about the position. It just tells us that QueeNy is pretty stupid, stupid enough to occasionally bungle a won position.
2Qs vs 4Ns should be won or close to won for queen side.
Yes, very. I said "a draw seems to be coming" because the ply counter was already at 89. But eventually Stockfish won that game. I suppose 50-move blackmail eventually forced it to sac Q for 2N.
maybe you adjudicate in some way detrimental to queens?
Of course I do not adjudicate. Games that are adjudicated are worthless, and tell you nothing.
but most importantly, as I told you, you can not compare apples and oranges.
why match an engine that knows about the imbalance and another one, that is clueless about it?
For one, it proves knowing about the imbalance is good. Your position is not only wrong (as always), but completely inconsistent. The knowledge by which QueeNy wins is that two extra Knights are better than an extra Queen, so that white has to strive for Q-cs-2N trades. If that kowledge is bad, it could not win by it, but should in fact lose 100% to an 800-Elo stronger opponent. If that knowledge is good (Q < 2N), it already tells in itself that the Kights have the advantage here.
please, grab Evert's revised SF version, or maybe Evert can grab Queeny, to do more meaningful comparison.
Post an executable somewhere, and I will download it. So far it wasn't up for grabs anywhere.
Evert has a much better score for the queen side, incomparably better than yours, so obviously knowledge matters very much, and you are comparing indeed watermelons with raspberries.

with perfect play, knight side has at most draw, of course.

btw., what are your scores against Komodo, or you don't use commercial engines?
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Queens vs Knights broadcast

Post by Lyudmil Tsvetkov »

hgm wrote: Stckfish does not compile for me, neither on Windows or Linux.
:) :)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Need material for a speech

Post by Evert »

Evert wrote: It matters a lot up to the point where you get the value of the exchanges right. After that you can still get some improvements, but you look into diminishing returns for your efforts. In short, you can make the engine score better against a version of itself that is not tuned as much, but you cannot improve the score of the Queens considerably in self-play.

Note that this extra bit of knowledge is just the tip of the iceberg. You can make the engine stronger still by tuning all other evaluation parameters for this particular imbalance. What's the point though?
Anyway, it's not hard to calculate the value of the constant that will balance out the material in the opening position (it is 79cp for Stockfish' piece values), so I ran a few (quick) games for it. Doesn't look very promising"
[pgn][Event "Computer Chess Game"]
[Site "vivaine.local"]
[Date "2017.07.19"]
[Round "1"]
[White "Nightfish 190717 64"]
[Black "Nightfish 190717 64"]
[Result "0-1"]
[TimeControl "40/60"]
[FEN "nnnnknnn/pppppppp/8/8/8/8/PPPPPPPP/1Q1KQ1Q1 w - - 0 1"]
[SetUp "1"]

1. f4 {-0.70/17} d6 {+0.72/18 4} 2. b4 {-0.75/19 6} e6 {+0.64/16 1.4} 3. e4
{-0.96/20 4} f6 {+0.88/17 0.9} 4. c4 {-1.00/16 1.6} Nhf7 {+0.96/16 0.9} 5.
d4 {-1.10/17 1.8} Nbd7 {+0.99/17 1.9} 6. c5 {-1.04/15 0.8} c6
{+1.14/17 1.5} 7. Qgf2 {-1.24/17 4} Nc7 {+1.20/16 1.1} 8. Qg3 {-1.68/17 7}
g6 {+1.55/15 1.0} 9. a4 {-1.99/17 5} Nge7 {+1.68/17 1.4} 10. Qd2
{-1.87/18 1.1} f5 {+1.91/16 0.6} 11. e5 {-1.93/18 0.7} dxe5 {+1.97/16 0.4}
12. fxe5 {-1.95/17 0.6} Ned5 {+2.12/17 1.0} 13. Kc1 {-2.22/19 4} Nce7
{+2.20/16 0.8} 14. Qf3 {-2.33/19 4} b5 {+2.34/19 1.1} 15. a5 {-2.89/18 4}
g5 {+2.73/17 1.2} 16. g3 {-3.08/17 1.2} Na6 {+2.92/16 0.8} 17. Qh5
{-3.20/16 1.2} h6 {+3.29/18 1.5} 18. Qb3 {-3.17/17 0.8} Nfg6 {+3.35/15 0.4}
19. Kc2 {-2.86/16 0.7} Kf8 {+3.58/20 2.0} 20. Kb1 {-3.51/17 0.9} Kg7
{+3.81/20 3} 21. Qe1 {-3.69/18 2.2} f4 {+3.90/19 1.4} 22. Qhf3
{-3.62/17 1.4} Nf5 {+3.96/19 1.9} 23. Qff2 {-3.99/17 0.5} Nac7
{+3.97/19 1.6} 24. gxf4 {-3.99/14 0.6} Ngxf4 {+4.16/18 0.9} 25. Qeg1
{-3.83/16 0.5} h5 {+4.45/20 6} 26. Qd2 {-3.92/17 0.7} Nf8 {+4.73/19 1.2}
27. h3 {-3.85/14 0.5} Na6 {+4.56/18 0.4} 28. Qgd1 {-3.70/15 0.6} N7h6
{+5.22/17 1.1} 29. Qg1 {-3.75/15 0.6} Ndf7 {+5.40/18 0.7} 30. Qgd1
{-4.65/14 0.5} N8g6 {+5.53/19 0.9} 31. Qg1 {-4.37/12 0.6} g4 {+6.49/18 1.1}
32. Ka2 {-5.37/10 0.4} Nxh3 {+7.78/17 0.8} 33. Qgb1 {-6.75/9 0.6} Ngf4
{+8.52/18 2.2} 34. Qa3 {-6.96/10 0.5} Nfg5 {+8.73/21 1.7} 35. Qbd1
{-7.15/11 0.5} g3 {+9.89/17 0.7} 36. Qxf4 {-8.77/10 0.4} Ndxf4
{+12.78/19 0.8} 37. Kb3 {-10.11/11 0.6} g2 {+15.37/18 0.8} 38. Qaa1
{-11.13/12 0.4} Ne3 {+17.65/20 1.1} 39. Qdc1 {-11.24/11 0.5} Nhf5
{+20.89/18 1.4} 40. d5 {-13.94/10 0.5} Nfxd5 {+99.67/19 4} 41. Qd2
{-99.76/23 5} g1=Q {+99.79/27 1.5} 42. Qxg1 {-99.80/28 1.5} Nxg1
{+99.81/30 0.5} 43. Kb2 {-99.82/31 1.6} Nc4+ {+99.85/36 1.6} 44. Kc1
{-99.86/31 0.6} Nxd2 {+99.87/37 0.6} 45. Kxd2 {-99.88/37 1.4} Naxb4
{+99.89/39 1.7} 46. a6 {-99.90/38 0.6} Nd4 {+99.91/50 1.7} 47. Kc1
{-99.92/71 1.4} Nd3+ {+99.93/73 0.5} 48. Kd1 {-99.94/95 2.6} N5h3
{+99.95/127 0.6} 49. Kd2 {-99.96/1 0.5} Ngf3+ {+99.97/127 0.4} 50. Kxd3
{-99.98/107 1.5} Nf2# {+99.99/127 0.4}
{Xboard adjudication: Checkmate} 0-1
[/pgn]
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Queens vs Knights broadcast

Post by Lyudmil Tsvetkov »

Evert wrote:
hgm wrote:
Evert wrote:I can probably do a Linux binary, if that helps? Or, you know what, the source is here: http://www.eglebbk.dds.nl/program/downl ... ish.tar.gz , so whoever feels like it can make optimised compiles for whatever platform they like.
A Linux binary won't help; my big machine only runs Windows.

Stckfish does not compile for me, neither on Windows or Linux.
Well, I can't make Windows binaries for Stockfish any more than I can for SjaakII, so we're stuck there. But at least anyone with an interest can grab the source and compile it to provide binaries if they have the toolchain for it.
Not that there is much point, really. Nightfish beats regular Stockfish at this game, and it will beat QueeNy on account of being a better engine and having the relevant knowledge.
what are your scores for Nightfish vs regular SF?

playing both sides?
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Queens vs Knights broadcast

Post by hgm »

Lyudmil Tsvetkov wrote:Evert has a much better score for the queen side, incomparably better than yours, so obviously knowledge matters very much, and you are comparing indeed watermelons with raspberries.
Of course. Better player produces better score. That is the definition of a better player.

A Stockfish that knows two (extra) Knights are better than a Queen is a stronger player than a Stockfish that doesn't know it. That in itself is evidence that two Knights are better than a Queen her, and that the Knights thus have the advantage.
with perfect play, knight side has at most draw, of course.
In your dreams.
btw., what are your scores against Komodo, or you don't use commercial engines?
As I am not willing to pay for Chess software, I don't have any. That includes Komodo.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Queens vs Knights broadcast

Post by Evert »

Lyudmil Tsvetkov wrote: what are your scores for Nightfish vs regular SF?

playing both sides?
8,5-1,5 in favour of Nightfish. Stockfish' single win was with Black.

Yeah, small number of games, but there's only so much time I have to invest in this.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Queens vs Knights broadcast

Post by Evert »

hgm wrote: A Stockfish that knows two (extra) Knights are better than a Queen is a stronger player than a Stockfish that doesn't know it. That in itself is evidence that two Knights are better than a Queen her, and that the Knights thus have the advantage.
Anyway, moving on to a more interesting question: do you have any idea what the shape of the dependence should be? Right now I have C*(EnemyKnights-2)*OwnQueens, when EnemyKnights > 2, which is of course a bit arbitrary and not obviously correct. Should the scaling be linear, or perhaps of the form C*(EnemyKnights-1)*(EnemyKnights-2)*OwnQueens? Any thoughts?