Two Basic P-Complete Problems
We have now provided sufficient machinery to address the question posed in the introduction: Does every problem with a feasible sequential solution also have a highly parallel solution? We begin by asking the dual question. . . . Are there any inherently sequential problems?. . . We will try to develop some intuition for the answer to this question by closely examining two basic P-coraplete problems: the Generic Machine Simulation Problem and the Circuit Value Problem, both introduced below. The canonical device for performing sequential computations is the Turing machine, with its single processor and serial access to memory. Of course, the usual machines that we call sequential are not nearly so primitive, but fundamentally they all suffer from the same bottleneck created by having just one processor. So to say that a problem is inherently sequential is to say that solving it on a parallel machine is not substantially better than solving it on a Turing machine. What could be more sequential than the problem of simulating a Turing machine computation? If we could just discover how to simulate efficiently, in parallel, every Turing machine that uses polynomial time, then every feasible sequential computation could be translated automatically into a highly parallel form. Thus, we are interested in the following problem. (See also Problem A.12.1 in Part II for related problems and remarks.) Definition 4.1.1 Generic Machine Simulation Problem (GMSP)