What does it mean to say that a physical system computes? There is little agreement among philosophers and practitioners regarding this question. The well-established mathematical theory of computability, started by Gödel, Church, Turing, and others, does not provide a good answer to this question. The theory focuses on what can be computed by means of an algorithm and how. It even tells us how to build universal machines—our ordinary digital computers—that can compute any algorithmic function. But it is highly questionable that the mathematical theory of computability can account for the wide variety of computing systems we encounter today, such as quantum computation, analog computation, DNA computation, neural computation, and hypercompution (computing functions that are not Turing computable). This, however, is no flaw of the theory given that it was never intended to be a theory of physical computation.
In his PhD dissertation, Gualtiero Piccinini (Reference Piccinini2003) steered the debate over the nature of physical computation in new directions. He proposed to locate physical computation within the mechanistic framework in philosophy of science. This framework emphasizes the centrality of mechanistic explanations in the sciences, especially in biology and neuroscience. A mechanistic explanation of a system appeals to its components, their functions, and their organization (Machamer, Darden, and Craver Reference Machamer, Darden and Craver2000). According to Piccinini, a computational explanation is a special case of mechanistic explanation. A physical computing system is a mechanism “whose teleological function is performing a physical computation. A physical computation is the manipulation (by a functional mechanism) of a medium-independent vehicle according to a rule” (10). Piccinini has developed the account in a series of papers in which he substantially expanded, and significantly modified, the original proposal. Over the years his account has attracted attention and convinced others to propose mechanistic accounts of computation (see, e.g., Kaplan Reference Kaplan2011; Milkowski Reference Milkowski2013; Fresco Reference Fresco2014). The mechanistic account today is perhaps the “received view” about physical computation.
Physical Computation: A Mechanistic Account systematically integrates the various components and adds new, essential, ingredients to complete an overall picture. It would be no exaggeration to say that Physical Computation is one of the best books written on the conceptual foundations of computation. It is broad in the range of issues covered, it is very detailed in its analysis and argumentation, it makes many vital and novel distinctions that have been overlooked in the debate, it carefully covers both past and recent literature, and it offers an original and bold account of physical computation.
In what follows I provide a brief survey of Physical Computation. I then make a few comments about the integration of physical computation within the mechanistic framework.
A Short Tour through Physical Computation
Physical Computation starts with a list of desiderata of an account of physical computation. Objectivity is the demand that “whether a system performs a particular computation is a matter of fact” (11). Explanation is the demand to account for the explanatory role of computation, namely, “how appeals to … computation, explain the behavior of computing systems” (12). Next is the demand that the account correctly classifies computing and noncomputing systems. The demand is divided into two desiderata. The right things compute says that an account should classify as computing systems such as calculators, digital and analog computers, and artificial and natural neural networks. The wrong things don’t compute says that an account should classify as noncomputers paradigmatic examples such as planetary systems, hurricanes, and digestive systems. Miscomputation is the demand to account for computing the “wrong” function. Taxonomy requires the accounting for sameness and difference in kinds of computation.
Chapters 2–4 concern extant alternative accounts. Mapping accounts assert that a physical system computes if there is a mapping from a set of states and relations of the physical system onto the states and relations of an abstract computation. A challenge to simple mapping accounts is triviality results that roughly say that we can find such mapping between every physical system and every abstract computation. This would imply that rocks, chairs, and every other physical system perform every computation (unlimited pancomputationalism). Piccinini argues that unlimited pancomputationalism violates the desideratum of objectivity. More restrictive mapping accounts (causal, counterfactual, dispositional) might avoid unlimited pancomputationalism but are still committed to limited pancomputationalism, which asserts that every physical system performs some computation. Piccinini argues that limited pancomputationalism erases the distinction between systems that compute and systems that do not; it thus violates the wrong things don’t compute desideratum (assuming that rocks and chairs do not compute).
Semantic accounts assert that computations and their states are individuated in terms of their semantic content, for example, in terms of what they represent. Semantic accounts seem to handle triviality results much better, as they exclude systems that do not represent, for example, rocks and hurricanes. They also seem to apply well to minds, brains, and digital computers that all seem to represent. Nevertheless, Piccinini deems the semantic accounts wrong. For one thing, some physical systems compute although they do not represent. For another, artificial digital computers seem to involve observer-dependent, derivative, content (“interpretational semantics”) that violate objectivity. Piccinini thoroughly reviews and rebuts arguments for semantic accounts. The arguments often rest on the premise that the explanandum computed functions are individuated semantically. Piccinini points out, however, that this premise cannot establish the conclusion that computation is individuated semantically, as these functions can also be individuated nonsemantically. Piccinini agrees that some arguments for the semantic accounts lead to computational externalism (Shagrir Reference Shagrir2001; Rescorla Reference Rescorla2013). But he says that the external features pertinent to computational individuation need not be semantic.
In chapters 5–7 Piccinini develops and defends his own, mechanistic, account. On the face of it, computation does not fall squarely within the mechanistic framework. Some philosophers even contrast computational explanations with mechanistic explanations. They view computational explanations as species of functional analyses and argue that the latter are autonomous and distinct from mechanistic explanations (e.g., Cummins Reference Cummins1983). Functional analyses specify functional properties, whereas mechanistic explanations specify structural properties that realize the functions. Following Piccinini and Craver (Reference Piccinini and Craver2011), Piccinini argues that functional analyses and mechanistic explanations are tightly related. Functional analyses are sketches of mechanisms, in the sense that they omit structural aspects of the mechanism. Filling in these aspects turns a functional analysis into a full-blown mechanistic explanation (75). What about computational explanations? They specify medium-independent properties. Nevertheless, Piccinini argues, they are mechanistic explanations to the extent that they specify relevant structural features such as the structural components that do the processing and their organization (98). Piccinini completes the definition of concrete physical computation with the characterization of the teleological functions that are pertinent to computation.
It should be noted that the mechanistic account has undergone some serious modifications throughout the years. Early on, the account identified computation with some form of digital mechanism. As such it excluded analog computers (Piccinini Reference Piccinini2007, 519–20), some connectionist systems (518), and some neural networks (Piccinini Reference Piccinini2008). At some point, however, Piccinini (e.g., Piccinini and Scarantino Reference Piccinini and Scarantino2011) extends his account to other forms of computation. He introduces the very general notion of generic computation, which includes both analog and digital computation. On this new extended definition in his current work, all neural networks compute, although some of them perform nondigital computations (221–23). The main modification is that the vehicles of computation are medium independent in a broader sense, applying not only to digits. Chapters 8–13 apply the mechanistic notion of generic computation to different kinds of computing mechanisms.
The last three chapters concern more specialized yet topical issues. Chapter 14 (which is based on Piccinini and Scarantino Reference Piccinini and Scarantino2011) examines the relations between information and computation. Piccinini argues that systems can compute without processing information. He also demonstrates that different computing systems that undertake information processing can involve different kinds of information, for example, nonsemantic (Shannon) information, and natural and nonnatural semantic information. The highly interesting final two chapters are about the physical Church-Turing thesis, which limits the computational power of physical systems to Turing computability. Piccinini draws an important distinction between bold and modest theses. The bold physical Church-Turing thesis asserts that the behavior (function) of any physical process is Turing computable. The modest physical Church-Turing thesis states that any function that is computed by a physical process is Turing computable. Physical systems that violate the modest thesis are known as hypercomputers. Piccinini suspects, however, that there are no genuine hypercomputers. The book closes with a short epilogue that summarizes the main results of the account.
How Well Does Computation Integrate within the Mechanistic Framework?
Physical Computation advances a formidable and attractive account of computation. It covers a wide terrain that prompts many points of discussion and controversy. I focus on three issues that pertain to the relationship between physical computation and the mechanistic framework. My aim is not to argue for or against the proposed account but to point to some issues and questions that deserve further discussion.
The first issue concerns the sense in which Piccinini’s account is mechanistic. Piccinini says that “the present account is mechanistic because it deems computing systems a kind of functional mechanism—mechanism with teleological functions” (118). But it seems that mechanistic plays a different role in the account than the role played by semantic, mapping, and other notions in rival accounts. Semantic and mapping properties play a classificatory role in accounts of computation. They are used to exclude certain noncomputing processes; they play a role in meeting the wrong system don’t compute desideratum. According to semantic accounts, processes that do not involve semantic properties do not compute. According to mapping accounts, processes that do not implement (i.e., bear mapping relations to) abstract computations do not compute. The term mechanism, however, is not used to exclude systems that do not compute; it plays no role in meeting the wrong systems don’t compute desideratum. This is simply because the noncomputing systems are also mechanisms. The mechanistic account of computation rather aims to distinguish between computing and noncomputing mechanisms: “The main challenge for the mechanistic account is to specify properties that distinguish computing mechanisms from other (non-computing) mechanisms—and corresponding to those, features that distinguish computational explanations from other (non-computational) mechanistic explanations” (120).
What are the properties that distinguish computing mechanisms from other (noncomputing) mechanisms? Going back to the definition, we can notice three: the teleological function that excludes planetary systems, the weather and many other systems (145); medium independence that excludes cooking, cleaning (122) as well as digestive processes (146–47); and the governing rule that excludes random-number generators (147). But we can notice that none of these properties—teleological function, medium independence, and rule—bears a special relation to the mechanistic framework. They can be, and indeed have been, adopted in nonmechanistic accounts of computation. According to Fodor (Reference Fodor1994), computational (i.e., syntactic) properties are conceived as high-order physical properties and in this sense are medium independent. Hardcastle (Reference Hardcastle1995) discusses computation in some teleological terms. Copeland (Reference Copeland1996) and many others associate computation with a rule (e.g., algorithm).
Another central feature of the mechanistic account is that it is nonsemantic. But, again, being nonsemantic is not a distinctive feature of mechanistic accounts. There are many accounts of computation that are neither mechanistic nor semantic; examples are mapping and syntactic accounts. Moreover, it seems that an account of computation can in principle be both mechanistic and semantic. For example, we can replace the teleological function, in Piccinini’s definition of computation, with a semantic function, or at least we need a reason to see why not. All this does not undermine the adequacy of Piccinini’s definition. The upshot, rather, is that central features in the account—the teleological function, medium independence, rule, and being nonsemantic—are not by themselves tied to the mechanistic framework. There are mechanistic analyses that lack these features and nonmechanistic analyses that have these features.
So why say that the account is mechanistic? I think that the answer is this: the claim that computation is a mechanism is not meant to exclude noncomputing systems. It is meant to include computations in the set of mechanisms, which is contentious given that many contrasted computational explanations with mechanistic explanations. Once this claim is established (which is the aim of chap. 5), it becomes natural to analyze computation and computational explanations from within the mechanistic explanatory framework. The mechanistic framework provides the tools to explicate computational explanation and the features (medium independence, teleological function, etc.) that define computing mechanism in general. It thus provides the tools to distinguish between computational explanations and other (noncomputational) mechanistic explanations and, correspondingly, between computing and noncomputing mechanisms.
The next two issues concern the relations between computational and mechanistic explanations. The first concerns the question whether computational explanations are sketches or full-blown mechanistic explanations. Piccinini and Craver (Reference Piccinini and Craver2011) might have given the impression that computational explanations are sketches of mechanisms and as such are weak, partial, or elliptical explanations. But this view does not do justice to many computational explanations (Haimovici Reference Haimovici2013). In Physical Computation, Piccinini clearly favors the view that computational explanations can be full-blown mechanistic explanation. They are full-blown to the extent they refer to relevant functional and structural properties: “Computational explanations count as full-blown mechanistic explanations, where structural and functional properties are inextricably mixed” (124). But this view immediately raises a puzzle: computational explanations refer to the computational, medium-independent properties of the mechanism. However, full-blown mechanistic explanations must refer to some structural, for example, implementational, properties. How can an explanation be both computational and full-blown mechanistic? Piccinini’s answer is that some computational, medium-independent properties have structural features, for example, those determining “the type of vehicle being processed (digital, analog, and what have you)” (98). Piccinini does not deny that these properties also have some functional aspects. He rather dismisses the distinction between functional and structural: “There is no such thing as a purely functional component, or a purely functional property” (99).
This answer seems to be in the right direction. One might wonder, however, whether it does not bring back the claim that computational explanations are distinct. Granted that computational explanations are full-blown mechanistic ones, they are nevertheless distinct from implementational mechanistic explanations. Computational explanations refer to medium-independent (functional and structural) properties, whereas implementational explanations are about medium-dependent, implementational properties. In other words, we can reformulate the distinctness thesis around the medium-independent/medium-dependent distinction instead of the dismissed functional/structural distinction. One might argue that the medium-independent/medium-dependent distinction suffices to support the thesis that computational explanations are distinct (and arguably autonomous) from the implementational levels.
The last issue concerns direct challenges to the thesis that computational explanations are mechanistic explanations. Piccinini says that “the main challenge for the mechanistic account is to specify … features that distinguish computational explanations from other (non-computational) mechanistic explanations” (120). However, there are many who dispute the assumption that all computational explanations fall within the mechanistic framework (even if computations are mechanisms). There are three kinds of objections to this assumption, all aiming to show that at least some computational explanations do not conform to the norms of mechanistic explanations. The most widespread objection is that abstract, including computational, explanations can be full-blown, even if making no reference to structural properties at all (Weiskopf Reference Weiskopf2011; Levy and Bechtel Reference Levy and Bechtel2013; Barrett Reference Barrett2014; Shapiro Reference Shapiro2016; see in particular Chirimuuta [Reference Chirimuuta2014] and Egan [Reference Egan and Kaplan2017] who specifically discuss computational explanations). Piccinini agrees that abstract explanations can be full-blown to the extent that they specify the relevant properties (see also Boone and Piccinini Reference Boone and Piccinini2016); his claim is that the relevant computational, medium-independent properties place structural constraints on any mechanism that implements them. One could reply that every abstract explanation places some constrains on the implementational details; thus, it is no longer clear what divides functional analyses and mechanistic explanations (Shapiro Reference Shapiro2016).
A second criticism has been that some abstract explanations do not involve componential analysis. They do not decompose the explanandum capacities into subcomponents and their organization (Huneman Reference Huneman2010; Weiskopf Reference Weiskopf2011; Levy Reference Levy2013; Rathkopf Reference Rathkopf2015). The claim does not directly target computational explanations, but the point is pertinent to computing systems as well (e.g., some neural networks). Piccinini (84) reminds us that the components of computation need not be spatially localized (see also Craver Reference Craver2016). This seems to be certainly true. The worry, however, is that if we start relaxing the notion of componential analysis, it becomes less attractive to couple computational and mechanistic explanations.
The last objection is that the account ignores a large chunk of computational work in cognitive neuroscience. Computational theory also aims to answer certain why questions whose explanations do not track causal relations in the mechanistic sense. Chirimuuta (Reference Chirimuuta2014) locates these why questions in “interpretative models,” which “use computational and information-theoretic principles to explore the behavioral and cognitive significance of various aspects of nervous system function, addressing the question of why nervous systems operate as they do” (Dayan and Abbott Reference Dayan and Abbott2001, xiii). She argues that answering these questions involves explanations that typically make reference to efficient coding principles. Bechtel and Shagrir (Reference Bechtel and Shagrir2015; see also Shagrir and Bechtel Reference Shagrir, Bechtel and Kaplan2017) choose to associate these why questions with the why component of computational-level theories whose goal is to demonstrate the basis of the computed function in the physical world (Marr Reference Marr1982). They claim that the answer consists in some modeling relations between the nervous system and the environment of the system. Rusanen and Lappi (Reference Rusanen and Lappi2016) also associate the why questions with Marr’s computational-level theories and argue that computational theories provide explanations that express formal, noncausal dependencies. The mechanists might reply that these why questions belong to the “context level” that is not computational (Milkowski Reference Milkowski2013) or perhaps try to account for them in terms of the (teleological) function that has utility for the organism.
In sum, Physical Computation provides in my view the most comprehensive, detailed, and forceful account of physical computation to date. But the account is in no way the last word on physical computation. Rather, it paves the way to further, more focused and more informative, discussion.
