[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[computer-go] Pattern extraction using holographic reducedrepresentation
Hi All,
I found a way to use HRRs to represent board positions and game trees in
an effective manner (ie. one that handles color reversal and all
rotations of the pattern easily.) If I'm not totally mistaken, it should
be possible to extract patterns and game trees representing possible
continuations from that position in a manner suitable for both automatic
extraction and generalization. Simple googling returns nothing but I
wanted to check with members of this list before reinventing the wheel.
Has anyone heard of a similar approach?
You might have heard about HRRs by a different name. So here is a brief
sketch of the main idea. Each component in an HRR is a vector of n
(typically >500, more the merrier) dimensions. It uses three basic
operators, one to bind components (*), one to superimpose (+) them and
one to compare (=). First two operators also have inverses. Binding
operator is randomizing st. A*B is unlike both A and B, while
superimposition operator is similarity preserving st. A+B is like both
A and B. One such scheme uses binary vectors, uses XOR to bind and a
stochastic AND (ie. 1 sAND 0might be 1 or 0 with equal probability,
while 1sAND1 is always 1 and 0sAND0 is always 0) to superimpose. The
Zorbist hash is equivalent to representing a go position with HRRs where
each elementary vector (existence of a stone at position) is bound.
Comparison operator is simply count of 1s in A AND B. Binary vectors get
too noisy quickly, so I will use frequency domain circular convolution
(*), addition (+) and cosine between vectors (=) instead (see
http://citeseer.ist.psu.edu/plate95holographic.html.)
The nice thing about HRRs is that, they support structured
representations (a tree, a list, or a simple collection) and automatic
unification, generalization, noise tolerance, all in vector domain -
without ever decomposing a vector to symbols.
My idea is simply representing a go pattern (eg. a configuration in 9x9
window on a 19x19 board) both with a collection (eg. which positions are
occupied and what color) and a game tree representing local order of
moves in that window. After extracting those patterns from a set of
professional games, similar vectors are superimposed to allow
generalization and generate a library of patterns this way. To use them
to play games, the board position is converted to HRR representation,
and most similar patterns are used to determine a) possible
continuations from that position b) how that pattern might evolve (so
territory and a life and death status estimation can be more done
accurately by an external agent)
Thanks in advance.
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/