asdfjkl / neural_network_chess

Free Book about Deep-Learning approaches for Chess (like AlphaZero, Leela Chess Zero and Stockfish NNUE)
287 stars 27 forks source link

Errata #1

Open asdfjkl opened 3 years ago

asdfjkl commented 3 years ago

If you spot mistakes, please leave a note as a reply to this issue.

asdfjkl commented 3 years ago

[DONE] page 54: Figure 2.15: Baikinman, appylied sobel operator and thresholding -> applied

asdfjkl commented 3 years ago

[DONE] page 219: Figure 4.23: White to move. There is no reasonable alternative to Bb3 that any chessplayer would play.. (double colon at the end)

MSoszynski commented 3 years ago

p7

[DONE] "This book is brief"

This book is a brief

[DONE] "romantic"

Romantic

"referring"

Referring

p8

[DONE] "a chess players perspective"

a chess player's perspective

[DONE] "44... Rd1" This way to present Black-first moves isn't consistent throughout the book. Compare the very next line on the same page or "1....Bxd1?" on p119. Most books use 3 dots (without a space) not four.

p9

[DONE] "According to Hsiu"

According to Hsu

p11

[DONE] "and Ananad,"

and Anand,

p12

[DONE] "computer scientists perspective,"

computer scientist's perspective,

p13

[DONE] "Based these evaluations,"

Based on these evaluations,

p14

[DONE] "•find a number of candidate moves. Then for each of them sequentially •calculate all subsequent positions and variation trees that result of those candidate moves as deep as possible"

•find a number of candidate moves. Then for each of them sequentially... •calculate all subsequent positions and variation trees that result from those candidate moves as deep as possible

[DONE] "focus on one specific lines, then decide by instinct instead by rational though"

focus on one specific line, then decide by instinct instead of by rational thought

p15

[DONE] "have computers plagued"

have plagued computers

[DONE] "to processes and judge"

to process and judge

p16

[DONE] "But how do become good player so good at chess?"

But how do good players become so good at chess?

I hope that's helpful.

Marek Soszynski

derestup commented 2 years ago

page 31 dnet1/dw1 = ... = 1 page 32 ... create[s] a small bias. page 49 ... a few lines [of] our simple ... page 55 equation 2.8 [but your equations are not numbered!] page 59 Figure 2.17: The third filter matrix of applied to the image of Baikinman [malformed caption] page 61 ... we weigh[t] ... page 69 ... medi[c]al ... page 69 ... it's an[d] old joke ... page 77 ... pawns on the seventh resp. first [second?] rank. page 89 ... our we hit our ... pages 96, 206, 228 silicon[e] page 125 Another real achievement ... [malformed sentence] page 127 ... under[s]tand ... page 132 ... exemplary[ly] ... page 147 ... lilkely ... page 150 ... Blacks or White's ... page 159 ... only if ... [will] the new network ... page 162 not "Expect maybe ..." but "Except maybe ..." page 175 player[']s page 176 cons[e]quently page 191 pro[g]ramming page 192 ... state of the art [of] page 217 under[s]tand

And thank you very much for the book!

asdfjkl commented 2 years ago

(all fixed in v1.2)

jkrabbenbos commented 2 years ago

Page 12, 14 Hendrik's = Hendriks' (Willie's surname is Hendriks, see also https://grammar.yourdictionary.com/punctuation/apostrophe-rules.html for more info on the use of the apostrophe) Page 12 Hendrik = Hendriks In the bibliography the name is written correct!

page 18 HexapwanZero = HexapawnZero

Very interesting and informative book on the use of neural nets in Computer Chess.

asdfjkl commented 2 years ago

page 256: instead we desire to select the index 0 only in about 10 percent of all cases, index 0 in about 20 percent of all cases and index 2 in about 70 percent of all cases

should read: index 0, ... index 1, ... index 2

asdfjkl commented 2 years ago

page 262: it’s that alpha-beta searcher[s]! will prevail for chess. help humans becoming better chess players. -> become better...

asdfjkl commented 2 years ago

(all fixed in v1.3)

d-kraft commented 2 years ago

page 71 line 3 instead of "the the" write "take the"

d-kraft commented 2 years ago

page 62 last line of paragraph three I would prefer a comma instead of a hyphen after tensorflow, or -- but worse -- a dash (two hyphens in LaTeX)

asdfjkl commented 2 years ago

page 28: should be (0.95 − 0)^2 instead of (0.95 − 1)^2

asdfjkl commented 2 years ago

page 30: E_global should be E_total. bias w_0 is not mentioned page 36: we conclude its the first person

asdfjkl commented 2 years ago

page 79: of tactical threads. -> threats

asdfjkl commented 2 years ago

page 97: If you do not implement chess knowledge in the implementation function -> evaluation function

asdfjkl commented 2 years ago

page 99: 37.Be4 (space!)

asdfjkl commented 2 years ago

p148 In contrary, the rather universal gradient policy rein- forcement learning is used to improve the SL policy network

asdfjkl commented 2 years ago

p212: agrees while also searching with around 7,500,000 nodes per second and evaluates this at .... despite black being a pawn up

p213: Let’s again check how our zoo of engines evaluates that position from Black's point of view evaluation function despite the raw processing power of the machine

p215: about a move he got the replay "Nah you just don’t play like that".

The idea to use neural networks to automatically construct neural networks -> construct evaluation functions is not new.

p218:we are playing with an handicap of say

p226: It’s a very basic mate threat that most human -> There is a very basic.... p232: It will accepts as input states of the board and output move probabilities that denote how good a moves is resp.

d-kraft commented 2 years ago

p. 65 par. 4 line 3

could be that

d-kraft commented 2 years ago

p. 69 4th line above bottom

common themes

d-kraft commented 2 years ago

p. 70 third line from bottom

all required network elements, there.

d-kraft commented 2 years ago

p. 73 par. 3 line 2

none instead of noone? am not sure

d-kraft commented 2 years ago

p. 96 line 2 and on many other places of the text

w.r.t. to the to is redundant

AlexisNizard commented 2 years ago

p. 155 ,the two formulas that give 1.2 and 1.0 as the result use wrong values (not the values used in Figure 4.8).

The first formula should be 0.6 (sqrt(1+1)/2) = 0.42 = 0.5+0.42 = 0.92 And second should be 0.7 (sqrt(1+1)/2) = 0.4 + 0.49 = 0.89 ,according to the values in Figure 4.8.

0.92 is still greater than 0.89 so the reasoning doesn't change Also, is it possible to send you an email ? I would like to ask you a question about the subject (if you don't mind) but I don't know how to contact you.

asdfjkl commented 2 years ago

(all fixed up to here), #todo: release new pdf @AlexisNizard : thx for spotting this. As for contact: I've added e-mail information in github @d-kraft: thanks for your careful reading!

jbscj commented 2 years ago

P204 & P205 Formula 4.1 & Formula 4.2: It seems that the subscripts and superscripts of the terms in the first column should be swapped for consistency P206 has 3 additional formulae within the text with the above problem P207 & P208 has formulae 4.3 and 4.4 with the above problem P209 b1 -> b_1

shindavid commented 2 years ago

Everywhere else, as far as I can tell, the "E" in the acronym NNUE stands for the word "efficiently" (example). But in this book, the word "effectively" is used.

asdfjkl commented 2 years ago

(all fixed in v1.5)

asdfjkl commented 2 years ago

page 185, "will be": "These games will naturally of very poor quality initially and it wi"

asdfjkl commented 2 years ago

p185: ... rethink it ... instead of ... summarize what they investigated and re-think of it

asdfjkl commented 2 years ago

p 189 "a" missing: t FatFritz is just Leela Chess Zero with the network trained in different way.

asdfjkl commented 2 years ago

p 82: clarify that black does not win when reaching the lowest rank, we only consider the outcomes white wins or black blocks white (white gets 10 if he has a forced path to the third rank)

MSoszynski commented 2 years ago

p9

Original: "It’s one thing to look in awe and admire the game changer AlphaZero, but it’s another one to figure out how AlphaZero and similar engines work and get a better understanding what they are capable of."

Better: "It’s one thing to look in awe and admire the game changer AlphaZero, it’s another thing to figure out how AlphaZero and similar engines work and get a better understanding of what they are capable."

scottmcm commented 2 years ago

v1.5, p37

Indeed, if the network becomes moor accurate, our loss decreases.

should be "more accurate".

asdfjkl commented 2 years ago

p205... have think carefully should be have to think carefully

asdfjkl commented 2 years ago

p204 ... on rather low-end office computer -> on a rather ...

asdfjkl commented 2 years ago

p216: cite https://github.com/official-stockfish/Stockfish/pull/2916

asdfjkl commented 2 years ago

p232: Hexapawn is a solved game,

asdfjkl commented 2 years ago

p219: the difference is “only” 1.5 centipawns -> should be 1.5 pawns

rodinhart commented 2 years ago

Excellent book!

found in version 1.5:

page 24: I think it should be: w_0 = -10

page 31: I think the general rule of thumb for updating weights needs index i for the denominator: w_i^' = w_i = \nu dEtotal / dwi

asdfjkl commented 2 years ago

p8: DeepBlue should be Deep Blue

octopus-prime commented 1 year ago

First of all: GREAT STUFF! Thank you very much!!

What about page 198 "enemy king on e8, own knight on c3 from 1 to 0" ?!

I am not sure, but

So i would expect "enemy king on e8, own knight on c3 from 0 to 1"

Same for "own king on e8, enemy knight on c3 from 1 to 0" ?!

dericktseng commented 1 year ago

Thanks for this great resource! Went through Ch. 2 (Back-Propagation and Gradient Descent), and I think there might be an issue with the partial derivatives (p. 30)

It should be (for $j = 1, 2$ in the example and $N = 2$):

$$ \frac{\partial E}{\partial wj} = \sum{i=1}^{N}\frac{\partial E}{\partial \text{out}_i} \cdot \frac{\partial \text{out}_i}{\partial \text{net}_i} \cdot \frac{\partial \text{net}_i}{\partial w_j} $$

The corresponding calculations might need to be re-worked as well.

asdfjkl commented 1 year ago

p62: There is one large and deep neural neural network. (neural twice)

asdfjkl commented 1 year ago

p172:formatting of nxf6 in bullet point (should use \mathrm)

asdfjkl commented 1 year ago

Figure 4.12: "convolution" on the left: font is too small

asdfjkl commented 1 year ago

(all fixed in version 1.6)

MrOlegus commented 1 year ago

Page 118. In the formula, Vi must be at the bottom and Vparent at the top. Is not it?

cakiki commented 1 year ago

Page 198:

"No book about computers is complete with really bad car analogies."

This should rather read: without really bad car analogies

boihhs commented 9 months ago

Page 39. The formula for the softmax function does not have an e on the denominator