From newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.ecf!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!news.mtholyoke.edu!nic.umass.edu!dime!orourke Tue Apr  7 23:24:11 EDT 1992
Article 4922 of comp.ai.philosophy:
Path: newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.ecf!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!news.mtholyoke.edu!nic.umass.edu!dime!orourke
>From: orourke@unix1.cs.umass.edu (Joseph O'Rourke)
Newsgroups: comp.ai.philosophy
Subject: Functional Equivalence (Was: A rock implements every FSA)
Summary: Definition of functional equivalence of TMs proposed
Keywords: functionalism, behavioralism
Message-ID: <46079@dime.cs.umass.edu>
Date: 5 Apr 92 01:29:34 GMT
References: <1992Apr2.164457.24191@oracorp.com> <46023@dime.cs.umass.edu>
Sender: news@dime.cs.umass.edu
Reply-To: orourke@sophia.smith.edu (Joseph O'Rourke)
Organization: Smith College, Northampton, MA, US
Lines: 49

Although I am sure many have thought more deeply than I about what
is an appropriate notion of "functional equivalence," I am going
to risk making a perhaps ridiculous suggestion.  Please feel free
to shoot this down.
	Incidentally, I think that notions of equivalence are at
the heart of many of the debates here, from rocks implementing FSA's
to Searle saying the man in the Chinese room could as well interpret
the symbol shuffling as moves in a chess game.
	First, I want to restrict attention to Turing Machines, because
I feel that the move of claiming that human lifetime is finite
and therefore FSA's suffice is seriously distorting.  A TM designed
to work on inputs of arbitrary length must often have a very different
structure from an "equivalent" FSA that can assume a bound on input length.
	So here's my proposal:

		Two Turing Machines are FUNCTIONALLY EQUIVALENT
		if they make the same tape moves & writes, in the
		same order, on every starting input tape.

Note that there is no mention of mapping between states of the two
machines.  So in a sense, I am defining functional equivalence in
terms of behavioral equivalence.  But it is fine-grained behavior.
After all, if we included state transitions as part of the behavior,
Then behaviorism = functionalism! 
	Note second that the number of internal state transitions between
tape operations is not relevant: it is only required that the same
tape operations occur in the same order.
	Consider the consequences of this definition for the two machines
TM1 = 5-color-map-checker, and TM2 = single-state rejector, discussed
by David Chalmers and Daryl McCullough recently.  TM2 will take a plane
graph on its input tape, ignore it, write "no" (or 0) and halt.
TM1 will take the graph, determine if its chromatic number is 5, and if
not, write "no" and halt.  It should be clear that if TM1 is really
a program that checks for chromatic # = 5, for graphs of arbitrary
size (this is important!), then it must use the tape to write intermediate
results.  And therefore, TM1 != TM2 under my definition of equivalence.
	Suppose we define two Turing Machines to be BEHAVIORALLY EQUIVALENT
if, for every starting input tape, they both halt with the same final
tape, or both loop with the same output tape "in the limit" (I think the
infinite loop case could be made precise).  Then TM1 & TM2 above are
behaviorally equivalent but not functionally equivalent.  This seems
to accord with intuition.
	Jeff Dalton brought up the example of different sorting routines
when discussing David Chalmers's notion of "implementation."  Under my
definitions, all sorting TMs are behaviorally equivalent, but e.g.,
bubble sort and quicksort TMs would not be functionally equivalent.
And if two sorting routines are functionally equivalent by my definition,
I suspect that they would have to implement the same basic algorithm,
which again accords with intuition.


