Now, some examination of the terms we use here is necessary,
otherwise the immediate response is "Can't we model the formal
system by merely copying it?". That this is an inadequate meaning
of "model" is revealed if we consider a time in the future when we
could atom-by atom copy an organism (not unlikely). Yes, this new
organism is in some sense a "model" of the old, but this does not
get us very far in terms of understanding, and would thus give us a
very strange meaning of the word "model". (I understand Rosen's
definition of "model" - it is precise but not very useful - you know
exactly what he intends but you can hardly ever tell that you have
actually done it).
Take a more extreme thought experiment: imagine that the
properties of all the consituent atoms of an organism were
modelled on a suitable kind of computer (yes I know the possiblity
of this is highly disputed, but suspend belief for a moment) so we
had a "model" of the organism - this would still NOT get us very far!
We would still have ALL the same problems of trying to understand
it. Yes, we could try experiments on it, try to trace the interactions
between parts, do statistics on it etc. but we could do all these
things already with the organism. WE would STILL be faced with
the problem of modelling this organism, whether of the real or
software variety (note the pragmatic perspective here).
Copying (even if possible) is not sufficient as modelling if we don't
already understand what is being copied, i.e. there is necessaily an
intensional element in "modelling".
Now, to complex machines.
Whether there are complex machines, depends as much on your
intended interpretation of "machine" as that of "complex".
Lets start at a basic level, with machines as those things around us,
made by man out of metal, wires, electronic bits, plastics etc,
designed for a purpose to replace (or extend) human labour, and
complex to mean "if I can examine all the bits and see their
immediate relationship to each other, will it still be difficult for me to
understand?". Then we must agree that there are complex
machines.
This intuitive/commonsense view of complex machines is
instructive. It highlights the fact that machines are designed for a
(maybe abstract) purpose, they are constructed according to some
design, the complexity is related from a difficulty in modelling that
is not merely ignorance of the parts.
Let us abstract from this commonsense view to see what is
essential to the issue at hand (i.e. are there complex machines?).
What the machine is made out of does not seem so important, we
can certainly imagine purely software or abstract formal
"machines", but on the other hand calling everything (at some
level) a machine does not help either (other than express an
extreme redustionist viewpoint). One way of viewing it is that what
distinguishes machines is the designed purpose (ours) in them.
One way of formalising this is as a formal system. The axioms and
rules can encode the designed purpose and the deterministic
unfolding of their formal consequences represent the working of the
machine. This certainly seems to make (our abstract version of)
machines a subset of formal systems. Are all formal systems
machines?
I would argue not. Certainly not all formal systems encode our
purpose, you can imagine a program that tried out random
programs at random and found those that halted for all inputs up to
size x within y steps (this is possible). Large such programs found
would not encode the purposes of a human in its (implicit) axioms
and rules. The fact that abstractly this random formal system
satisfies my wish for a program without my direct purpose does not
make it a machine - my child may similarly satisfy my wish , this
would not make it a machine.
Another example, imagine a program where I have made mistakes,
it is bug ridden. Does the formal system, represented by it now
encode any of my purpose? It is possible that it does not. In this
sense it is not a machine.
But could not the new "purpose" of such an unitended system not
be theoretically recovered, from inspecting it? and would not that
make it posssibly a machine? The assumption that this is possible
is certainly not pragmatic, and may even be abosultely impossible
in some circumstances - depending on what we mean by "purpose
recovered".
Here we back to the first points I made for we ask whether merely
copying a program would count. Again I argue not - this would not
be a "recovering a purpose" by any reasonable use of these terms.
If by "purpose recovered" you mean something more, that the
program can be reformulated in a given style of formal system to
reveal the purposes, then, in general, this is undecidable.
Another tack that might be argued is that since any such formal
system could be run IN a machine that it thus IS a machine. Here if
we are taking the "designed purpose" criteria seriously we can
safely answer no - I know that the purpose of the machine is to run
programs, but I don't know what the purpose of this particular
program is. Here care needs to be taken not to confuse and
conflate levels of description.
Back to the nub. Given a formal system can we understand it by
modelling using another formal system, or is this too (maybe
ultimately) difficult? The answer could be no, it is impractical,
sometimes impossible. There are (very) complex formal systems.
Whether there are complex machines depends on your definition of
machines, by the definition given here I would say not. It is inherent
in the idea of a machine that it is easily modellable by its design.
So sleep easy "machines" will not become conscious (.... but of
course the program running your robot might be!) 8^)
----------------------------------------------------------
Bruce Edmonds
Centre for Policy Modelling,
Manchester Metropolitan University, Aytoun Building,
Aytoun Street, Manchester, M1 3GH. UK.
Tel: +44 161 247 6479 Fax: +44 161 247 6802
http://bruce.edmonds.name/bme_home.html