• 沒有找到結果。

A 0.5-Approximation Algorithm for max cut

N/A
N/A
Protected

Share "A 0.5-Approximation Algorithm for max cut"

Copied!
38
0
0

(1)

max cut Revisited

• The NP-complete max cut seeks to partition the nodes of graph G = (V, E) into (S, V − S) so that there are as many edges as possible between S and V − S (p. 290).

• Local search starts from a feasible solution and

performs “local” improvements until none are possible.

(2)

A 0.5-Approximation Algorithm for max cut

1: S := ∅;

2: while ∃v ∈ V whose switching sides results in a larger cut do

3: Switch the side of v;

4: end while

5: return S;

• A 0.12-approximation algorithm exists.a

• 0.059-approximation algorithms do not exist unless NP = ZPP.

aGoemans and Williamson (1995).

(3)

V3 V4

V2 V1

Optimal cut

Our cut

e12

e13

e24

e34 e14 e23

(4)

Analysis (continued)

• Partition V = V1 ∪ V2 ∪ V3 ∪ V4, where our algorithm returns (V1 ∪ V2, V3 ∪ V4) and the optimum cut is

(V1 ∪ V3, V2 ∪ V4).

• Let eij be the number of edges between Vi and Vj.

• Because no migration of nodes can improve the

algorithm’s cut, for each node in V1, its edges to V1 ∪ V2 are outnumbered by those to V3 ∪ V4.

• Considering all nodes in V1 together, we have 2e11 + e12 ≤ e13 + e14, which implies

e12 ≤ e13 + e14.

(5)

Analysis (concluded)

• Similarly,

e12 ≤ e23 + e24 e34 ≤ e23 + e13 e34 ≤ e14 + e24

• Adding all four inequalities, dividing both sides by 2, and adding the inequality

e14 + e23 ≤ e14 + e23 + e13 + e24, we obtain

e12 + e34 + e14 + e23 ≤ 2(e13 + e14 + e23 + e24).

• The above says our solution is at least half the optimum.

(6)

Approximability, Unapproximability, and Between

• knapsack, node cover, maxsat, and max cut have approximation thresholds less than 1.

– knapsack has a threshold of 0 (see p. 590).

– But node cover and maxsat have a threshold larger than 0.

• The situation is maximally pessimistic for tsp: It cannot be approximated unless P = NP (see p. 588).

– The approximation threshold of tsp is 1.

∗ The threshold is 1/3 if the tsp satisfies the triangular inequality.

– The same holds for independent set.

(7)

Unapproximability of tsp

a

Theorem 74 The approximation threshold of tsp is 1 unless P = NP.

• Suppose there is a polynomial-time ǫ-approximation algorithm for tsp for some ǫ < 1.

• We shall construct a polynomial-time algorithm for the NP-complete hamiltonian cycle.

• Given any graph G = (V, E), construct a tsp with |V | cities with distances

dij =

1, if { i, j } ∈ E

|V |

1−ǫ, otherwise

aSahni and Gonzales (1976).

(8)

The Proof (concluded)

• Run the alleged approximation algorithm on this tsp.

• Suppose a tour of cost |V | is returned.

– This tour must be a Hamiltonian cycle.

• Suppose a tour with at least one edge of length 1−ǫ|V | is returned.

– The total length of this tour is > 1−ǫ|V | .

– Because the algorithm is ǫ-approximate, the optimum is at least 1 − ǫ times the returned tour’s length.

– The optimum tour has a cost exceeding | V |.

– Hence G has no Hamiltonian cycles.

(9)

knapsack Has an Approximation Threshold of Zero

a

Theorem 75 For any ǫ, there is a polynomial-time ǫ-approximation algorithm for knapsack.

• We have n weights w1, w2, . . . , wn ∈ Z+, a weight limit W , and n values v1, v2, . . . , vn ∈ Z+.b

• We must find an S ⊆ {1, 2, . . . , n} such that P

i∈S wi ≤ W and P

i∈S vi is the largest possible.

• Let

V = max{v1, v2, . . . , vn}.

aIbarra and Kim (1975).

bIf the values are fractional, the result is slightly messier but the main conclusion remains correct. Contributed by Mr. Jr-Ben Tian (R92922045) on December 29, 2004.

(10)

The Proof (continued)

• For 0 ≤ i ≤ n and 0 ≤ v ≤ nV , define W (i, v) to be the minimum weight attainable by selecting some among the i first items, so that their value is exactly v.

• Start with W (0, v) = ∞ for all v.

• Then

W (i + 1, v) = min{W (i, v), W (i, v − vi+1) + wi+1}.

• Finally, pick the largest v such that W (n, v) ≤ W .

• The running time is O(n2V ), not polynomial time.

• Key idea: Limit the number of precision bits.

(11)

The Proof (continued)

• Given the instance x = (w1, . . . , wn, W, v1, . . . , vn), we define the approximate instance

x = (w1, . . . , wn, W, v1 , . . . , vn ), where

vi = 2b j vi

2b k.

• Solving x takes time O(n2V /2b).

• The solution S is close to the optimum solution S:

X

i∈S

vi X

i∈S

vi X

i∈S

vi X

i∈S

vi X

i∈S

(vi 2b) ≥ X

i∈S

vi − n2b.

(12)

The Proof (continued)

• Hence

X

i∈S

vi ≥ X

i∈S

vi − n2b.

• Without loss of generality, wi ≤ W (otherwise item i is redundant).

• V is a lower bound on opt.

– Picking the item with value V alone is a legitimate choice.

• The relative error from the optimum is ≤ n2b/V as P

i∈S vi − P

i∈S vi

P

i∈S vi

P

i∈S vi − P

i∈S vi

V ≤ n2b

V .

(13)

The Proof (concluded)

• Truncate the last b = ⌊log2 ǫV

n ⌋ bits of the values.

• The algorithm becomes ǫ-approximate (see Eq. (8) on p. 567).

• The running time is then O(n2V /2b) = O(n3/ǫ), a polynomial in n and 1/ǫ.

(14)

Pseudo-Polynomial-Time Algorithms

• Consider problems with inputs that consist of a

collection of integer parameters (tsp, knapsack, etc.).

• An algorithm for such a problem whose running time is a polynomial of the input length and the value (not length) of the largest integer parameter is a

pseudo-polynomial-time algorithm.a

• On p. 591, we presented a pseudo-polynomial-time algorithm for knapsack that runs in time O(n2V ).

• How about tsp (d), another NP-complete problem?

aGarey and Johnson (1978).

(15)

No Pseudo-Polynomial-Time Algorithms for tsp (d)

• By definition, a pseudo-polynomial-time algorithm becomes polynomial-time if each integer parameter is limited to having a value polynomial in the input length.

• Corollary 38 (p. 306) showed that hamiltonian path is reducible to tsp (d) with weights 1 and 2.

• As hamiltonian path is NP-complete, tsp (d) cannot have pseudo-polynomial-time algorithms unless P = NP.

• tsp (d) is said to be strongly NP-hard.

• Many weighted versions of NP-complete problems are strongly NP-hard.

(16)

Polynomial-Time Approximation Scheme

• Algorithm M is a polynomial-time approximation scheme (PTAS) for a problem if:

– For each ǫ > 0 and instance x of the problem, M runs in time polynomial (depending on ǫ) in | x |.

∗ Think of ǫ as a constant.

– M is an ǫ-approximation algorithm for every ǫ > 0.

(17)

Fully Polynomial-Time Approximation Scheme

• A polynomial-time approximation scheme is fully polynomial (FPTAS) if the running time depends polynomially on | x | and 1/ǫ.

– Maybe the best result for a “hard” problem.

– For instance, knapsack is fully polynomial with a running time of O(n3/ǫ) (p. 590).

(18)

Square of G

• Let G = (V, E) be an undirected graph.

• G2 has nodes {(v1, v2) : v1, v2 ∈ V } and edges

{{ (u, u), (v, v)} : (u = v ∧ { u, v } ∈ E) ∨ { u, v } ∈ E}.

1

2

3

(1,1)

G

(1,2) (1,3)

(2,1) (2,2) (2,3)

(3,1) (3,2) (3,3)

G2

(19)

Independent Sets of G and G

2

Lemma 76 G(V, E) has an independent set of size k if and only if G2 has an independent set of size k2.

• Suppose G has an independent set I ⊆ V of size k.

• {(u, v) : u, v ∈ I} is an independent set of size k2 of G2.

1

2

3

(1,1)

G

(1,2) (1,3)

(2,1) (2,2) (2,3)

(3,1) (3,2) (3,3)

G2

(20)

The Proof (continued)

• Suppose G2 has an independent set I2 of size k2.

• U ≡ {u : ∃v ∈ V (u, v) ∈ I2} is an independent set of G.

1

2

3

(1,1)

G

(1,2) (1,3)

(2,1) (2,2) (2,3)

(3,1) (3,2) (3,3)

G2

• | U | is the number of “rows” that the nodes in I2 occupy.

(21)

The Proof (concluded)

a

• If | U | ≥ k, then we are done.

• Now assume | U | < k.

• As the k2 nodes in I2 cover fewer than k “rows,” there must be a “row” in possession of > k nodes of I2.

• Those > k nodes will be independent in G as each “row”

is a copy of G.

aThanks to a lively class discussion on December 29, 2004.

(22)

Approximability of independent set

• The approximation threshold of the maximum independent set is either zero or one (it is one!).

Theorem 77 If there is a polynomial-time ǫ-approximation algorithm for independent set for any 0 < ǫ < 1, then there is a polynomial-time approximation scheme.

• Let G be a graph with a maximum independent set of size k.

• Suppose there is an O(ni)-time ǫ-approximation algorithm for independent set.

(23)

The Proof (continued)

• By Lemma 76 (p. 600), the maximum independent set of G2 has size k2.

• Apply the algorithm to G2.

• The running time is O(n2i).

• The resulting independent set has size ≥ (1 − ǫ) k2.

• By the construction in Lemma 76 (p. 600), we can obtain an independent set of size ≥ p

(1 − ǫ) k2 for G.

• Hence there is a (1 − √

1 − ǫ)-approximation algorithm for independent set.

(24)

The Proof (concluded)

• In general, we can apply the algorithm to G2 to obtain an (1 − (1 − ǫ)2−ℓ)-approximation algorithm for

independent set.

• The running time is n2i.a

• Now pick ℓ = ⌈log log(1−ǫlog(1−ǫ))⌉.

• The running time becomes nilog(1−ǫ′)log(1−ǫ) .

• It is an ǫ-approximation algorithm for independent set.

aIt is not fully polynomial.

(25)

• independent set and node cover are reducible to each other (Corollary 36, p. 286).

• node cover has an approximation threshold at most 0.5 (p. 573).

• But independent set is unapproximable (see the textbook).

• independent set limited to graphs with degree ≤ k is called k-degree independent set.

• k-degree independent set is approximable (see the textbook).

(26)

On P vs NP

(27)

Density

a

The density of language L ⊆ Σ is defined as densL(n) = |{x ∈ L : | x | ≤ n}|.

• If L = {0, 1}, then densL(n) = 2n+1 − 1.

• So the density function grows at most exponentially.

• For a unary language L ⊆ {0},

densL(n) ≤ n + 1.

– Because L ⊆ {ǫ, 0, 00, . . . ,

n

z }| {

00· · · 0, . . .}.

aBerman and Hartmanis (1977).

(28)

Sparsity

• Sparse languages are languages with polynomially bounded density functions.

• Dense languages are languages with superpolynomial density functions.

(29)

Self-Reducibility for sat

• An algorithm exploits self-reducibility if it reduces the problem to the same problem with a smaller size.

• Let φ be a boolean expression in n variables x1, x2, . . . , xn.

• t ∈ {0, 1}j is a partial truth assignment for x1, x2, . . . , xj.

• φ[ t ] denotes the expression after substituting the truth values of t for x1, x2, . . . , xt in φ.

(30)

An Algorithm for sat with Self-Reduction

We call the algorithm below with empty t.

1: if | t | = n then

2: return φ[ t ];

3: else

4: return φ[ t0 ] ∨ φ[ t1 ];

5: end if

The above algorithm runs in exponential time, by visiting all the partial assignments (or nodes on a depth-n binary tree).

(31)

NP-Completeness and Density

a

Theorem 78 If a unary language U ⊆ {0} is NP-complete, then P = NP.

• Suppose there is a reduction R from sat to U.

• We shall use R to guide us in finding the truth

assignment that satisfies a given boolean expression φ with n variables if it is satisfiable.

• Specifically, we use R to prune the exponential-time exhaustive search on p. 611.

• The trick is to keep the already discovered results φ[ t ] in a table H.

aBerman (1978).

(32)

1: if | t | = n then

2: return φ[ t ];

3: else

4: if (R(φ[ t ]), v) is in table H then

5: return v;

6: else

7: if φ[ t0 ] = “satisfiable” or φ[ t1 ] = “satisfiable” then

8: Insert (R(φ[ t ]), 1) into H;

9: return “satisfiable”;

10: else

11: Insert (R(φ[ t ]), 0) into H;

12: return “unsatisfiable”;

13: end if

14: end if

15: end if

(33)

The Proof (continued)

• Since R is a reduction, R(φ[ t ]) = R(φ[ t ]) implies that φ[ t ] and φ[ t ] must be both satisfiable or unsatisfiable.

• R(φ[ t ]) has polynomial length ≤ p(n) because R runs in log space.

• As R maps to unary numbers, there are only polynomially many p(n) values of R(φ[ t ]).

• How many nodes of the complete binary tree (of invocations/truth assignments) need to be visited?

• If that number is a polynomial, the overall algorithm runs in polynomial time and we are done.

(34)

The Proof (continued)

• A search of the table takes time O(p(n)) in the random access memory model.

• The running time is O(Mp(n)), where M is the total number of invocations of the algorithm.

• The invocations of the algorithm form a binary tree of depth at most n.

(35)

The Proof (continued)

• There is a set T = {t1, t2, . . .} of invocations (partial truth assignments, i.e.) such that:

– |T | ≥ (M − 1)/(2n).

– All invocations in T are recursive (nonleaves).

– None of the elements of T is a prefix of another.

(36)

(37)

The Proof (continued)

• All invocations t ∈ T have different R(φ[ t ]) values.

– None of s, t ∈ T is a prefix of another.

– The invocation of one started after the invocation of the other had terminated.

– If they had the same value, the one that was invoked second would have looked it up, and therefore would not be recursive, a contradiction.

• The existence of T implies that there are at least (M − 1)/(2n) different R(φ[ t ]) values in the table.

(38)

The Proof (concluded)

• We already know that there are at most p(n) such values.

• Hence (M − 1)/(2n) ≤ p(n).

• Thus M ≤ 2np(n) + 1.

• The running time is therefore O(Mp(n)) = O(np2(n)).

• We comment that this theorem holds for any sparse language, not just unary ones.a

aMahaney (1980).

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Suppose, instead, we run the algorithm for the same running time mkT (n) once and rejects the input if it does not stop within the time bound.. • By Markov’s inequality, this

Here, a deterministic linear time and linear space algorithm is presented for the undirected single source shortest paths problem with positive integer weights.. The algorithm

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

If P6=NP, then for any constant ρ ≥ 1, there is no polynomial-time approximation algorithm with approximation ratio ρ for the general traveling-salesman problem...

• An algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output.. • An algorithm is

Given an undirected graph with nonnegative edge lengths and nonnegative vertex weights, the routing requirement of a pair of vertices is assumed to be the product of their weights.