[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Split searches
Hi All,
Some time ago someone here mentioned that one of the greatest problems for
computer go is to be able to separate two local problems so that they can be
solved locally. I have thought about the matter, and here is what I have
come up with. So far it is only speculation, I haven't tried to code
anything yet...
Anyway, the problem is that we have two siatuations on the board that need
to be analyzed. When and how will it be sufficient to handle them
separately.
I'd start by analysing each problem on its own, and noting all the points
considered in the search. This gives a 'halo' of the problem. If the two
halos do not overlap, the problems can be considered independent, and we
already have the solutions.
If the halos overlap, the question becomes if there is a solution with a
smaller halo. If we modify the success criteria of the search so that each
solution (that solves the problem) is weighed by how few points it overlaps
the halo of the other problem. In the best case we find a solution to (at
least of one problem) that stays out ofthe way of the other problem, and
both problems are solved independendly.
If even this didn't help, we have one more thing to try. Run the same
routine, but try to stay away from the minimal halo we found in the previous
step, instead of the complete halo of the other problem. This just might get
some results.
I know this is not the whoel story, my 'minimal' halo might not be the ideal
one to use. One could try to find alternative solutions to the problem by
adjusting the success criteria to consider both avoidance of the other
problem's halo and also avoidance of the previosuly found halo. This might
to lead to a different 'minimal' solution, although I am not at all sure how
to the adjustments, and if this would really give anything useful.
I guess the directionality ought to be implemented in the move generation as
well as evaluating the end positions... (order the moves so that I try first
moves outside the other problem, the opponent tries to get into it?)
Any comments? Is this well known theory I happened to rediscover, or a well
known dead end? Or perhaps something useful??
- Heikki
--
Heikki Levanto LSD - Levanto Software Development <heikki@xxxxxxxxxxxxxxxxx>