• Aucun résultat trouvé

Self-Reducibility of Search Problems

Dans le document This page intentionally left blank (Page 89-93)

Introduction and Preliminaries

CHAPTER TWO

P, N and NP-Completeness

2.2. Polynomial-Time Reductions

2.2.3. Self-Reducibility of Search Problems

The results to be presented in this section further justify the focus on decision problems.

Loosely speaking, these results show that for many natural relations R, the question of whether or not the search problem of R is efficiently solvable (i.e., is in PF) is equivalent to the question of whether or not the “decision problem implicit in R” (i.e., SR = {x :∃y s.t. (x,y)R}) is efficiently solvable (i.e., is inP). In fact, we will show that these two computational problems (i.e., Rand SR) are computationally equivalent.

Note that the decision problem ofSR is easily reducible to the search problem of R, and so our focus is on the other direction. That is, we are interested in relationsRfor which the search problem ofRis reducible to the decision problem ofSR. In such a case, we say thatRis self-reducible.

Teaching note:Our usage of the term self-reducibility differs from the traditional one. Tra-ditionally, a decision problem is called (downward) self-reducible if it is Cook-reducible to itself via a reduction that on input x only makes queries that are smaller than x (ac-cording to some appropriate measure on the size of strings). Under some natural restrictions

(i.e., the reduction takes the disjunction of the oracle answers) such reductions yield reductions of search to decision (as discussed in the main text). For further details, see Exercise2.13.

Definition 2.14(the decision implicit in a search and self-reducibility): The deci-sion problem implicit in the search problem ofR is deciding membership in the set SR = {x : R(x)= ∅}, where R(x)= {y : (x,y)R}. The search problem of R is calledself-reducibleif it can be reduced to the decision problem of SR.

Note that the search problem of Rand the problem of deciding membership inSRrefer to the same instances: The search problem requires finding an adequate solution (i.e., givenx find yR(x)), whereas the decision problem refers to the question of whether such solutions exist (i.e., givenx determine whether or notR(x) is non-empty). Thus,SR is really the “decision problem implicit in R,” because it is a decision problem that one implicitly solves when solving the search problem of R. Indeed, for anyR,the decision problem of SRis easily reducible to the search problem for R(and ifRis inPCthenSRis inN P).6It follows thatif a search problem R is self-reducible then it is computationally equivalent to the decision problem SR.

Note that the general notion of a reduction (i.e., Cook-reduction) seems inherent to the notion of self-reducibility. This is the case not only due to syntactic considerations, but also due to the following inherent reason. An oracle to any decision problem returns a single bit per invocation, while the intractability of a search problem inPCmust be due to lacking more than a “single bit of information” (see Exercise2.10).

We shall see that self-reducibility is a property of many natural search problems (including all NP-complete search problems). This justifies the relevance of decision problems to search problems in a stronger sense than established in Section2.1.3: Recall that in Section2.1.3we showed that the fate of the search problem classPC (wrtPF) is determined by the fate of the decision problem classN P(wrtP). Here we show that, for many natural search problems inPC(i.e., self-reducible ones), the fate of such a problem R(wrt PF) is determined by the fate of the decision problemSR(wrt P), whereSRis the decision problem implicit inR.

2.2.3.1. Examples

We now present a few search problems that are self-reducible. We start withSAT (see Appendix G.2), the set of satisfiable Boolean formulae (in CNF), and consider the search problem in which given a formula one should provide a truth assignment that satisfies it. The corresponding relation is denoted RSAT; that is, (φ, τ)∈RSATifτ is a satisfying assignment to the formulaφ. The decision problem implicit inRSATis indeedSAT. Note thatRSATis inPC (i.e., it is polynomially bounded and membership of (φ, τ) in RSATis easy to decide (by evaluating a Boolean expression)).

Proposition 2.15(RSATis self-reducible): The search problem of RSATis reducible toSAT.

Thus, the search problem ofRSATis computationally equivalent to deciding membership inSAT. Hence, in studying the complexity ofSAT, we also address the complexity of the search problem ofRSAT.

6For example, the reduction invokes the search oracle and answer 1 if and only if the oracle returns some string (rather than the “no solution” symbol).

Proof: We present an oracle machine that solves the search problem of RSAT by making oracle calls toSAT. Given a formulaφ, we find a satisfying assignment to φ (in case such an assignment exists) as follows. First, we querySATonφ itself, and return an indication that there is no solution if the oracle answer is 0 (indicating φ∈SAT). Otherwise, we letτ, initiated to the empty string, denote a prefix of a satisfying assignment of φ. We proceed in iterations, where in each iteration we extendτ by one bit. This is done as follows: First we derive a formula, denoted φ, by setting the first |τ| +1 variables ofφ according to the values τ0. We then query SAT on φ (which means that we ask whether or not τ0 is a prefix of a satisfying assignment ofφ). If the answer is positive then we setττ0; otherwise we setττ1. This procedure relies on the fact that ifτ is a prefix of a satisfying assignment ofφandτ0 is not a prefix of a satisfying assignment ofφthenτ1 must be a prefix of a satisfying assignment ofφ.

We wish to highlight a key point that has been blurred in the foregoing de-scription. Recall that the formula φ is obtained by replacing some variables by constants, which means thatφper secontains Boolean variables as well as Boolean constants. However, the standard definition ofSATdisallows Boolean constants in its instances.7 Nevertheless, φ can be simplified such that the resulting formula contains no Boolean constants. This simplification is performed according to the straightforward Boolean rules: That is, the constant falsecan be omitted from any clause, but if a clause contains only occurrences of the constantfalsethen the entire formula simplifies to false. Likewise, if the constant true appears in a clause then the entire clause can be omitted, and if all clauses are omitted then the entire formula simplifies totrue. Needless to say, if the simplification process yields a Boolean constant then we may skip the query, and otherwise we just use the simplified form ofφas our query.

Other examples. Reductions analogous to the one used in the proof of Proposition2.15 can also be presented for other search problems (and not only for NP-complete ones).

Two such examples are searching for a 3-coloring of a given graph and searching for an isomorphism between a given pair of graphs (where the first problem is known to be NP-complete and the second problem is believed not to be NP-complete). In both cases, the reduction of the search problem to the corresponding decision problem consists of iteratively extending a prefix of a valid solution, by making suitable queries in order to decide which extension to use. Note, however, that in these two cases the process of getting rid of constants (representing partial solutions) is more involved. Specifically, in the case of Graph 3-Colorability (resp., Graph Isomorphism) we need to enforce a partial coloring of a given graph (resp., a partial isomorphism between a given pair of graphs);

see Exercises2.11and2.12, respectively.

Reflection. The proof of Proposition2.15(as well as the proofs of similar results) consists of two observations.

1. For every relation R in PC, it holds that the search problem of R is re-ducible to the decision problem of SR= {(x,y) :∃y s.t. (x,yy)∈R}. Such a

7While the problem seems rather technical at the current setting (as it merely amounts to whether or not the definition ofSATallows Boolean constants in its instances), it is far from being so technical in other cases (see Exercises2.11and2.12).

reduction is explicit in the proof of Theorem 2.6 and is implicit in the proof of Proposition2.15.

2. For specificRPC(e.g.,SSAT), deciding membership inSRis reducible to deciding membership inSR= {x :∃y s.t. (x,y)R}. This is where the specific structure of SATwas used, allowing for a direct and natural transformation of instances ofSR to instances ofSR.

(We comment that ifSRis NP-complete thenSR, which is always inN P, is reducible toSRby the mere fact thatSRis NP-complete; this comment is related to the following advanced comment.)

For an arbitrary RPC, deciding membership in SR is not necessarily reducible to deciding membership inSR. Furthermore, deciding membership inSR is not necessarily reducible to the search problem ofR. (See Exercises2.14,2.15, and2.16.)

In general, self-reducibility is a property of the search problem and not of the decision problem implicit in it. Furthermore, under plausible assumptions (e.g., the intractability of factoring), there exist relations R1,R2PC having the same implicit-decision problem (i.e.,{x : R1(x)= ∅} = {x : R2(x)= ∅}) such that R1is self-reducible butR2is not (see Exercise2.17). However, for many natural decision problems this phenomenon does not arise; that is,for many natural NP-decision problems S, any NP-witness relation associated with S(i.e.,RPCsuch that{x : R(x)= ∅} =S)is self-reducible. Indeed, see the other examples following the proof of Proposition2.15as well as the advanced discussion in

§2.2.3.2.

2.2.3.2. Self-Reducibility of NP-Complete Problems

Teaching note:In this advanced subsection, we assume that the students have heard of NP-completeness. Actually, we only need the students to know the definition of NP-completeness (i.e., a setSisN P-complete ifSN Pand every set inN Pis reducible toS). Yet, the teacher may prefer postponing the presentation of the following advanced discussion to Section2.3.1 (or even to a later stage).

Recall that, in general, self-reducibility is a property of the search problemRand not of the decision problem implicit in it (i.e.,SR= {x : R(x)= ∅}). In contrast, in the special case of NP-complete problems, self-reducibility holds for any witness relation associated with the (NP-complete) decision problem. That is,all search problems that refer to finding NP-witnesses for any NP-complete decision problem are self-reducible.

Theorem 2.16: For every R inPCsuch that SRisN P-complete, the search problem of R is reducible to deciding membership in SR.

In many cases, as in the proof of Proposition2.15, the reduction of the search problem to the corresponding decision problem is quite natural. The following proof presents a generic reduction (which may be “unnatural” in some cases).

Proof:In order to reduce the search problem ofRto decidingSR, we compose the following two reductions:

1. A reduction of the search problem ofRto deciding membership inSR= {(x,y) :

y s.t. (x,yy)∈R}.

As stated in the foregoing paragraph (titled “Reflection”), such a reduction is implicit in the proof of Proposition2.15(as well as being explicit in the proof of Theorem2.6).

2. A reduction ofSRtoSR.

This reduction exists by the hypothesis thatSRisN P-complete and the fact that SRN P. (Note that we do not assume that this reduction is a Karp-reduction, and furthermore it may be an “unnatural” reduction).

The theorem follows.

Dans le document This page intentionally left blank (Page 89-93)