I will not attempt to define what a computation is, which was done
rather well by Luke Mathieson and Yuval Filmus.
However, thinking about an exploding device as a computation lead me
to an important side issue: if the explosion is a computation, then
what does it compute? Other than a representation of the device after
it has exploded.
What I am aiming at is that we can define fairly precisely what we
consider to be a computation, and even what can be seen (contrived?)
as one. We can describe a computation. But can we tell what it is
computing?
Computation, as commonly defined, is a purely syntactic game. It is a
game of physical structures that are being transformed according to
precise rules. Since our only tool (up to standard transformations)
for representing physical structures is ultimately the string of
symbols, computation ends up being defined as some kind of
formal transformations on strings of symbols. This is true of Turing
Machines, lambda-calculus, partial recursive functions, and other less
popular models. The word calculus (as in lambda-calculus) actually
reflects this view as, in Latin, calculi are small stones used for
representation.
But what this does not tell is what meaning is to be attached to this
syntax, what it represents. Here is what little I think I understand,
as I am not a specialist of such issues (so double check me). The
problem is covered by model theory.
Given a formal system of representations, possibly associated with a
logic (axioms and inference rules) or a computation system
(transformation rules), a model of the formal theory is a mathematical
stucture with components that follow these rules.
The same computation, or more precisely the same description of a
computation can actually have many models corresponding to very
different entities.
For example, a GCD algorithm describe a computation. But it may be
interpreted on natural numbers, or on polynomials.
This is remindful of Bertrand Russell'quote:
Mathematics may be defined as the subject in which we never know
what we are talking about, nor whether what we are saying is true.
The situation is pretty much the same for computation. It is a formal
game, where the moves can be understood in many different ways. But
there are actually deep ties between Mathematics formally defined by
axiomatic systems and Computation Theory.
Computation, algorithmics, was defined to solve mathematical
problems, and many of the modern concepts were thought of by logicians
who were trying to understand the mechanisms that allow us to prove
theorems, starting from axioms and applying inference rules.
Hence, to come back to the exploding device, it can certainly be
construed as a manipulation of a representation, i.e. as a
calculation. But it is generally pretty hard to associate to it any
meaning other than itself.
However, this is not always true, or was not. The principle of analog
computation relies on the idea that different representation system
can be used for calculations that are related in some precise
way. Then we can calculate with one system to have an idea of what the
other sytem (too unwieldy to actually use, for example a universe :)
would calculate in the corresponding setting.