INFORMATION TO USERS
This material was produced from a microfilm copy of the original document. While the most advanced technological means to photograph and reproduce this document have been used, the quality is heavily dependant upon the quality of the original submitted.
Thefollowing explanation of techniques is provided to help you understand markings or patterns which may appear on this reproduction.
1. The sign or "target" for pages apparently lacking from the document photographed is "Missing Page(s)". If it was possible to obtain the missing page(s) or section, they are spliced into the film along with adjacent pages. This may have necessitated cutting thru an image and duplicating adjacent pages to insure you complete continuity.
2. When an image on the film is obliterated with a large round black mark, it is an indication that the photographer suspected that the copy may have moved during exposure and thus cause a blurred image. You w ill find a good image of the page in the adjacent frame.
3. When a map, drawing or chart, etc., was part of the material being photographed the photographer followed a definite method in "sectioning" the material. It is customary to begin photoing at the upper left hand corner of a large sheet and to continue photoing from left to right in equal sections with a small overlap. If necessary, sectioning is continued again — beginning below the first row and continuing on until complete.
4. The majority of users indicate that the textual content is of greatest value, however, a somewhat higher quality reproduction could be made from "photographs" if essential to the understanding of the dissertation. Silver prints of "photographs" may be ordered at additional charge by writing the Order Department, giving the catalog number, title, author and specific pages you wish reproduced.
5. PLEASE NOTE: Some pages may have indistinct print. Filmed as received.
University Microfilms International 300 North Zeeb Road Ann Arbor, Michigan 48106 USA St John's Road. Tyter s Green High Wycombe. Bucks. England HP10 6HR 77- 17,109 LEGGETT, Ernest Wil1iam, Jr., 1948- TOOLS AND TECHNIQUES FOR CLASSIFYING NP-HARD PROBLEMS. The Ohio State University, Ph.D., 1977 Computer Science
Xerox University MicrofilmsAnn f Arbor, Michigan 46106 TOOLS AND TECHNIQUES FOR CLASSIFYING
NP-HARD PROBLEMS
DISSERTATION
Presented in Partial Fulfillment of the Requirements for
the Degree Doctor of Philosophy in the Graduate
School of The Ohio State University
By
Ernest Villlam Leggett, Jr., B.S., M.S.
* ★ * * *
The Ohio State University
1977
Reading Committee: Approved By
Prof. Daniel J. Moore / Prof. H. William Buttelmann Prof. Lee J. White Adviser Department of Computer and Information Science For Mary and Heather ACKNOWLEDGMENTS
This dissertation would not have been possible without the advice and encouragement of my advisor, Dan Moore, for which I am grateful. I would also like to thank the other members of my reading committee, Lee White and Bill Buttelmann, for their guidance.
I appreciate the support and understanding my co-workers at
The Ohio State University Instruction and Research Computer Center and
Its director, Prof. Roy F. Reeves.
Finally, I thank my daughter, Heather, for her pleasant diversions during the writing of this dissertation. Most of all, I thank my wife, Mary, for her patience and love. In her opinion, the degree should be made out in "joint name," and I cannot disagree.
ii TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS ...... ii
LIST OF F I G U R E S ...... iv
LIST OF N O T A T I O N ...... v
Chapter
I INTRODUCTION AND BASIC DEFINITIONS ...... 1
II REDUCIBILITIES...... 28
III CLASSIFYING HARD PROBLEMS ...... 58
IV INTUITION, PHILOSOPHY AND INSIGHTS ...... Ik
V CONCLUSION AND OPEN P R O B L E M S ...... 91
Appendix
A ON RELATIVIZATIONS NPA AND DTIMEA (2lln) ...... 101
B PROBLEM DEFINITIONS ...... 105
BIBLIOGRAPHY ...... Ill
iii LIST OF FIGURES
Figure Page
1 The Polynomial Hierarchy ...... 17
2 Inclusions Among Polynomial Relations on PH .... 39
3 Constructing A <"p B^ From A <”p 51
4 Network Flow from Knapsack Packing ...... 68
iv LIST OF NOTATION
Page Page A A 5 P , NP 21 46 *pe’< > “pe< i 6 21 51 6 np ,P 25 essentially in = t*■*= “ t 6 unary 62
7 25 preserves the =n< » “lognp subproblems 94 35 13 ■m p-isomorphism 95 14 E- preserving 37 L-polynomially 14 approximable 97 np < » < 37 *c =c A-density 97 14 maximal relation 40 16 transitive 16 subrelation 40
"P 40 16
16 CHAPTER I
INTRODUCTION AND BASIC DEFINITIONS
Introduction
In recent years, study in the area of computational complexity has drifted from the question "can this be computed" to the question
"can this be computed efficiently?" There is one particular group of well over one hundred problems that we know can be solved, theoretically, usually by time-consuming combinatorial searches. This group of problems
contains a great many of extremely practical significance that many
people would like to be able to solve efficiently. We briefly describe
several of them in Appendix B. It is not the purpose of this thesis to dwell extensively on details of these problems. The interested reader may consult references [AHU 74, Ka 72, Sa 74, SG 76] for further lists, discussions of, and references to this collection of problems. The
practical importance of this class of problems should not be underesti mated. One can pick up almost any copy of the SIAM Journal on Computing,
Journal of the ACM, network or graph theory journal, or journal on oper ations research and find new problems in this class or discussions of
improved methods for attacking old ones. This class of problems includes
ones from graph theory and its applications, network flows, integer
programming, data base record clustering, computer and job shop
scheduling, program code optimization, artificial Intelligence,
1 2 mathematical logic, formal languages, program structuring and verifica
tion, geometry, number theory, and many other diverse areas.
Technically, these problems have been termed "NP-hard," with an
important subclass being the "NP-complete" problems. We will define
these notions precisely later. The important point is that all of these
problems from so many different areas of Interest appear to require an
exponential amount of time to solve exactly. With our current tech
nology and the sizes of the problems we wish to solve, obtaining exact
solutions to the problems with current methods is too expensive, in most instances.
Other problems, for which it seems fiscally sound to obtain
exact solutions, have algorithms with running times bounded by a low-
degree polynomial function of the size of the input question. Using a
special type of machine model, a so-called "nondeterministic" one, which
allows us to make guesses to decide what to do next in solving an
instance of a problem, we can solve the "NP-complete" problems in similar
low-degree polynomial time bounds, if we make the assumption that we
always make the correct guess in executing a "nondeterministic" method.
The question of whether normal algorithmic, or "deterministic,"
methods that are efficient (i.e., polynomially bounded) can be constructed
from the "nondeterministic," or fortuitous-guessing, methods for solving
the "NP-complete" problems is considered by many to be the outstanding
open problem in the theory of computing today [e.g., see AHU 74,
Chapter 10]. It is often referred to as the "is P equal to NP?" problem.
The underlying purpose of the research presented here is to
hopefully, make a contribution to the study of the nature of nondetermlnism 3 and the ultimate solution of the P - NP? and related problems. We want to better understand what common features the many, diverse NP-hard problems have and what the true nature of nondeterminism Is.
We feel strongly that the effort to synthesize the essence of difficulty of those problems will be most successful if problems of similar difficulty are grouped as precisely as possible. One proposed vehicle for such a grouping is the Polynomial Hierarchy of Meyer and
Stockmeyer [MS 72], which we will define later in this chapter. In this thesis, we locate several subclasses of "NP-hard" problems, particularly optimization problems, in that hierarchy, demonstrating several methods we devise.
Our methods utilize query or oracle machines, machines which, from time to time in the course of their computations, request informa tion from an external agent, or oracle. The information from these oracular queries is presumed to be given immediately at a nominal cost, unlike that from the fickle Greek, oracle at Delphi. By putting certain restrictions on the kinds of query information such procedures may receive, so as to capture what we intuitively feel is the relationship between nondeterminism and query machine procedures, we can use those restricted procedures to more precisely classify interesting, hard problems. As a side benefit, we obtain several interesting results concerning those query procedures, or reduction relations, as they are often called.
In the course of the study of these problems and reductions, we have gained some intuitive insights into the nature of the difficulties
involved. These are discussed in Chapter IV of this thesis. The 4 nontechnically-oriented reader may get the basic impact of this work by skimming the definitions and theorems of Chapters I, XI, and III, reading the relatively non-technical Chapter IV, and skimming the con clusions and open problems in Chapter V.
Basic Definitions
Many of our basic definitions are similar to those in [AHU 74].
The reader may wish to refer to that text for related definitions, more extended discussions, and other properties of the objects we will be working with. Our definitions are standard, and so this section may be largely skipped by anyone familiar with the area.
Central to all our discussion is the notion of an abstract computing machine, which we can, hopefully, convince ourselves is not of greatly differing power than modern, real computing machines, dispite the simplicity of the model. Our machines are those generally accepted as standards for measuring the "time" and "space" needed to do some computations [Ro 67, BL 74, AHU 74, HU 69].
Our machines will operate on some fixed, finite set of symbols
(the alphabet), which we will often assume to be the binary alphabet
(0,1). It is well known that any finite alphabet can be encoded in binary with essentially no increase in cost in the measures we will be using. The input to our machines will be a tape with a finite number of
symbols written between the special endmarker symbols. The output will be a one-way, potentially infinite tape. There may also be some finite number of work tapes or memory registers for use by the machine, as well
as a possible query tape for writing questions to and answers from some
oracle, or external agent. We assume that, when the machine halts, either an "accept" or a "reject" light will be turned on. We will usually assume some sort of a timer on the machine so that it will always halt. Our main models will be the Turing Machine and the RAM
(AHU 74].
More formally,
Definition: A k-worktape Turing Machine (k-tape TM) is a seven tuple
(Q,T,S,{b,$,c},q0,A) where
1. Q is the finite set of states
2. T is the finite set of tape symbols
3. I cr T is the set of input tape symbols
4. b C T is the blank
5. $,
always unique, then TM is deterministic, otherwise it is
nondeterministic.
The standard interpretation is that the machine starts in state q^ scanning the left-most input symbol on tape 1, the input tape, with all other tapes blank. Then, according to the symbols under the heads of the input tape, k work tapes, and output tape, and the current state, the TM makes a move (costing one time unit) in which it can, according to 5, write a new symbol under each tape head and move each tape head
(independently) one square to the left, one square to the right, or stay where It Is, and possibly change states. The machine may also volun tarily halt. We assume that the tape head never moves left on the output tape, past the endmarkers on the input tape, nor off the left of the semi-infinite work tapes. We also assume that the input tape symbols are never changed.
The 6 function, which describes what will be done next at any
stage of the computation, can be personified as the computing agent. If
the agent has only one choice (value of the 6 function) of what to do at all stages in the computation, he is following a deterministic procedure.
If the agent or machine ever has a choice (multiple values for the fi
function) of what to do next, then it must guess which move it should make next during the course of a computation, and, by definition, would
be following a nondeterministic procedure.
Often, we will assume that one of the work tapes is a special
query tape, and that there are three special query states q?, q , and ye s qno* The interpretation is that when the TM enters state?, it tempo
rarily halts, and the oracle assumes that the query tape has an oracle
question. The oracle then erases the question, writes in the answer (if
there is one) and restarts the TM in state q or q , according to yes no whether the oracle accepted or rejected the query. Such a TM is a query
or oracle TM.
If we are only Interested in whether the "accept" or "reject"
light comes on for a certain input, we call the TM an acceptor. If we
are also interested in the contents of the output tape, we call the TM
a transducer. Under the standard nondeterministic model, an input is
accepted if any possible legal sequence of moves causes the machine to 7 halt In an accepting state. If all possible computation paths lead to rej ecting states, the input is said to be rejected by the TM. The con tents of the output tape for a transducer are ignored unless the machine ends in an accepting state. Notice that it is possible for a transducer to give several different answers to an input string in our nondetermin istic model.
Another common machine model seems more like our modern computers, but is, in fact, essentially of the same power as a TM, for our purposes.
Definition: A RAM, Random Access Machine, with k registers consists of:
1. a read-only input tape
2. a write-only output tape
3. a location counter
4. a finite set r^, r^, r^, ..., r^ of registers, each
capable of containing an arbitrary binary integer
5. a program
A program is a finite sequence of instructions, possibly
labelled. The set of instructions is:
1. LOAD operand (into rQ)
2. STORE operand (from Tq )
3. ADD operand (to r0>
4. sim operand (from rQ)
5. READ operand (from input tape)
6. WRITE operand (to output tape)
7. JUMP label 8
8. JGTZ label (jump if rfl > 0)
9. JZERO label (jump if rQ - 0)
10. HALT ACCEPT
11. HALT REJECT
An operand may be one of
1. =i, indicating the integer i itself
2. i, indicating the contents of
3. *i, indicating indirect addressing— that is, the contents
of r t where r. contains the number j. j i If no two program instructions have the same label, then
the RAM is deterministic, otherwise it is nondeterministic.
A query RAM has "?" as a legal operand of JUMP, JGTZ, or
JZERO. It should have at least one instruction labelled
YES and one labelled NO. One of its registers is r^, the
query register (usually r^).
The intended interpretation is that the location counter ini tially points to the first program instruction. As an instruction is executed, the location counter is set to the next instruction, unless a jump is successfully executed, in which case an instruction with that label is indicated by the location counter and so will be the next instruction to be executed.
We will be concerned with the computation costs of various programs or machines. The two measures that will concern us are "time" or the number of instructions or steps executed and "space" or the number of different tape squares visited during the course of a 9 computation. For the RAM model, the space used is the sum of the number of register bits referenced, or the sum over all registers of the posi tion of the heighest order bit of the register set to "1" during the course of a computation. We will also refer to "workspace," or the space measure obtained without adding in the input or output tape space used.
The following definitions describe the measures we will use in enough detail for our purposes. For more technical discussions and results, see [AHU 74],
Definition: 1. The TM time measure for a given input is the number of
steps or moves (6 function transitions) executed until a
HALT is executed. If the machine does not halt with the
given input, the time used is undefined.
2. The RAM tiroe measure is the sum of the time costs for
all instruction executed until a HALT is executed. If the
machine does not halt on that input, the time used is
undefined. The time cost for an instruction is the number
of significant bits in all registers referenced or changed
by an instruction, where the number of significant bits is
equivalent to the position of the highest order bit set to
*1.' If no registers are referenced, the time cost is one
unit. This measure is often referred to as the logarithmic
time measure, because the number of significant bits in a
register is essentially just the binary logarithm of the
binary number represented by the contents of a register. 10
3. The TM space measure for a given input is the total number of different tape squares ever visited by a tape head, summed over all tapes, during the course of the com putation. If the machine does not halt with the given input, the time used is undefined.
A. The RAM space measure for a given input is the sum over all registers of the highest order bit of a register that was ever set to *1' during the course of a computation. If the machine does not halt with the given input, the space used is undefined. If a register referenced during the computation always had a value of 0, then the space cost for that register is one unit, by convention. Notice that if we consider the contents of the registers as binary numbers, then the space cost for a register is essentially the binary logarithm of the largest number in that register at any point during the course of the computation.
5. The TM workspace measure is the same as the TM space measure, except that tape squares visited on the input and output tapes are not included in the total.
6. The RAM workspace measure is the same as the RAM space measure, except that the number of bits on the input or output tapes is not included in the total.
7. The RAM unit time measure for a given input is the total number of instructions executed before a HALT is executed.
If the machine does not halt on that input, the time used is undefined. 11
For nondeterministic machines, the cost to accept an input is the minimum cost over all possible computation sequences that lead to
"HALT ACCEPT" for that input. If an input is rejected, then remember that all possible computation or instruction sequences must then lead to
"HALT REJECT," or not halt at all, and so the cost of rejecting an
input is the minimum over all sequences leading to "HALT REJECT."
Rather than speaking only in terms of the cost for a given input,
it is often convenient to express the computation cost as a function of
the size (number of symbols or bits on the input tape) of the possible
inputs.
Convention: x will generally represent the input to a machine, and
n = |x |» t*ie length of x in bits or tape symbols, will be
the independent variable used in measuring the time or
space used by a machine. Notice that if x is in binary,
|x| = log(x), where log(x) is the binary logarithm of the
number represented by x.
Definition: If, for all inputs x to a machine, the time (or space)
units used is bounded by some constant times a function
f(|x|), then the machine, either deterministic or non
deterministic, is said to operate in time (or space) _f.
We will be mostly concerned with polynomial bounds, especially low-degree
polynomial bounds for computation, because such computations appear to
be feasible with our current technology. On the other hand, exponential 12 bounds for most problems makes computations on even moderate-sized problems generally infeasible [see HS 76, AHU 74].
When we discuss RAM time measures, we will always mean the logarithmic cost, or 2 above, unless otherwise stated. We will be free to use the TM or RAM model as we see fit due to the following technical result:
Theorem 1.1: [see AHU 74] Given a RAM that accepts a set of inputs, in
time t([x|) and space s(|x|),
1. there exists a TM that accepts exactly the same set 2 of inputs in time t ,
2. there exists a TM (not necessarily the same one as
in 1) that accepts exactly the same set of inputs in 2 space s .
Similarly, given a TM that accepts a set in time t and
space s, we can find a RAM that accepts the same set in
2 2 time t and one that accepts the same set in space s .
because we will concern ourselves mainly with general classes of time or space bounds, such as all polynomials, the low degree polynomial factor needed for a TM to simulate a RAM or a RAM to simulate a TM will not affect our groupings of problems. We will, in fact, usually Just talk about machines, because the results would not essentially differ for either the RAM or TM model. The only other machine model we will be concerned with, and then only briefly in Chapter IV, is the fallowing: 13
Definition: An MRAM is a RAM with the additional available instruction:
12. MULT operand (times number in r^, result goes to r^)
For an MRAM, the time cost is unit cost, or one unit per
instruction executed. Space and workspace are defined as
for a RAM. In addition, we will consider the MRAM., , with H o logarithmic input/output time cost, otherwise unit time
cost. That is, only READ and WRITE have a time cost of the
number of bits read or written, other instructions cost
only one time unit, including MULT.
It is convenient to have ways of talking about all sets that can
be recognized in certain bounds. The generally accepted definitions for
the classes of sets or problems we will be using are:
Definition: 1. DTIME(f) is the collection of sets or problems such that
for each set there is a deterministic machine that recog
nizes the set in time bound cf(|x|), where c is some
constant and f a function.
2. NTIME(f) is the collection of sets or problems such that
for each problem there is a nondeterministic machine that
recognizes the set in time bound cf(|xj), where c is some
constant and f a function.
3. DSPACE(f) is defined similar to DTIME(f), except we are
concerned with space rather than time bounds.
4. NSPACE(f) is defined similar to NTIME(f), except we are
concerned with space rather than time bounds. Definition: (Special Classes)
on 1. PTIME = P - U Dl’IME(nk) k-0
2. NPTIME = NP = U NTIME(nk) k-0
QO 3. PSPACE « U DSPACE(nk) k-0
<30 4. NPSPACE = U NPSPACE(nk) k-0
5. DTIME(2lin) - U DTIME(2kn) k-0
6. DTIME(2P°ly) U U DTIME(2( 1 *) kl=0
7. co-C = the collection of sets A whose complements, A,
are in class C. For example, co-NP is the collection of
sets whose complements are in NP = NPTIME.
As we mentioned before, the fate of feasible solutions to a large
class of problems is tied up in the P = NP? question, or whether or not
nondeterministic polynomial time bounded machines can recognize or accept
sets which cannot be recognized in polynomial time by deterministic
machines.
The question has been answered for PSPACE and NPSPACE and,
surprisingly, PSPACE - NPSPACE. 15 k 2k Theorem 1.2: [Sa 70] NPSPACE(n ) c PSPACE(n ), for all k. Therefore,
NPSPACE « PSPACE.
Savitch use a clever recursion and simulation technique to prove
NPSPACE = PSPACE. However, his technique does not appear to be appli cable at all to the question of whether P, the collection of sets accepted in deterministic polynomially bounded time, is equal to NP, the collection of sets accepted in nondeterministic polynomially bounded time. This is because Savitch1s technique, while requiring only the square of the space for the simulation of NPSPACE in PSPACE, requires a potentially exponential amount more time.
That is, when working with space bounds, we are free to use all the time we want. However, there is no corresponding freedom in working with time bounds, since it intuitively takes t time units to scan t tape squares. Thus, we have no expendable extra resource, as time is in space measures, and so Savitcl^s techniques do not apply.
For a nice tabular summary of what is known about the inclusions among the above classes, see [Bo 74]. In particular, P = NP? and
NP = co-NP? and P = PSPACE? are unknown, although most suspect that none are equal [HS 76].
The Polynomial Hierarchy
A set in P may be defined as {x|P(x)}, where P(x) is a polynomial time computable predicate, or a property that can be decided in deterministic polynomial time. To show an input string x is in an NP set, we have to show there exists a computation sequence (that is, a way of making all the right guesses) leading to HALT ACCEPT. In other words, 16 a set in NP may be defined as {x|(3y)[P(x,y)]}, where P(x,y) is com putable in deterministic polynomial time and [y[ < p(|x|)t so that we can be sure the "answer," y, doesn't get too long. If we replace
"polynomial" by "recursive" in this discussion, we can see an analogy between P and the class of recursive sets and NP and the class of recursively enumerable (r.e.) sets. This leads us to try analogs of recursion theory tools, such as relative computability, reduction between sets, and complexity heirarchies.
The Polynomial Hierarchy was developed by Meyer and Stockmeyer
[MS 72] as a recursion-theoretic analog that, they hoped, might be useful in classifying and studying hard practical problems.
Definition: [MS 72) The Polynomial Hierarchy, PH, is a collection of
sets Jl£, and Ak defined as follows:
1. if is the collection of sets A such that k A = {x|(3y1Vy23y3-..Qkyk)[P(x1,y1,y2,....y^))}
2. nf is the collection of sets B such that k B = (x| (Vy13y2Vy3 ..- Q ^ ) [PCxj^.y^^.yj, ... ,yk)]}
3. Ak is the collection of sets that can be recognized in
deterministic polynomial time by an oracle machine with
a eP oracle k where P(x,y^ yk) is a deterministic polynomial time
computable predicate, |yk | < p(|x|) for some polynomial p,
Qk is "3" if k is odd and "V" if k is even, and Qk is "3"
if k is odd and "V" if k is even. 3V 3V3...
■ • • AT • • • Ml
V V3 V3V. co-NP
Figure 1. The Polynomial Hierarchy 18
Admittedly, this definition in terms of "3V" is somewhat hard to grasp, at first. The main feature is that P, NP, and co-NP are at the lower levels and the higher levels are constructed from the lower ones by the complications of additional quantifiers. We certainly would admit that a formula with five quantifiers on the front is rather diffi cult to comprehend. In fact, the practical problems we locate in PH are all at A^, near the low end. The practical problem classified at the highest level we know of is only at level [MS 72]. The other e£, Jl£, and a £ problems for large k devised by us and others are all quite contrived from problems at lower levels and are not, in our opinion, "natural" problems at all.
The basic Inclusion structure of the hierarchy is shown in
Figure 1, with inclusion from left to right. Notice that = ^0 * ^1 *
P, E^ ■ NP, and * co-NP. For each k, E^ and are somewhat compli mentary, as E^ * co-Jl£, and are not comparable if the hierarchy is proper. contains both E^ and n£ and is contained in both a^d "wr The structure is used in the following manner. When presented with a problem, we may try to describe its solutions in terms of quanti fiers and simply tested predicates, or properties. For example, solutions to the chromatic number graph problem (MCOL in Appendix B ) , can be loosely described as "3 a way to color the graph with k colors such that V ways to color It with k - 1 colors [there are adjacent nodes colored the same]." Given a graph coloring, it is fairly simple to verify whether or not it is a legitimate one, with no adjacent nodes having the same color. We can take the informal description of MCOL and 19 show that it is of the form MCOL = { (k,G) j [P(y^ ^ 2 *k,G) ] ) » where G is the graph and k is the number of colors. Thus, it can be shown that MCOL is in of the hierarchy.
The next step is to try and show that it is in no complimentary or lower level. Techniques for showing this will be described in
Chapters II and III. In fact, MCOL is in AP and, therefore, in 11^. but not in NP or co-NP unless NP = co-NP, as we will show.
If, in our fomulation, we come up with back-to-back "3" or "V" signs, there is a technical lemma that allows us to "squeeze them together." In other words, the IP or nP level is determined by the leading quantifier and the number of alternations of quantifiers.
We demand |y^j < p(jx|) for some polynomial p so that we can be sure that we can write down the y_^ in polynomial time. Because of this length restriction, we can exhaustively check all possible y^ in poly nomial exponential time or DTIME(2P°^y) , for all sets in PH. Also, we can enumerate the y^ and test each instance of P(x,y^ y^) individ ually, and so we can show PHt= PSPACE, also. In fact, all known PH 1 in problems are in DTIME(2 ), but it is unknown if all PH problems must be in DTIME(2^*n). These technical results can be summarized in the following theorem:
Theorem 1.3: [see St 75, MS 72] ijj = ItP * AP = P; IP - NP; nP * co-NP;
l\ > co-ng f°r all k; ig u ng <= *g+1 = ig+1 n ng+1;
PH c DTIME(2poly); PH c PSPACE; PH e DTIME(2lln) is 20
unknown; a formula containing ...3y^3y^+ ^... can be
changed to ...3y^..., and similarly for back-to-back
"V" signs.
Unfortunately, we do not know if the hierarchy is proper or not, or even if it is not just the set P! We do know that if it collapses at some point, the whole thing falls on top of itself at that point:
Theorem 1.4: [MS 72] If * n£ for some k > 1, or if for
some k > 1, then for all j > k, * Hj * Aj+1 = ^k* In
particular, if P = NP, then PH = P. If NP * co-NP, then
PH = NP.
Relativization is also a useful concept borrowed from recursion theory. We have already described what a query or oracle machine is and have talked about the collection of machines (or sets they accept) bounded by some common class of functions, such as the polynomials.
Relativization puts the two concepts together. If C is the collection of machines bounded by some common time or space bound and A is some set or oracle, then is the collection of sets that can be recognized with a bounded query machine using A as an oracle. We can carry this further and define (P as the collection of sets recognized by a bounded query machine using any of the sets in V as an oracle. For example: 21
A Definition: [See BGS 75] 1. P or P(A) is the class of sets B such
that B can be recognized in deterministic polynomial time
by a query machine with oracle A. A 2. NP or NP(A) is the class of sets B such that B can be
recognized in nondeterministic polynomial time by a query
machine with oracle A.
3. P(C) = U P(A). A CC
4. NP(C) ■ U NP (A) . ACC
Notice that we have defined A?, , as P(E?). In fact, the whole k+1 k hierarchy can be defined using the relativization concept:
Theorem 1.5: [Wr 75] = NP(zJ) * NP(Jl£) ; n£+1 = co-NP(z£) -
co-NP(n^).
Proof: We will indicate a portion of a proof that was discovered inde
pendently of the proof in [Wr 75] and is indicative of the type of
encoding technique that can be used on PH problems. The underlying
concept is essentially the same as that used in [Wr 75], but the use of
that concept is more recursion-like than formal language-like.
Definition: The polynomial Kleene T-predicate, T , is defined as
Tp(x,y,z) - 1 if and only if machine x accepts input y with
z as its instruction execution trace (that is, a list of
every instruction executed in accepting y). The machine x 22
is an NP machine, or a nondeterministic polynomial time-
bounded machine.
In other words, z should be a list of instructions that could be executed by machine x on input y. Notice that if the machine is nondeterministic, there may be several legal traces on a given input, corresponding to different guesses or values of the 5 function used at certain points in the computation.
Proposition 1.6: is a deterministic polynomial-time computable
predicate.
3 Proof: Checking a trace that is of length t takes at most time t
[AHU 74]. C
(Continuation of proof of theorem 1.4): Now assume that A is accepted by
NP machine m, with oracle B in * NP. We will show that A is in
Since B is in NP, B is recognized by NP machine with oracle 0 , the empty set, then we claim A * {x|(3y1Vy2>[S(x^,y^,z^)]} for some polynomial S such that | [ < S(|xj), where SCx^.y^.z^) is a polynomial predicate or "trace tester" that works as follows.
The strings y^ and y^ will essentially be sequences of legal instructions with some other information. S verifies, much like Tp, that y^ is a trace of m, on input x up to the first oracle question. At that point, will contain a OY or ON, for "oracle yes" or "oracle no."
If OY, the y^ will contain a trace of m^ on the oracle question which 23 should end with a HALT ACCEPT, showing that the oracle answer was Indeed
"yes." If ON was put on y^, then y2 will contain a legal trace of m2 on the oracle question. As we go through more oracle questions, we keep building the trace strings y^ and y2 in this way. Of course, all traces in y2 should end in HALT REJECT for the ON in y^ to be telling the truth.
It is not hard to see that S can check y^ and y2 , given m^ and m2> in polynomial time. Then x will be in A if there exists a trace y that is valid and leads to HALT ACCEPT where all the OY questions have valid traces in y^ leading to HALT ACCEPT for ant^ anY valid trace in y2 for m2 on an oracle question does lead to HALT REJECT by m2<
The details of the proof are left to the reader and [Wr 75]. □
So, we are free to use the 3V or the relativized characteriza
tion of PH, whichever is more convenient. As a side note on relativi
zation, Baker, Gill, and Solvay have shown:
Theorem 1.7: [BGS 75] There exist recursive sets A, B, and C such that A 1. P
2. NP® = co-NFB and PB J NPB
3. NPC j co-NPC
Extending their techniques, we have shown:
Theorem 1.8: There exists a recursive set D such that NPDQ DTIMEB(2^*n).
Proof: See Appendix A. □ 24
This result indicates that the NP ^ DTIME(2**n) question may be quite difficult indeed, because common techniques for showing that type of inclusion usually hold across all relativizations to recursive sets.
So we will need much more powerful tools than we now have available to attack the basic problem.
Relativization and theorem 1.3 are intertwined in the following way:
Theorem 1.9: If PA = NPA for A E ^-complete for some k, then “
and the hierarchy collapses at that point.
Proof: (We will define ^-completeness in the next chapter.) If A is
E^-complete, then PA - A£+l and * ^k+l theorem 1.4. If
= ^k+l’ c^en the hierarchy PH collapses at that point by theorem 1.3. □
Similar results can also be shown for A n^-complete or proper- a £. Obviously, the sets constructed by [BGS 75] or as in Appendix A are not known to be in PH, because we do not know if PH collapses or not.
One reason is that the constructions diagonalize over all polynomial
bounds, and even over all exponential bounds, in some cases. It is,
therefore, practically impossible to get any sort of polynomial bounds,
however large, with such diagonalization techniques. In fact, most of
the sets so constructed are even harder than PSPACE, it would appear. 25
Polynomial Reducibllity
Quite often, it is more convenient to characterize the oracle machine relativizations as reduction relations, or reducibilities. The basic polynomially-bounded analogs of recursion reducibilities are as follows:
Definition: [See St 75] 1. A <£ B, A is polynomial turing reducible
to B, if A C P(B).
2. A <£** B , A is NP turing reducible to B , if A £ NP(B).
3. A B, A is polynomial many-one reducible to B, if
there is a polynomially computable function f such that
x C A if and only if f(x) £ B.
4. A -log <, B, A is —logspace a— c------reducible*nn to B if A <** B and
f can be computed in log workspace, where log is the base
two logarithm of the input x.
Reducibility is a technical notaLional device used to describe bounds or restrictions on certain types of query machines.
Summary of What is to Come
In Chapter II, we first introduce the notion of complete and hard sets, which has been a central idea in low-level complexity argu ments since Cook's famous paper [Co 71, Ka 72]. We exhibit the
I^-complete sets developed by Meyer and Stockmeyer [MS 72] and define proper-A^ problems, an idea developed by us and used extensively in 26
Chapter III. The heart of the discussion in Chapter II concerns various polynomial-time reductions with special constraints, both deterministic and nondeterministic. We discuss several such reductions, mainly some studied in [LLS 74], and list some properties of them. We are mainly concerned with their behavior on PH.
We search for a maximal reduction on PH (one that relates as many sets as possible) that is E-preserving (does not "hop up" levels in PH as <”** does in theorem 1.3). Our main results are that a class of reductions obtained by putting non-constant lower bounds on "no" answered oracle questions probably do not work and that a new relation, defined by us as < , does work and, for our purposes, behaves much like on PH.
This reduction was inspired by definitions of polynomial-time enumer ation reducibility, and In Chapter III, we show that many optimizations problems, known to be NP-hard, which arise from well-known NP-complete problems, are, in fact, proper-A^ problems if NP f* co-NP. That is, problems such as the Travelling Salesman, Chromatic Number, and Maximal Clique problems are not in NP or co-NP if E^ 4 It is known that such problems are in A^ [AHU 74], but this is the first time many practical problems have been shown to be in PH, properly higher than NP or co-NP, if the hierarchy does not collapse by that point. We use several techniques and show how p they might be used to show other optimization problems are proper-Aj problems. We conclude by demonstrating that our techniques can be used to prove the existence of problems in not in e£ or if 4 n£, 27 for all k > 1. This answers an open problem concerning PH, namely that is a proper subset of A^+i if 4 n£ at any level at NP or above in PH. In Chapter IV, we discuss the intuitions that led to our results and discuss the philosophical implications. We expand upon the "yes-no" answer problem for oracle machines* noting that "yes,'' or positive information, from NP sets in the nondeterministic model is much cheaper than the co-NP "no" information. The NP/co-NP/A^ distinction can also be discussed in terms of proof length and the difficulty of finding proofs. We also discuss the acceptor/transducer question and extend Simon's RAM ■ MRAM? acceptor question to the corresponding RAM = MRAM^^ question for transducers. We close with the fact that both positive and negative oracle information is needed to solve our proper-A^ problems with deterministic query machines and include a discussion of the NP <= DTIME(2^^n)? question and possible implications of containment. In the concluding Chapter V, we reflect on the difficulties with the important approximation approach to NP-hard problems. We summarize some obstacles for defining and classifying groups of approximations and indicate possible avenues of research for this hard problem. We then summarize our results and the main open questions we hope to attack in the future. Appendix A contains the proof for theorem 1.9 and related notions. Appendix B contains the definitions of some particular hard problems we discuss in the coming chapters. CHAPTER II REDUCIBILITIES In this chapter, we will define several reducibilities and prove that they have some useful properties. We will also show that some natural ones are probably not useful. As we will see in the next chapter, the main use of reducibilities' is with complete problems for classes of sets. Complete Problems In the previous chapter, we defined the and reduci bilities. A pivotal concept in the use of those and others— in fact, the concept that opened up the whole area of study— is the existence of complete sets {Co 71, Ka 72]. A complete set for some class is, in a sense, the hardest problem in that class. Using reducibilities, we can then show other problems are also among the hardest of a class. Definltlon: A problem A is C-complete for a class C of problems with respect to a reducibility if 1. A C C 2. (VB C C) [B 28 29 That is, A is complete for a class if its structure is rich enough to enable us to efficiently solve any other problem in C using information about A. We will almost always use If no reducibility is specifically mentioned in a future discussion, the reader may safely assume that Definition: A set or problem A is NP-complete if 1. A £ NP 2. (VB C N P ) [ B Theorem 2.1: [Co 71] SAT1 is NP-complete. Actually, Cook used even for f^og' an<* ^arp also often called the problems P-complete. Others have defined a problem A to be P-complete if A is in P if and only if P = NP [SG 76]. We will not debate the possible defi nitions further, but merely warn the reader of the inconsistency in publications in this field. In fact, Sahni's P-completeness is the same as our NP-completeness if and only if P ■ NP. 10ur definitions of various problems may be found in Appendix B. 30 An advantage to our definition is the following: Proposition 2.2: [see MS 72] A set A is NP-complete if and only if A, the complement of A, is co-NP-complete. That is, A is ^-complete if and only if A is Il^-coraplete. In fact, A is I^-complete if and only if A is n^-complete. Proof: A B if and only if A B. ^ ----- =m “m Thus, for every NP-complete or I^-complete problem, there is a corresponding co-NP-complete or n^-complete problem. For example, IS. UNSAT, or TAUT, which is essentially equivalent, is co-NP-complete, or n^-complete, because SAT is NP-complete. However, the large number of NP-complete problems were found using the technique of Karp [Ka 72]: 1. Show A is in NP, which is often easy 2. Show B A, where B is known to be NP-complete =m From that, we can conclude: 3. A is NP-complete Using this technique, we do not have to do a simulation of every possible NP machine to show a problem is complete. All we have to do, once we have one NP-complete problem, such as SAT, is show that thecomplete problem is efficiently solved using an NP problem A. Then'A is also NP-complete. This technique is generally much, much easier, because we do not have to bother with encodings of TM moves and the peculiarities of the 6 function. 31 Theorem 2.3: [See Ka 72, AHU 74] 3SAT, HAM, KSE, kKS, kCOL, kCLI, kWHC, FAL, kVER, kCUT, and many other problems from graph theory, scheduling, 0-1 integer programming, regular expressions, and propositional logic are NP-complete. Proof: Use the above technique, often in a transitive manner. That is, show, for example, that SAT kVER kCLI <** HAM to prove kVER, kCLI, =m =m =td and HAM are NP-complete. □ It is interesting that so many problems in so many diverse fields are of essentially the same difficulty. There are hundreds of problems we could have listed, and the list is still growing rapidly. Many man-years have been devoted to finding efficient solutions to some of these problems, and no one has been able to prove that any one of them is efficiently solvable. No one has been able to prove that any one does not have a polynomial time solution, either. This can be summarized by the following result: Theorem 2.A : [Co 71] P * NP if and only if some NP-complete problem is in P. P P Proof: Due to the deterministic polynomial time nature of < , A < B ----- r =m -m and B C P implies AC P. □ This theorem shows the importance of the P * NP? question. The question is important because its solution will have wide implications 32 for the hopes of ever finding efficient, polynomial time solutions for a large class of problems. Using the fact stated in the proof of the previous theorem, we can also show: Theorem 2.5: [MS 72] NP * co-NP if and only if some NP-complete problem is in co-NF, if and only if some co-NP-complete problem is in NP. So, we see that the P = NP? and NP * co-NP? questions are intimately tied to properties of complete problems. At this point, we might woncer if all NP problems that are not in P are NP-complete. Richard Ladner has shown that is not so: Theorem 2.6: [La 75] If P ^ NP, then there are problems in NP - P which are not NP-complete. Also, there are complete sets for for k greater than one. Definition: Let A(x^,x2,...,xk) be a propositional Boolean formula with k variables from U x ., where i-i > Xi “ *xi r x i2* Then 9 * • * 9 xk) | (3x1Vx2. . *Qkxk) [AUj^ \ ■ ,A(xi ’ 1,1 Bfc - {ACx l xk) | (Vx13x2. . -Qk*k) [ A ^ xfc) - 0]} 33 “ {A(x^,..., | ( • • • Q^x^) [A(x^ ,• • * • 11 J where Q is "3" if k is even and "V" is k is odd and k Q* is "V" if k is even and "3" if k is odd. k Notice that B^ * SAT, B.^ = UNSAT, and * TAUT. Theorem 2.7: [MS 72] is ^-complete; B^ and are nP-complete. Complete problems also exist for other frequently discussed classes of problems, such as DLOG, NLOG, PSPACE, and EXPSPACE [AHU 74, St 74, MS 72, MS 73, etc.]. One that we will note in passing is B : 10 Theorem 2.8: [MS 72] If we define B = U B. , then B is ------ID ^ k (D P SPACE-c omp1e t e. Theorem 2.9: [Wr 75] If PSPACE • PH (which is unknown), then PH has only finitely many unique EP. Proof: If PH = PSPACE, then B C PH, so B C if for some k. But oj id k B. ,, Corollary 2.9.1: B^ £ PH if and only if PH collapses at some point. If we drop the condition on the completeness definition that A be in C, ve have a C-hard problem; that is, A is at least as hard, and maybe harder, than any problem in C. Definition: A is C-hard if (VB C C)[B <** A]. Again, we only need to show B A for a C-complete or C-hard problem B to show that A is C-hard. Theorem 2.10: [AHU 74, SG 76, etc.] MSAT, TS = MWHC, KS * MKS, MCOL, MCLI, MVER and many other problems are NP-hard. For many parameterized problems kA, OPT(A), the optimization problem associated with the kA problem, is NP-hard. Any problem in or higher in PH (and not lower) is NP-hard. Another useful notion for use with PH is: Definition: A is a proper-C problem, for C “ Jl£, or a £ of PH if n n n n 1. A is in I, and not in E, , or TL . or Af unless k k-1 k-1 k ^k k-1 or 2. A is in Jl£ and not in or e £ ^ or a £ unless < ■ or 3. A is in a £ and not in or unless 35 For example, a proper-Ap problem would be one In AP and not in 2P or IlP unless NP * co-NP. We will often say a problem A is at some level of PH if it is a proper problem at that level. Notice that Ladner's techniques can be used to show there are proper-NP problems that are not NP-complete or co-NP-complete if P ^ NP. This notion of a proper problem will become very important to us in the coming chapter. More Reducibility Types We will be able to classify problems more easily if we have some other types of reducibility available to us. The ones to be introduced here arise fairly naturally from those considered in Chapter I. First, we can generalize Definition: B x C B if and only if (3y)[f(x,y) £ A and |y| < p|x[] Notice that f is deterministic; the nondeterminism comes from the "3y." The restriction on y is necessary, as before, to keep feasible "answers" from getting too long to write down in polynomial time. This reducibility has two useful properties: Theorem 2.11: [LLS 74] A £ NP implies that B € NP. In fact, B Even though Proposition 2.12: If P ^ NP, then there are sets A and B in NP such that A Proof: [La 75] Ladner shows that (3A, B 6 NP)[A £[ B 4 B A]. But A A £ B. □ -m One way to think of If we allow acceptance of the input string with both "yes" and "no" answers to the oracle queries, we just have <^P reducibility. However, Theorem 2 . 13 : [LLS 74, St 75] < ^ P is transitive on PH if and only if NP = co-NP. <^P is not transitive over all recursive sets. If B <^P A and A G iP, B may "hop up" to t lv eP,, - Ip, because Lack of transitivity and the blurring of the levels of PH by make it practically useless for doing chains of reductions to precisely classify problems in PH. A useful reduction relation should satisfy: Definition: A reduction relation A € implies B € z£ for all A, B, and k > 1. Since This type of reducibility is called a positive reducibility, as an oracle procedure may continue only if it gets positive answers to its oracle queries. Because of the polynomial time bounds we use, all Turing oracle procedures are essentially equivalent to similar truth- table reduction procedures. Therefore, a positive polynomial reduci bility is essentially the same as polynomial conjunctive truth-table reducibility [Ro 67, LLS 74]. We will define our positive reducibilities as follows: Definition: A B if A <£ B via a procedure such that for any x, x ia in A if and only if, in the course of the reduction, all answers to oracle queries for B are "yes" answers. 38 Definltlon: A B if A <”P B via a procedure such that for any x, x is in A if and only if there is a possible computation sequence such that, in the course of the reduction, all answers to oracle queries for B in that computation sequence are "yes" answers. That is, These definitions are really equivalent to the more standard truth-table definitions in [LLS 74] for non-empty, non-empty complement sets, but we allow the flexibility of computing a little between oracle queries, rather than batching all the questions at once, like truth- table reduction procedures do. This adds no computing power, but the positive Turing query machine concept is intuitively easier to grasp. We introduced these reducibilities because they have some useful properties: Theorem 2.14: [LLS 74, La 75] subrelations of if and only if P * NP. All reductions we have discussed so far are subrelations of PH, if NP t co-NP. <= R£ if AR^B implies AR2B. The inclusion is proper if (3A,B) [A ^ B & Alt^B] ; a u ?" indicates that we do not know if the inclusion is proper or not on PH. {All inclusions are proper over the class of all recursive sets.) Figure 2. Inclusions Among Polynomial Relations on PH np The Search for a Maximal Transitive Subrelation of < Since we want reductions to be easy to find, we would like a reduction that relates as many sets as possible, or is maximal, in some sense. It should also be clear that we want a transitive relation, so that we can do chains of reductions, and that a reduction should be E - preserving, so that we can accurately classify problems in PH. Because <^P is conceptually and computationally easy to use, we might hope that we could prove it to be a maximal transitive subrelation of <”p on PH. 40 Definition: < is a maximal transitive subrelation of 1. A 2. < c: 3. If there is an R such that < c: R c <”p and R is ■r * * =t transitive on C, then < * R on C. -r Remember that A Proposition 2.15: Proof: A <"P B for all B € NP, if A £ NP. □ It appears to be difficult to prove directly that <^P is maximal transitive on all of PH. We will return to that question after we show that one possible group of extensions of <”P probably does not work. It appears that allowing long "no" answers, as with full results in a relation that is too strong. We might try to put a small bound on the length of "no" answered queries: Definition: For a positive, nondecreasing integer valued function f not bounded by a constant and bounded by some polynomial, A <^P B if A B and there is a constant c such that for every x, x is in A if and only if there is a possible computation leading to "accept" that has the length of any query to which a "no" answer was received bounded by cf(|x|) where (|x[) is the length of the input x and c is some constant. Of course, "yes" answers are bounded by some polynomial length, because it is an Proposition 2.16: <^P = <^P on DTIME(2^^n) , and <^g^g e on PH t= DTIME(2P°ly) . Proof: [These facts were also noted by Selman, Se 76.] If A <”P B, li n where A and B are in DTIME(2 ), then 3c such that "no" answers are bounded by clog(|x|) in showing x € A by some <^p procedure. But, if B £ DTIME(2*in), then when |y[ < clog(jx|), there is a procedure that can completely determine whether y is in B or not in time 2C < 2° c l8 Similarly, if A i^glg then lyl - clglg< |x]) implies 2P^ y^ < 2P(c^8lg(lx I)) ^ p 1(|xj), for p and p' polynomials and c a constant. So, if A B and B € P H c DTIME(2p0^y ) , then there is another 42 procedure that figures out all the ''short” questions Itself in tine p'(|x|), and so A <"P B. □ It is not known If PH c: DTIME(2*in) , or even if NP c DTIME(2^*n), so we do not know if Theorem 2.17: No <"P is transitive over all recursive sets. That is, for any <^p 3 recursive A, B, and C such that: 1. x£ A if and only if (3z) [jz| = f(|x[) & z E B] 2. x€ B if and only if x ^ £ C, where x ^ is x concatenated with itself [x| times 3. A £^p C, even though U. A <^P E and B Proof: We use a proof technique of Selroan [Se 76] combined with an extension of a proof technique used by Baker, Gill, and Solovay [BGS75]. Let NPf_^ be an enumeration of all and only <”p procedures. We know such an enumeration exists because both NP oracle machines and cf for all positive rational c are enumerable. Let be the constant such that "no" answers are bounded by c^f(|x|) for NPf^ with input x. We assume x is a binary integer and that f is a function on integers. We will construct A, B, and C in stages, preserving conditions 1 and 2 and insuring that A C via NPf^ at the end of stage i. Let - 0, A q , B q and CQ - flL 43 Stage i. At the beginning of stage i, membership in A has been determined for all strings of length up to m, where f(m + 1) > f(m). is the set of strings put in A prior to stage i. B and C are determined 2 2 for all strings of length up to f(m) ■ and (f(m)) * n ^ respectively. B^ and are the sets of strings in B and C prior to stage i. 2 Pick n > n i such that cif(n) < (f(n)) . We can do this since f increases by integer amounts infinitely often, because it is not bounded by any constant. By the choice of n^ at the end of stage i - 1, n will be greater than anything queried so far (see choice of at the end of this discussion of stage i). In fact nothing of length greater than or equal to c (f(n)) will have been queried so far. n (Ci) Next, run NPf. with oracle C. on input x. = 2n . If NFf. l i i i accepts x^, then it could not have demanded that any z such that |z[ = (f( |xi J))2 be in C, because c^f(|x^|) < (f(Jx^j))^. It could not 2 have demanded that z such that |zj<(f(|x.|)) beinC either, because no z that big have been added to yet. So, if NPf^(Ci) accepts x^, put all strings of length f(|x^|) in B and for every member z added to B, put z!Z ! in C. Add to A all strings of length m + 1 to j to A, where j is the largest number such that f(j) < £(|x^|). Put no strings z in A such that f(|z|) = f(|x^|). Membership in A has now been determined on all strings of length up to j ' , where j ' is the largest integer such that f(j’) » f(|x [). f C j \ If NPf^ rejects x^, then put all strings of length si + 1 to j*, where j* is as in the previous case, into A. Add no strings to fl or C. B and C are now determined to never contain any strings of length 2 fClxJ) or (f(|x1t)) , respectively. 44 Pick n' such that n' > n and no string of length + |(f(n')| has been queried so far and such that n' is in range (f). Put all strings of length j ' + 1 to m* in A, where m* is the largest integer such that f(m') = n'. Add no strings to B or C. Thus, B and C are considered determined on all strings of length up to f(m*) ■ n' and 2 2 (f(nt')) * n* , respectively. Set - n', and let ®i+i» C , be A, B, C as determined so far. Go to stage i + 1. IT A * Claim: At the end of stage i, for all x such that f(|x|) < we have 1. x 6 Ai+1 if and only if (3y)[1yI = f (|x|) & y € Bi+1l and 2. (Vy3|y| < f(|x|))[y £ B if and only if y ^ € C] 3. A C via NPfi* (^i) Proof: 3 is easy, because x^ is accepted by NPf^ if and only if x^ r is accepted by NPf^ if and only if x^ £, A^ if and only if x^ £ A. 2 is j V 1 satisfied because whenever we threw any y into B, we threw y 1'1 into C, and that is the only condition under which things were added to C. 1 is satisfied because whenever we added any x to A, we did not add y such that |y J = f(|x|) to B, and so, in effect, added them to B. If we decided not to add some x to A, we did not add any y to A such that f( |y}) - f ( |x|), and we added all y to B such that [y| = f(|x|). Since later stages never disturb A, B, or C for strings of length less than m 2 where f(m) * nj-n or n i+i» t*ie conditions of the claim always hold. Claim □ 45 Therefore, conditions 1, 2f and 3 of the theorem are satisfied by the construction of A, B, and C in the stages above. Condition 1 says A <^P B with c * 1, and condition 2 says B C, because |xlx l| - |x| log(x) |x|*|x[ = |x[^» and so x €. B if and only if £ C is a However, it is still possible that some <”** could be transitive on PH and a proper superset of Later on, we will show that that is probably not the case. In order to prove this, we need some recent results of Selman [Se 76] and his notion of polynomial enumeration reducibility. A set A is polynomially enumerable with respect to a set B if for any polynomial enumeration of B, there is a machine operating in polynomial time that takes the enumeration of B as input and outputs an enumeration of A. Of course, we haven't defined machines with infinite inputs and outputs or what polynomial time means in such a situation. Selman has shown that we can capture this intuitive notion with the following: Definition: [Se 76] A function f is a polynomial-enumerating (polynomial-enumerating in A) function if 1. f is computable in deterministic polynomial time (relative to A) and 2. there is a polynomial q such that (Vy) [y £ range (f) -+ (3x)[|x| < q(jyj) & y - f(x)]]. 46 Theorem 2.18: [Se 76] B is in NP(A) if and only if B has a polynomial enumeration f relative to A. Definition: [Se 76] A < B, A is polynomially enumeration reducible to B, if (VX) [B <"P X -*■ A <"P X] Unfortunately, this definition of is not really a computa tional one, because of the "V." It may be difficult to prove such a relation holds for all recursive X. However, it does have a maximal transitive property: Theorem 2.19: [Se 76] < is transitive and a subrelation of These facts are still not enough to answer the question about Definition: [Se 76] A £pe i_B if for every polynomial q, there exists a nondeterministic oracle procedure that witnesses A <”P B and a constant k such that, for every x, x is in A if and only if some computation yields "accept" and all "no" answers z to queries for that computation are bounded by q( |z|) < klog ( |x|). 47 Proposition 2.20: A f - q_ 1(klog( ))). Proof: This is just a rewording of the definition of our reductions and a reasonable interpretation of q ^( ). □ Thus, even though the <"p probably do not meet our demands, a quantified collection of them considered together do. However, this definition still has a bothersome "Vq," which may make it computation ally difficult to work with, but probably still better than long and difficult proof, Selman shows: Theorem 2.21: [Se 76] < = < . o n the class of all recursive sets. ------=pe =pe So, we are free to use whichever definition seems most easy to use. Even though < * < . is a maximal transitive subrelation of *pe =pe <"p on the class of all recursive sets, that alone does not guarantee that it is maximal transitive on PH, or even that < - < , on PHI =pe =pe This is because A < B on PH means that -pe (VX € PH) [B <"P X A <£P X] , which may not be the same as (VX recursive) [B <"P X ■+ A <”P X], even if A and B are in PH. 48 Theorem 2.22: [Se 76] A A Corollary 2.22.1: < , ■ Theorem 2.23: < is a maximal transitive subset of I-preserving on PH. Proof: Selman’s proof that < is maximal transitive on the class of *pe all recursive sets [Se 76] remains true if we restrict X, A, and B to PH. If A < B and B 6 then B <"P B. . , and so A <”P B, . and A is *pe k =t k-1 *t k-1 also in zP and thus < is Z-preserving. O k *pe np So, < has the maximal property we want and < , * < , the ’ =pe r r j =pe' *c relation that is easy and natural to use. However, the following remains an open question: Open Question: Does < = < , and thus < * We can get a tighter characterization of the question: Theorem 2.24: < , which is equal to lent. 1. (VA.B € PH) (VX € PH) [B <"P X -► A <"P X] 2. (VA,B € PH) (VX recursiv€)[B <"p X -> A <”P X). That is, if and only if f) (PH * PH) is equal to < on PH. =pe Proof: Clearly < , D (PH x PH) * < , on PH, because the definition of =pe *pe It would be nice to have this open question answered, but fortunately, for our purposes, there is yet another reduction relation that is maximal, in some sense, and even computationally easier to use than < »pe Polynomial ir-reduction Most of the reductions used with PH and other classes are used with complete sets to classify other sets, as we mentioned before. In efforts to prove <"P is maximal transitive on PH, the non-complete sets that are proper-Ip for k > 1 pose a problem. It appears to be quite difficult to establish whether A <"P B, if A and B are proper-l£ problems and k > 1 (A <^P B if A £ NP, for any B, as we noted before). A possible way out of this predicament was inspired by the following observation: Theorem 2.25: A Proof: Remember that the B^ are complete for the Ep , and that B^ is thus complete for EP. Assume that A <”P B^ via some procedure M. While computing to see if x € A, M may need a "no" answer from B^. But a "no" from B^ is just a "yes" from B^, so the "no" answer queries could just as easily be handled by a <™p procedure with oracle B^. If M needs a "yes" from Bk> we need to know if (3y1Vy2...Q^y^ [ACy^,....y^) * 1]- But, since we are using an NP procedure, we can "guess" the y^ for free, almost, and so we just need a computation path that will get a "yes" to (Vy23y3-..Qkyfc)[A(y1(...,yk) = 1] for a good guess y ^ But a (Vy2-■-Qkyk)[A(yi.y2*•■*»yk) = 1] query can easily be handled by a Bfc "yes" answer to the question ( V ^ . .. \y kQkyk+i) <^2 * * * * ' where yk+^ is a dummy set of variables that does not appear in A* and [A* (y2 ,... .y^) ] is just [A(y1>... ,yk ) = 1] with the "guessed" values for the y, filled in. So if A <”P B, via M, then A as in Figure 3, which shows how to replace the <”P query in M to B^ with <”p queries in M' to B^. Clearly, A <”P B^ implies A <”P B^ implies A <”P B^, so 51 *«■*? o Figure 3. Constructing A <"P from A <”P Bj The previous theorem motivates the following definition: Definition: A < B if (VB. ) [B §k are nP-complete and is a mnemonic for "polynomial.” Proposition 2.26: A < B if and only if (VB, ) [B Proof: Use theorem 2.25 and the definition of =< it . ------Theorem 2.27: *77 < Is transitive and I-preserving on PH. Proof: Suppose A <_ B < C. Then (VB,_) [B <^P B, -*■ A <"P B, ] and ““1 *TT *7T K tC *C 1C (VB, ) [C A <^P and thus A £ and is 1-preserving. Q The < definition still has a "V" in it, but that can be reduced “IT as follows: Theorem 2.28: A < B for A,B € PH if and only if A <"P B,_ , where k„ Is “ IT “ C K q U np — the least integer k such that B Proof: If B So, if we know where B is in PH, we can locate A using which is exactly what we wanted to do in the first place, because Theorem 2.29: is the maximal I-preserving transitive relation on PH. Proof: Theorem 2.28 suggests that is the essence of I-preservation and, in this theorem, we will prove it. Suppose that there is a rela tion R such that R is transitive and I-preserving on PH and that (3A,B £ PH)[ARB]. Let k^ be the least k such that B £ IP . Then B I-preserving R, ARB implies A < B, and so < is a maximal not too *7T *TT strong relation on PH. ^ Corollary 2.29.1: < c < np r or not. = 7T = = t By theorem 2.28, < is relatively easy to use with complete sets, and by theorem 2.29, it is the maximal I-preserving relation on PH. This is very important, because if A, B are proper-IP problems, then A < B, so < relates everything we could ever want it too and is ^TT *TT still I-preserving. Therefore, if R is transitive and I-preserving on 54 PH, it must be a subset of < , because relates everything that can be related without causing problems. So, < is truly maximal, because it **TT contains all reasonable reduction relations on PH. Actually, any complete set is as good as B^: Theorem 2.30: A < B if and only if (VC,£?-complete)[B Proof: If C is if-complete, then C A < B The reader should be warned to restrict use of < to PH, due to * TT the following: Theorem 2.31: < 4 < 4 Proof: There exist recursive sets A and B such that A i B and A and B =pe are "hard enough" so that B ^”P B^ for any k. We will not construct such sets here, but the construction is easy if we want A and B to be merely recursive, as we are thus free to diagonalize all we want. Now, if B /np B, for any k, then A < B by default. Thus < 4 < on the class £c k ” ir 7 = tt =pe of all recursive sets. < 4 <°P on the class of all recursive sets may -pe “C be found in [Se 76]. □ We have already given necessary and sufficient conditions for section with deriving necessary and sufficient conditions for <^P to be equal to < onPH and for < to equal < on PH. ^ “tt «pe *ir As we have noted before, the sets that cause the difficulty in resolving the differences between these reducibilities are the sets which are proper-£P but not £P-complete, for k > 1, if, indeed, such sets exist at all. If PH does not collapse to NP, then we can show such sets exist, using Ladner's techniques [La 75]. We can prove: Theorem 2.32: < - < on PH if and only if ------*ir =pe (VX e PH) [B <"p X A <"P X] is the same as (VX, Ip-complete) [B <£p X -+ A <”p X]. Proof: From the definitions of < and < on PH and theorem 2.30. □ -TT =pe We know that any set in NP is EP-complete with respect to <"P (not that this completeness with respect to <”P applies for all proper-EP problems for all EP in PH, then we could prove Theorem 2.33: If all proper-£P problems are EP-coraplete with respect to Proof: Assume that all proper-Ep problems are £P*-complete with respect to <”P for all k. That is, if A is a proper-EP problem, then B <”P A for any ZP problem B. Now assume A B for A,B £ PH. We will show 56 A A ^np B, also, so A is also in EP .. Since we assumed all proper-E? «c k0 0 K problems are EP-complete with respect to then A <^P B. For the other direction, assume that <°P = < on PH. We want to ~C =JT show all proper-Ep problems are ZP-complete with respect to <^P ■ for all k. Let B be a proper-EP problem. Then B <™p If A e E P , then A <"P Since B is proper-LP, B ^"P B^ anc* so» by theorem 2.28, A < B. Thus, B is zf-complete with respect to < on PH. Since “ TT k “ IT we assumed < * Corollary 2.33.1: For any B which is proper-Zp for some k, B is EP-complete with respect to < . Proof: Like the second half of the proof of theorem 2.33. Corollary; proper-IP problems are iP-complete with respect to We developed the reducibillty because It has the maximal I^-preserving properties we desire and because, due to theorem 2.23, we need only show a relation holds to show reducibility, when working with complete sets. Since or positive oracular reduci bility, is easy to use, we have now developed the high-powered tools we need in order to classify some NP-hard problems in PH in the next chapter. CHAPTER III SHOWING PROBLEMS IN PH MAY BE HARDER THAN NP How to Show A £ NP JJ co-NF If NP co-NP In the previous chapter, we described several nondeterministic polynomial time reduction relations and showed that they had some interesting properties. In this chapter, we will use those reducibili- ties to further classify some practical problems in PH. We will show some problems appear to be harder than NP and co-NP, if NP f co-NP. As we mentioned before, we will talk about levels of PH and proper-E^ or proper-A^ problems with the understood proviso "if the hierarchy does not collapse by that point." We will demonstrate several techniques that differ in certain details. However, all the techniques have the same general goals— it is only the means of reaching these goals that differ. We want to show a problem is not in NP U co-NP if NP ^ co-NP, so there are two different parts: Theorem 3.1: If NP # co-NP and C A, where C is NP-compLete, then A is not in NP. 58 Proof: If c Is NP-complete, then C is co-NP-complete. If C A and A is in NP, then C is in NP, because < is a I-preserving reduction • tt relation. But, if C is co-NP-complete and NP ^ co-NP, then C cannot be in NP, because NP = co-NP if and only if some co-NP-complete set is in NP. This is a contradiction, so it must be the case that A is not in NP, if the conditions of the theorem hold. □ Theorem 3.2: If NP j co-NP and C < A, where C is NP-complete, then A is not in co-NP. Proof: Similar to the proof of the previous theorem. □ Corollary 3.2.1: If NP 4 co-NP and if (3B,C) such that B and C are NP-complete and C < A and B < A, then A is not in “ TT *TT NP U co-NP. Corollary 3.2.2: If A C and A C NP U co-NP, then A is a proper-A^ problem. We will show that many naturally occurring optimization problems are proper-A^ problems. Showing these problems to be in A^ usually quite easy. Technique 3.1 for showing A^-ness: If A is NP-complete and OPT(A) is the associated optimization problem, then we can usually show OPT(A) <£ A by binary search methods [see AHU 74]. Remember that 60 allows both "yes" and "no" answers of polynomial length. But, if A £ NP and OPT(A) Theorem 3.3: MSAT, TS - MWHC, KS * MKS, MCOL, MCLI, MCUT, MVEK and many other optimization problems arising from NP-complete problems are in AP * (For problem definitions, see Appendix B.) Proof: Binary search takes log(size of space) time, or log(2P° ^ ) - poly time. So, using full oracular reducibility, we can solve the problems in deterministic polynomial time, using Technique 3.1. Q For problems such as those mentioned In the corollary, proving OPT(A) is not in NP if NP 4 co-NP is usually very easy. Technique 3.2 for showing OPT(A) (£ NP if NP 4 co-NP: If A is NP-complete and OPT(A) 4 A and OPT(A) is not trivial (i.e., in P), then it is usually easy to show A (THING,k') C OPT(A), where k' 4 k. Theorem 3.4: MSAT, TS, KS, MCOL, MCLI, MCUT, MVER and many other natural optimization problems are not in NP if NP 4 co-NP. 61 Proof: Use Technique 3.2 to obtain the results. □ We see that the first half of showing proper-is straight forward. Just to verify that the proofs are as simple as we claim, using the above techniques, we show: Theorem 3.5: TS is in A^ and TS, which is OPT(A) for A = kWHC, is not in NP if NP V co-NP. Proof: We know kWHC is NP-complete [Ka 72]. Given a graph with e edges, we can find the v greatest, where v is the number of vertices, in deterministic polynomial time. Obviously, no WHC could have weight greater than the sum of those v edges weights. This upper bound ub cn satisfies ub < 2 , where c is some constant and n is the length of the input (and so, of course, |ub| < c'n). So TS kWHC by simple binary search on the range of integers 0 to ub, because the range is only a simple exponential in the size of the input. To show kWHC Techniques for Showing C < OPT(A) * The first half of showing OPT(A) to be a proper-A^ problem is usually easy, as we saw in the previous section. Unfortunately, no such sweeping technique seems to work for showing the other half, due to the widely varying natures of the parameters k in different NP-complete 62 problems. Instead, we will demonstrate three different techniques for showing C < OPT(A) for C NP-complete. “If Definition: A parameter k of an NP-complete problem kPROP is essentially in unary if max(k) < p(n), where p is some polynomial and n is the length of the input. Note that this is much stronger than the usual max(]k|) < p(n), because if just |k| < p(n), then max(k) may be 2P^n^. Proposition 3.6: [LLS 74] If A Proof: Asking B for "yes" on all of a collection of queries for A is the same as asking for a "no” (or equivalently, a "yes” from B) on some indeterminate one of the queries for A. Note that this <^P is a very special kind of <”p . because we have not only |y| < p(n), for some poly nomial, but the much more restricted y < p(n). Thus, the converse of the theorem is not true on NP if P / NP, because some NP-complete problems would only satisfy y < — that is, some really would have an exponential sized space of feasible solutions if P ^ NP. This distinction is very important. □ Technique 3.3, A (THING,k’) C MPROP for k' “ k and all worse k. 63 Theorem 3.7: MCOL, MVER, and MCLI are not in co-NP if NP f* co-NP, and are proper-A^ problems if NP 4 co-NP. Proof: We will demonstrate the use of the technique 3.3 in showing kCLI G has no clique of size k, k+1, v, where v is the number of vertices in the graph, and thus the maximum possible. Since each vertex must be listed at least once in the input, the parameter can be consid ered to be in unary. That is, not just |v| = 0(n), but v = 0(n), where n is the length of the input. Therefore, asking about all of k, k + 1, 2 ..., v is only 0(n ) at worst. So, we can ask for "yes'1 answers from MCLI for all of (G,k), (G,k + 1 ) , (G,v) in polynomial time. G has no clique of size k or better if and only if none of k to v is the max size clique of G (that is, one of 1 to k - 1 is the maximum size clique of G). Thus kCLI Most graph optimization problems that are NP-hard arise from NP-complete problems, and those whose parameter k is a number of edges, vertices, or planar regions can be proven to be proper-A^ using this technique. We will not attempt to list all such problems here. To our knowledge, this is the first time any of these problems has been precisely located in PH. Unfortunately, many problems' parameters k do not satisfy k * 0(p(n)), but only |k| « 0(p(n)). Then technique 3.3 will not work 64 for those problems, because there may be an exponential, rather than just polynomial, number of queries for which we need "yes" answers in a reduction of A to OPT(A). However, many NP-complete problems have simpler versions that are also NP-complete. For example, not only is kWHC complete, but HAM is also complete. We exploit this using the following technique: m Technique 3.4, A' NP-complete problem and A' OPT(A), then A' Theorem 3.8: TS, KS, MCUT, and others are not in co-NP if NP 4 co-NP, and thus are proper-AP problems. Proof: We will demonstrate technique 3.4 on TS and KS, using HAM and KSE as the simpler versions of kWHC and kKS. The techniques are essen tially those used by Sahni and Gonzalez [SG 76] to show those problems to be difficult to approximate. In fact, their paper gave us the initial inspiration to enable us to show all these problems, which we intuitively felt were harder than NP or co-NP (see next chapter), are proper-Ap problems. 1. HAM Proof: Suppose we are given a graph G and want to know if it has a Hamiltonian circuit or not. We construct a complete, weighted graph G* as follows: the v vertices of G* are the v vertices of G. If (a,b) Is an edge in G, (a,b) has weight 1 in G', else (a,b) has weight 2. 65 We then ask TS the following question, "is (G*,v) in B?" Since G is complete, it has a Hamiltonian circuit. Since all weights are at least one, the minimum possible weighted circuit is v, the number of vertices. But there will be a circuit of weight v if and only if that circuit consists of edges entirely in G, because edges not in G are of weight two. So, G has a Hamiltonian circuit if and only if G' has a minimum weight Hamiltonian circuit of weight v. part 1 □ 2. KSE know if there exist <5^ C {0,1} such that P^ = k, we form the maximal knap sack problem (k,{(p^,c^)},M), where k = M and = c^ and the k, are the same as for the KSE problem. Then (35^) [IS^p^ * k] if and only if (3<5^) [I6^c^ < M & = kl if and only if (36^) [I5^c^ * M & E5^p^ = k], by the choice of M and {c^}. Clearly, in such a case, k would be the maximum possible for this type of restricted KS problem. So Ckjtp^}) is in KSE if and only if (k,{(p^,p )},k) is in KS. part 2 □ By an earlier theorem, A result, TS and KS are proper-AP problems. It might seem, at first glance, that TS is in NP, because to show (G,k) £ TS, we just can guess the real minimum k', and show (G,k*) C kWHC. If k' > k, then we know that (G,k) £ T3. But if k' < k, then we not only need to show (G,k') C kWHC but that (G,k) £ kWHC if k* < k, which is not at all obvious. Remember, k can fail to be optimal 66 because the real optimum k' is really better or worse than k. So, B » {(G,k)|opt. WHC is bigger than k} is NP-complete, but B is not, unless NP “ co-NP. Technique 3.4 is harder to apply than technique 3.3, because we must find the simpler problem A' for which we can show A ’ OPT(A). Instead of trying to find A* for other problems of interest, we can try to exploit the fact that we can find efficient reductions between proper-Ap problems and others that we sould like to show are also proper-AP problems. Definition: A function f is said to preserve the best between problems A and B of the form kPROP if: 1. A only if f((k,THING)) = (k* ,THING') is the maximum k' for THING' in B. Technique 3.3, A if and only if (k',THING') = f((k,THING)) C M P R O P ’. Thus MPROP Therefore, if MPROP is proper-AP , then so is MPROP'. Theorem 3.9: MFV, MFE, MNFM, and others are proper-AP problems. 67 Proof: kVER Multipliers, is related to a proper-AP problem via a best-preserving f, we will use KS, the Maximal Knapsack packing problem and show kKS KSE ({(p^,c^) ),k,m) , do there exist 5^ C {0,1} such that and Z6^p^ > k?M, we construct an fNFM problem as follows. For each commodity in the kKS problem, there will be a pipeline with interval [0,1] to a node with multiplier 2 representing that commodity. From each such commodity node, there will be two pipelines, each with interval [0,1], to nodes representing the p^ and for that commodity. The multipliers at those nodes are p^ and c^. From each p^ node, there will be a pipe line with interval [0,pi] to the sink node. From each c^ node, there will be a pipeline with interval [0,c^] to a common node representing the cost of the packing. The cost node has a multiplier of 1 and a [0,m] interval pipeline to the sink (see Figure 4). The knapsack has a packing with cost m' and profit k ’ if and only if the network has a flow of f = k*+ m'. Thus, kKS the source can be a maximum of k. That is, the reduction between kKS and fNFM preserves the best. Since KS is proper-Ap , then so is MNFM. □ 68 o,i Source 0 ,M Sink O' Figure 4. Network Flow from Knapsack Packing There are two important facts about the proof that MNFM is proper-A^* First, even though the original proof that MNFM is NP-hai;d D given by Sahni was not strong enough to show proper-A^-ness, we could modify it fairly easily to make it strong enough. In many cases, we have found this to be true. Proofs of NP-completeness or NP-hardness often need only slight modification to allow us to show a related problem is proper-Aj, such as for kCLU [SG 76], as the reader may easily verify. The second fact is that we implicitly assumed that the oracle would let us know how much of the network flow was through the fO,m] pipeline and how much through the [0,p^] pipelines. If we are just told that the total flow is f, we do not know if the full cost is m or not. Throughout our investigations, we assume that such procedures are 69 constructive, as they must be if they are to be of any practical value. In this example, we assume that any procedure that finds a network flow can tell us what the flow along each pipeline must be to obtain that flow, not just what the total flow is. We will discuss this existence/ constructive issue more fully in the next chapter. It is not always the case, however, that we can immediately see how to change a reduction to a best-preserving one. For example, Sahni shows SAT We see no obvious way to change the reduction so that it will show MSAT MAOG. But, the edge weights on the AOG constructed by the reduction are all either 0 or 1. Therefore, Sahni really showed MAOG^, And/Or Graphs with weights 0 or 1, is NP-hard. With such small weights, we can then use Technique 3.3 to show MAOG^ is proper-A^, because the weights are now essentially in unary. Then, because MAOG is easily shown to be in a £ and MAOG, MAOG, we can infer that MAOG is proper-A?. 2 1 =m 2 Quite often, reductions that show a problem is NP-complete actually show a problem with quite restricted parameters is also NP- complete {e.g., GJS 74]. A related problem may then be shown to be proper-A^ using Technique 3.3 Theorem 3.10: If it can be shown that kPR0Pc is NP-complete, where all sizes are bounded by a constant c, then MPROP, if it is non-trivial, is a proper-A^ problem. Proof: We can show MPR0Pc is a proper-A^ problem using Technique 3.3, because sizes are essentially in unary if bounded by a constant. Since 70 MPROP will be in A? and MPROP <** MPROP, then MPROP must also be a 2 c *m proper-A^ problem. □ Corollary 3.10.1: MAOG is a proper-A^ problem. Proof: See the above discussion. Even with the above techniques, we have been unable to classify all non-trivial OPT(A) problems, where A is NP-complete. For example, the Euclidean metric TS problem is easily seen to not be in NP if NP / co-NP. But, we can't use Technique 3.A to show it is not in co-NP, because we can't just arbitrarily complete a graph and preserve the Euclidean metric. As far as we know, the problem "is a Euclidean metric graph's best WHC not of size k" may be NP-complete, rather than p proper-A^- We would like to know if anyone can find efficient, best- preserving reductions to classify some of the remaining unclassified OPT(A) problems that arise from NP-complete problems A. We have succeeded in classifying a very broad cross-section of them more pre cisely in PH. We feel that this is very important, as it may help our ultimate understanding of what it is that makes some problems so difficult. The finer the classification of hard problems, using PH or a similar vehicle, the closer we are to synthesizing the essence of what makes those problems hard. 71 Proper-A^ Problems for k > 1 We close this chapter with the demonstration that there are proper-A^ problems for every k where This will establish that / £k-l ^ ^k 1* ^ the hlerarchy ^as not c° H aPsed by that point, which was previously unknown. We begin by introducing a collection of problems similar to the B. we have used before: k Definition: mB^_ is the set of (m,A(x^,X2,•••,x^)) such that 1. A is a conjunctive normal form Boolean formula if k is odd and is a disjunctive normal form Boolean formula if k is even 2. (Bx^Vxj-..Q ^ x ^ ) . x ^ ) usingm clauses] Theorem 3.11: mB^ is complete for Proof: Condition 2 in the definition of mB, could have been written k (Bclause 1 Bclause 2...3clause m 3x^Vx2* • -Q^x^) [A(Xj,X2» * • • »xjt) an^ clause 1 is satisfied and . . . and clause m is satisfied]. Since m < jA(x^ xk ^ *s » 111 essentially in unary), then the predi cate in the brackets is decidable in deterministic polynomial time and there are not too many "3" on the list of quantifiers. By a theorem in Chapter I, we can collapse all the "3" at the head of the list of quantifiers to one **3," and, thus mB^ can be put in normal form. Hence mB^ C 72 mB^ is easily seen to be complete for because we can reduce to mBk . ACJ^,.. . .x ^ C Bfc if and only if (m^A(x1 , - - -,5^)) CraBk> where m^ is the number of clauses in A. The fact that we can use normal forms for A follows from the fact stated by Stockmeyer [St 75] that Bk can be considered to be in normal form. Therefore, since mB, C if and B, mB., we see that mB. is k k k *m k k ^-complete, as claimed. □ We make note of the fact that the parameter m of the mBk prob lems is essentially in unary, because each clause of A is represented by at least one bit and so we see max(m) < |A(x^,. . . |. The fact that m is essentially in unary will allow us to use our easy Technique 3.3 on MB, defined as follows: k Definition: MBk is the set of (m,A(x^,...,xk)) such that 1. A is a conjunctive normal form Boolean formula if k is odd and is a disjunctive normal form Boolean formula if k is even 2. (Bx^Vx^...Qkxk)[Afx^,...,xk) has m clauses satisfied and m is the maximum number possible to satisfy] Notice that MB^ is just MAXSAT, as defined in Appendix B. Theorem 3.12: MBk is a proper-Ak+^ problem. 73 Proof: MB^ C is easily established using Technique 3.1, MB^ £ P is easily established using Technique 3.2, and MB^ £ n£ is established using Technique 3.3, because m is essentially in unary. Thus, “ k < sllu *k if 4 IlJ, and so MB^ is a proper-&£+ ^ problem. Corollary 3.12.1: If 4 then 4 U n£. Proof: If 4 n£, then, since MB^ is a proper-ij^ problem, % * zl u nk- Remember that if then A^+l * ^k+l * ^k+1 * ^k* A^so* it is still unknown if <= ^+2. ^ ^k+1’ ^ ^k* ®ut» with our MB^ problems, we now have I^-complete, Tl^-complete and proper-i£+ ^ problems for all k > 1 in PH. CHAPTER IV INTUITION, PHILOSOPHY, AND INSIGHT On Nondeterroinism At first thought, it would appear to be no harder to recognize a recursive set than to recognize its complement. All we have to do Is change all "accept" states to "reject" states and vice-versa. Since a recursive procedure must halt, we should be able to construct a machine that would recognize the complement of a set in the same amount of time as it takes to recognize the set itself. The problem with the nondeterministic model is that if we run one of the possible computation paths of a machine and It ends in a "reject" state, we cannot claim the input is not in the set In question. We may definitely put the input in the complement of the set only after we have run the machine many times, exhausting all possible alternative computation paths, and have seen all of those alternatives finish in a "reject" state. So, if NP ^ co-NP, as seems most likely, TAUT is much harder to recognize than its complement, FALS, under the nondeterministic model. So, in the light of our preceding argument, why study nondeterministic models at all? One reason might be intellectual curiosity. We would like to understand the nature of nondeterminism because, if P j* NP, we seem to be able to get much greater power using nondeterministic rather 7k 75 than deterministic machines. What exactly is it that gives us this extra power? We cannot yet answer that question to our complete satis faction. This chapter is devoted to the insight concerning the nature of nondeterminism and oracle machines that we have gained while doing the basic research that led to this dissertation. Of course, no one can yet build a general machine that performs in a nondeterministic time bound— that can check out an exponential number of possibilities in a parallel fashion in a small amount of time. But it is tantalizing to try to find an explanation or simulation of nondeterminism that really does cost nothing more, or at least, no more than a polynomial factor extra. In other words, until we decide, once and for all, whether P ^ NP, we do not know if our expensive combinatorial search programs are the only ones that can solve the broad class of NP, co-NP, and problems. This is why the P =NP? problem is often referred to as the most important outstanding question in the Theory of Computation today [e.g., AHU74]. Perhaps the best way to view the difference between the sets NP and co-NP is as the difference in proof length. To prove a boolean formula is satisfiable (is in SAT), we guess an instance of the vari ables’ values and can give a fairly short proof that the formula is satisfiable, if we have guessed right. We need list only one line of a truth table as proof, or exhibit one branch of a nondeterministic com putation tree that leads to "accept." If we think in terms of proof length, the "P" of "NP" means that we can find short— that is, poly nomial length— proofs for members of an NP set. The "N" of "NP" seems 76 to mean that It may take a long time to find a proof in some Instances, or that we really cannot beat the straightforward, unimaginative, canon ical listing and checking of all possibilities one by one until we find a solution or have tried them all and have failed. On the other hand, no one knows of any proof system for boolean formula tautologies (TAUT) that can guarantee at most polynomial length proofs in all cases, much less find such proofs efficiently. We do know that truth-table methods, simple resolution strategies, and others [Co 74, 75] result in proofs of length o(2n ) for some tautologies. Cook and several of his students have tried to show that no tautology proof system can guarantee short, polynomial length proofs, in all instances (is not "super," in his terminology) in order to show that NP co-NP and, therefore, that P ^ NP. Despite some impressive results, he has not yet succeeded in reaching his main goal. Showing no good algorithm can exist is generally much more difficult than showing a particular algorithm to be ineffective. It would appear that even though the worst-case time for deter- ministically recognizing an NP set and its co-NP complement must be the same, we still might have a real difference between NP and co-NP, if NP f* co-NP. If NP i co-NP, there is no "super" system that provides short proofs for all tautologies, even though simple truth tables give us short proofs that formulas are satisfiable. This is because we have to show all paths of a nondeterministic computation tree lead to "reject" to recognize a member of a co-NP set, but only need to find one path that leads to "accept" to recognize a member of an NP set. 77 Even if P 1* NP, so that SAT and TAUT are both in DTIME(2lln) and not in DTIME(poly), we would still like to know if NP ■ co-NP or not (remember, it is possible that P f* NP and NP ■ co-NP), because we would like to know if it is always possible to find short proofs of tautologies and members of other co-NP sets. In terms of computation trees, if NP *= co-NP, then there would be a polyminial time transfor mation to change a "do all of the branches of the computation tree lead to ’reject1" computation tree into a "do any of the branches of this computation tree lead to ’accept*" computation tree. That is, if NP = co-NP there exists a polyminial time computable f such that x C TAUT if and only if f(x) C SAT. Of course, no such f is known to exist. The notion of a proof or an answer for a proposed member of an NP set brings up another issue— that of transducers versus acceptors. According to common practice, we have considered mainly the acceptance of sets, not transductions or specific answers or proofs being produced by machines. One reason we have ignored the acceptor/transducer argu ment so far is that almost all procedures and reductions we have used are constructive and could, therefore, be applied to transducers, also. By "constructive," we mean that the answer is actually produced and need only be output by the machine to make it a transducer. For example, in any reduction between sets of the form A < B that we have used, it is a simple (i.e., polynomial) process to produce the answer or proof for a member of A from the answers or proofs of the consulted members of B. The usual reduction showing SAT CLI is done -m in such a way that, given the k clique of the graph f(x), we can 78 determine very easily the values to give to the variables of x to make the formula satisfiable. In fact, no reduction between practical prob lems that we have seen has been done In a non-constructlve manner. Even the proof that SAT is NP-complete is highly constructive [see AHU74]. Whether this means that all reductions can be made constructive or that our minds cannot yet comprehend how to create non-constructive reduc tions remains to be seen. Of course, in the real world setting of NP and related problems, answers are almost always required. The acceptor/transducer question is closely related to the existence/construction question in many areas of mathematics. Since we are working in an "applicable" area of com puter science theory, we want our proofs to be constructive, where practical problems are concerned, much like the "intuitionist" school in mathematical logic. Unfortunately, the details of proofs concerning transducer machines are often tedious without adding to our understanding of the concepts. Thus, we do our theory with acceptors, while noting that the techniques are generally constructive. For example, we always show A B by actually producing the function f that makes it so, not just =m somehow proving that one must exist somewhere by some esoteric, non constructive argument. On the other hand, the function g that takes the answer for f(x) and produces from that the answer for x is usually quite obvious [see reductions in AHU74] and need not be tediously defined. It is possible that P * PTP for acceptors but not for trans ducers. Perhaps there is an easy way to show that a boolean formula is satisfiable without actually producing an instance of the variables that 79 makes it satisfiable. If someone were given a planar graph and five differently colored crayons (or four, if a recent computer-aided proof of the four-color conjecture holds up) and asked if the graph could have its regions colored so that no two regions with a common border have the same color, the answer would be an immediate "yes." However, if a coloring must be produced, it might take much longer to answer the ques tion. In this coloring example, the existence is easy; the construction is possibly quite time-consuming to produce. If someone were to prove that P = NP in a non-constructive manner— that is, one that would not answer the P * NP? question for transducers— we would classify the proof as an interesting mathematical curiosity which would not be useful in practice until it could be extended to the transducer case. What we are saying is that is someone claims that, for some x, 3y[P(x,y)], they had better be able to produce a y that makes P(x,y) true, or else they have given us nothing. If It costs a trucking company $10.00 to find out there is a $10,000.00 route, where all obvious routes cost $100,000.00, but to actually find a $10,000.00 route costs $500,000.00 worth of combinatorial search, then the $10.00 program will probably never be run. Construction is abso lutely necessary in most practical situations. As a final note on this issue, Simon fSi75] makes the statement that we should know that time and space differ for transducers at the polynomial level. He offers neither amplification nor proof for his statement, but, tf it is true, then, by our earlier remarks, PTIME 4 PTAPE, for all practical purposes. However, we suspect that has shown this only for certain cases, which we will describe shortly. 80 In his dissertation, Simon shows that PTIME * PSPACE for acceptors if and only if RAM * MRAM machines, where MRAM's can do all operations, Including multiplication, in unit time, while RAM operations take logarithmic time. Using an MRAM, it is possible to generate inter mediate values of length 2n in n operations. The question is, can anything useful be done with those long values? Since we think PTIME ^ PSPACE, long values probably can be used effectively. We infer that Simon’s proof extends to show PTIME ■ PSPACE for transducers if and only if RAM - MRAM transducers. RAM i* MRAM for transducers, becuase an MRAM can output an entire register of 2n bits in one time unit, and a RAM would require 2n time to do that. So, an MRAM 2n n can generate an answer of 2 (of length 2 bits) in o(n + 1) time units, which a RAM cannot possibly do in less then o(2n) time units. Thus, it would seem, RAM j MRAM for transducers. But, let us now consider another type of MRAM transducers. In order to avoid the "big output trick" of plain MRAM transducers, we might consider the MRAMj ^q (logarithmic input/output) model. An MRAMlio can do all non-i/o operations in unit time, but requires logarithmic time for input and output. This seems to more closely correspond to natural electronic internal constraints and mechanical i/o constraints of technologically feasible computers. The MRAM]^q model also focuses attention back on what we con sider to be the truly important problem. That is, can we usefully use large amounts of space or time to generate relatively short answers? Can we effectively use the possible 2n bit internal registers of M R A M ^ q transducers in polynomial time to produce polynomial length answers 81 that cannot be generated in polynomial time by RAM transducers? To our knowledge, neither Simon nor anyone else has answered the RAM ■ M R A M ^ q? question, even though Simon's techniques appear to work to show RAM * MRAMj^ q if and only if PTIME = PSPACE, in some form, for transducers. We claim that the PTIME versus PSPACE for transducers problem that Simon solved is not the real PTIME = SPACE? problem. He really attacked the PTIME versus PWSPACE, or polynomial work space, problem. If the set of MRAM transducers is eventually shown to have the same power as the set of polynomial space-bounded turing machines, then those turing machines must have potentially exponential-length output tapes, and thus only polynomially-bounded work space, or internal space, because we said above that MRAM transducers can write long answers in only a polynomial amount of time. Then the RAM = MRAM^io? question will be equivalent to the real PTIME = PSPACE? question for transducers. Again, the RAM * MRAMj^ q? question forces us to focus on what we feel is the important issue— can we use the extra time we are allowed with PSPACE to generate polynomial length answers that cannot be generated in polynomial time, PTIME? If, indeed, Simon or anyone else can answer the RAM 3 MRAM^^Q? question for transducers, then we think the PTIME versus PSPACE question for accep tors will also be answered, for all practical purposes. The Polynomial Hierarchy There may be some legitimate concern whether the hair-splitting E£/n£/A£ classification questions are useful. The argument is as follows: if P - NP, then all of PH collapses to P, so if 82 P ^ NP, so that exhaustive search is required for NP problems, it would seem no harder to find one satisfiable instance, in the worst case, than to check all possible instances of variables of a boolean formula for satisfiability, or to find some maximal one. We must agree that the argument is provocative to a degree, but do not agree with the possible D P P implication that the classification is useless. If, indeed, we must search the entire computation tree to find an instance of a satisfiable formula, which, in the worst case, may be an o(2n) search, we would still expect to do considerably less work, on the average, than would be required to show a formula to be a tau tology. A factor of 2 or more may mean nothing in the o() notation, but can certainly be significant in practical applications. The point is, if only one of those o(2n) branches leads to "accept," we will, on the average, only have to search through half the tree or so. To show all o(2n) branches lead to "reject," we are forced to essentially search the entire tree every time, if NP ^ co-NP. When the P = NP? and NP * co-NP? questions are finally resolved, the constants in the o( ) expressions and average times will become the important issues in practical compu tational complexity problems. At that time, assuming NP ^ co-NP, we think our more exact classifications in PH will be quite useful for people preparing heuristic algorithms, because they will have a better idea of what is possible. The difference between searching a whole computation tree to show all branches lead to "accept" and searching the whole tree while keeping track of some rnaxlmums is, admittedly, smaller than the NP, co-NP difference. But some small amount of extra work and bookkeeping 83 appears to be required when solving A^ problems Instead of co-NP problems. Also, output of the form "this graph has no Hamiltonian circuit of weight k or less" will take some slight amount less time to produce than output of the form "this graph has a minimal Hamiltonian circuit of weight k and the circuit is . . ." Our earlier criterion, proof length, is an even more obvious difference between NP and co-NP, if NP # co-NP. The proof that a graph is not 3-colorable (co-NP) will not be much shorter than a proof that a graph's chromatic number is 3^^), but it will be shorter. A proof that a graph’s chromatic number is k requires a proof that the graph is k- colorable (an NP proof) and a proof that the graph is not k-l-colorable (a co-NP proof). In general, Aj proofs require both a short NP proof and a long co-NP proof, if NP ^ co-NP. The idea that a A^ proof is a combination of an NP and a co-NP proof illuminates an important characteristic of A^ problems. That is, if A is a proper-A^ problem and A B for B in NP, then if NP f* co-NP the reduction that effects A B must require both "yes" and "no" answers from B to show membership in A. If A B using only positive, or "yes," answers from an NP set B, then A is in NP. Butif NP f co-NP and A is a proper-A^ problem, then A must require both positive and negative information from B. This characteristic of A^ is important enough that we will summarize it in the only formal theorem of this chapter. 84 Theorem 4.1: If A is a proper-problem and NP ^ co-NP, then any oracle machine that witnesses A <£ B for B in NP or co-NP must require a "yes" answer from B to show some x^ is in A and must require a "no" answer from B to show some is in A. Proof: Assume A is proper-A^ problem, and A <£ B when B C NP or B C co-NP. If A <£ B by all "yes" answers or A B by all "no" answers, then B C NP U co-NP would imply A £ NP U co-NP, which is impossible if A is proper-A^ and NP ^ co-NP. See Chapter III for more detailed proofs of related notions. D Corollary 4.1.1: If A is proper-A^ and B is in NP or co-NP, then A can be solved in deterministic polynomial time using B only if A obtains both positive and negative information about B. Thus, we can characterize the NP/co-NP/A» differences in some A » useful ways. If B is NP-complete and A B, then if A can be solved using only "yes" answers, A is in NP. If A can be solved using only "no" answers, A is in co-NP. If A needs both "yes" and "no" answers to be solved, then A is in Aj. To show x is in an NP set A, we need to guess just one short proof and verify it. To* show x is in a co-NP complete set, we need a long proof to show all reasonable guesses do not work, if NP co-NP. To show x is in a proper-A^ set, we need a long proof to show one collection of reasonable guesses does not work plus 85 a short proof that a guess in another collection does work, if NP 4 co-NP. We feel that these characterizations are useful, in the likely event that NP 4 co-NP, because, with current digital computers, all reasonable methods of attacking difficult problems above P in PH involve heuristics. Efficient heuristics on NP-complete problems can occasion ally come up with the correct guess and verify that it is correct. If NP 4 co-NP, no heuristic algorithm that works in deterministic poly nomial time, no matter how lucky its guesses, can always guarantee that a member of a co-NP set is, in fact, in that co-NP set. For example, a heuristic algorithm may show that some polynomial number of well chosen lines of a truth table evaluate to "true” for some boolean formula, but still may not always be able to infer that the formula is a tautology. A heuristic algorithm could guess an instance of variables and verify that a formula is satisfiable, A heuristic algorithm may be able to guess and show that a graph is k-colorable, but not be able to always guarantee that k is the chromatic number of a graph, if NP 4 co-NP. So, the NP/co-NP/A^ distinction may be useful to practitioners developing heuristic algorithms for hard problems. Besides this possible benefit to those who develop heuristic methods, the distinctions of the PH classification have another purpose. If one of the central purposes of current theoretical research is to understand the nature of nondeterminism, then one of our main theses is that we will have the most success if we study problems most closely related in nondeterministic complexity. Perhaps PH is not the ultimate classification tool, but it is the best available at this time. We 86 might hope that PH will become as useful in classifying NP-hard problems as the arithmetic hierarchy of recursion theory has been useful in classifying non-recursively enumerable sets. So, in a nondeterministic time sense, it appears that co-NP is much harder than NP and that AP is at least a little harder than co-NP. Guesses are virtually "free" in the nondeterministic model, so the 3 of (3y)[A(x,y)] can be guessed in polynomial time by a nondeterministic machine. Notice that the y in Oy)[P(x,y)] could be considered an "answer" for the input x, in the constructive sense we discussed pre viously. One reason that current methods are constructive is because the guess of the y is essentially free in the nondeterministic model, so we might as well take it. In our proof in Chapter I of the equivalence of the two PH definitions, we saw that the "yes" answers from an oracle fall under the 3, and are, therefore, also "free." That is why A (that is, to queries we could not have answered ourselves just as easily), we get an "3V" in that proof and are seen to move up out of NP U co-NP. That is why the <™p reducibilities do not seem to work. Of course, we only showed the relations are not transitive over all recursive sets; we did not settle the issue on PH. For example, if PH <= DTIME(2^in) , then <”p would be transitive on PH. However, then = lg <”p would be equal to <^p on PH, so we really would gain nothing. In np light of the techniques currently available to use for showing some to be transitive, it appears that any that is transitive on PH is equal to If A <"P B, where B is NP-complete and we get "no" answers to long questions, we might as well use full turing reducibility, or because we can get all the "yes" answers at no great expense. This is the essential idea behind the reducibility. Since, for classifica tion purposes, we want our reduction to be ^-preserving, < is the best *TT we can do because it uses the "no" answers (or, equivalently the "yes" answers from co-NP sets), which are the expensive ones, most efficiently. That is, "no" answers are so much more costly, in this model, that we can contrive ways to ask "yes" answer questions as "no" answer questions, without appreciable time loss. We absolutely cannot do the reverse trick to change all questions to "yes" answer question with an NP oracle, unless NP j* co-NP and PH collapses to NP. This is why we say "no" answers from NP sets are much more expensive than "yes" answers from NP sets. The one idea we wish to make clear above all others, it is that of the comparative cost of "yes" and "no" answers to queries of NP (or co-NP) oracles in the nondeterministic model. So, if the hierarchy doesn't collapse, co-NP is almost as hard as Ap or EP an<^ muc^ harder than NP * EP. It is simply much easier to show one branch a computation tree is good than to show all branches are bad, if NP ^ co-NP. The last issue we will discuss is the PH <= DTIME(2^n) ? question. Certainly, PcHPc PH c PSPACE c DTIKE(2P°ly) . As we have mentioned before, all known, P, NP, PH and PSPACE problems are in DTIME(2^n) , but it is not known if any of those classes are wholly in DTIME(2^*n). One 88 reason for this is that all answers to known NP-complete problems are only of length o(n), at worst, where n is the length of the input. Since each guess is only o(n) long and can be checked in time p(n), searching c c * n the whole tree of feasible answers only takes time 2 p(n) ■ o(2 ), for c, c* constants. In some cases, as with many graph problems, the answer is only of length o(/n). In those cases, the obvious simulations only C C * take time 2 p(n) < (2 ), for c, c' constants. The point is, any problem in PH whose answer is essentially no longer than the statement of the problem is trivially in DTIME(2^in), and many are in DTIME(2y/") or lesser classes. No one has found a practical NP problem yet for which the answer 2 n 2 is of length o{n ), and for which there are o(2 ) feasible answers. Is n2 there an NP-complete or PH - P problem that truly seems to have o(2 ) feasible solutions? No one knows for sure. We are of the opinion that such problems probably will be proven to exist, in a theoretical sense, but do not know if any truly practical problem in DTIME(2^°^) - DTIME(2lin) in PH will be found. Of course, if P - NP, then PH = DTIME(poly) * P <= DTIME(2^in). It may be useful to restrict our attention to PH H DTIME(2^n) for a while, until someone comes up with a good problem in PH that appears not to be in DTIME(2^*n). Perhaps some of the P, NP, PH problems could be more easily solved first in this restricted setting. We should emphasize that the parameter n in our calculations is the length of the input in the standard way of specifying the problems, not the number of different variables in a boolean formula problem or the number of vertices of a graph in a graph problem. So, even though 89 there appears to be o(v!) feasible minimal paths in a travelling salesman problem on a complete graph, where v is the number of vertices, 2 the input length, n, for such a problem is o(v ), for the standard input specifications. The answer, or minimal weight path, will be approximately of length v log(v). But (*^n logv£) ! < o(2Cn) for n large and c some constant. Therefore, even the famously intractible travelling salesman problem on complete graphs is easily seen to be in DTIME(21*'n), where n is the length of the input string. So, methods that work in PH H DTIME(2^*n ) are currently feasible for studies of practical PH problems. Concluding Remarks This chapter, although largely devoid of formal theorems, is the "thesis of the thesis" and the material and concepts and intuition we would most like the reader to understand. We do not claim that all of these intuitive notions are uniquely ours- Undoubtedly, the researchers whose works we have cited have had some similar thoughts. The whole desired impact of the various theorems and proofs in Chapters II and III is based upon these notions that, in fact, led us to those theorems in the first place. In that sense, the understanding of these sometimes philosophical ideas is paramount to the understanding of our thesis. We did not locate the A^ problems Just to show some problems are "more impossible" than others. We did it mainly to give the reader our basic intuition concerning the nature of nondeterminism and how it appears to affect oracular computations, particularly on the Polynomial Hierarchy. 90 The main conclusions are that if NP i* co-NP, then "no" answers are much more expensive to get than "yes" answers from NP oracles, in the nondeterministic model, and that, in order to solve a problem using NP or co-NP oracles in deterministic polynomial time, both "yes" and "no" answers to oracle queries will be required. We hope that the differences and similarities between hard practical problems that we have illuminated will add to the body of knowledge that will, eventually, enable researchers to answer some of the difficult theoretical and practical issues that face us today in the Theory of Computation. CHAPTER V CONCLUSION AND OPEN PROBLEMS Approximation Problems In the last two chapters, we have discussed tools and techniques that can be used to show certain types of optimization problems are proper-A^ problems in PH. We have shown that one characterization of those problems is that both positive and negative information from an NP oracle is needed to solve them in deterministic polynomial time. The initial spark that led to the techniques in Chapter III came while studying an early version of the work of Sahni and Gonzalez [SG 76] dealing with approximations to what they called P-complete problems (essentially NP-hard problems). Their proofs that certain problems had NP-complete or worse approximation problems were modified only slightly to prove half of the proper-A^-ness °f TS and KS, as we acknowledged in the proof of theorem 3.6, The Interested reader may verify that most of their proofs that certain problems are hard to approx imate in fact construct reductions that can be used to show those optimization problems to be proper-A^* We had hoped to prove that a problem is proper-Aj if and only if it is hard to approximate. We had only small success along these lines and think that it may be helpful to future researchers to clearly define 91 92 the problems we encountered. First, we will give Sahni and Gonzalez' definition of polynomial approximability: Definition: [SG 76] An algoritJnn will be said to be an SG c-approximate algorithm for a problem P if either: i. P is a maximization problem and there is an 0 < e < 1 such that for every instance of P, (F* - t ) / F * < e; or ii. P is a minimization problem and there is an e > 0 such that for every instance of P, | (F* - f-) /F* | < e where F is the approximate solution given by the algorithm and F* is the optimal solution. If a polynomial time SG e-approximate algorithm exists for a problem P, then P is said to be SG polynomially e-approximablc. Theorem 5.1: [SG 76] TS and MCLU are SG polynomially e-approximable if and only if P * NP. This is a very powerful result, because it says we cannot get a good approximation algorithm for TS that can guarantee an answer within a constant factor of the optimal value for any constant, no matter how large. So, TS fails to be approximable in a very strong sense. However, other proper-Aj problems are approximable within some constant factor, for example: 93 Theorem 5.2: fJDUGG 74] MBIN is SG polynomially e-approximable within a factor of 11/9 of the optimal value. Corollary 5.3.1: For problems of the form MPROP, "SG polynomially approximable if and only if P - NP" is not the same p as proper-A^-ness. Proof: TS and MBIN are both MPROP problems. The result is obtained using theorems 5.1 and 5.2; the proof is obvious. □ This dilemma is even worse when we consider the fact that MCLU and MEDG have exactly the same optimal solution, but one is SG poly- nomially approximable and the other is not, if P / NP. One possible remedy for this problme might focus on how small we can get e. This motivates the following: Definition: A problem P is said to be arbitrarily SG approximable if for every small e, we can find an SG e-approximate algorithm. Remember that even though F and F* are usually integers, it adds only a constant time to an algorithm to solve exactly all problems of size less than, say, 10,000,000, theoretically. Theorem 5.3: {SG 76, GJ 76] TS and MCOL are arbitrarily SG approximable if and only if P » NP, even though MCOL is SG polynomially e-approximable. 94 Theorem 5.A : [IK 75] KS is arbitrarily SG approximable. We would like to be able to give some general techniques or prove that large classes of MPROP proper-A^ problems are not arbitrarily SG polynomially approximable. Unfortunately, not many useful techniques have yet been discovered. One difficulty with such generalizations is the vastly different nature of the parameter k in the kPROP problems. The k that represents a number of clauses is not the same as the k that represents a number of vertices of a graph or the k that represents a total profit of a knapsack packing. Sweeping theorems about the approxi- mability across many kPROP problems will be difficult to prove, because of the different kinds of parameters. As we have mentioned before, some are "in unary" and some are not. Reductions among kPROP problems thus do not always uniformly preserve the structure of the mapped objects when the parameter changes. More precisely: Definition: A polynomial transformation f between kPROP, consisting of a collection of (k,THING) pairs, and iPROP', consisting of a collection of (Jl, THING') pairs, is said to preserve subproblems if f ((k.THING)) - (i,THING') implies that if k 4 k, f((kx,THING)) - U r THING') , for some That is, the object THING is mapped to does not change if only the parameter changes. For example, the usual transformation between kCLI and kVER preserves subproblems [AHU 74], because if the parameter k changes, the graph in the mapping does not. On the other hand, the 95 usual transformation between kCOV and kCOL does not preserve subproblems [Ka 72], because If we change the parameter, but not the subsets, the entire graph to be colored changes, not just the number of crayons with which it is to be colored. A relatively new notion, that of parsimonious p-isomorphism of Hartmanls, Berman, and Simon [HB 76, Si 75], may be useful, because it may help us group problems whose parameters are roughly of the same nature. Definition: [HB 76, Si 75] A parsimonious p-isomorphism between problems A and B exists if there exists a function f( ):A -*• B satisfying: i. f is 1-1 and onto and computable in deterministic polynomial time. ii. f ^ is computable in deterministic polynomial time iii. (Parsimony) given a member a of A, f(a) in B has exactly k solutions if and only if a has exactly k solutions. Many NP-coraplete problems are related by p-isomorphisms [HB 76]. It is not known if all of them are. Also, most of those reductions are parsimonious. If we relax condition iii in the definition to allow "k solutions modulo some deterministic polynomial time predicate," then most NP-complete problems are parsimoniously related. Such a weakening allows problems like HAM to be related to others, which would not be, otherwise, because there are too many different ways to list the same Hamiltonian circuit. 96 Conjecture: If an MPROP problem A Is a proper-A^ problem and A B. where B is an MPROP problem, via a parsimonious p-isomorphism that preserves subproblems and preserves the best, then B is also a proper-A^ problem. The conjecture appears to be true for most p-isomorphisms constructed between MPROP sets so far, but we cannot make a general proof because of the widely varying types of parameters in MPROP problems. There is another more fundamental problem with SG approximation, namely that we have to have a distinct parameter in the problem and we have to be trying to optimize it. To draw a distinction between NP and problems, it would be nice if we could show, for example, that some NP problems are polynomially approximable. But how do we determine if an answer to "find a clique of size k or less in this graph" is within a factor e ? A factor of e of what— k ? The optimum? Even worse, how do we determine if an answer to "does this non-weighted graph have a Hamiltonian circuit" is within a factor of e? Is it if it got all but a factor of e edges right? If it is a circuit path that only visits a factor of e vertices twice? The point is, it appears to be difficult to use SG approximations on "yes-no" problems. A boolean formula is a tautology or it is not. If we guess, we are either right or wrong, not "within a factor of e." One possible solution is to use a different kind of definition of approximable, one that says an approximation is good if it is right all but eJS of the time. We could use the following: 97 Definition: A problem A is L-polynomially approximable within arbitrary ^ if for all small e > 0, there exist sets B, C in P such that B c: {solutions to A) and C ^ {feasible solution to A ) - {solutions to A} and den (B U C) > 1 - c, where A Definition: denA(D) > r, the A-density of D is greater than r if n______L s J______r > r |(feasible solutions to A}[ Unfortunately, we have been unable to prove anything of lntexest is polynomially approximable or not using such a definition. We again face the problem of how to decide if an approximation algorithm is 90% correct. Is it 90% correct if it gives the right answer 90% of the time? If that is so, as our density type of definition implies, then an approximation algorithm for a parameterized problem that gets within 90% of the optimum but rarely hits the optimum exactly would be classi fied as bad. If an algorithm misinterprets only two edges in a graph and misses a Hamiltonian circuit, it may still be a useful approximation, however. It appears that we need an amalgamation of the "density" defini tions, "almost the correct solution" definitions, and the "found a value close to the optimal value" definitions. We have not yet found such a definition. It seems that any density definition is going to run into problems such as how many k-cliques there are in an "average" graph. We could have the problem that an algorithm may get the right answer for 90% of all arbitrary graphs but, in some application, all the input graphs for that application lie in the 10% that the algorithm performs 98 poorly on. On the other hand, the SG approximation definitions apply to only a small percentage of the NP-hard problems. We would like to know what relation exists among the polynomially approximable problems and PH, if any exists. It appears that deep, fundamental results In a theory of approximations are necessary before such questions can be answered. If P # NP, then efficient solutions for NP-complete problems must be just approximations. If that is so, then it follows that we could use a theory of approximations to help us decide if an approximation is good or not. This is a difficult challenge, but one that must be faced In the near future. Summary and Open Problems Our results fall In two main areas— using reducibilitles and showing how to prove problems are proper-AP- In Chapter II, we showed <”P has several useful properties on PH. We introduced a relation that behaves much like <^p on complete sets and showed that It is a maximal l-preserving relation on PH. We investigated <"p reductions and showed that they are probably either not well-behaved or the same as <^P on PH. We attempted to clarify the possible differences between In Chapter IV, we gave the intuitive insights and Justifications for using the reducibilitles and properties that we did use. Chief among the ideas was that "yes" answers from an NP oracle for an NP machine are virtually free, while "no" answers are quite costly, which helps explain why which uses only "yes" answers, appears to be the 99 best £-preserving NP relation and why the <”** relations fail to be transitive. The open problems in the area of reducibilities that we would most like to see solved are the ones concerning the properness of PH, or that all proper-!? sets are ^-complete with respect to proper-I^ problems, and those problems are the stumbling block, at this point. The resolution of the on PH question would imply some interesting things about non-complete sets in PH. In Chapter III, we demonstrated several techniques for using certain kinds of reductions between problems to show that a large class of optimization problems that arise from NP-complete problems are, in fact, in PH, if NP ¥ co-NP. The three main techniques we dis cussed are broadly applicable, and we are confident that virtually all non-trivial optimization problems arising from NP-complete problems are amenable to one of the techniques. We also showed how to extend our results to higher A^, settling an open question about PH, namely that if ¥ fl£, properly contains U n£. In Chapter IV, we discussed the implications of our classifica tions in Chapter III. The main implication is that no deterministic polynomial time query machine with an NP oracle can be used to solve one of the many proper-A^ sets unless that machine obtains both positive and negative information from the oracle, if NP ¥ co-NP. So, in that sense, 100 the proper-A^ problems do appear to be harder than co-NP problems, and the further classification we have done may be quite useful. In Chapter IV, we also discussed the existence/constructive nature of reductions used by researchers in classifying specific prob lems. If a reduction is not constructive, it is probably not useful to practitioners. We examined the consequences of this assumption and how it might affect attempts to prove transducer machine results as compared to acceptor machine results. The notion of construction or generating answers is also closely allied with proof length and producing proofs, which serves as an NP, co-NP, A^ distinction, if NP # co-NP. Of course, the main problem in the field remains the P - NP? question. Our work shows that the also unresolved NP * co-NP? question is also quite important. Whether or not the Polynomial Hierarchy collapses at some level is another open question. We would like to see these very difficult problems solved, as would many other researchers. Our strong feelings are that NP f co-NP and that, therefore, P i* NP- Our basic intuition concerning nondeterminism and the NP * co-NP? ques tion are in Chapter IV. As we noted in Chapter IV, it might be profitable to first examine these questions on PH fl DTIME(2^n). Computational Complexity continues to be a challenging and . useful field of study for both theoretical and applied researchers in computer science. There are still many important questions that are unanswered, and it appears that it will be an important and fruitful area in the years ahead. APPENDIX A It is cleat that there exists a recursive set A such that NPA c: DTIMEA (2^^n ) , because P^ <= DTIME^(2**n ) for any X and because there is an A such that PA = NPA (theorem 1. 7 [BGS 75 ]). Me will show that there is a recursive set D such that NPD DTIMED (2lin) , thus showing that answering the NP c DTIME(2^*n)? question is a problem that is probably not amenable to most recursion theory proof techniques, which are generally invariant over relativizations with recursive sets TBGS 75, HH 76]. In order to derive this result, we use some special sets: Definition: For any recursive set A and positive integer k, Lk(A) = {x|(3y £ A ) [|y| * |x|k ] . Then L(A) = x | ( 3 y € A ) [ | y | = |xj], and L2 (A) - x | ( 3 y € A)[|y| - jx|2 ) If A Lemma A.l: L (A) 6. NP for all k. Proof: An o(n ) procedure can nondeterministically guess a y such that |y| * |x[k and verify, using the oracle A, that y is in A. □ 101 102 Theorem A.l (also 1.8): There exists a recursive set D such that NP° + co-NP° and NPD £ DTIMED(2U n ) . Proof: The proof uses a "dual-BGS" technique used in [BGS 75] and the fact that DTIME^(2^^n) is a deterministic set of machines. We will construct D in stages. Assume that we have an enumeration NP^ of all NP query machines and an enumeration DTIME^(2^n) of all DTIME(2**n) query machines. We denote by the set of strings placed in D prior to stage i. We assume p^(n) is an upper bound on the length of computa tions for NP^, where p^ is a polynomial. Let be the constants such that DTIME^(2 n) is bounded by computations of length 2 . Let no ° ’ D0 “ ^ ' n* Stage i. Choose n > n^ so that p^Cn) < 2 . From the choice of n^ below, we will see that n is greater than the length of anything that could have been queried at an earlier stage or added to D^. Thus, nothing we do at this stage will ruin anything done in previous stages. fD . Run NP^ with oracle on input x^ “ 1 . If NP^ accepts x^, then choose any accepting computation and put into D some string of 2 ( I ^i I 2) n 2 length n not queried in that computation. Not all 2 * 2 strings could have been queried in time p (|x^|) * p^(n), by the choice of n. Otherwise, add no string to D at this time. Let be the set of strings put in D so far. Now choose n' > 2 ^ so that 2^ 1 ^ < 2 (n'5 . Run DTI ME ^ 1) (2lln) t D' on *■ ln . If DTI’IE ^ *^(2^ln) accepts xj, then put some string of 2 length (n') not queried in some accepting computation into D. Otherwise, 103 put no string Into D. Notice that, by the choice of x^, this cannot ruin what we have done with NP^^ in the first part of the work at this stage. f n *) ^ Let ni+j = 2 , ®i+l strin 8s added to D so far, and go to step i + 1. □ of stage i It is clear that D as constructed above is recursive. Also, NP^1 accepts x^ if and only if some string of length x^ 2 is in D, that 2 D -2--- is, if and only if x^ £ L (D). So, NP^ does not accept L (D). Since L2(D) is in NP° and L2(d) is in co~NPD , then NP° 4 co-NP**. Similarly, DTIME^(2^in) accepts x^ if and only if some string of 2 2 length x^ is in D, that is, if and only if x| £ L (D). So DTIMEj(2lin) does not accept L27 d 7- But if L2 (D) £ DTIMED (2lln) , then -2-;__ D lin L (D) £ DTIME (2 ), because we are dealing with deterministic machines. Since L2(D) is in NPD, we have NP° £ DTIMED(2lin). □ k We can actually extend the results to any DTIME(2 ), not Just DTIME(2n) - DTIME(2lin). Theorem A.2: For all positive integers k, there is a recursive set E It such that NPE 4 co-NPE and NPE £ DTIMEE (2n ). k+1 Proof: The proof procedes as the proof of A.l, using L (E). □ Using techniques recently demonstrated by Hartmanis and Hopcroft [HH 76], we can show: 104 Corollary A.2.1: For every positive integer k and axlomatizable mathematical proof system F (one for which the set of theorems is effectively recursively enumerable), we can effectively construct a recursive set H such that It NPH * c o -NPH and NPH c DTIKEH (2n ) can neither be proved or disproved in F. Proof: Use the set E from the proof of theorem A.2 and a set A such A A A 1 in that P * NP <= DTIME (2 ) and then use a simple construction as in [HH 76]. The details are left to the reader. D n HI in Corollary A.2.2: There is a recursive set H such that NP m DTIME (2 ) is independent of the axioms of set theory. These results indicate that the NP c: DTIME(2^*n) problem may be quite difficult, indeed. Of course, if we would try to prove an anal ogous result for DTIME(2P°^y), we would fail, because NPE c: DTIMEE (2P°^y) for all recursive E. Thus, we know that LP°^y (E) e NPE for some recursive E. Even though all known practical NP sets are in DTIME(2^in), the NP * DTIME(2^in)? question remains an important open problem. APPENDIX B PROBLEM DEFINITIONS We assume that numbers are specified in decimal or binary and that graphs are entered as a list of the edges or an adjacency matrix. In general, G represents a graph, V its set of vertices and E its set of edges or arcs. More detailed problem discussions may be found in [Ka 72, Co 71, AHU 74, SG 76, Sa 74, St 74]. We first describe a generic class of problems. 1. kPROP or kA is a collection of THINGs that have properties PROP of size k or better. kPROP = {(THING,k)|THING has a PROP of size k or better). For example, a THING may be a graph and the PROP a vertex cover. MPROP or OPT(A) = {(THING,k)|THING has a PROP of size k and k is the optimum, or min or max}. 2. kAOG is a collection of and/or graphs that have a solution of weight k or less. kAOG =* { (G, {w^} ,S , ("and" sets} ,k) j directed, acyclic graph G with edge weights and source vertex S, has an and/or solution from the leaves of G to S of weight k or less. '’And'* sets are groups of arcs from a node that are "anded" ranter than "ored" together— that is, all must be solved for the node to be solved}. 105 106 MAOG - {kAOG|k Is minimal}. MAOG^ - {kAOG|k is minimal and all edge weights are 0 or 1}. 3. kBIN is the collection of materials and bins such that the ma terials can be placed in k or fewer bins. kBIN ■ {({s^},c,k)|the materials with sizes can be placed in k or fewer bins of capacity c}. MBIN = {kBINjk is minimal}. 4. kCLI is the class of graphs that have a clique (all vertices mutually adjacent) of vertices of size k or larger. kCLI “ {(G,k)|G has a vertex clique of size k or larger}. MCLI = {kCLl|k is maximal}. 5. kCLU is the class of graphs that, when the vertices are grouped in c clusters, the sum of the weights of edges within clusters c is k or less. kCLU = {(G,c,k)| U C. * V, the set of vertices, and c i-1 1 y v , w. < k, where {w.} are the edge weights of E, the edges of G}, i=l (u,v)€E i = i u,v e ci MCLU - {kCLU|k is minimal}. 6. kCOL is the class of graphs whose vertices can be colored with k or fewer colors so that no two adjacent vertices are the same color. kCOL = {(G,k)|G has a coloring of k or fewer colors}. MCOL = {kCOLjk is minimal}. 7. kCUT is the class of graphs that have a cutting set of size k or less. kCUT “ {(g,k)|G has n cut «et of V or fewer edges}. MCUT - (kCUT|k is minimal}. 107 8. FAL Is the class of boolean formulas in disjunctive normal form that are falsifiable. FAL ■ {A(x)|(3x)[A(x) “ 0]}. 9. kFE is the class of graphs that have a set of feedback edges (every cycle contains one of these edges) of size k or less. kFE » {(G,k)|G has a feedback edge set of k or fewer edges). MFE - (kFE|k is minimal). 10. kFV is the class of graphs that have a feedback vertex (every cycle contains one of these vertices) of size k or less. kFV ■ {(G,k)|G has a feedback vertex set of k or fewer vertices). MFV = {kFV|k is minimal). 11. HAM is the class of graphs containing a Hamiltonian circuit, a cycle that hits every vertex exactly once. HAM = {G|G has a Hamiltonian cycle). 12. kKS is the class of knapsack packings with weight less than or equal to M with profit of weight greater than or equal to k. kKS * (({p^.c^} ,M,k) | Z KS = MKS = {kKS|k is maximal). 13. KSE is the class of exact knapsack packings, where the total weight is exactly M. KSE - {((PjhM) - M for some («i) c (0, 1}}. 108 14. kNFM is the class of network flow graphs with a total possible flow into the sink node of size k or greater, where G is a directed flow graph with a source s, with w“(s^) ■ to* or no Incoming arcs and a sink s2 with w+ (s2 ) ■ to, or no outgoing arcs, and every vertex h-'s a multiplier and every arc has an interval [a,b], where the flow along that arc must be some integer in [a,b], where a and b are integers. The flow vector {f^} must satisfy 1. a i < f < b ^ fi an integer 2. M v O I £ - L £ for all v 4 V ¥ s2 jew (vi) J j£w (v) 3. y > k. 1€W-(S2) 1 - kNFM * {(G,{[ai>bi]},{hi},s1,s2,k)|G has a flow tf±} satisfying 1-3 above}. MNFM = {kNFMIk is maximal). 13. SAT is the class of boolean formulas in conjunctive normal form that are satisfiable. SAT = {A(x)|(3x)[A(x) » 1]}. 3SAT * {A(x)|(3x)[A(x) * 1] and no clause has more than 3 literals}. 16. kSAT is the class of boolean formulas in conjunctive normal form such that k or more clauses can be mutually satisfied. kSAT = {(A(x),k)|(3x)[k of A(x) clauses are satisfied]}. MSAT * MAXSAT - (kSATjk is maximal}. 109 17. TAUT Is the class of boolean formulas in disjunctive normal form that are tautologies. TAUT ■ (A(x)|(Vx)[A(x) - 1]}. 18. TS— see kWHC below. 19. UNSAT is the class of boolean formulas in conjunctive normal form that are unsatisfiable. UNSAT - {A(x)| (Vx)[A(x) "0]}. 20. kVER is the class of graphs with a vertex cover of size k or less (all edges are incident on one of those vertices). kVER ■ {(G,k)[G has a vertex cover of size k or less). MVER = {kVERIk is minimal}. 21. kWHC is the class of graphs with a weighted Hamiltonian circuit of weight k or less. We will usually assume the graphs are complete and undirected and that the weights are positive integers, but make no other restrictions. kWHC _ {(G,k)[G has a weighted Hamiltonian circuit of size k or less}. TS * MWHC - {kWHCjk is minimal}. 22. kEDG is the class of graphs that, when the vertices are grouped in c clusters, the sum of the weights of the edges between c clusters is k or greater. kEDG = {(G,c,k)| U C. = V, the set of i-1 1 c vertices, and J £ w > k, where {w.} are the weights of the i-1 (ultV)GE Ul€ C i v € C t i 4 j edges E of graph G}. MEDG * {kEDG|k is maximal). 23. kCOV is the class of collections of sets that have a set cover of size k or less. kCOV * {({s },k)| Us," Us,, where C is 1 j E C 1 set of k or less indices of MCOV - {kCOV|k is minimal}. BIBLIOGRAPHY [AHU 74] Aho, A., J. Hopcroft, J. Ullman. The Design and Analysis of Computer Algorithms, Addison Wesley, NY, 1974. [Bo 72] Book, R. V. "On Languages Accepted in Polymonial Time," SIAM J . of Comp., vol. 1, no. 4, 1972. [Bo 74] Book, R. V. "Comparing Complexity Classes," JCSS, vol. 9, no. 2, 1974. [BGS 75] Baker, T . , J. Gill, R. Solovay. "Relativizations of the P = NP? Question," SIAM J. of Comp., vol. 4, no. 4, 1975. [BL 74] Brainerd,W. S. and L. R. Landweber. Theory of Computation, Wiley, 1974. [Co 71] Cook, S. "The Complexity of Theorem Proving Procedures," Proc. 3rd ACM STOC, 1971. [CR 74] Cook, S. and R. Reckhow. "On the Lengths of Proofs in the Propositional Calculus," Proc. 6th ACM STOC, 1974. [Co 75] Cook, S. "Feasibly Constructive Proofs and the Propositional Calculus," Proc. 7th ACM STOC, 1975. [Co 76] Cook, S. A. "A Short Proof of the Pigeon Hole Principle Using Extended Resolution," ACM SIGACT News, vol. 8, no. 4, 1976. [DW 76] Dunham, B. and H. Wang. "Towards Feasible Solutions of the Tautology Problem," Annals of Math. Logic, vol. 10, no. 2, Dec. 1976. [GJ 76] Garey, M. R. and D. S. Johnson. "The Complexity of Near- Optimal Graph Coloring," JACM, vol. 23, no. 1, 1976. [GJS 74] Garey, M. R., D. S. Johnson, L. J. Stockmeyor. "Some Simpli fied Polynomial Complete Problems," Proc. 6th ACM STOC, 1974. [HB 76] Hartmanis, J. and L. Berman. "On Isomorphism and Density of NP and other Complete Sets," Proc. 8th ACM STOC, 1976. Ill 112 [HH 76] Hartmanis, J. and J. Hopcroft. "Independence Results in Computer Science," ACM SICACT News, vol. 8, no. 4, 1976, [US 76] Hartmanis, J. and J. Simon. "On the Structure of Feasible Computations," Advances in Computers, Academic Press, NY, 1976. [HU 69] Hopcroft, J. and J. Ullman. Formal Languages and their Relation to Automata, Addison Wesley, Ma. 1969. [IK 75] Ibarra, 0. H. and C. G. Kim. "Fast Approximation Algorithms for the Knapsack and Sum of Subset Problems," JACM, vol. 22, no. 4,1975. [JDUGG 74] Johnson, D. S., A. Demers, J.D. Ullman, M.R. Garey, R.L. Graham. "Worst-Case Performance for Simple One-Dimensional Packing Algorithms," SIAM J. of Comp., vol. 3, no. 4, 1974. [Ka 72] Karp, R. M. "Reducibility Among Combinatorial Problems," Complexity of Computer Computations, Miller and Thatcher, eds., Plenum Press, NY, 1972. [La 75] Ladner, R. E. "On the Structure of Polynomial Time Reduci- bilities," JACM, vol. 22, no. 1, 1975. [LLS 74] Ladner, R. , N. Lynch, A. Selman. "Comparison of Polynomial time Reducibilitles," Proc. 6th ACM STOC, 1974, also Theoretical Computer Science, vol. 1, 1975. [MS 72] Meyer, A. and L. J. Stockmeyer. "The Equivalence of Regular Expressions with Squaring Requires Exponential Space," Proc. 13th IEEE SWAT, 1972. [MS 73] Meyer, A. and L. J. Stockmeyer. "Word Problems Requiring Exponential Time," Proc. 5th ACM STOC, 1973. [RoG 67] Rogers, H. Theory of Recursive Functions and Effective Computability, McGraw Hill, 1967. [Sa 74] Sahni, S. "Computationally Related Problems," SIAM J. of Comp., vol. 3, no. 4, 1974. [SG 76] Sahni, S. and T. Gonzalez. "P-Complete Approximation Problems," JACM, vol. 23, no. 3, 1976. [Sc 76] Selman, A. L. "Polynomial Time Enumeration Reducibility," submitted for publication, 1976. [SI 75] Simon, J. "On Some Central Problems in Computational Complexity," Cornell Univ. Tech. Rept. TR 75-224, 1975. 113 [St 74] Stockmeyer, L. J. "The Complexity of Decision Problems In Automata Theory and Logic," MIT Tech. Rept. TR-133, 1974. [St 75] Stockmeyer, L. J. "The Polynomial-Time Hierarchy," IBM Research Rept. RC 5379, 1975. [Ts 70] Tseitin, G. S. "On the Complexity of Derivation in Propo sitional Calculus," in Studies in Constructive Mathematics and Mathematical Logic, Part II, Slisenko, ed., 1972. [Wr 75] Wrathall, C. "Subrecursive Predicates and Automata," Yale Univ. Tech. Rept. #56, 1975. [Sa 70] Savitch, W. J. "Relationships Between Nondeterministic and Deterministic Tape Complexities," ^J. Comp, and Sys. Sci. , vol. 4, 1970. \