[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] owl attack moves and semeais
From: |
Arend Bayer |
Subject: |
Re: [gnugo-devel] owl attack moves and semeais |
Date: |
Thu, 8 Apr 2004 20:22:59 +0200 (CEST) |
Gunnar wrote:
> Arend wrote:
> > - if it's tactically capturable => dead
> > - otherwise, if owl alive => alive
> > - otherwise, if there is a single semeai that this dragon can win => alive
> > - otherwise, dead
>
> Sorry, this seems somewhat too simplistic, although I agree we need to
> have a coherent and preferrably simple handling of dragon status.
At least it would make it easier to decide which part of the code to blame
when things go wrong :)
> First problem:
> 5 . . . . . . . . . 5
> 4 O O O O O O O . . 4
> 3 . . + . . . O . . 3
> 2 X X X X X X O . . 2
> 1 . O O O . X O . . 1
> A B C D E F G H J
>
> The lower O string is tactically captured but strategically alive in
> seki.
Ok. Sow how about:
- if it's tactically capturable => dead for now
- otherwise, if owl alive => alive, otherwise dead for now
- if there is a single semeai that a "dead" dragon will win, we change it's
status to alive
> Second problem:
> What about multiple semeais?
IMO, winning a single semeai should be enough to make a dragon alive. If
capturing the other dragon is not sufficient to make life, the semeai
code shouldn't claim a win.
In other words, if the semeai code claims a dragon is still killed in a
semeai, and this dragon is part of multiple semeais, this opinion is as
unreliable as owl claim "dragon is dead" if it is involved in a semeai.
In other words, I think my policy above is as good as it gets without
proper combination reading of multiple semeais. (Which I am not
proposing to do.)
I am aware that this is not what the code in semeai.c is doing right now
with respect to SEMEAI_ATTACK_MOVE. But I wanted to hear opinions on my
suggested policy before trying to change that.
Arend