bug-gnubg
[Top][All Lists]

## Re: Not quite {was: Re: [Bug-gnubg] Double Decisions

 From: Jim Segrave Subject: Re: Not quite {was: Re: [Bug-gnubg] Double Decisions Date: Tue, 21 Aug 2007 10:27:20 +0200 User-agent: Mutt/1.5.13 (2006-08-11)

```On Mon 20 Aug 2007 (17:28 -0400), Roy A. Crabtree wrote:
> I will have to agree with the idea, but disagree with the line of reasoning:
>
>    gnubg cannot be assuming that the strengths are equivalent.

gnubg simply assumes its opponent will play optimally at all
times.

Note:
Optimal play is the play that gnubg would make in the
opponent's place - gnubg has no concept of its ever being less than
perfect in its decisions. If it "thought" a particular play was not
the best one, then it would not make it, hence any play different than
gnubg's choice is, in gnubg's view, a mistake.

> i) If gnubg assume the match is (it, it) that gives matched rates and 60%
> wins
> ii) if gnubg assumes it is (it, you) that gives UNmatched rates and maximal
> verge of winning (80/99%)
>
> iii) But I do not think that it would assume that it is playing (you, you),
> as I do not think THAT pairing would
>     gives wins in the 80-99% region for severely LESS than optimal players.
>
> Either:
>
> a) gnubg is weighting the cube for condition and incorrectly assigning the
> figure, or

Neural nets are not infallible and gnubg will often obtain different
results when rolling out a play than the NN evaluation gives.

> b) it is weighting for condition ii (or others) and recommending the
> preferential cube so as to up it's match win rate
>
>     which I do not think, as it is to obvious an error to miss

Nope

> OR:
>
> c) the NNP engine has determined against millions of plays of games that:
>
>     i)  each differing (or ther sum acumulated similar characteristic) NNP
> PRNG
>         has a specific set of characterisitics IT can detect

Nope - gnubg makes the assumption that the dice are random and that
future rolls will not be biased.

>     ii) that humans can NOT detect (**as easily: Ramanujans for math AND
> gammon exist**)

Nope - gnubg makes no assumption about the other player's ability
beyond choosing a play which is best against a player equally strong
as gnubg itself.

>     iii) that gives it the ability to use a static tree of equivalence
> classes
>      iv) buried in the NNP DB IMplicitly (not pulled out; as such:

I think this is not an effective way of looking at the neural net. A
neural net generates a very complex transfer function of the input
variables to produce a set of outputs which should represent the
probabilities of the outcomes of a game. Note that the inputs to the
neural net do not include the score, match length, cube ownership or
value, history of the match or session or anything else other than the
position of the chequers. It also does not include a current roll of
the dice - in order to evaluate the probable outcomes after the dice
are rolled, gnubg does a NN evaluation or the tersulting position of
each legal move it is evaluating. The closest you get to equivalence
classes would be gnubg's choosing which neural net to use - there is
more than one available as it was found that a single neural net for
all position types from racing to crashed boards was not accurate
enough.

>     the game, the engine, the programmers are ALL honest BUT:
>
>        gnubg succesfully "cheats" by having advanced knowledge of the PRNG
>
>               by means of its millions of plays of experience no human will
> have

See above - the only assumption made is that the dice rolls will be
fair and random.

>      to successfully predict AGAINST a human player
>
>         based on its first 2-4 responses from the player
>
>    as to which equivalence class it should go

gnubg does not choose plays based on the history of the game. You can
take some position in a game and ask gnubg to analyse it and recommend
the best move. If you then ask the computer to make a move, that's the
move it will make. If you then go to another computer with a copy of
gnubg and set up the same position using the edit function (so there's
no history of moves made available on this computer) and repeat the
analysis, you will get the same results.

>    hidden (because of the static nature to the NNP network responses ALWAYS
> being the same

Correct, the NN is static.

>    to the same position in the same game in the all games in the same match
>   (as opposed to being dynamically _differentiated_ based on your previous
> in-that-game-play)
>
>       but NONETHELESS in an effectively different equivalence class

I can not follow what you are saying here. Gnubg doesn't have
equivalence classes in the sense I'm guessing you are using.

>   that WILL respond to the nature of your PLAY on DIFFERENT POSITIONS
>   based on its knowledge of WHAT ROLLS WILL OCCUR FROM THE PRNG.

Gnubg does not have any foreknowledge of the upcoming dice rolls.

>    ALL of this calculated from the plays it HAS had and NOT because the CODE
> of the engine is dishonest.

Only in the sense that the neural net has been trained by having gnubg
evaluate huge numbers of positions and then played out that
position. If the played-out results don't match the initial
evaluation, the weightings in the neural net are adjusted to make the
evaluation closer to the actual result. There is a classic paper on
training neural nets which explains this - warning, not for the
mathematically faint of heart:

http://researchweb.watson.ibm.com/massive/tdl.html

> You can see it most easily by watching the difference in the win rations
> form a PRNG to random.org.

If you use the Mersenne twister PNRG in gnubg you will need to play a
lot of games before the results show any statistically significant
difference from using dice rolls from random.org. By a lot of games, I
mean a significant portion of the lifetime of the universe.

> And you can tell that random.org IS NOT FULLY RANDOM (look at the bit
> slicing algorithm that cuts out
> long 1/0 sequences), in that the win rate is about 1/3 of the differential

I think you'll have your work cut out for you demonstrating any
statistical weakness in the numbers from random.org

>    as an expert gammon player, though perhaps not world class
>
> will se or feel as what SHOULD have been the case as to cube pushes.
>
> ALL of this hidden within the expected values of the relative field strenths
> of the ratings as given
> with charactersitics (AKA "tells") that gnubg can see

I am unable to understand what the above paragraph means.

>      and that a world class player can see gnubg playing, AND AVOID the
> unstable areas
> that a naive player favoring either fair dice or human rolled dice
>
>     these are NOT the same
>
> and hence, EXPECTING this, will play _towards_, and LOSE ground,
>
>   becuse:
>
>     the PRNG and TRNG involved are not those sequences.
>
> And the NNP will ALSO have picked up characteristics in human rolled dice
>
>    the SAME WAY
>
> that most naive players will not see, and will also pick characteristics
>
>    in HUMAN PLAY against FAIR dice as contraposed the rules of backgammon
>
> in the same manner:
>
>     at a sensitivity level (incremental contextual advantages across 4-8
> moves)
>
> that a world class player aint' gonna tell nobody he/she already sees.
>
> And uses, to win.
>
> of couse, that is only my ownhumble opinion
>
>   of this rather brilliant piece of SW gnubg:
>
>    it is fooling its own creators quite well...

--