22C:096
Computation, Information, and Description

Department of Computer Science
The University of Iowa

Lecture Notes




Last modified: 21 January 1997


What is a Computer?

Just to set the context, we'll consider a rough definition of computer. For our purposes, a computer is any system that computes. I am deliberately begging the question, ``What is computation?'' But, even this vacuous definition of computer can open our minds a tad, if we think about the immense variety of things that might make up a ``system that computes.''

What sorts of things might compute? Today, we immediately think of electronic gizmos in plastic cases that sit on desktops connected to color monitors. But, a few decades ago ``computer'' was a job title. My mother was a computer for a research project at Syracuse, operating a desk calculator. Notice that the machine on the desk was called ``calculator,'' rather than ``computer.'' When Alan Turing invented one of the first electronic digital computers, he called it the ``Automated Computing Engine,'' and went to some pains to make clear that it did not require a human computer to direct its calculations. The English language has changed a bit since Turing's day, and now ``computer'' has connotations of the inhuman, instead of a presumptive humanity. The important point for us in this course is that computation is a form of behavior, and that behavior may be carried out by a human who intends to compute, by a machine that is designed to compute, or by some natural process that just happens to compute.

I've still avoided the question of what it means to compute. The essential characteristic of computation is that it follows absolutely precise and unambiguous rules, so that in principle one may always look at each step and be sure that it is performed correctly (of course, this does not ensure that the computation itself is the right one to solve the intended problem). Drifting into philosophical mode, it seems that computation is not an objectively defined sort of behavior, but rather it is a type of criterion that may be applied to judge certain aspects of a behavior. When we say that a certain box full of electronic gizmos is ``computing,'' we mean that we have found it useful to regard the actions by which it takes input in the form of buttons pushed and produces output in the form of symbols on a printed page or an electronic display as a form of computation. We deliberately disregard aspects of behavior that are irrelevant to these particular symbol manipulations: the sounds caused by the fan and other mechanical parts, the heat produced by the machine, the way that old disk drives used to walk around on the floor due to the motion of the heads, the exact voltages and currents at particular points in the gizmos, the fading of the colors in the protective covering, etc.

Even with respect to the aspects of behavior that we deem relevant, the judgement that a certain system is ``computing'' is not so much an objective statement describing the behavior, as it is a prescription of our expectations of its behavior, and the conditions under which we will consider it to be working correctly vs. broken. That is, the concepts of ``computing'' and ``computer'' are essentially teleological: they have to do with our intended uses of things more than with their material composition or the physical aspects of their behavior. For humans who compute deliberately, or machines that compute because we built them to do so, it is rather natural that we judge their behavior teleologically. It may be somewhat more surprising that natural phenomena, and human behavior that is not intentionally computational, may sometimes be be illuminated by treating it as computation.

What is a definition, anyway?

At the risk of turning the course into a sequence of digressions, let's pause and consider what is the point of a definition. Let's start with the definition of ``definition'' in the dictionary. Actually, the definition of ``define'' is more helpful. Definition 3: ``to explain the meaning or meanings of (a word, etc.)'' looks right at first, but it doesn't clear up how to make such an explanation. Definition 2: ``to determine the limits and nature of'' is intriguing. Much effort was once put into defining things, in the most superficial sense of determining ``limits.'' That is, a definition was taken to be merely a phrase that applied to the thing being defined, and to nothing else in the actual universe. This sounds nice and objective, perhaps even scientific, but some [cute] rather silly definitions came out of this idea. Perhaps the ``meaning'' of a word is not entirely given by a list of the things to which it applies in the world today. At one time, the only working airplane in the world was the one built by the famous Wright brothers. So, one might have written ``airplane: a system of fabric and wood on a dune at Kitty Hawk.'' This was a very efficient identification of the unique airplane of the time, but somehow it fails to capture the nature of ``airplane,'' which was the other half of definition 2 above.

I don't have a solution to the problem of defining ``define,'' but I note that the most useful sort of definition is usually an explanation that lets us determine the intention with which a word is used under a wide variety of conceivable conditions. Some words (and names and phrases) are intended to describe things in terms of their material composition, but others are intended to describe things in terms of their functions, or even in terms of our intentions toward them and their functions.


Maintained by Michael J. O'Donnell, email: [] odonnell@cs.uiowa.edu