[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnugo-devel] experimental semeai,
Arend Bayer <=