[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: computer-go: Engineering (was: Most simple Go rules)
Guys, I'm sorry, but I have a very hard time understanding why we are
arguing whether some counting method is bad for it destroys the position.
Are we forgetting that we're talking about computers???? We can back up the
position, trash it and count it in memory and then simply restore it. Heck,
if you don't trust your CPU you may even repeat the process, but if getting
the same result each time doesn't teach you anything, maybe writing a Go
program is out of the question. Then who cares if humans can detect
super-ko? Whether they can replay an entire game afterwards. Computers can!
So: who cares if the counting (as in humans do it) destroys the position or
not, whether is error prone or not, whether one needs to keep prisoners
under guard or if he is trying to cheat on it. These are computers we're
talking about and an arbitrator that is a computer also. And implementing
super ko or any of its flavors in a computer program is easy. Or at least
should be easy unless the code is so convoluted that is very difficult to
add it after the whole program has been written.
In any instance I think we should decide on some rule set or a set of such
rule sets to be implemented and then programmers will figure out a way to
make it happen.
To stir (I hope constructively) the scoring debate, I think that agreement
on the two programs would be nice, but not only on who won and by how much.
I think the programs must agree on what strings of stones are dead and which
are alive and which are in seki. Then scoring is trivial under any ruleset.
So, upon playing pass, a program may inform the arbiter of the status
(live/dead/seki) of all the strings on the table. If the other program
passes as well and its opinion on the live/dead/seki status of the strings
is identical, then the arbiter scores it under the agreed rule set based on
the common understanding. If there is disagreement on the live/dead/seki, a
human arbiter is called to rescue. I wish it wasn't the case, but who will
trust 100% the arbiter program to make such decision?
I don't think the game should continue after two passes. Afterall, if each
player had something to say (play) (s)he should have said it when it had the
chance. Humans continue playing as an exercise in proving. Computers don't
need it. They should be just content with the human arbiter decision. And no
amount of ifs, woulds and maybes should change the status of some string
after two passes and a human arbiter decision.
What do the great minds on this list think about all these?