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

Re: computer-go: Most simple Go rules




David Fotland wrote:
> Chinese scoring is more logical that Japanese scoring because it avoids all the
> special cases

You agree and this is very nice:)

> But regular Chinese
> scoring has the problem that it takes longer to count than Japanese, and
> counting destroys
> the position.

It is a fundamental misconception to speak of time consumption
or destroyed positions by scoring. Scoring does not take any
time and does not change any position since scoring (in my
terminology) is the definition of what constitutes the score.
Counting takes time and might destroy the position since 
counting is mechanically determining the score.

When you speak of taking time or destroying positions, then
you mean counting procedures but not scoring definitions.

We agree on Chinese scoring. This itself does not create
spending of any time or changing of any position. It is a
counting procedure applied FOR Chinese scoring that takes
procession time and may or may not change the position.
On http://home.snafu.de/jasiek/int.html you can find four
examples of counting procedures for Chinese scoring (called
area scoring there) plus the not mentioned Ing fill-in
counting procedure for Chinese scoring

1) point by point counting for area scoring, 
2) point by point half counting for area scoring, 
3) stone counting for area scoring, 
4) Chinese half counting for area scoring,
5) Ing fill-in counting for area scoring

and two examples of counting procedures for Japanese scoring
(called territory scoring there)

6) point by point counting for territory scoring, 
7) Japanese counting for territory scoring. 

(1), (2), (6) do not change the position.
(3), (4), (5), (7) change the position.

Not changing the position allows immediate recounting, if
necessary. (2) has a built-in counting check (if used,
requiring twice the counting time (C) as below).

The speed of counting procedures can be measured differently:
A) time of understanding the score,
B) time of executing the counting algorithm,
C) total number of points counted or moved.

Before I said that scoring does not require any time because
it is nothing but a definition. This is only half the truth
because the definition must be understood somehow so that 
due to the understanding afterwards a counting procedure can
be executed. If we measure (A) in N board intersections, then

- Chinese scoring requires O(N) 
(IIRC that flood-filling works in O(N)),
- Japanese scoring is in EXPTIME.

It is the most obvious that Chinese scoring is better here.

(B) is O(N) for all counting procedures, so (B) is not so
interesting.

(C) requires an analysis of every single counting procedure,
and I give some reasonable rough estimates, assuming 140
points of territory, 30 prisoners, 0 neutral points (for
comparison, dame are already filled, what makes sense since
they are filled somehow anyway), 280 plays during the game:

(1) 360
(2) 180
(3) 140 + 360 moving away all stones = 500
(4) 180 counted points + 70/2 moved empty points + 
    (180 - 70/2) moved stones while disregarding noise of
    moving opposing stones = 180 + 35 + 145 = 360
(5) 140 + 10 noise of komi and minor movements = 150
(6) 140 + 30 = 170
(7) 140 + 30 + 50 moving empty points = 220

Since all this is estimated, we can at least classify (C)
if we disregard all side-effects like taking care of
prisoners and unplayed stones:

Fast:
(2), (5), (6)
Rather fast:
(7)
Average:
(1), (4)
Slow:
(3)

Another viewpoint: What is natural and easy for computer go?
Point by point counting procedures!

Concluding, however you view upon it, point by point
counting is superior!

> AGA rules fix the counting problem, by letting you
> count in the Japanese,

Or whichever other counting method might be preferred.

> high speed fashion.

This is a myth, as is shown above.

> AGA rules are Chinese scoring in disguise

Yes.

David Fotland wrote:
> The programs should indicate their evaluation of the group status.  If they
> agree, use that status.  If
> they disagree, have a strong player adjudicate, with the correct status.

Such a mess is necessary only in case of Japanese scoring.

> Ing solved this by specifying that programs must remove all dead stones
> before passing.

It is the choice of Chinese scoring that solves the problem
since once this choice is made removing dead stones is a
strategic consequence.

David Fotland wrote:
> I've seen Many Faces make
> scoring mistakes in
> perhaps 1 in 500 games, usually when there is some very strange seki.

Is MF particularly stronger than the 9x9 MF I tested? In it
most games ended in a position that was scored wrongly because
I killed a lot.

David Fotland wrote:
> Computers can have an agreement phase as well.

Theoretically it is possible to have agreement phases of the
AGA type and confirmation phases of the Japanese type.
However, all this is a great mess (in the Japanese case of
EXPTIME nature), and furthermore ruling interaction between
programmers and then referees to correctly interpret 
computer agreements is even a greater mess, it is 
agreements on agreements on agreements. When commenting on
standards you always prefer simplicity but concerning a 
scoring standard your preference loses simplicity.

> Many tournaments required that
> programs be able to show which groups they think are dead at the end of the
> game.

This is what has to be stopped.

> How many different rule-sets do you think the programmers should
> implement?  I'd rather
> make the program stronger than implement another rule-set.  Most people
> just implement
> one.  If it is Japanese, it won't allow suicide.  I've had to implement
> Chinese, Ing, Japanese, AGA
> already.  Now you want me to add superko, and tromp-taylor?  It seems a
> little much.

Programmers should need to implement one and only one ruleset
for all tournaments in the world. Which has to be discussed.
Tromp-Taylor might be the choice.

We cannot solve the problem if we justify not being able to
solve it by terrible mistakes in the past, namely more than
one go ruleset in use.

Using one logical ruleset and having all programmers using it
is meant to be the one and only (or, if doubtful sponsor
politics continue somewhere, the major) ruleset for computer
go tournaments. Since it is meant to be this, it will be this.
Once we have it, no further ruleset will be necessary.

If you have managed to implement illogical rulesets, then
implementing one final logical ruleset is a trivial task.

> Any programmer that hopes to sell his
> program will implement
> Japanese rules first,

Do you really think that any programmer could think about 
selling his program before having competed in tournaments?!
Do you really think that any program would have succeeded in
implementing some Japanese rules correctly? If so, then please
teach me your rules insight, which obviously must be far above
mine! ;)

> For this programmer, accepting suicide would be a
> bad idea.

The issue of suicide or no suicide is so minor that making
a big fuss about it is a political attempt to divert from
major rules issues.

David Fotland wrote:
> Except that each organizer would pick a different set of 
> logical rules. 

As said before, a major purpose of having a set of logical
rules is to apply it everywhere.

> This
> year there are 6 or 7 computer go contests, and I don't want to spend all my
> time reading details of different rulesets, implementing and testing them all.

In fact, this is a very good reason for having one and only
one ruleset everywhere.

> I'd much rather have the organizers use one of the existing major rulesets
> (Japanese or Ing).

Both are the most illogical. Using them means PRETENDING to
use rules while in fact only politically preferred scoring 
styles are enforced.

--
robert jasiek