Gérard TAILLE wrote:
Code:
A A
/ \ / \
/ \ / \
B C B C
/ \ / \ / \
/ \ / \ / \
? E D E F G
My proposal Kvasir proposal
Oops, changing tree may lead to completely different conclusion. To understand what I mean let's take another very different tree:
I will amend as follows to be clearer.
Code:
A
/ \
/ \
B C
/ \ / \
/ \ / \
D E F G
va = min(E - C, (E - C) / 2 + vb / 2)
= min(B - F, (B - F) / 2 + vc / 2)
= min(D - C, (D - C) / 2 - vb / 2)
= min(B - G, (B - G) / 2 - vc / 2)
You can derive all of these formulas by writing down relationships between the nodes.
For example for D and C. It's possible to do this in different ways but if you start with these three relationships
D - vb = B
B - va = A
A = va + C
Which are true when we talk about the gote (unforced play) case, they are not true if play is forced in these nodes.
It is fairly easy to go from this to
D - vb - va = va + C
at which point solve for va
va = (D - C) / 2 - vb / 2
The right side of which is the gote case in the "min" function of the third formula.
These two cases were shown
Gérard TAILLE wrote:
Code:
A A
/ \ / \
/ \ / \
B 0 B 0
/ \ / \
/ \ / \
12 E 12 E
/ \ / \
/ \ / \
6 -2 4 0
va = 3 va = 2
Here we need the correct value of vb to proceed to calculate va, if we have the correct value there is no problem.
First case:Code:
A
/ \
/ \
B 0
/ \
/ \
12 E
/ \
/ \
6 -2
Here we must be careful to work with the right temperature in the subtrees, here vb = 6 and ve = 8 since play is forced at lower temperatures. Now marking paths with * that are excluded for the reason that the other player's move is forced, we have this tree.
Code:
position values move values
3 2
/ \ / \
/ \ / \
2 0 6 .
* \ * \
* \ * \
12 6 . 8
/ * / *
/ * / *
6 -2 . .
Using D = 12, C = 0, vb = 6, we can apply the formula
va = min(D - C, (D - C) / 2 - vb / 2)
= min(12 - 0, (12 - 0) / 2 - 6 / 2)
= min(12, 6 - 3) = 3
Consider the subtree
Code:
B
* \
* \
12 E
/ *
/ *
6 -2
If we make the error to not realize that play is forced then we get incorrect values, that is values that could be correct if this was not a follow up from a lower temperature position.
Code:
position values move values
5 9
/ \ / \
/ \ / \
12 2 . 4
/ \ / \
/ \ / \
6 -2 . .
Using B = 12, F = 6, vc = 4, we can apply the formula
va = min(B - F, (B - F) / 2 + vc / 2)
= min(12 - 6, (12 - 6) / 2 + 4 / 2)
= min(6, 3 + 2) = 5
or using B = 12, G = -2, vc = 4, we can apply the other formula
va = min(B - G, (B - G) / 2 + vc / 2)
= min(12 - (-2), (12 - (-2)) / 2 - 4 / 2)
= min(14, 7 - 2) = 5
If we go ahead to use this value in the previous case we get an incorrect result
Using D = 12, C = 0, vb = 5 (wrong!!), we can apply the formula
va = min(D - C, (D - C) / 2 - vb / 2)
= min(12 - 0, (12 - 0) / 2 - 5 / 2)
= min(12, 6 - 2.5) = 3.5
which is not the solution.
Second case:Code:
A
/ \
/ \
B 0
/ \
/ \
12 E
/ \
/ \
4 0
Here too we must consider that play is forced at low temperature.
Code:
position values move values
2 2
/ \ / \
/ \ / \
4 0 8 0
* \ * \
* \ * \
12 4 . 4
/ * / *
/ * / *
4 0 . .
Using D = 12, C = 0, vb = 8, we can apply the formula
va = min(D - C, (D - C) / 2 - vb / 2)
= min(12 - 0, (12 - 0) / 2 - 8 / 2)
= min(12, 6 - 4) = 2
In this case there is something interesting, if we assume the following tree instead, we get a "correct" value (at least given how I filled in the tree at the top level) but it's not the value that I think we want.
Code:
position values move values
1 2
/ \ / \
/ \ / \
2 0 10 0
* \ * \
* \ * \
12 2 . 2
/ \ / \
/ \ / \
4 0 . .
Using D = 12, C = 0, vb = 10, we can apply the formula
va = min(D - C, (D - C) / 2 - vb / 2)
= min(12 - 0, (12 - 0) / 2 - 10 / 2)
= min(12, 6 - 5) = 1
Here we botched the calculation (again?). The error is that the first tree is better for black and black can force the result, that is black will play in gote as shown in the first tree.
ConclusionI think this must work. You need to use the correct values for the position values and move values, that is you need to somehow have the right idea of which moves are forced and which are not. That means if you have two continuations that you can estimate the position value and can recall (or guess) a move value for the third hard to fathom continuation you can try to make a good estimate without working through the difficult continuation.