vix.ing · top · new · best · stats · spec

Counting is Easy

2001/10/18 by Joel Seiferas, Paul Vitanyi
Computer Science · #cs.CC #cs.DS

paper · pdf

published as J. Seiferas and P.M.B. Vitanyi, Counting is easy, J. Assoc. Comp. Mach. 35 (1988), pp. 985-1000

arxiv created 2001/10/18 · arxiv updated 2009/11/30

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+ε) log2 n bits for the first n commands, for any specified ε> 0.

Related