[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Authenticating the identity of a remote go-playing computer program
Yes, I see this as a problem with a theoretical solution, but not a
very practical one.
But I think what is wanted is a way to implement a verification
protocol that allows you to play a game over the internet and KNOW
that each move came from the claimed source, without requiring an
exchange of software, similar to the way ssh, pgp or other encryption
protocols work. This doesn't appear to be possible.
Don
From: "Steve Pagliarulo" <s_pagliarulo@xxxxxxxxxxxxxxxxx>
The 2 problems you mention, pondering and time-limited play, could probably
be simulated if the previously played games are recorded with the moves
time-stamped. This would allow an opponent simulator to be written which
could replay the moves almost exactly and even verify the response of the
program we are testing. Of course the original platform needs to be
replicated also...
Mind you, this is all theory. I agree that this somehow does not seem
practical. In fact, this is quite silly. If all you want to achieve is to
minimize the travel of contestants, it would be easier to send all the
programs to a trusted party (the tournament operators themselves probably)
and have them go at it… Let the programmers stay home.
Steve
>From: Don Dailey <drd@xxxxxxxxxxxxxxxxx>
>Reply-To: computer-go@xxxxxxxxxxxxxxxxx
>To: computer-go@xxxxxxxxxxxxxxxxx
>Subject: Re: computer-go: Authenticating the identity of a remote
>go-playing computer program
>Date: Tue, 5 Dec 2000 17:33:05 -0500 (EST)
>
>The most important obstactle is item 1, getting all the programs to
>play deterministically. Some programs change their moves after time,
>and time can vary. There are solutions but the programmers must agree
>to implement them, and they have to be implemented correctly. In the
>simplest case, each program must have a deterministic mode that they
>"guarantee" will play the exact same move, given the same exact
>initial (before the game starts) settings (and allowing for a random
>seed.) However, this might defeat programs that use their opponents
>time to do calculatations. There are solutions to this too, but they
>involve more protocol (yuck!!)
>
>There is also the case for hardware. My program doesn't run on
>windows, although I know most do. But even if it did, some programs
>take advantage of extra memory, or due to hardware and operating
>software bugs might even play slightly different on different
>machines.
>
>It was already mentioned that programmers don't like to send their
>execuatables. They can instead send an md5 checksum but this doesn't
>fully solve the problem. In the case of disputes, the program STILL
>has to sent to the organizers.
>
>The only way I see this working, and maybe I'm being pessimistic, is
>if the programs are required to be 100% deterministic given the intial
>program settings and a random seed. Additionally, the programs should
>be sent ahead of time to the organizers for verification and ALL
>winning programs should be verified whether a dispute is raised or
>not.
>
>If a program fails verification, is should not be viewed as a cheater,
>because there are other reasons why this can happen. In this case the
>loser could be required to pass the verfication ritual, and if he
>succeeds, he is declared the winner, otherwise the original results
>stands (the better cheater wins!) In any case, the verification
>procedure is simply a requirement to claim a win and no one is held at
>fault nor is blame assigned.
>
>Why do I think it's important to require all programs (even when there
>is no dispute) to pass the verification process? Because it will
>avoid all the hassle of accusations and proofs and disclaimers and
>such. We want to avoid the situation where a program is suspected of
>cheating, and has to "pass a test." Instead, it is cleaner to simply
>view passing the verification procedure as a requirement to claim a
>win.
>
>To be honest, I don't think this is very workable. Assuming that you
>can get everyone to send you their binaries and that they all agree to
>create soundly deterministic provable programs, you still would have a
>lot of work involved in running the verification procedures. Is it
>worth it?
>
>But, I'll keep thinking about the problem. We have this same problem
>in the internet chess club but it's reversed! You never really know
>when you are playing a human, or a computer and humans very often use
>computers for assistance. I doubt there is a good clean solution.
>
>
>Don
>