The Perfection Machine

Engineers have always imagined a perfect world. A wheel might be 
specified as 28cm in diameter, a shaft half a meter long, to go 
into a machine that will spin them at 75RPM. The engineer will 
know, as would anyone with the faintest mechanical experience, that 
none of these specifications will actually be truely right when 
realised physically. Regardless of whether the parts are made in a 
backyard workshop with a tape measure and some worn-out tools, or 
they are precisely constructed with precision engineering equipment 
callibrated to the best specifications available, the fact is that 
the wheel will nexer be _exactly_ 28cm, nor the shaft dead on half 
a meter, and there's no way that the last of 75 revolutions will 
complete at precisely 60 second intervals. The engineer will know 
this, and should the design rely on anything practically 
approaching the perfection of the original specifications, great 
care should be taken to bring the physical parts as close as 
possible to the original specified measurements. However no 
workable design could rely on perfection in the physical world, and 
short of perhaps a few overunity nuts, no engineer with any 
practical experience would try.

But today we have a machine that can create a perfect world, a 
world where certainty of every specification in a design can be 
realised, without assuming for the possibility of any error at all. 
This machine is the digital computer.

It is a facinating concept that by relying only on an action to 
fall within a certain range of behaviour, generally certain 
voltages in an electronic circuit, operations can be abstracted 
into resulting in just one of two states - on or off. By creating 
devices that can react to these states, ignoring the true 
inaccuracies of our world and behaving only according to these two 
defined states, they create their own perfect world. A world where 
a 28 can never become a 28.00013, where the meer possibility of 
this would in fact prevent any purpose of the machine being 
realised. Every on and every off, every 1 and 0, is held within it 
is an exact representation of the design, as perfect as the 
specification of 28cm diameter written on a piece of paper. But no 
longer just concepts, here these perfect states can be put to work 
within the computer's perfect world.

So in this perfect world we build new machines, made purely of ones 
and zeros, operating precisely on the laws that our computers were 
built to obey. Without the limits inevitably imposed in the 
physical world, where slight errors add up with every process, the 
traditional limits to design and complexity are redefined entirely. 
Impossible designs combined from the work of thousands of people 
can be realised, and run precisely and reliably. This is the magic 
of software, billions of ones and zeros arranged in the exact 
pattern to complete all the actions which you can perform on your 
own PC, and put there by an army of programmers whose work can be 
copied and adapted endlessly without a single error.

Of course there are errors seen by us users. Errors not in the 
computer and the perfect world that it creates, but in the design 
of the software machines that work within that world. For these 
designs are themselves a product of our world, and within it our 
own imprecise and imperfect minds. The exact processes of the 
computer's perfect world, even though to our own design, are ty can 
only go so far towards truely oo foreign to our thinking. We can 
create ways to relate to that world. Programming languages allow 
programmers to express ideas more intuitively than in raw assembly 
instructions that make the rules of the computer's world. User 
interfaces are built of hardware and software so that we can 
interact with computers from the perspective of our world, so far 
detacted from the individual suffling of electronic states between 
billions of transistors. But the truth is that we can never match 
the perfection of that world, we will always build machines that 
fail within it, as well as those which fail to adequately interact 
with their human users. The true power of our perfection machine 
can not be realised because we ourselves are not perfect.

Yet it is this imperfection that enables us to exist within out 
world, where nothing is truely certain, indeed rarely even 
measured. By always adapting, taking our experience and using that 
to bias our imprecise thinking towards new solutions. This is is 
how we can design in the first place, while computers are slaves to 
the the precise rules that they follow.

A computer that programs itself is quite possible though, it need 
only run software designed to add this degree of uncertainty, 
introduced into its world as random information which it can use to 
vary its normally certain actions. This is the basis for neural 
networks, the current and most successful method for implementing 
"artificial intelligence". Once the random variations have lead to 
a usable process for performing the desired task, the random 
influence can be stopped, and the software generated to perform the 
process can be repeated perfectly from then on. Software designed 
by a computer using random variation, to now be used within its own 
world of perfection.

So it is really the combination, that of our imperfect world and 
the perfect one of the computer, which together allow for the 
greatest thinking machine. But what is the ideal balance between 
them? Should random imperfections only be used to find perfect 
solutions to be run identically thereafter, or should they continue 
to constinuously interract with the software machine, ever shaping 
it to adapt to the imperfect world outside its silicon chip as our 
own minds do for us? Should the intelligent computer be able to 
adapt to running its software perfectly only when that perfection 
is appropriate to the task, akin to how we use the perfection of 
computers now to supplement the abilities of our own imperfect 
minds? Should it ever really stop learning from the infinite 
combinations of possibilities that it can find in our imperfect 
world?

- The Free Thinker