What is an Algorithm?: a Modern View
Although algorithm is one of the central subjects, there have been little common understandings of what an algorithm is. For example, Gurevich view algorithms as abstract state machines, while others view algorithms as recursors. We promote a third view: it is a combination to these two disparate views. This approach – based on computability logic – describes an algorithm as A(I,O) where I is a set of input services and O an output service. It leads to the following modern definition: An algorithm A is a (tree of) sequence of legal moves for providing O using I. In the above, A is written in an imperative language/abstract state machine and I,O are written in recursors/logical specifications.
READ FULL TEXT