What is an Algorithm?: a Modern View
Abstract
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.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.