The flow of Komodo eval

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

Moderator: Ras

whereagles
Posts: 565
Joined: Thu Nov 13, 2014 12:03 pm

Re: The flow of Komodo eval

Post by whereagles »

lol... I feel like sourcing-out that vector field and get a quantum field theory description of it. Probably akin to some non-renormalizable ghost-matter interacting theory.

Too bad I forgot how to do it.. I quit physics for optimization :D
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: The flow of Komodo eval

Post by Laskos »

whereagles wrote:lol... I feel like sourcing-out that vector field and get a quantum field theory description of it. Probably akin to some non-renormalizable ghost-matter interacting theory.

Too bad I forgot how to do it.. I quit physics for optimization :D
Come on, I tried to present as intuitively and graphically as it gets. The graphical reading is just "if one starts with Komodo eval of +1.2 pawn advantage at move 30, on average, the game will go to +1.6 pawn advantage to move 40 against an equal opponent to Komodo". Vector field is just a fancy name, follow the arrows for the same purpose, to track the progress of Komodo move by move for different starting evals.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: The flow of Komodo eval

Post by Laskos »

Dann Corbit wrote:If the score is above 70 cp on the 10th move, you are trapped in the vector field of doom.
Well, it's more likely that the game will end in Win than in Draw, but just probabilistically.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: The flow of Komodo eval

Post by Laskos »

nimh wrote:I've never been interested in maths, I'm weak at it. :)
I suspect, from your previous work, that you do possess most high-school math, and it's what I most often use myself.

So first you have a high-school function for the boundary Win-Draw:

eval[x] = 5*0.75/(5 + 0.75*sqrt(30) - 0.75*sqrt(x))

x is the variable move number. This formula gives the eval at move x for the boundary Win-Draw.

Then you asked for that f(x):
f[x] = 0.5 + 0.5 * theta(y[x] - eval[x])

Theta is the step function:
theta[x] is 1 for x>0, 0 otherwise, for our purposes.
You don't need to know anything on fancy generalized functions. If you don't want to use "if" and such, then if your software supports abs or sign operations, theta is very easy to write as:

theta[x] = (1 + abs[x]/x)/2

If your software doesn't know even abs operation, I can concoct an ad hoc "engineering" representation of theta for our purposes, in elementary functions.

Say theta[x] = 1 / (1+exp[-100*x])
It has the accuracy of an eval difference of 0.01, sufficient for us. An overflow might happen, but you can easily manage.
whereagles
Posts: 565
Joined: Thu Nov 13, 2014 12:03 pm

Re: The flow of Komodo eval

Post by whereagles »

Laskos wrote:(...) I tried to present as intuitively and graphically as it gets. (...)
I know.. There is nothing too deep to it. It just reminded me of the good old days :)
nimh
Posts: 46
Joined: Sun Nov 30, 2014 12:06 am

Re: The flow of Komodo eval

Post by nimh »

Laskos wrote:
nimh wrote:I've never been interested in maths, I'm weak at it. :)
I suspect, from your previous work, that you do possess most high-school math, and it's what I most often use myself.

So first you have a high-school function for the boundary Win-Draw:

eval[x] = 5*0.75/(5 + 0.75*sqrt(30) - 0.75*sqrt(x))

x is the variable move number. This formula gives the eval at move x for the boundary Win-Draw.

Then you asked for that f(x):
f[x] = 0.5 + 0.5 * theta(y[x] - eval[x])

Theta is the step function:
theta[x] is 1 for x>0, 0 otherwise, for our purposes.
You don't need to know anything on fancy generalized functions. If you don't want to use "if" and such, then if your software supports abs or sign operations, theta is very easy to write as:

theta[x] = (1 + abs[x]/x)/2

If your software doesn't know even abs operation, I can concoct an ad hoc "engineering" representation of theta for our purposes, in elementary functions.

Say theta[x] = 1 / (1+exp[-100*x])
It has the accuracy of an eval difference of 0.01, sufficient for us. An overflow might happen, but you can easily manage.
I think it's the best and easiest if I use the original logistic function you gave me a while ago.

Code: Select all

((1+(EXP(G26/1,2)-EXP(-G26/1,2))/(EXP(G26/1,2)+EXP(-G26/1,2)))/2)
And modify it so that the value changes according to the varying move number. Let's assume the boundary of the vector field of doom is equal to 75.00% - 0.66 cps at move 27 (the mean of the average length of the games in my dataset) and 1.70 cps at move 80, plus there is a smooth exponential or a power function. What would the new formula be?

I'd like to try it out to see if it yields a more reliable strength-accuracy relationship than before.
mjlef
Posts: 1494
Joined: Thu Mar 30, 2006 2:08 pm

Re: The flow of Komodo eval

Post by mjlef »

Kai,

You do some beautiful work.

Mark
gordonr
Posts: 223
Joined: Thu Aug 06, 2009 8:04 pm
Location: UK

Re: The flow of Komodo eval

Post by gordonr »

mjlef wrote:Kai,

You do some beautiful work.

Mark
+1
Mathboy
Posts: 33
Joined: Sat Nov 23, 2013 7:12 am

Re: The flow of Komodo eval

Post by Mathboy »

Thanks, this is wonderful work.

Do you think the vector field looks the same at very different time controls?

John
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: The flow of Komodo eval

Post by fern »

And now, Kai, in plain English, what are the conclusion of that statistical exercize?

Fern