Re: Algorithms

From: HARNAD Stevan (harnad@cogsci.soton.ac.uk)
Date: Wed May 01 1996 - 18:49:05 BST


> From: "Willoughby Sarah" <SEW295@psy.soton.ac.uk>
> Date: Wed, 1 May 1996 14:53:47 GMT

> Could you please explain what an algorithm is?

An algorithm is a mechanical procedure that you can follow in order to
achieve a result. The example I gave in class was the formula for finding
the roots of quadratic equations (remember? "-b +/- the square
root of b squared minus 4ac all over 2a"?).

The important point is that the procedure is mechanical: You don't need
to think about it; you don't have to know what it means. You just have
to DO it; and if you do it faithfully, you will always get the right
result.

Algorithms are always formal, that is, symbolic. Symbols are just
arbitrary-shaped objects, for example, marks on paper or on a computer
screeen (like "b" or "-" or "square root"). The algorithm is just a set
of rules for manipulating those symbols, based only on their shapes, not
on what they mean. But the manipulation will give you a correct solution
to some problem. In the case of factoring quadratic equations, the
problem is finding the roots of equations -- which you may need in
order to do, say, some surveying work or some weather forecasting
(I'm just inventing what you might apply the equation to): Maybe the
way to calculate tomorrow's temperature is by finding the roots of a
quadratic equation. You apply the formula to, say, measurements of
barometric pressure and humidity, and you calculate tomorrow's
temperature.

Sharon's example of an algorithm happened to be a baking recipe,
but it's the same kind of thing: "put the sugar and butter into a bowl,
beat in the eggs, fold in the flour." Those are just words, symbols.
But if you follow them and apply them to sugar, butter, etc., they will
mechanically generate a cake.

The important thing to remember about algorithms is that (1) they are
mechanical, mindless. You can follow them without knowing what you're
doing or what the symbols mean. So a machine could perform them too.

(2) Algorithms are abstract, formal, symbolic: That means that the
physical shape of their symbols doesn't matter; it's arbitrary. I could
have said "sucre" instead of sugar, or I could even have called sugar
"X." Sharon's recipe is a trivial algorithm, but it's still an algorithm.
You could still get it wrong by not following it faithfully (for example
if you first beat the eggs and then put in the sugar and butter).

The reason algorithms are important to explaining the mind is that
anything that can be done by mechanically following an algorithm no
longer requires a homunculus: It's done mindlessly, so it is a potential
explanation of the mind. Supposing you do something, say, look at a
painting and recognise that it was painted by Michelangelo. Someone asks
you how you did it. You say: "I know that only Michelangelo uses
curved brushstrokes like that." So I ask "How did you know the strokes
were curved, and that only M. uses them?" The questions go on and on,
and as long as you reply by saying what you saw, recognised, or knew,
you have not explained HOW you saw, recognised, knew. You keep using
the mind to explain the mind. That's the homunculus problem: the little
man in your mind that's acting as your mind's mind: We need an
explanation of the mind that does not rely on yet another mind.

Now suppose someone comes up with an algorithm, a recipe that, whenever
it gets the "shadow" of a Michalengelo painting can immediately compute
that it was by Michelangelo. That's a potential explanation of how YOU
did it, and it is immune to the homunulus problem because an algorithm
works mindlessly, mechanically. You don't need to ask "how did the
algorithm know" it was Michelangelo: The algorithm didn't know
anything, it just came up with the right solution by a mechanical
procedure that works.

That's an algorithm. And algorithms are computations: mechanical
symbol manipulations, based on rules that don't "know" anything, they
simply operate on the (arbitrary) shapes of symbols: They don't care
whether they operate on real butter, or on the symbol "butter." They
don't care if you physically put something in a bowl, or you merely do it
symbolically, in a computer simulation or a virtual world. They don't
care because they are mindless and mechanical. Yet, remarkably, just
about anything that can be done at all, can be done by some algorithm or
other: There are algorithms for solving equations, forecasting the
weather, baking cakes, but also for building cars and planes, maybe
eventually even for building robots.

Now inside a car's engine, even though it can be DESCRIBED as just
following an algorithm, we know there is something else going on too,
because a real car actually moves, whereas a computer simulated car
doesn't go anywhere. Yet they are both following the same algorithms.
That means that a car engine is not just a computer, computing. It
matters what its parts are made out of and what they're shaped like and
connected to. The shapes are not arbitrary. So a car is an analog
device, not a computer; what it's made out of matters to whether or not
it really moves; it's not enough that it should just be performing the
right algorithm.

But what about us? Obviously a robot, like a car, has to move, so to
that extent, it too is not just a computer, computing the right
algorithm. But what about when it's not moving? What about when it's
just "thinking"? Could THAT be just the execution of the right
algorithm?



This archive was generated by hypermail 2b30 : Tue Feb 13 2001 - 16:23:39 GMT