Quote:
Originally Posted by stereologist
There is an important issue here that is missing.
Algorithms eventually stop. ...
|
A good point, IMHO. I tend to equate “algorithm” with “function”, and define function as “something that takes input and returns output”. By this definition, a program that can never end can never return an output, so can’t implement a function.
In wider usage, however, algorithm seems to be used more generally to include both programs that can end, and ones that can’t. I’ve a hunch this more general meaning gained popularity when people began formally defining “algorithm” as “that which can be represented by the state table of a
Turing machine”. When the term first began showing up with any frequency ca. the 12th century, I suspect the most common definition was an informal one like “way to calculate something”, and would have considered endless programs to be either very bad algorithms, or not deserving of the name at all.
Personally, I like to use the term “program” in place of the most formal description of an algorithm, and “algorithm” to describe a higher level, “essential” description. I say things like “this program implements that algorithm”, implying a many-one relationship where an algorithm can be implemented by many programs.
This issue of a single word, even a fairly technical one, having multiple, context-dependent meanings, is I think a lot of what inspired
Korzybski to propose using subscripts on every word in natural language writing, with the wild idea that if everybody – or at least everybody
important became enculturated to doing this and thinking in the manner it engendered, social problems like war and poverty would disappear. I’m don’t know if Korzybski’s hunch is right or wrong, but I’m pretty sure that such a practice would dramatically change communication on science boards like hypography!

----------------
Moderator: Computers and Technology; Medical Science; Science Projects and Homework; Philosophy of Science; Physics and Mathematics; Environmental Studies
