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
The determinantal complexity of the 4*4 permanent is 15
Karthik Sheshadri
A Width Hierarchy of Monotone Algebraic Branching Programs
Julian Dörfler, Alexander Rogovskyy
Mortality Is Undecidable for 2 × 2 Integer Matrices
Thanin Quartz, Ivan O. Shevchenko, Hans De Sterck et al.
Fourier Entropy Bounds via Approximations
Manaswi Paraashar, Nitin Saurabh
An Engineering Reading of the Bounded Halting Problem and Observable Properties of a Universal Machine
Sergey Salishev
Exhaustive Search Is Hard to Beat in Constant Depth for Hyperclique and Orthogonal Vectors
Nikolai Chukhin