Wolfram Science Group
Registered: Oct 2003
a few exta comments
I think Richard's explanation is good and fairly clear, so Im going to try to reintroduce some confusion.
In general usage, 'algorithm' is typically means some sort of proceedure to compute a particular kind of thing. For instance, the earliest algorithm is the Euclidean algorithm for computing the greatest common divisor of 2 numbers (http://mathworld.wolfram.com/EuclideanAlgorithm.html)
Despite this, i think its true one can have algorithms without a predefined purpose.
So how to understand the difference between an algorithm and a rule?
An algorithm is a complete proceedure for computing something.
In NKS usage, a "rule" is typically an input to an algorithm that actually runs the system.
Rule 30 on its own doesnt really do anything. Its just a description of a bunch of parameters, which then are inputted into the cellular automaton function, which itself is an algorithm.
This is why it doesnt make much sense to say "algorithm 30". Without knowing what kind of algorithm you are plugging that number in, it has no real meaning.
In the book NKS, the term "rule" is often used to describe elements of the Elementary Cellular Automata class.
"Code" is used to describe more general kinds of cellular automata.
"Machine" is used to describe turing machines and register machines
Elsewhere, systems are described using a symbolic expression rather than a number.
Personally, I think of something like rule 30 as being not an algorithm or a set of parameters, but more like a programming language.
The most obvious case this is true is rule 110, which is known to be universal. One can literally write programs in rule 110 by setting up the initial conditions in a certain way.
Would one describe C as an algorithm? I dont think so. However, one could describe the system that executes the C code as an algorithm. This is how I see the relationship between a rule and the function that executes the rule.
I hope this helps...
Everything is an expression.
Report this post to a moderator | IP: Logged