> > > > Heuristics aren't algorithms. The definition of an algorithm is > > > > something that is guaranteed to give you the right answer. > > > > > > Ahem, I recall nothing in the design of an algorithm that guarantees a > > > *right* answer. > > > > Some algorithms have been proven to be correct. > > Yes, this is true, however, what does correctness have to do with the > definition of the word algorithm?
> I don't recall anywhere in the definition of the word algorithm that > correctness was a necessary characteristic, or that a heuristic can be > defined as an incorrect algorithm. > > Am I missing something here? > > Happy times upon you, Richard.
An algorithm to me just seems like a finite program in general programming language, with a variable for input and one for output. Equivalently, an algorithm is besically another word for a Turing machine. The "correctness" or "incorrectness" of an algorithm depends merely on how the output is to be interpreted as a function of the input. The algorithm itself is free of such judgements...
Question: I know an algorithm doesn't have to be bounded in time. But must it eventually terminate? That seems to me to be the only interesting, meaningful question one can ask.