[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



> An algorithm may be deterministic, but it is not necessary that its results 
> are.  If you don't believe this,  check into stochastic methods.  The most 
> common of these is "simulated annealing", which attempts to model a natural 
> random process.  This class of methods, which definitely has something to 
> do with AI, are most commonly used for solving optimization and constraint 
> based problems, and they *intentionally* introduce non-deterministic 
> behavior.  They have been proven to be beneficial for many types of problems.

I know all about these technologies, I've used simulated annealing and
GA's to experiment with my evaluation functions.  But if it comes from
a computer it's  still deterministic.  The  key point is  that you are
"simulating" random systems, not  actually creating them.  Even though
it's possible to  actually create  truly  random state, (using  either
special hardware,   or on  the  cheap  using random state   inside the
computer like     disk latencies, mouse  movement   etc)  there  is no
advantage or gain from doing so (in  other words, it's not "limiting")
Every one of  the things you mention  makes heavy use of psuedo random
number generators.

When it comes to the analysis of  algorithms, it's ALWAYS true that if
you know everything about the input  state, you can predict the output
state.  That includes random number generators in software.


> Stochastic methods and learning algorithms are the non-deterministic 
> behaviors which I am concerned about eliminating.  These approaches can be 
> successfully used in solving problems with exponential search space, like Go.

Well, that remains to be seen, but I would like to believe it's true.  Again,
this does not require true non-deterministic behavior, just simulated
non-deterministic behavior.

Don