アルゴリズム

有効な入力について停止しないものをアルゴリズムというかという話題ですが、そもそもアルゴリズムとは「与えられた問題を解くための手順」なので、停止しなかったら解けていないので、論理的にはもちろん、直感的にもやはり正しいアルゴリズムとは言いがたいと思います(もちろん、間違ったアルゴリズムなら良いですが)。たとえば

http://en.wikipedia.org/wiki/Algorithm

にも

an algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state

とありますし(強調筆者)。もちろん、対象としていない入力(問題)について停止しないのはOKですが。

ちなみに、もし仮に「アルゴリズム=プログラムの元ネタのようなもの」だとしても、やはり有効な入力に対して無限ループで反応しなくなってしまうプログラムが正しいとはいえないので、同じではないかと。

追記:はてなキーワードですら(?)「停止しない場合はprocedure(手順・手続き)という」などという記述が。いや、Wikipediaはてなキーワードも絶対に信用できるというわけではないですが。

追記2:きっと来ると思った突っ込みが来たので、ここからもリンク