bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Bug-gnubg] Is it time for Gnubg 0.15? Improving the evaluation func


From: Ian Shaw
Subject: RE: [Bug-gnubg] Is it time for Gnubg 0.15? Improving the evaluation function
Date: Tue, 18 Jul 2006 15:23:58 +0100

Joseph Heled wrote on 18 July 2006 13:27

> Ian Shaw wrote:
> >
> > If we could split the nets, I would try using fuzzy logic to smooth 
> > out the gaps at the edges. A position could be evaluated as 
> > being 60% 
> > prime, 35% holding, 5% race. The evaluations from those nets would 
> > then be combined proportionally to give an overall equity. Maybe 
> > Snowie already does this.
> 
> Well, you first have to find a way to assess the percentages 
> (using fixed one does not buy you anything in my book. IMBW 
> (i may be wrong).

I totally agree. You can't use a fixed percentage. Accurately choosing a
split is a tricky proposition in its own right. I don't intend to pursue
it.

> > Does anyone have any idea why those particular inputs were chosen, 
> > what they are intended to model, and how effective they 
> are? Some of 
> > them are obvious  well commented, but others at the bottom 
> of the enum 
> > are undocumented.
> 
> I spent considerable amount of time on this issue with only 
> limited success. some of them I inherited from Gary's  0.1 
> version of gnubg.
> Some I added. Some I eliminated when I decided they don't contribute.

Are the deleted ones still in the code - and can I tell which are in
use? I don't want to be raking over old ground.
 
> The issue of inputs to a neural net is as close to the pit of 
> hell as you can get. There is no science I know of, just 
> black magic. Nothing I tried really worked. For example
>   - train net only on raw inputs.
>   - for each of the extra inputs, correlate it with the net error.
> (here is one place where a benchmark comes handy)
>   - take the input with highest score, add it and re-train.
>   - repeat the steps above

He he! I suspected as much. 

Do you have any stuff I can use? I know you didn't use gnubg itself, so
I guess you've got something more suitable for a NN development test
bed. I'd also need the training and benchmark databases. 

Of course, if you or somebody else with more programming competency than
I would like to take the lead role, then I'd be happy to tack a back
seat and contribute ideas and processing power. That's more what I had
in mind when I started this discussion, because it would be much faster.
I'm interested in the coding, but in all honesty I'm nowhere near up to
speed on neural network design or C (nor any other conventional
programming language, for that matter, and I can't see myself
implementing neural networks in PLC ladder logic!)


> > What is going on? For example, BREAK_CONTACT always seems 
> to be zero, 
> > even when there is contact.
> 
> Then something is horribly wrong.
> 
Perhaps it's just the output to the window. dE/dI values do exist.

Here is the starting position. BREAK_CONTACT should be 1, because it is
normalized to the start position.


Position ID:    4HPwATDgc/ABMA
Match ID:       cAngAAAAAAAA

Evaluator:      CONTACT

Input           Value                    dE/dI
OFF1            0.000                    0.672
OFF2            0.000                    0.757
OFF3            0.000                    0.374
BREAK_CONTACT   0.000                    0.574
BACK_CHEQUER    0.000                    0.624
BACK_ANCHOR     1.000                    0.693
FORWARD_ANCHOR  0.000                    0.388
PIPLOSS         0.000 (0.000 avg)        0.570
P1              0.000 (0.000/36)         0.613
P2              0.000 (0.000/36)         0.688
BACKESCAPES     0.000 (0.000/36)         0.396
ACONTAIN        0.000 (0.000/36)         0.559
CONTAIN         0.000 (0.000/36)         0.663
MOBILITY        0.000                    0.549
MOMENT2         0.000                    0.577
ENTER           0.000 (0.000/12)         0.617
ENTER2          0.000                    0.601
TIMING          0.000                    0.520
BACKBONE        0.000                    0.536
BACKGAME        0.000                    0.582
BACKGAME1       0.000                    0.355
FREEPIP         0.000                    0.494

        Win     W(g)    W(bg)   L(g)    L(bg)   Equity    Cubeful  
static: 0.519   0.145   0.006   0.130   0.006    +0.054    +0.076   
 1 ply: 0.535   0.149   0.008   0.123   0.004    +0.102    +0.142   
 2 ply: 0.519   0.145   0.006   0.126   0.005    +0.060    +0.084   



Cube analysis
2-ply cubeless equity  +0.060 (Money:  +0.059)
  0.519 0.145 0.006 - 0.481 0.126 0.005
Cubeful equities:
1. No double            +0.084
2. Double, pass         +1.000  ( +0.916)
3. Double, take         -0.224  ( -0.308)
Proper cube action: No double, take (25.2%)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]