Counting is Easy
Joel Seiferas, Paul Vitanyi
Abstract
For any fixed k, a remarkably simple single-tape Turing machine can simulate k independent counters in real time. Informally, a counter is a storage unit that maintains a single integer (initially 0), incrementing it, decrementing it, or reporting its sign (positive, negative, or zero) on command. Any automaton that responds to each successive command as a counter would is said to simulate a counter. (Only for a sign inquiry is the response of interest, of course. And zeroness is the only real issue, since a simulator can readily use zero detection to keep track of positivity and negativity in finite-state control. In this paper we describe a remarkably simple real-time simulation, based on just five simple rewriting rules, of any fixed number k of independent counters. On a Turing machine with a single, binary work tape, the simulation runs in real time, handling an arbitrary counter command at each step. The space used by the simulation can be held to (k+ε) 2 n bits for the first n commands, for any specified ε> 0.
Create a lesson
Related papers
Marton's conjecture in polynomial time
Srinivasan Arunachalam, Arkopal Dutt, Sabee Grewal et al.
Efficient Randomized Communication Without Large Monochromatic Rectangles
Haoyu Wang, Pei Wu
On the Turing Completeness of Transformers and Agents
Yimu Qiao, Lijia Yu, Ruichen Qiu et al.
Dense Pinwheel Packing Is Strongly NP-Complete
Yusuke Kobayashi, Bingkai Lin, Joseph Swernofsky
A Separation Between Distribution-Free SQ Learning and Dimension Complexity
Shyamal Patel
Almost Optimal FPT Inapproximability for k-SetCover
Venkatesan Guruswami, Xuandi Ren