Curtis Brown, “Computation, Representation, and Teleology,” presented at E-CAP 2006, June 2006.
I just found the online (long) abstract of Brown’s talk. Brown defends two necessary conditions for computation: it must operate on representations (semantic condition) and it must have the function to calculate (teleological condition).
I agree with Brown that there is a teleological condition on computation, at least in the sense of the term that is useful to computer science and cognitive science, and I have argued for this in some of my papers. I’d be curious to know more about what Brown means by “having the function to calculate”. Since “calculate” is usually taken to be a synonym of “compute”, Brown’s teleological condition sounds circular. Unfortunately, the abstract doesn’t say what Brown means by “calculate”.
As to the semantic condition, I have argued at length that there is no such condition–on the contrary, in my view, computation does not require representation. One way to see this is by defining computations in terms of strings of letters instead of what the letters represent (such as, e.g., numbers). Defininig computations in terms of strings may be impractical when one is doing applications, but it is theoretically insighful.
Brown responds to my view by saying that even when computation is defined in terms of strings, the inputs and outputs of the computation are still representations. The only difference is that they represent strings instead of numbers or something else. This is an original reply, but I suspect it misses my point.
Strings can be seen as concrete entities (strings of concrete physical letters, inputs and outputs of concrete computations) or as abstract mathematical entities (strings of abstract letters, inputs and outputs of abstract computations). Either way, strings may or may not be semantically interpreted, and if they are, they can represent many things (including themselves, of course).
Here is an argument that would support Brown’s conclusion. Consider a concrete computation defined in terms of strings. At the very least, it represents itself, or some abstract counterpart to itself. Strings must be represented no less than numbers or anything else does.
Yes, but the point of having a mathematical theory of strings is precisely to study certain properties of the strings without any concern for what (if anything) the strings represent. And one can do the whole mathematical theory of computation purely in terms of strings rather than in terms of what the strings represent.
So, of course, when you do the theory of strings, you need to represent the strings. But when you define computations in terms of strings, you can happily ignore what the strings represent, or even whether they represent anything at all. For all you care, they can be meaningless.
But, one might reply, once you have your computations defined over strings, don’t they at least represent themselves (or some abstract version of themselves)? Sure, but everything represents itself (and many other things besides, depending on how it is interpreted). This notion of representation is not going to do the job that traditional supporters of a semantic condition on computation want such a condition to do (i.e., contribute to an account of mental representation).
Caveat: I haven’t listened to Brown’s presentation and I haven’t read his paper. All I saw was the abstract linked to above.
On the teleological condition: yes, the version in the abstract is underspecified, to put it mildly. Very roughly, I think that a causal process is a computation of a function only if the occurrence of the process is *explained* in part by the fact that its inputs and outputs correspond to the arguments and values of the function.
On the semantic condition: I think there’s some difference between my advocacy of a semantic condition and Gualtiero’s rejection of one, but not as much as it might appear. I want to draw a sharp distinction between abstract computations, which are mathematical objects, and concrete computations, which are token physical processes. The semantic and teleological conditions concern only the question of which token physical processes are computations. (The teleological condition doesn’t even make sense applied to abstract entities, and I’m not certain the semantic one does either.)
I do agree that there can be concrete computations whose inputs and outputs are tokens of strings that do not in turn represent anything, but don’t regard this as a counterexample to the semantic condition, since I want to hold, following Zoltan Szabo (as summarized in Linda Wetzel’s Stanford Encyclopedia article on Types and Tokens), that something is a token of an abstract string only if it represents that string.
This leads to what is probably the crux of the issue, namely Gualtiero’s suggestion that, construed in this way, the semantic condition is empty: “once you have your computations defined over strings, don’t they at least represent themselves (or some abstract version of themselves)? Sure, but everything represents itself (and many other things besides, depending on how it is interpreted).”
I take whether a physical object or process is a representation to concern in the first instance how it was produced, not how it is used or interpreted. I might take some sticks lying on the ground to be a token of the string “AA”, but if they just fell into those positions by accident, then they don’t in fact constitute a token of that string. Perhaps there is also an extended sense in which interpreting something as a string can make it so, but even that will not have the consequence that *everything* represents something, since it requires that a token *actually* be interpreted in a given way, not merely that it *could* be so interpreted. I think this is enough to keep the semantic condition from being empty or trivial. And I think something like the semantic condition is needed to distinguish between mere doing or making, on the one hand, and computing, on the other.