[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: How many bits are needed to encode an N x N Go position?
Don Dailey wrote:
> Hi Jean-Pierre,
> Interesting discussion!
indeed!
> Also, hash tables are very expensive in one sense. The kind of table
> you are refering to requires you to store the whole Go board in each
> entry (or at least many bits of checksum.) That's very expensive.
> The scheme I proposed makes the position itself be the key of "hash
> table", so no type of collision detection is necessary and the entry
> size can be just one or 2 bits, depending on how much information you
> want to capture. (You can put number of moves to a win or loss,
> the final results, or you can store 1 bit representing
> whether some goal was achieved.)
Yes, that would correspond a lot more to my idea of a "solved" 5x5 GO:
a huge database with all the possible positions (3^25 for 5x5),
in which only for the relevant (legal) positions
an information is stored
e.g. 1 byte = 2 (W or B to play next) * 4 bits (final result:
0 = net yet computed
1 = -7 or worse for Black
...
8 = jigo
...
15= +7 or better for Black)
I even would think, that we may easily get rid of the whole
awfully difficult KO-complex! We just only store positions WITHOUT
any KO-forbidden points! I think we just donīt need them in our database:
We only handle with the KO-problems in the games that occur.
After every KO comes a move that makes a position without a KO-forbidden
point! If this position is stored in our database with a correct result,
what do we need else...
BUT... How long would a program take to fill in all the values for
every position = for every move
that may occur in rational games?
> This is not a direct search problem (yet.) It needs retrograde
> analysis. The beauty of this, is that once you build this table, the
> solution (or score) or every position is readily available for all
> time.
sic! :-)
> I'm tempted to write the program now and apply
> it to 3 x 3 as a warmup exercise.>
> Don
Perhaps
3 x 5 (3^15 = 14.348.907),
4 x 4 (3^16 = 43.346.721) or even
4 x 5 (3^20 = 3.486.784.401)
should allready be possible with todays hardware!?
Stefan