[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
From: Dave Dyer <ddyer@xxxxxxxxxxxxxxxxx>
"program" is a very difficult thing to nail down. I can provide
a trivial "program" with a checksum that will never change, but which
can do anything I want by dynamically loading other DLLs, executing
other programs, using other data files, or opening other communication
channels.
Packaging a complete set of bits, so it would be dropped into
a freshly installed windoze machine, is really hard.
Everthing is hard with windows. But no matter what OS is used there
is potential difficulty nailing down the concept of a program.
Instead of calling it a program, we should call it a "computing
system" because there are dependencies involving hardware, software
and general machine state (like DLL's and such.)
Having said that, however, I have not found it impossible to write
software that runs deterministically on any computer that supports
some version of Unix. My chess program runs on Suns, PCs, SGI and
Alpha boxes and plays exactly the same on each platform under various
version of unix, as long as the hash tables are set to be the same
size. I did have to go to a certain amount of trouble to ensure this
behavior, but in almost every case where they varied, I discovered a
BUG in my program and indeed correcting this behavior forced me to
find a lot of bugs. You would be surprised.
I am in complete agreement with you, that trying to implement this
would probably force a lot of particpants out of the contest. I am
probably not quite as skeptical as you and don't yet consider it "out
of the question", but I am definitely skeptical!
Don
I agree
with the comment that this requirement would make contests a lot
simpler to judge by eliminating most of the participants.
Practically speaking, I think going beyond official observers
as authenticators is out of the question.