gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] Semeai tuning


From: N N
Subject: [gnugo-devel] Semeai tuning
Date: Mon, 17 Oct 2005 20:43:52 +0200

Hi,

Basically, this one is just a tuning that increases the values of tactical
attacks on important semeai worms. Additionally, attacks against defenseless,
but important semeai worms are also added to the moves list (they were
previously ignored). The breakage looks good :

nngs:304        PASS M7 [B14|M7]
nngs:510        PASS G14 [G14]
semeai:60       PASS 0 0 PASS [0 0 PASS]

where nngs:304 is more or less accidental (the failure in current CVS is
only due to a cache effect), the two others are good. The impact on
performance is positive, although negligible.

Total nodes: 1649485853 3232693 11895906

-- nando

- use more tactical moves in semeais

Index: engine/owl.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/owl.c,v
retrieving revision 1.237
diff -u -r1.237 owl.c
--- engine/owl.c        8 Oct 2005 08:19:42 -0000       1.237
+++ engine/owl.c        17 Oct 2005 17:18:10 -0000
@@ -737,9 +737,15 @@
        else if (acode != 0
                 && find_defense(semeai_worms[sworm], NULL)) {
          critical_semeai_worms[sworm] = 1;
-         owl_add_move(moves, upos, 95, "attack semeai worm", 1, NO_MOVE,
-                      0, NO_MOVE, MAX_SEMEAI_MOVES);
-         TRACE("Added %1m %d (-1)\n", upos, 95);
+         owl_add_move(moves, upos, 105, "attack semeai worm", 1,
+                      NO_MOVE, 0, NO_MOVE, MAX_SEMEAI_MOVES);
+         TRACE("Added %1m %d (-1)\n", upos, 105);
+       }
+       else if (acode == WIN
+                && important_semeai_worms[sworm]) {
+         owl_add_move(moves, upos, 100, "attack semeai worm", 1,
+                      NO_MOVE, 0, NO_MOVE, MAX_SEMEAI_MOVES);
+         TRACE("Added %1m %d (-1)\n", upos, 100);
        }
       }
     }
@@ -944,7 +950,7 @@
    * interesting if the opponent doesn't already have two eyes.
    */
   if (!you_look_alive
-      && !safe_outside_liberty_found && moves[0].value < 100) {
+      && !safe_outside_liberty_found && moves[0].value < 110) {
     int pos;
     for (pos = BOARDMIN; pos < BOARDMAX; pos++) {
       if (!ON_BOARD(pos))




reply via email to

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