gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnugo-devel] experimental semeai


From: Arend Bayer
Subject: [gnugo-devel] experimental semeai
Date: Sat, 17 Aug 2002 17:13:22 +0200 (CEST)

I can't receive e-mail at the moment, but on the archive I see that
there was a brief discussion on --experimental-semeai. Before I will be
offline for about a week, I'd like to point out one more thing that needs
improvement in the semeai code.

If we run out of nodes (tested as count_variations < semeai_variations
in line 862 in owl.c), then we don't try a move. With the logic in lines
926 this means the following:

  /* If we can't find a move and opponent passed, it's seki */
  if (best_resulta == UNKNOWN && pass == 1) {
    *resulta = ALIVE_IN_SEKI;
    *resultb = ALIVE_IN_SEKI;
    if (move) *move = PASS_MOVE;
    SGFTRACE2(PASS_MOVE, ALIVE_IN_SEKI, "Seki");
    READ_RETURN_SEMEAI(read_result, move, PASS_MOVE,
                       ALIVE_IN_SEKI, ALIVE_IN_SEKI);
  }
  /* If no move was found, then pass */
  if (best_resulta == UNKNOWN) {
    do_owl_analyze_semeai(bpos, apos, owlb, owla, komaster,
                          resultb, resulta, NULL, 1, owl_phase);
    SGFTRACE2(PASS_MOVE, UNKNOWN, "No move found");
    if (move) *move = PASS_MOVE;
    READ_RETURN_SEMEAI(read_result, move, PASS_MOVE, *resulta, *resultb);
  }

I.e., first we pass and analyze it from opponent's point of view (2nd
code block above). He will not make a move either and hence we declare
ALIVE_IN_SEKI for both.

While seki may be as good a guess as any, I think it's a bad guess
concering the consequences for genmove: Since both groups are declared
alive, every move there will be evaluated as having not much effect.
However, with 2 critical or dead dragons next to each other, we should,
if in doubt, rather guess to generate a move around there.

So what should we do if we run out of nodes? Several possibilities:
1. Declare result UNKNOWN and don't change any dragon's status.
2. Try to finish the computation in the (much faster) non-owl mode.
3. Try to guess the result according to current eye space of the two
dragons.
4. Any combination of 1.-3.

I think any of those would do better than the current situation. I could
well imagine (although this might be too optimistic) that this would
finally turn --experimental-semeai into being a measurable improvement.


Arend






reply via email to

[Prev in Thread] Current Thread [Next in Thread]