Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb:...
Transcript of Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb:...
![Page 1: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/1.jpg)
Exact (Exponential) Algorithmsfor NP-hard Problems
Fabrizio Grandoni
Universita di Roma “La Sapienza”[email protected]
Exact (Exponential) Algorithmsfor NP-hard Problems – p.1/23
![Page 2: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/2.jpg)
Outline• Exact Algorithms• Independent Set Problem• A Toy-Algorithm• Memorization• Folding• Measure & Conquer• Other Results• Open Problems
Exact (Exponential) Algorithmsfor NP-hard Problems – p.2/23
![Page 3: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/3.jpg)
Exact (Exponential) AlgorithmsPrb: Designing exact algorithms for NP-hardproblems with the smallest possible worst-caserunning time.• Need for exact solutions (e.g. decision problems).• Reducing the running time from, say, 2n to 1.5n
increases the size of the instances solvable by aconstant multiplicative factor.• Classical approaches (heuristics, approximationalgorithms, parameterized algorithms...) have limitsand drawbacks (no guaranty, hardness ofapproximation, W [t]-completeness...).• New combinatorial and algorithmic challenges.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.3/23
![Page 4: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/4.jpg)
Maximum Independent SetPrb: given an n-node graph G = (V,E), determinethe maximum cardinality of a subset of pairwisenon-adjacent nodes (independent set).
12 3
45OPT = 2
Exact (Exponential) Algorithmsfor NP-hard Problems – p.4/23
![Page 5: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/5.jpg)
Maximum Independent Set• NP-hard.• Hard to approximate within n1−ε.• W [1]-complete (no fast parameterized algorithm).
• No exact c o(n) algorithm (unless SNP⊆SUBEXP).⇒ The best we can hope for is a 2c n algorithm forsome small c ∈ (0, 1].
Exact (Exponential) Algorithmsfor NP-hard Problems – p.5/23
![Page 6: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/6.jpg)
Maximum Independent Set• [Tarjan&Trojanowski’77]: O(20.334n) poly-space.
• [Jian’86]: O(20.304n) poly-space.
• [Robson’86]: O(20.296n) poly-space,O(20.276n) exp-space.
• [Fomin,Grandoni&Kratsch’06]: O(20.288n)poly-space.• [Beigel’99, Chen,Kanj&Xia’03]: better results forsparse graphs.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.6/23
![Page 7: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/7.jpg)
DominationLem: If there are two nodes v and w such thatN [v] ⊆ N [w], there is a maximum independent setwhich does not contain w (N [x]=N(x)∪x).Prf:
v w
1 2 3
⇒v w
1 2 3
Exact (Exponential) Algorithmsfor NP-hard Problems – p.7/23
![Page 8: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/8.jpg)
A Toy-Algorithmint mis(G)
if(|G| ≤ 1) return |G|; //Base caseif(∃ component C ⊂ G) //Components
return mis(C)+mis(G − C);if(∃ nodes v and w: N [v] ⊆ N [w]) //Domination
return mis(G − w);//“Greedy” branchingselect a node v of maximum degree; //d(v) ≥ 2
if(deg(v)=2) return poly-mis(G); //cyclesreturn maxmis(G−v), 1+mis(G−N [v]);
Exact (Exponential) Algorithmsfor NP-hard Problems – p.8/23
![Page 9: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/9.jpg)
A Toy-Algorithm• The algorithm produces a search tree of exponentialsize, where branching takes polynomial time.• Thus the analysis reduces to bounding the numberof subproblems generated.• The bound is obtained by defining a measure of thesize of the subproblems. Each branching rule leads tosome linear recurrences in the measure, which are usedto lower-bound the progress made by the algorithm ateach branching step.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.9/23
![Page 10: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/10.jpg)
A Toy-AlgorithmLem: Algorithm mis runs in time O(20.465n).Prf:• Let P (n) be the number of subproblems solved tosolve a problem on n nodes. Then
P (n) ≤
1 base case/cycles;
1 + P (|C|) + P (n − |C|) connected components;
1 + P (n − 1) domination;
1 + P (n − 1) + P (n − 4) branching (d(v) ≥ 3).
• The base of the exponential factor is obtained from
cn ≥ cn−1 + cn−4 ⇔ c4 − c3 − 1 ≥ 0.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.10/23
![Page 11: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/11.jpg)
Memorization• The same subproblem may appear several times.• Memorization consists in storing the solutions ofthe subproblems solved in an (exponential-size)database, which is queried each time a newsubproblem is generated.• This way, no subproblem is solved twice.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.11/23
![Page 12: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/12.jpg)
MemorizationThm: Algorithm mis, combined with memorization,has running time O(20.426 n).Prf:• The subproblems involve induced subgraphs of theoriginal graph. Thus there are at most
(
n
k
)
differentsubproblems on k nodes.• From standard analysis, such subproblems are upperbounded also by 20.465(n−k).
• Altogether, using Stirling’s formula,
P (n) ≤
n∑
k=1
min
20.465(n−k),
(
n
k
)
= O(20.426 n).
Exact (Exponential) Algorithmsfor NP-hard Problems – p.12/23
![Page 13: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/13.jpg)
FoldingLem: For every node v, there is a maximumindependent set which either contains v or at least twoof its neighbors.Prf:
v⇒
v
Exact (Exponential) Algorithmsfor NP-hard Problems – p.13/23
![Page 14: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/14.jpg)
FoldingDef: Folding a node v, N(v) = w, u, with w and unot adjacent, means• replacing v, w, and u with a new node v′;• adding edges between v′ and N(w)∪ N(u)−v.
v
w u
3 4 5
⇒v′
3 4 5
Lem: When we fold a node v, the maximum indepen-dent set size decreases exactly by one.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.14/23
![Page 15: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/15.jpg)
Foldingint mis’(G)
if(|G| ≤ 1) return |G|; //Base caseif(∃ component C ⊂ G) //Components
return mis’(C)+mis’(G − C);if(∃ nodes v and w: N [v] ⊆ N [w]) //Domination
return mis’(G − w);if(∃ v foldable) //Folding
return 1 + mis’(fold(v,G));//“Greedy” branchingselect a node v of maximum degree; //d(v) ≥ 3
return maxmis’(G−v), 1+mis’(G−N [v]);
Exact (Exponential) Algorithmsfor NP-hard Problems – p.15/23
![Page 16: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/16.jpg)
FoldingLem: Algorithm mis’ runs in time O(20.406n).
Prf: If the algorithm branches at a node of degree 3,then a node of degree 2 is left
P (n) ≤
1 base case/poly-case;
1 + P (|C|) + P (n − |C|) connected components;
1 + P (n − 1) domination;
1 + P (n − 1) + P (n − 5) branching (d(v) ≥ 4);
1 + P (n − 3) + P (n − 4) branching (d(v) = 3).
• Folding is not compatible with memorization.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.16/23
![Page 17: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/17.jpg)
Measure & Conquer• Exact recursive algorithms are often verycomplicated (tedious case analysis).• But the measure used in their analysis is usuallytrivial (e.g. number of nodes in IS, as before).⇒ Measure & Conquer approach consists in focusingon the choice of the measure.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.17/23
![Page 18: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/18.jpg)
Measure & Conquer• Removing nodes of high degree reduces the degreeof many other nodes. This pays of on long term sincenodes of degree ≤ 2 can be filtered out withoutbranching.• This phenomenon is not taken into account withstandard analysis/measure.⇒ The idea is to give a different (smaller) weight tonodes of different (smaller) degree:
W (v) =
0 if d(v) ≤ 2;
α ∈ (0, 1] if d(v) = 3;
1 if d(v) ≥ 4.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.18/23
![Page 19: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/19.jpg)
Measure & ConquerThm: Algorithm mis’ has running time O(2362 n).Prf:• First we need to enforce that folding does notincrease the size of the problem: α ≥ 0.5.• When we branch by discarding a node v, the size ofthe problem decreases because of: (1) the removal ofv, and (2) the decrease of the degree of the neighborsof v.• When we branch by selecting a node v, the size ofthe problem decreases because of: (1) the removal ofv, and (2) the removal of the neighbors of v.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.19/23
![Page 20: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/20.jpg)
Measure & ConquerPrf: Let P (k) be the number of subproblems solvedto solve a problem of size k ≤ n. Then
P (k) ≤
1 + P (k − 1) + P (k − 6);
1 + P (k − 1 − α) + P (k − 5 − α);
1 + P (k − 1 − 2α) + P (k − 4 − 2α);
1 + P (k − 1 − 3α) + P (k − 3 − 3α);
1 + P (k − 1 − 4α) + P (k − 2 − 4α);
1 + P (k − 5 + 4α) + P (k − 5);
1 + P (k − 4 + 2α) + P (k − 4 − α);
1 + P (k − 3) + P (k − 3 − 2α);
1 + P (k − 2 − 2α) + P (k − 2 − 3α);
1 + P (k − 1 − 3α) + P (k − 1 − 3α).
Exact (Exponential) Algorithmsfor NP-hard Problems – p.20/23
![Page 21: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/21.jpg)
Measure & ConquerPrf:• By solving the recurrences, P (k)=O(c k)=O(cn),where c = c(α) is a quasi-convex function of α[Eppstein’04].
• Imposing α = 0.6, one obtains c < 20.362.
Exact (Exponential) Algorithmsfor NP-hard Problems – p.21/23
![Page 22: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/22.jpg)
Other Results• Minimum Dominating Set in time O(20.598 n).
• Maximum Cut in time O(20.792 n).
• Steiner Tree in time O(20.773 n).
• Cubic TSP in time O(20.334 n).• Chromatic Number in time O(2.415n).
• 3-Colorability in time O(1.3289n).• 3-Satisfiability in time O(1.4802n).
• Knapsack in time O(20.5 n).• ....
Exact (Exponential) Algorithmsfor NP-hard Problems – p.22/23
![Page 23: Exact (Exponential) Algorithms for NP-hard Problems · Exact (Exponential) Algorithms Prb: Designing exact algorithms for NP-hard problems with the smallest possible worst-case running](https://reader036.fdocuments.net/reader036/viewer/2022062609/60f7df68ceb91f6bf83e6a14/html5/thumbnails/23.jpg)
Open Problems• Current best for Hamiltonian Path is poly-spaceΩ(2n).• Same for TSP, but exp-space.• Current best for SAT is trivial Ω(2n).• Current best for Feedback Vertex Set is trivialΩ(2n).• ....
Exact (Exponential) Algorithmsfor NP-hard Problems – p.23/23