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

Re: transposition table



>

I'll reply to Dave ans jermy in a single mail.

Dave Dyer wrote :

> Perhaps I"m missing something, but I don't see how symmetric
> positions can be of much interest unless the positions are
> full board, and therefore can only be of interest when starting
> from an initially symmetric full board position.
>
> In almost all other circumstances, the the initial setup lacks symmetry,
> so the leaf nodes have no useful symmetries either.

Symetric positions are of great interrest in a  fuseki library, and also in
joseki because
you can interchange the four corners.
They are also interesting when you want to make a full minmax search of a whole
game (yes, this is possible only on very small boards, up to 4x4 I think :(  I
first encountered that a year ago, when testing my own program "Spirit Of Go"
... on a 2x2 Board.
Actually the 2x2 Board/goBan is incredibly complex to solve and can be solved
only when super Ko rule applies. The maximum depth for search is 80 ! By the
way  the result (black wins by 1) you can find in Mori's Go pages is correct

Jeremy Thorpe Wrote :

> there can never be a perfect solution to this problem if you want to
> account for super-ko, short of recording and hashing the entire game
> history.  here's why:
>
> there are plenty of reversible moves (even ones other than ko), so you can
> construct a game that goes any number of moves before (potentially)
> repeating, let's just say 10.  now, it's not only on the tenth move (when
> your move is restricted) that you have to start considering the
> implications of super-ko, you may want to have considered super-ko on,
> say, move 5.
>
I do agree with your reasonning but not with your conclusion.
Remember the key for my transposition table (TT) s not Board hash, but the pair
(board hash, move Number). So if position at move#10 is same as at move#5, and
super Ko applies at move#10, the transposition table would work because the key
for the two positions is not the same (they differ by move number).

It appears that using such a pair as keys instead of simply board hash does only
slightly increase the search time, because most transposed positions are at same
move number (for instance from a position P1 at move #5, play move black a1,
white c3,  black b2, white g6 giving position  P2 at move #9, or play black b2,
white c3, black a1, white g6, giving P3 at move #9, and P2=P3 if there are no
captures)

But as I pointed in my first post, having such a pair as a key for TT is not
enough because for instance in the tree from position P at move #5, you can have
one position P4 at move #9 being Ko with its parent at move #7, while another
position P5 at move #9 (in the same tree starting from P) can be identical to P4
but NOT being Ko with ist own parent at move #7. (I hope I'm clear).

So I think the solution is to add a Ko term to the records in TT, as P.J Leonard
suggested in his last post...

Any comment ?

--
         ______________________
        / Let java be with me !\           \\\|///
        \______________________/ O       \\  ^ ^  //
                                   o o    (  @ @  )
 +--------------------------------------oOOo-(_)-oOOo----+
 |  Serge Boisse                                         |
 |  SERVICE TECHNIQUE DE LA NAVIGATION AERIENNE (STNA)   |
 |  PHIDIAS project, http://www.stna.dgac.fr/phidias     |
 |  tel: (33)562 14 5731                                 |
 |  mailto:boisse@xxxxxxxxxxxxxxxxx                           |
 |  homepage:  http://www.mygale.org/~boisse             |
 +-----------------------------------------------Oooo----+
                                         oooO   (   )
                                         (   )   ) /
                                          \ (   (_/
                                           \_)