A Behavioural Theory of Recursive Algorithms

“What is an algorithm?” is a fundamental question of computer science. Gurevich’s behavioural theory of sequential algorithms (aka the sequential ASM thesis) gives an abstract answer without referring to a particular language or programming style, and shows that sequential algorithms are captured by sequential Abstract State Machines. Moschovakis criticised that recursive algorithms such as mergesort are not covered by this theory, but can be expressed by recursors. In this article we propose a language-independent definition of the notion of recursive algorithm generalising Gurevich’s postulates, and prove that recursive algorithms are captured by recursive Abstract State Machines. Furthermore, we show that recursive algorithms are behaviorally equivalent to finitely composed concurrent algorithms all of their runs are partial-order runs.

[1]  Yuri Gurevich,et al.  Recursive Abstract State Machines , 2017, J. Univers. Comput. Sci..

[2]  Klaus-Dieter Schewe,et al.  BSP abstract state machines capture bulk synchronous parallel computations , 2019, Sci. Comput. Program..

[3]  Klaus-Dieter Schewe,et al.  A Simplified Parallel ASM Thesis , 2012, ABZ.

[4]  Yuri Gurevich,et al.  Sequential abstract-state machines capture sequential algorithms , 2000, TOCL.

[5]  Egon Börger,et al.  Modeling Companion for Software Practitioners , 2018, Springer Berlin Heidelberg.

[6]  Kurt Lautenbach,et al.  System Modelling with High-Level Petri Nets , 1981, Theor. Comput. Sci..

[7]  Anca Muscholl,et al.  Trace Theory , 2011, Encyclopedia of Parallel Computing.

[8]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[9]  Klaus-Dieter Schewe,et al.  Behavioural Theory of Reflective Algorithms I: Reflective Sequential Algorithms , 2020, ArXiv.

[10]  Andreas Blass,et al.  Algorithms vs. Machines , 2002, Bull. EATCS.

[11]  Andreas Blass,et al.  Abstract state machines capture parallel algorithms , 2003, TOCL.

[12]  Klaus-Dieter Schewe,et al.  A new thesis concerning synchronised parallel computing - simplified parallel ASM thesis , 2015, Theor. Comput. Sci..

[13]  Klaus-Dieter Schewe,et al.  Concurrent abstract state machines , 2016, Acta Informatica.

[14]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[15]  Yuri Gurevich,et al.  A New Thesis , 2017 .

[16]  Klaus-Dieter Schewe,et al.  A Customised ASM Thesis for Database Transformations , 2010, Acta Cybern..

[17]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[18]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[19]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[20]  Andreas Blass,et al.  Abstract state machines capture parallel algorithms: Correction and extension , 2006, TOCL.

[21]  Yiannis N. Moschovakis,et al.  A* Algorithm , 2008, Encyclopedia of GIS.

[22]  Egon Börger,et al.  Remarks on Turbo ASMs for Functional Equations and Recursion Schemes , 2003, Abstract State Machines.

[23]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[24]  Eike Best,et al.  Semantics of sequential and parallel programs , 1996, Prentice Hall International series in computer science.

[25]  Klaus-Dieter Schewe,et al.  Evolving concurrent systems: behavioural theory and logic , 2017, ACSW.

[26]  Moshe Y. Vardi What is an algorithm? , 2012, Commun. ACM.

[27]  Diane Boyer,et al.  ABSTRACT STATE MACHINES..A METHOD FOR HIGH-LEVEL SYSTEM DESIGN AND ANALYSIS , 2019 .

[28]  Nachum Dershowitz,et al.  On the parallel computation thesis , 2016, Log. J. IGPL.

[29]  Klaus-Dieter Schewe,et al.  A Behavioural Theory for Reflective Sequential Algorithms , 2017, Ershov Informatics Conference.

[30]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[31]  Klaus-Dieter Schewe,et al.  Communication in Abstract State Machines , 2017, J. Univers. Comput. Sci..