[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] Proposed owl_determine_life() improvement
From: |
bump |
Subject: |
Re: [gnugo-devel] Proposed owl_determine_life() improvement |
Date: |
Sun, 3 Nov 2002 08:15:58 -0800 |
While we're on the subject of owl_determine_life, here's an
example of a not too uncommon type where something goes
seriously wrong. I think this example is worth pondering.
set args -l gnugo-3.3.10-niki-200210281349.sgf -L 36 --quiet --decide-dragon B4
del
b silent_examine_position
run
fin
tb do_owl_attack
c
tb do_owl_defend
c
tb do_owl_attack
c
tb do_owl_defend
c
fin
tb do_owl_defend
c
tb do_owl_attack
c
tb do_owl_defend
c
set var verbose=1
set dump_stack()
Loading this script with GDB should give you:
W:C1 B:C5 W:D5 B:C6 W:B1 (variation 110)
Here's the position:
10 . . . + . . . .
9 . . O . . . . .
8 . . . . . . . .
7 . . . . . . . .
6 . . X . . . . .
5 . O X O . . . .
4 . X O O H . . .
3 . X X X O . . .
2 . . . . O . . .
1 . O O . . . . .
A B C D E F G H
The goal consists of the single worm at B4. The lunch at
B5 is found by owl_determine_life and capturing at B6
is assigned a value of 61.
Eating this lunch is very appealing because it immediately expands the goal.
But we have the following around line 2020 in do_owl_defend:
if (eyemax < 2 && stackp > 2)
move_cutoff = 99; /* Effectively disable vital moves. */
So the lunch is not eaten, and GNU thinks the X stones are
killed by B1.
Dan
- [gnugo-devel] Proposed owl_determine_life() improvement, Nando, 2002/11/03
- RE: [gnugo-devel] Proposed owl_determine_life() improvement, Portela Fernand, 2002/11/03
- RE: [gnugo-devel] Proposed owl_determine_life() improvement, Portela Fernand, 2002/11/03
- RE: [gnugo-devel] Proposed owl_determine_life() improvement, Portela Fernand, 2002/11/03
- RE: [gnugo-devel] Proposed owl_determine_life() improvement, Portela Fernand, 2002/11/04
- RE: [gnugo-devel] Proposed owl_determine_life() improvement, Portela Fernand, 2002/11/07