Move sequences are automatically highlighted and made clickable. If the previous move number appears earlier in the comment, the sequence continues from that move. Otherwise, it's treated as a variation from the main line. This can be error-prone with multiple sequences in one comment, so please use the Preview button to check your work before posting.
To force a sequence to be treated as a main line variation, precede it with a vertical bar
(|). The copy variation button (⧉) includes this bar automatically.
For more complex discussions, you can name a sequence by adding the name in square
brackets at the end, e.g. 15.p9 [a]. Later in the same comment, or in
any following comment, you can branch off that variation by wrapping the name in vertical
bars, like this:|a| 16.o13
The variation name must start with
a letter, contain only letters, numbers, and dashes (-), and is case-sensitive.
Comments use UTF-8 encoding, so you can include emojis 😉, non-English characters, and other Unicode symbols.
You can also use HTML entities like — for an em-dash (—) or → for a right arrow (→).
For safety reasons, most HTML tags are stripped, except:
<b>, <i>, <u> — bold, italic, underline<em>, <strong> — emphasis, strong text<s>, <strike> — <sup>, <sub> — superscript, subscript<blockquote> — indented quotes
<code> — fixed-width font<pre> — multi-line preformatted text
<br> — forces a line break
So, I got lucky. Once this bug is fixed, I won't be able to hustle a draw any more. Please correct me if I am wrong!
It's a bit schizophrenic: the neural net decides what moves to make (except for the 1st move and the swap option), and the scaffolding part decides whether to accept the draw offer.
Will try to come up with some analysis soon.
I'm probably missing something obvious, but what if |36.r5?
|35.u5 36.w7 37.p8 38.q9 39.n9 40.n8 41.o6 42.m9 43.h8 44.g6 45.f7 46.f4 47.j5 48.k5 49.d6 50.o20 51.l20 52.l21 53.h19 54.g15 55.k22 56.d3 57.d2 58.b4 59.h6 60.i4 61.h4 62.g3 63.f3
It evaluates the position after w7 as -0.826 for black. Meanwhile after t6:
|36.w9 37.p8 38.q10 39.n9 40.n8 41.k7 42.l5 43.o7 44.o22 45.o23 46.o20 47.l20 48.l21 49.k22 50.k23 51.j24 52.o6 53.j5 54.j4 55.q6 56.m9 57.e9 58.q5 59.e5 60.i10 61.h12 62.f4 63.g4 64.d5 65.c6 66.f8 67.g8 68.h13 69.g14 70.i11 71.i15 72.i14 73.k16 74.d9 75.c10 76.g12 77.e13 78.b10 79.e7 80.h3 81.d4
and it evaluates the position after w9 as -0.828 for black.
Since it is playing for White, you would expect it to prefer +0.828 to +0.826, but the difference is that those evaluations I quoted were for a full search, whereas when it is deciding between t6 and u5, it gets at most half a search for each, so it's easy to imagine that making up the 0.002 difference.
w7 and w9 are approximately equal, so move 40 appears to be where it diverges from David's actual line.
How to teach the net to learn more about draws is an interesting question. Some ideas which might work; simply need a bigger net (all the "brains" of the net are taken up with the 99% of the games that lead to wins so it has no capacity to spare for the rare case); seed the training data with more drawn games [i.e. when a training game ends up as a win, throw it out with probability 75%, and now you'll have ~1 draw for each 24 decisive game rather than ~1 draw for ~99 decisive games]. Yet another idea would be to add some human coded features: For example, shortest path to victory assuming opponent passes. After |46.o8, white needs 7 pegs, for example o24,p22,n21,i7,h5,g3,f1. If what the net seems to think is connected from p8, it would "expect" q6-p4-q2-o1 to also be a minimal path. But when it plays one of those moves and sees the shortest path doesn't change, that might be enough to teach it that the p8 peg isn't really part of a winning bridge.