From: utzoo!decvax!harpo!npois!bsg
Newsgroups: net.misc
Title: Definitions of "algorithm"
Article-I.D.: npois.1372
Posted: Wed Jun 23 10:07:50 1982
Received: Sun Jun 27 04:05:53 1982

Several weeks ago, I put out a request for definitions of algorithm.
Replies were mailed to me, and I promised to summarize them.
This is that.

First of all, it was clear from the replies that my query wasn't
properly phrased.  What I was looking for was a "seat_of_the_pants"
definition that I could throw out at cocktail parties.  What I got,
in many cases, were (direct or indirect) detailed mathematical
definitions.  So NO, I have not forgotten my sophomore data
structures course; I know perfectly well what an algorithm is in
recursive function theory.  What I wanted (and got a few of) was
a nutshell definition.

Okay.  Indirect definitions.  I got a lot of "See this (or that)
book for an interesting discussion."  For those interested in following
these leads, the three specific references were to Volume 1 of
Knuth; Hartley Roger's "Theory Recursive Functions and Effective 
Computability;" another recursive function theory book by Brainard
and Landweber.  Non-specific references were to "any recursive function
theory book" and "the introduction/first chapter of any data structures
text."

The people who attempted to give brief definitions all agreed that
an algorithm must halt.  The quotable definitions (in my opinion)
were the following:

	"An algorithm is a sytematic method for describing the
	transformation of input to output."

	"A set of instructions guaranteed to halt."
	(If you see a set of instructions running down the hall,
	find out if it's an algorithm.  If it is, don't
	worry, it'll halt by itself.  If not, you'd
	better run after your instructions.)

	"A set of instructions with the property" (better)
	"that they can be executed by a computing entity
	*without any knowledge of the world save an exact
	understanding of the language of instruction*."

	"[An] algorithm is a method for doing something."

Since I have thrown away the original mail, all of these are quoted 
without attribution.  (At least I had permission!)

The most interesting aspect of the discussion was a strong disagreement
on the question "Is a recipe an algorithm?"
I quote, again without attribution, one opinion on each side.

"Actually, I see nothing
wrong with using the terms "algorithm", and "recipie" somewhat
interchangeably. In statistics, for example (as in other disciplines)
textbooks containing algorithms for data analysis but not much
theory, are in fact known as cookbooks."

"To me a receipe is *not* an algorithm.  Algorithm should mean a mathematical
procedure which in some sense operates on an input to produce an output.
You can stretch the point and claim a receipe has as its input raw materials
and some more "complex" substance as output but the operation performed is
chemical and mechanical in nature (thus a receipe could be called a formula
in the chemical sense - unappetizing! - or a blueprint in the mechanical
sense - worse!)."

I'll leave it there.  Any further discussion should be addressed to 
the net, not to me.  Thanks to all who responded.

                           Billie Goldstein
                           (...!npois!bsg)