Inductive definitions in logic versus programs of real-time cellular automata

被引:1
作者
Grandjean, Etienne [1 ]
Grente, Theo [1 ]
Terrier, Veronique [1 ]
机构
[1] Normandie Univ, UNICAEN, ENSICAEN, CNRS,GREYC, F-14000 Caen, France
关键词
Computational complexity; Descriptive complexity; Cellular automaton; Real-time computation; Horn formula; Existential second-order logic; Inductive logic; Parallel programming; COMPLEXITY CLASSES; EQUIVALENCE; GRAMMARS;
D O I
10.1016/j.tcs.2023.114355
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Descriptive complexity provides intrinsic, i.e. machine-independent , characterizations of the main complexity classes. On the other hand, logic can be useful for designing programs in a natural declarative way. This is especially important for parallel computation models such as cellular automata, since designing parallel programs is considered a difficult task. This paper establishes three logical characterizations of the three classical complexity classes modeling minimal time, called real-time , of one-dimensional cellular automata according to their canonical variations: unidirectional or bidirectional communication, input word given in a parallel or sequential way. Our three logics are natural restrictions of existential second-order Horn logic with built-in successor and predecessor functions. These logics correspond exactly to the three ways of deciding a language on a square grid circuit of side ������ according to one of the three natural locations of an input word of length ������: along a side of the grid, on the diagonal that contains the output cell - placed on the vertex (n,n) of the square grid-, or on the diagonal opposite to the output cell. The key ingredient to our results is a normalization method that transforms a formula from one of our three logics into an equivalent normalized formula that closely mimics a grid circuit. Then, we extend our logics by allowing a limited use of negation on hypotheses like in Stratified Datalog. By revisiting in detail a number of representative classical problems -recognition of the set of primes by Fisher's algorithm, Dyck language recognition, Firing Squad Synchronization problem, etc. -we show that this extension makes easier programming and we prove that it does not change the real-time complexity of our logics. Finally, based on our experience in expressing these representative problems in logic, we argue that our logics are high-level programming languages: they make it possible to express in a natural, complete and synthetic way the algorithms of the literature, based on signals - and even to design new inductive algorithms -, and to translate them automatically into cellular automata of the same complexity.
引用
收藏
页数:59
相关论文
共 44 条
[1]  
Abiteboul Serge., 1995, Foundations of databases
[2]   A 1-DIMENSIONAL REAL-TIME ITERATIVE MULTIPLIER [J].
ATRUBIN, AJ .
IEEE TRANSACTIONS ON ELECTRONIC COMPUTERS, 1965, EC14 (03) :394-&
[3]  
Bacquey Nicolas, 2017, ICALP 2017, V80
[4]  
Buning HansK., 1999, Propositional Logic: Deduction and Algorithms
[5]  
CHOFFRUT C, 1984, ACTA INFORM, V21, P393, DOI 10.1007/BF00264617
[6]   REAL-TIME COMPUTATION BY N-DIMENSIONAL ITERATIVE ARRAYS OF FINITE-STATE MACHINES [J].
COLE, SN .
IEEE TRANSACTIONS ON COMPUTERS, 1969, C 18 (04) :349-&
[7]  
CULIK K, 1989, INFORM PROCESS LETT, V30, P153, DOI 10.1016/0020-0190(89)90134-8
[8]   SYSTOLIC TRELLIS AUTOMATA .1. [J].
CULIK, K ;
GRUSKA, J ;
SALOMAA, A .
INTERNATIONAL JOURNAL OF COMPUTER MATHEMATICS, 1984, 15 (3-4) :195-212
[9]  
Delorme M, 2002, COLLISION BASED COMP, P231
[10]  
Delorme Marianne, Algorithmic tools on cellular automata, V36, P77