[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Another Domain?
Matt,
I think the idea is a good one. Tim and I have it implemented in our
program - our "atomic moves" are called "techniques" - basically trees
of patterns - but we haven't tested it (or our full playing program)
much because we've been working on life & death. I think others also
have something similar - certainly they do in the opening with joseki
(evaluating only the endpoints of the standard sequences).
I'm not sure whether it tells you anything about which area of the board
is more important (I'm assuming that's what you mean by finding
"hotspots").. and I'm not sure "sampling" the game tree the best
characterization - it seems to me that basically you're doing search,
but using knowledge of the domain to do circumscription - you prune the
vast bulk of moves by assuming they're not going to be as good as the
next move in the "forced" sequence. And this assumption is often a good
one when (1) the sequence is locally optimal (as these standard
sequences usually are) and (2) there are no interactions between the
goal of the sequence you're playing and other goals on the board.
Its use in life & death is a little trickier because at close quarters
where all the goals are subgoals of a higher goal (living or killing)
there are a lot of these problematic goal interactions. But I think with
some work it could be very powerful - I think it's part of what humans
do when they read.
One other complication of the idea (in the general middle game case) is
that most standard sequences have endpoints at which the context comes
into play when you have to be able to, say, read out a ladder or semeiai
to see if a crosscut works (to use Joan's example).
> I am trying to find or devise a simpler problem domain that does not
> require as difficult a base but that exemplifies characteristics
> similar to certain aspects of Go that I could use to experiment
> and determine whether the idea has merit.
The only problem is that I'm pretty certain this isn't going to be a
domain independent algorithm - if it's useless in another domain it
won't necessarily be useless in go, and if it works well in another
domain, you still won't know whether it will work in go.
-David