The Computational Contents of Ramified Corecurrence
The vast power of iterated recurrence is tamed by data ramification: if a function over words is definable by ramified recurrence and composition, then it is feasible, i.e. computable in polynomial time, i.e. any computation using the first n input symbols can have at most p(n) distinct configurations, for some polynomial p. Here we prove a dual result for coinductive data: if a function over streams is definable by ramified corecurrence, then any computation to obtain the first n symbols of the output can have at most p(n) distinct configurations, for some polynomial p. The latter computation is by multi-cursor finite state transducer on streams.
A consequence is that a function over finite streams is definable by ramified corecurrence iff it is Turing-computable in logarithmic space. Such corecursive definitions over finite streams are of practical interest, because large finite data is normally used as a knowledge base to be consumed, rather than as recurrence template. Thus, we relate a syntactically restricted computation model, amenable to static analysis, to a major complexity class for streaming algorithms.
KeywordsInput Symbol Output Stream Tree Automaton Output Symbol Inductive Data
- 1.Bellantoni, S.: Predicative recursion and computational complexity. PhD thesis, University of Toronto (1992)Google Scholar
- 2.Bellantoni, S., Cook, S.: A new recursion-theoretic characterization of the poly-time functions (1992)Google Scholar
- 3.Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications (2007), http://www.grappa.univ-lille3.fr/tata
- 6.Czumaj, A., Muthukrishnan, S.M., Rubinfeld, R., Sohler, C. (eds.): Sublinear Algorithms, July 17-22, 2005. Dagstuhl Seminar Proceedings, vol. 05291. Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany (2006)Google Scholar
- 9.Leivant, D.: Ramified recurrence and computational complexity I: Word recurrence and poly-time. In: Clote, P., Remmel, J. (eds.) Feasible Mathematics II. Perspectives in Computer Science, pp. 320–343. Birkhauser-Boston, New York (1994)Google Scholar
- 12.Leivant, D.: Global semantic typing for inductive and coinductive computing. Logical Methods in Computer Science 10(4) (2014)Google Scholar
- 15.Rubinfeld, R., Shapira, A.: Sublinear time algorithms. Electronic Colloquium on Computational Complexity (ECCC) 18, 13 (2011)Google Scholar