• Keine Ergebnisse gefunden

In the introduction we already mentioned hard, especially NP-hard, problems but what exactly doeshard mean in this context? As this thesis considers only NP-hard problems whose underlying decision problems lie either in the complexity class NP or above, we will give a brief introduction to the basics of complexity theory, the complexity classes P and NP, as well as touch the topic of problems beyond NP. In the field of complexity theory usually primarily decision problems are considered as opposed to optimization problems. However, if we, for example, have a global upper bound to the optimal value of a minimization problem, then we can apply a binary search in the value solution space (letB be the current value) and repeatedly ask the question “Is there a solution to the given optimization problem with a value no larger than B?”. Thereby, we can transform most optimization problems in a straightforward way into a series of decision problems.

To answer the question of hard problems it is necessary to give a formal definition of an algorithm and an associated computation model. For that reason we will use models from the literature and the remainder of this section is therefore based on the book Computers and Intractability by Garey and Johnson [56]. The simple formal model on which this section is based is a deterministic one-tape Turing machine (DTM), which consists of afinite state control, a read-write head, and an infinitely long tape, which is partitioned intotape squares. Then we can define a program for a DTM as follows [56].

Definition 3. A program for a DTM specifies the following information:

(a) A finite set Γ of tape symbols, including a subset Σ⊂Γ of input symbols and a distinguished blank symbolb∈Γ−Σ;

(b) a finite setQof states, including a distinguished start stateq0and two distinguished stop statesqY andqN;

(c) a transition function δ: (Q− {qY, qN})×Γ→Q×Γ× {−1,+1}.

The input of such a program is a stringx∈Σ, where Σ is the set of all finite strings using symbols from Σ. In the beginning of the execution of the program this input is written on the tape starting at position 0. The program starts in stateq0 and proceeds by following the statements of the transition function until either stateqYorqNis reached which corresponds to ayes-answer or ano-answer to the decision problem, respectively.

We remark that in general the program does not have to stop at all but this does not pose a problem here.

The input string x corresponds to a specific encoding scheme e of an instance of a decision problem, where an encoding schemee describes each instance of a decision problem by a string of symbols over a fixed alphabet Σ. Before we can define the complexity class P we have to establish the connection between a decision problem and alanguage. We associate a languageL[Π, e] with the decision problem Π and a proper encodingeas follows [56]:

L[Π, e] = (

x∈Σ: Σ is the alphabet used by e, and x is the encoding under e of an instanceIYΠ

) , whereYΠis the set ofyes-instances of decision problem Π. Then, we say that a program M with input alphabet Σacceptsx∈Σ if and only ifM halts in stateqY. The language LM that is recognized by program M is given by LM = {x ∈ Σ : M acceptsx} [56].

Finally, we can formally define the complexity class P as follows:

Definition 4. Complexity class P

P ={L: there is a polynomial time DTM program M for which L=LM}

Going further to nondeterministic algorithms and the complexity class NP we first give an intuitive explanation of this class. We can informally classify a problem to belong to the complexity class NP if we can devise aguess-and-check algorithm. First, we nonde-terministically guess an arbitrary solution candidateS. When speaking about languages, each possible string from Γ can be guessed since we are doing this nondeterministically.

After the guessing phase wecheck if the guessed string is actually ayes-instance. Now, if the string is polynomially bounded in the size of Γ and the checking algorithm runs in polynomial time we say that the decision program lies in the complexity class NP.

More formally, we extend the model of a DTM to anondeterministic one-tape Turing machine (NDTM) by adding a guessing module which has its ownwrite-only head. A program of a NDTM is defined the same way as for a DTM but the computation has an additional guessing phase before it continues working like the DTM. In the guessing phase the write-only head writes an arbitrary string from Γ on the tape. Then, the checking phase starts with the same rules as for the DTM. In contrast to the DTM from before we say that an NDTM program M accepts a given input string x if at least one of all (infinitely many) possible guessed strings will result in a halt in the state qY. We define the complexity class NP as follows:

Definition 5. Complexity class NP

NP ={L: there is a polynomial time NDTM program M for which L=LM} Having defined the most important complexity classes P and NP, we continue by showing how to identify NP-hard problems. Therefore, we first have to introduce the notion of polynomial reductionsbetween two languages. Formally we define a polynomial reduction from a languageL1 ⊆Σ1 to another languageL2 ⊆Σ2 (we write L1L2) to be a functionf : Σ1 →Σ2 that satisfies the following two conditions [56]:

1. There is a polynomial DTM program that computes f.

2. For allx∈Σ1, xL1 if and only iff(x)∈L2.

Informally spoken, the reduction must be computable in polynomial time and after the transformation the problem must be solvable with any algorithm that solves the

corresponding problem ofL2. Then, we say that a language Lis NP-hard if for all other languages L0N P, L0L holds. Correspondingly, a language L is NP-complete if LN P and L is NP-hard. Proving that a problem Π is NP-complete can be done methodologically by first devising a guess-and-check algorithm to prove that Π∈N P and then taking any problem which is known to be NP-hard and find a polynomial reduction to Π which shows that it is also NP-hard.

Now that we have defined that NP-complete problems are in some sense thehardest problems in NP one could raise the question what happens if we leave the class NP and take a look at even higher levels of complexity. Therefore, we first introduce the notion of an oracle and anoracle Turing machine. Intuitively, an oracle is an algorithm (or program, subroutine,. . .) which solves a specific problem in zero time. Such an oracle can be used to further specify the complexity of a given problem in the following way:

Suppose, we know that a subproblem Π0 of the input problem Π has a known complexity (and can possibly be solved easily). What is the remaining complexity of problem Π? To comply with our notion of Turing machines, we define anoracle Turing machine (OTM) as an extension of a DTM. An OTM has an additional tape and additional states: a query stateqc and two answer states of the oracleqcY, and qcN. The computation of an OTM program works similarly to that of a DTM, except that if the current state isqc, then it consults an oracle and gets an answer from the oracle (state qYc or qNc) in one step. By using this definition we introduce a notation for new complexity classes. We writeC1C2 for problems which can be decided by an OTM within the time bound given by complexity classC1 and an oracle for any problem in the complexity classC2. On basis of this definition Meyer and Stockmeyer [96] observed that such a structure can be extended indefinitely and thereby introduced thepolynomial hierarchy, which is defined as follows [56]:

Definition 6. Polynomial Hierarchy

Σp0= Πp0 = ∆p0 = P and for all k≥0

pk+1 = PΣpk Σpk+1= NPΣpk Πpk+1=co-Σpk+1

Although we so far did not mentionco-classes here, our focus lies on the class Σpk and therefore we refer the interested reader to the literature (e.g., [56, 103]). An easy example of a set of problems in Σpk is based onquantified boolean formulas (QBFs). Suppose we are given a well-formed boolean expressionφwith boolean variables partitioned intoi disjoint setsX1, . . . , Xi. Then, theQBF problem with i alternating quantifiers asks the question ifthere is a truth assignment for the variables in X1 such that for all truth assignments forX2 there existsa truth assignment for X3, . . . such that φis satisfied.

Such an alternating behavior is characteristic for problems of the polynomial hierarchy.

Although it is not known yet if any of the relations ∆pk= Σpk= Πpk=N P =P, ∀k >1 hold, it is assumed that those problems are considerably harder to solve than any problem of the class NP. Chapter 4 considers a COP of practical relevance that is Σp2-hard and in Chapter 5 solution methods for an NP-hard problem are developed.