So does nature compute, and does computation actually predate its invention, or rather discovery, by human beings? If it is the case, then this would actually lend credence to the claim that Computer Science is actually a science and not just and only a branch of engineering.
—Erol Gelenbe (2011, p. 1)
Then there are those who agree that CSisa natural science, but of neither computers, algorithms,norinformation: Stuart C. Shapiro agrees with Newell, Perlis, & Simon that CS is a science, but he differs on what it is a science of, siding more with Knuth, but not quite:
Computer Science is anatural sciencethat studiesprocedures. (Shapiro, 2001, my boldface)
The computational linguist Martin Kay agrees: “[C]omputational linguists . . . look to computer science for insight into their problems. If communication is . . . about building structures by remote control in the heads of others, then it is all aboutprocess, andcomputer science is the science of process, conceived in its most fundamental and abstract way” (Kay, 2010, p. 2; italics in original; my boldface).
For Shapiro, CSisascience, which, like any science, has both theoreticians (who study the limitations on, and kinds of, possible procedures) as well as experimental- ists. And, as Newell and Simon (1976) suggest in their discussion of empirical results (see §3.9.5, below), there are “fundamental principles” of CS as a science. Newell & Simon cite two: (1) the Physical Symbol System Hypothesis (their theory about the nature of symbols in the context of computers) and (2) Heuristic Search (which is a problem-solving method). Shapiro cites two others: (3) the Church-Turing Com- putability Thesis to the effect that any algorithm can be expressed as a Turing Machine program and (4) the B¨ohm-Jacopini Theorem that codifies “structured programming”. (We will discuss these in Chapters 7, 8, and 10.)
And, although procedures are not naturalobjects, they are measurable naturalphe- nomena, in the same way that events are not (natural) “objects” but are (natural) “phe- nomena”. Several people have noted the existence of procedures in nature. Dennett has . . .
. . . argued that natural selection is analgorithmicprocess, a collection of sort- ing algorithms that are themselvescomposedof generate-and-test algorithms that exploit randomness . . . in the generation phase, and some sort of mindless quality- control testing phase, with the winners advancing in the tournament by having more offspring. (Dennett 2017, p. 43; see also Dennett 1995; Gelenbe 2011, p. 4)
And Denning observed that “Computer science . . . is the science of information pro- cesses and their interactions with the world”, adding that “There are many natural
information processes” (Denning, 2005, p. 27, my emphasis). Denning (2007) cites examples of the “discovery” of “information processes in the deep structures of many fields”: biology, quantum physics, economics, management science, and even the arts and humanities, concluding that “computing is now a natural science”, not (or no
longer?) “a science of the artificial”. For example, there can be algorithmic (that is, computational) theories or models of biological phenomena such as cells, plants, and evolution.
Further Reading:
On evolution as an algorithm, see Dennett 1995, especially Ch. 1,§§4–5 (and§17.7.2 later in this book). For more on natural computation, see Easton 2006; Gelenbe 2011; Mitchell 2011; Denning 2013b, p. 37; Pollan 2013, pp. 104–105; Covert 2014; Gordon 2016; Livnat and Pa- padimitriou 2016.
For Shapiro, procedures include, but are not limited to, algorithms. Whereas algo- rithms are typically considered to be precise, to halt, and to produce correct solutions, the more general notion allows for variations on these themes:
(1) Procedures (as opposed to algorithms) may be imprecise, such as in a recipe. Doescomputerscience really study things like recipes? According to Shapiro (personal communication), the answer is ‘yes’: An education in CS should help you write a better cookbook, because it will help you understand the nature of procedures better!
Further Reading:
However, Denning (2017, p. 38) says, “There is no evidence to support this claim.” Sheraton 1981 discusses the difficulties of writing recipes; Moskin 2018 notes that it was the cookbook writer Fannie Farmer who was “the first . . . to insist that scientific methods and precise measure- ments” should be used. We’ll return to recipes many times again in this book.
(2) Procedures need not halt: A procedure might go into an infinite loop either by accident or, more importantly, on purpose, as in an operating system or a program that computes the infinite decimal expansion ofπ.
(3) Nor do they have to produce a correct solution: A chess procedure does not always play optimally. (We will return to these issues in§3.15.2.3, below, and in Chap- ters 7 and 11.)
Moreover, Shapiro says that computer science isnot justconcerned with procedures that manipulate abstract information, but also with procedures that are linked to sensors and effectors that allow computers to “sense and operate on the world and objects in it” (p. 3). The philosopher and AI researcher Aaron Sloman makes a similar point when he says that one of the “primary features” of computers (and of brains) is “Coupling to environment via physical transducers” (Sloman, 2002, §5, #F6, pp. 17–18). This allows for “perceptual processes that control or modify actions” and “is how internal information manipulation often leads to external behaviour”. (We’ll return to this idea when we discuss interactive computation (§11.4.3) and the relation of computers to the world (§17.6.1).)
Procedures are, or could be, carried out in the real world by physical agents, which could be biological, mechanical, electronic, etc. Where do computers come in? Ac- cording to Shapiro, a computer is simply “a general-purpose procedure-following ma- chine”. (But does a computer “follow” a procedure, or merely “execute” it? For some discussion of this, see Dennett 2017, p. 70; we’ll come back to this in§12.4.4.1.2.2.)
So, Shapiro’s view seems to be a combination of Knuth’s and Newell, Perlis, & Simon’s: CS is the natural science of procedures and surrounding phenomena such as computers.
Further Reading:
For another view of computer science as the study of processes, see Frailey 2010, especially p. 4.