The Complexity of Two-Way Pushdown Automata and Recursive Programs

We survey the techniques used to speed up recursive and stack (pushdown) manipulating algorithms on words. in the case of the parallel speedup new algoritrmic tools are presented: the operation “bush” acting on path systems and a new parallel pebble game. We show how these tools can be applied to some dynamic programming problems related to combinatorial algorithms on words and to some language recognition problems. The techniques are illustrated mostly on pushdown automata (2pda’s, for short) which can be treated as limited algorithms acting on words. The history of the discovery of the fast string matching algorithm [15] shows that 2pda’s can be useful in the design of efficient algorithms on words. In this paper we investigate one aspect of 2pda’s (which in our view is the most important): algorithmic techniques for fast simulation of 2pda’s and their generalisations to recursive programs.

[1]  Richard S. Bird,et al.  Tabulation Techniques for Recursive Programs , 1980, CSUR.

[2]  Walter L. Ruzzo,et al.  Tree-size bounded alternation(Extended Abstract) , 1979, J. Comput. Syst. Sci..

[3]  Wojciech Rytter,et al.  Remarks on the Pyramidal Structure , 1983, CAAP.

[4]  Eitan M. Gurari,et al.  Path Systems: Constructions, Solutions and Applications , 1980, SIAM J. Comput..

[5]  Oscar H. Ibarra,et al.  Multi-Tape and Multi-Head Pushdown Automata , 1968, Inf. Control..

[6]  Sheila A. Greibach,et al.  The Hardest Context-Free Language , 1973, SIAM J. Comput..

[7]  Wojciech Rytter,et al.  A Note on Two-Way Nondeterministic Pushdown Automata , 1982, Inf. Process. Lett..

[8]  Richard S. Bird,et al.  Improving programs by the introduction of recursion , 1977, Commun. ACM.

[9]  Wojciech Rytter,et al.  Time Complexity of Loop-Free Two-Way Pushdown Automata , 1983, Information Processing Letters.

[10]  Wojciech Rytter,et al.  A Hardest Language Recognized by Two-Way Nondeterministic Pushdown Automata , 1981, Information Processing Letters.

[11]  Stephen A. Cook,et al.  Characterizations of Pushdown Machines in Terms of Time-Bounded Computers , 1971, J. ACM.

[12]  Wojciech Rytter Time Complexity of Unambiguous Path Systems , 1982, Inf. Process. Lett..

[13]  Oscar H. Ibarra,et al.  Two-Way Pushdown Automata , 1967, Inf. Control..

[14]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[15]  Wojciech Rytter,et al.  Fast Recognition of Pushdown Automaton and Context-free Languages , 1986, Inf. Control..

[16]  Leslie G. Valiant,et al.  Fast Parallel Computation of Polynomials Using Few Processes , 1981, MFCS.

[17]  Alfred V. Aho,et al.  Time and Tape Complexity of Pushdown Automaton Languages , 1968, Inf. Control..

[18]  Wojciech Rytter,et al.  A Simulation Result for Two-Way Pushdown Automata , 1983, Inf. Process. Lett..

[19]  Wojciech Rytter,et al.  The Dynamic Simulation of Recursive and Stack Manipulation Programs , 1981, Inf. Process. Lett..

[20]  Wojciech Rytter,et al.  An Effective Simulation of Deterministic Pushdown Automata with Many Two-Way and One-Way Heads , 1981, Inf. Process. Lett..

[21]  Zvi Galil,et al.  Two Fast Simulations Which Imply Some Fast String Matching and Palindrome-Recognition Algorithms , 1976, Inf. Process. Lett..

[22]  K. Mehlhorn Pebbling Moutain Ranges and its Application of DCFL-Recognition , 1980, ICALP.

[23]  Stephen A. Cook Path systems and language recognition , 1970, STOC '70.

[24]  Stephen A. Cook,et al.  Linear Time Simulation of Deterministic Two-Way Pushdown Automata , 1971, IFIP Congress.

[25]  Leslie M. Goldschlager,et al.  A universal interconnection pattern for parallel computers , 1982, JACM.