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: {\it 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.
翻译:虽然算法是中心主题之一,但对于算法是什么,人们很少有共同的理解。例如,Gurevich认为算法是抽象的国家机器,而其他人则认为算法是递解器。我们提倡的是第三种观点:它是这两种不同观点的组合。基于可计算性逻辑,这种方法将算法称为$A(I,O)美元,其中一美元是一套输入服务,一美元是产出服务。它导致以下现代定义: $A是使用美元提供O美元的法律动作的(树木)顺序。 }在以上,$A是用一种必需的语言/抽象国家机器写的,一美元是递解/逻辑规格写的。