Page 297 -
P. 297
296 L.R Izquierdo et al.
1
to one and only one output. (Obviously, different inputs may lead to the same
output.) Admittedly, however, the word ‘function’ may also mislead the reader into
thinking that a computer model is necessarily simple. The computer model may be
as complex and sophisticated as the programmer wants it to be, but ultimately, it
is just an entity that associates a specific output to any given input, i.e. a function.
In any case, to avoid confusion, we will use the term ‘formal model’ to denote the
2
function that a certain computer model implements. To be sure, the ‘formal model’
that a particular computer model implements is the abstract entity which is defined
by the input–output relation that the computer model executes. 3
Thus, running a computer model is just finding out the logical implications of
applying a set of unambiguously defined formal rules (which are coded in the
program and define the input–output function or formal model) to a set of inputs
(Balzer et al. 2001). As an example, one could write the computer program ‘y D 4x’
and apply it to the input ‘x D 2’ to obtain the output ‘y D 8’. The output (y D 8),
which is fully and unequivocally determined by the input (x D 2) and the set of rules
coded in the program (y D 4x), can be seen as a theorem obtained by pure deduction
(fx D 2; y D 4xg! y D 8). Naturally, there is no reason why the inputs or the outputs
4
should be numbers ; they could equally well be, e.g. strings of characters. In the
general case, a computer run is a logical theorem that reads: the output obtained from
running the computer simulation follows (with logical necessity) from applying to
the input the algorithmic rules that define the model. Thus, regardless of its inherent
complexity, a computer run constitutes a perfectly valid sufficiency theorem (see,
e.g. Axtell 2000).
It is useful to realise that we could always apply the same inference rules
ourselves to obtain—by logical deduction—the same output from the given input.
Whilst useful as a thought, when it comes to actually doing the job, it is much
more convenient, efficient and less prone to errors to let computers derive the output
for us. Computers are inference engines that are able to conduct many algorithmic
processes at a speed that the human brain cannot achieve.
1 Note that simulations of stochastic models are actually using pseudorandom number generators,
which are deterministic algorithms that require a seed as an input.
2 A formal model is a model expressed in a formal system (Cutland 1980). A formal system consists
of a formal language and a deductive apparatus (a set of axioms and inference rules). Formal
systems are used to derive new expressions by applying the inference rules to the axioms and/or
previously derived expressions in the same system.
3 The mere fact that the model has been implemented and can be run in a computer is a proof that
the model is formal (Suber 2002).
4
As a matter of fact, strictly speaking, inputs and outputs in a computer model are never numbers.
We may interpret strings of bits as numbers, but we could equally well interpret the same strings
of bits as, e.g. letters. More importantly, a bit itself is already an abstraction, an interpretation we
make of an electrical pulse that can be above or below a critical voltage threshold.