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

Advice on evaluation



Hi all,

I'd like some advice before I make a huge code change in Many Faces of Go.

Up to now, the evaluation in MFGO is not aware of what color is moving
next.  Group strength is based just on eye shape, running ability, etc,
not on who moves next.  For territory, I evaluate the minimum territory
for each side.

I'm thinking about evaluating differently based on who is moving next.
For group strength today, I have a single value.  I'll have two values
after this change:  one for white to move, and one for black to move.
I can look at the difference between those values to see if a group is
worth attacking or defending.

I know that Go4++ evaluates always pessimistically for the side to
move, so the evaluation would be different if colors were reversed,
and it seems to work quite well.  

Can any of the other people with programs let me know what they
think?  It's a huge change, and it will probably take a long time
to get all the bugs out since it changes a fundamental assumption
about the way evaluation works.  So I don't want to do it if it
is not going to help much.

Another option is to evaluate based on whether the group is friendly
or enemy rather than on which side is to move.  I don't know if this
would be better of worse.

The position that prompted this has a group that is almost surrounded,
and can connect at a peep to get out.

If it is surrounded, it might be able to live, but it won't be easy.  If
it gets out, it's still in an area with more enemy stones, so it's not
clear that it can run away, so it is still not stable, but it is much
stronger.

The issue is what to assign for group strength before it connects the
peep?  If I assume it will get cut, it has a pretty low probability of
living.  If it connects it will have a pretty good chance to live.  Right
now I only use one value, and it's optimistic, so the program doesn't
think it needs to connect the peep.

It seems like if I use two values I can save a ply of lookahead.  Now,
the program has to tenuki, then have the enemy cut the peep to realize
there is
a problem.  With two group strength values, as soon as the tenuki move
is evaluated, it will realize that there is trouble.

So what do you think?

David