From newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.ecf!utgpu!cs.utexas.edu!uunet!psinntp!scylla!daryl Thu Apr 30 15:22:08 EDT 1992
Article 5203 of comp.ai.philosophy:
Newsgroups: comp.ai.philosophy
Path: newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.ecf!utgpu!cs.utexas.edu!uunet!psinntp!scylla!daryl
>From: daryl@oracorp.com (Daryl McCullough)
Subject: Re: A rock implements every FSA
Message-ID: <1992Apr21.154723.13237@oracorp.com>
Organization: ORA Corporation
Date: Tue, 21 Apr 1992 15:47:23 GMT
Lines: 85

In article <1992Apr14.153609.8539@mp.cs.niu.edu> rickert@mp.cs.niu.edu 
(Neil Rickert) writes:
>>As a matter of fact, in the the theory of processes,
>>as developed by Robin Milner, quite a bit is done with a notion of
>>"functional equivalence", and it is a theorem that any two processes
>>that are (1) deterministic, and (2) behaviorally equivalent, are also
>>functionally equivalent.
>
>  This claim seems quite preposterous.
>
>  Consider the following two methods of computing the GCD of two non-negative
>integers.

[examples deleted]

I have no problem with the claim that two programs can be very
different, and yet do the same thing. However, I don't think these
differences are *functional* differences. The choice of variable
values and program structure influences how we *think* about what the
program is doing at any given moment, but I don't know of any way to
make this interpretation objective and unique.

Anyway, like I said, for at least one definition of functional
equivalence, it is a theorem that two deterministic systems that
are behaviorally equivalent are also functionally equivalent. The
way to see this equivalence is to draw the transition tree diagram.
Make a node at the top corresponding to the initial state. Then,
for each possible next state, draw a new node, and an arc connecting
it with the current node, labelled with the input (if any) associated
with the transition. Continue. Finally, label each node with the output
(if any) produced in the corresponding state.

After getting the corresponding transition tree for a program, the
only information left about a deterministic program is (1) what inputs
are associated with what outputs, and (2) how many steps (or
transitions) are needed to produce each output. It is clear that any
two deterministic programs that have the same I/O behavior (including
timing behavior) will have identical transition trees.

Therefore, if you want to say that two deterministic, behaviorally
equivalent programs differ in functionality, then it must be in
information that gets thrown away in constructing the transition tree.
Basically that information is the collection of variables, and their
values used to label nodes. (You might think that the control
stucture, with if-then-else's and while loops, is also missing, but it
is captured by the transition relation between nodes.) However, the claim
of process theory is that such labels associated with states are simply
for the convenience of programmers, and have no functional role. You
are certainly free to disagree, of course.

As I said before in a different post, behavioral equivalence and
functional equivalence are not *always* the same, only for
deterministic systems. For a nondeterministic system, behaviorally
identical systems can have different transition trees, and so can be
functionally distinguishable. The main difference between behaviorally
identical systems is the information about *when* a nondeterministic
choice is made. If I decide randomly whether to vote Republican or
Democratic this November, I can distinguish between two strategies:
(1) I randomly decide today, and then stick with my choice, or
(2) I wait until election day to decide. These two strategies may
be behaviorally indistinguishable (if I keep my decision secret), but
will produce different transition trees.

For this reason, I think that, regardless of whether our brains are
actually deterministic or not, a good model of conscious thought
should be nondeterministic. We subjectively experience moments in
which decisions are made, but such a moment is difficult to define
for deterministic systems.

Daryl McCullough
ORA Corp.
Ithaca, NY















