prof. swarat chaudhuri

32
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2013 Lecture 20

Upload: raquel

Post on 28-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

COMP 482: Design and Analysis of Algorithms. Prof. Swarat Chaudhuri. Spring 2013 Lecture 20. Recap: Project Selection. can be positive or negative. Projects with prerequisites. Set P of possible projects. Project v has associated revenue p v . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Prof. Swarat  Chaudhuri

Prof. Swarat Chaudhuri

COMP 482: Design and Analysis of Algorithms

Spring 2013

Lecture 20

Page 2: Prof. Swarat  Chaudhuri

2

Recap: Project Selection

Projects with prerequisites. Set P of possible projects. Project v has associated revenue pv.

– some projects generate money: create interactive e-commerce

interface, redesign web page

– others cost money: upgrade computers, get site license Set of prerequisites E. If (v, w) E, can't do project v and

unless also do project w. A subset of projects A P is feasible if the prerequisite of

every project in A also belongs to A.

Project selection. Choose a feasible subset of projects to maximize revenue.

can be positive or negative

Page 3: Prof. Swarat  Chaudhuri

3

Recap: Project Selection: Prerequisite Graph

Prerequisite graph. Include an edge from v to w if can't do v without also doing w. {v, w, x} is feasible subset of projects. {v, x} is infeasible subset of projects.

v

w

xv

w

x

feasible infeasible

Page 4: Prof. Swarat  Chaudhuri

7.10 Image Segmentation

Page 5: Prof. Swarat  Chaudhuri

5

Image Segmentation

Image segmentation. Central problem in image processing. Divide image into coherent regions.

Ex: Three people standing in front of complex background scene. Identify each person as a coherent object.

Page 6: Prof. Swarat  Chaudhuri

6

Image Segmentation

Foreground / background segmentation. Label each pixel in picture as belonging to

foreground or background. V = set of pixels, E = pairs of neighboring pixels. ai 0 is likelihood pixel i in foreground. bi 0 is likelihood pixel i in background. pij 0 is separation penalty for labeling one of i

and j as foreground, and the other as background.

Goals. Accuracy: if ai > bi in isolation, prefer to label i in foreground. Smoothness: if many neighbors of i are labeled foreground, we

should be inclined to label i as foreground. Find partition (A, B) that maximizes:

foreground background

Page 7: Prof. Swarat  Chaudhuri

7

Image Segmentation

Properties of the problem. Maximization. No source or sink. Undirected graph.

Turn into minimization problem.

Maximizing

is equivalent to minimizing

or alternatively

Page 8: Prof. Swarat  Chaudhuri

Q1

…Can you solve this problem using max flow or min-cut?

8

Page 9: Prof. Swarat  Chaudhuri

9

Image Segmentation

Formulate as min cut problem. G' = (V', E'). Add source to correspond to foreground;

add sink to correspond to background Use two anti-parallel edges instead of

undirected edge.

s t

pij

pij

pij

i jpij

aj

G'

bi

Page 10: Prof. Swarat  Chaudhuri

10

Image Segmentation

Consider min cut (A, B) in G'. A = foreground.

Precisely the quantity we want to minimize.

G'

s ti j

A

if i and j on different sides,pij counted exactly once

pij

bi

aj

Page 11: Prof. Swarat  Chaudhuri

7.12 Baseball Elimination

Page 12: Prof. Swarat  Chaudhuri

12

Baseball Elimination

Which teams have a chance of finishing the season with most wins?

Montreal eliminated since it can finish with at most 80 wins, but Atlanta already has 83.

wi + ri < wj team i eliminated. Only reason sports writers appear to be aware of. Sufficient, but not necessary!

Teami

Against = rijWinswi

To playri

Lossesli Atl Phi NY Mon

Montreal 77 382 1 2 0 -

New York 78 678 6 0 - 0

Philly 80 379 1 - 0 2

Atlanta 83 871 - 1 6 1

Page 13: Prof. Swarat  Chaudhuri

13

Baseball Elimination

Which teams have a chance of finishing the season with most wins?

Philly can win 83, but still eliminated . . . If Atlanta loses a game, then some other team wins one.

Remark. Answer depends not just on how many games already won and left to play, but also on whom they're against.

Teami

Against = rijWinswi

To playri

Lossesli Atl Phi NY Mon

Montreal 77 382 1 2 0 -

New York 78 678 6 0 - 0

Philly 80 379 1 - 0 2

Atlanta 83 871 - 1 6 1

Page 14: Prof. Swarat  Chaudhuri

14

Baseball Elimination

Baseball elimination problem. Set of teams S. Distinguished team s S. Team x has won wx games already. Teams x and y play each other rxy additional times. Is there any outcome of the remaining games in which team s

finishes with the most (or tied for the most) wins?

Page 15: Prof. Swarat  Chaudhuri

15

Can team 3 finish with most wins? Assume team 3 wins all remaining games w3 + r3 wins. Divvy remaining games so that all teams have w3 + r3 wins.

Baseball Elimination: Max Flow Formulation

s

1-5

2-5

4-5

2

4

5

t

1-2

1-4

2-4

1

r24 = 7 w3 + r3 - w4

team 4 can stillwin this manymore games

games left

game nodes team nodes

Page 16: Prof. Swarat  Chaudhuri

16

Theorem. Team 3 is not eliminated iff max flow saturates all edges leaving source.

Integrality theorem each remaining game between x and y added to number of wins for team x or team y.

Capacity on (x, t) edges ensure no team wins too many games.

Baseball Elimination: Max Flow Formulation

s

1-5

2-5

4-5

2

4

5

t

1-2

1-4

2-4

1

team 4 can stillwin this manymore games

games left

game nodes team nodes

r24 = 7 w3 + r3 - w4

Page 17: Prof. Swarat  Chaudhuri

18

NP-completeness and computational intractability

Page 18: Prof. Swarat  Chaudhuri

19

Algorithm Design Patterns and Anti-Patterns

Algorithm design patterns. Ex. Greed. O(n log n) interval scheduling. Divide-and-conquer. O(n log n) FFT. Dynamic programming. O(n2) edit distance. Duality. O(n3) bipartite matching. Reductions. Local search. Randomization.

Algorithm design anti-patterns. NP-completeness. O(nk) algorithm unlikely. PSPACE-completeness. O(nk) certification algorithm unlikely. Undecidability. No algorithm possible.

Page 19: Prof. Swarat  Chaudhuri

8.1 Polynomial-Time Reductions

Page 20: Prof. Swarat  Chaudhuri

21

Classify Problems According to Computational Requirements

Q. Which problems will we be able to solve in practice?

A working definition. [Cobham 1964, Edmonds 1965, Rabin 1966] Those with polynomial-time algorithms.

Yes Probably no

Shortest path Longest path

Min cut Max cut

2-SAT 3-SAT

Matching 3D-matching

Primality testing Factoring

Planar 4-color Planar 3-color

Bipartite vertex cover Vertex cover

Page 21: Prof. Swarat  Chaudhuri

22

Classify Problems

Desiderata. Classify problems according to those that can be solved in polynomial-time and those that cannot.

Provably requires exponential-time. Given a Turing machine, does it halt in at most k steps? Given a board position in an n-by-n generalization of chess, can

black guarantee a win?

Frustrating news. Huge number of fundamental problems have defied classification for decades.

This chapter. Show that these fundamental problems are "computationally equivalent" and appear to be different manifestations of one really hard problem.

Page 22: Prof. Swarat  Chaudhuri

23

Polynomial-Time Reduction

Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time?

Reduction. Problem X polynomial reduces to problem Y if arbitrary instances of problem X can be solved using:

Polynomial number of standard computational steps, plus Polynomial number of calls to oracle that solves problem Y.

Notation. X P Y.

Remarks. We pay for time to write down instances sent to black box

instances of Y must be of polynomial size. Note: Cook reducibility.

don't confuse with reduces from

computational model supplemented by special pieceof hardware that solves instances of Y in a single step

in contrast to Karp reductions

Page 23: Prof. Swarat  Chaudhuri

24

Polynomial-Time Reduction

Purpose. Classify problems according to relative difficulty.

Design algorithms. If X P Y and Y can be solved in polynomial-

time, then X can also be solved in polynomial time.

Establish intractability. If X P Y and X cannot be solved in

polynomial-time, then Y cannot be solved in polynomial time.

Establish equivalence. If X P Y and Y P X, we use notation X P

Y.up to cost of reduction

Page 24: Prof. Swarat  Chaudhuri

Reduction By Simple Equivalence

Basic reduction strategies. Reduction by simple equivalence. Reduction from special case to general case. Reduction by encoding with gadgets.

Page 25: Prof. Swarat  Chaudhuri

26

Independent Set

INDEPENDENT SET: Given a graph G = (V, E) and an integer k, is there a subset of vertices S V such that |S| k, and for each edge at most one of its endpoints is in S?

Ex. Is there an independent set of size 6? Yes.Ex. Is there an independent set of size 7? No.

independent set

Page 26: Prof. Swarat  Chaudhuri

27

Vertex Cover

VERTEX COVER: Given a graph G = (V, E) and an integer k, is there a subset of vertices S V such that |S| k, and for each edge, at least one of its endpoints is in S?

Ex. Is there a vertex cover of size 4? Yes.Ex. Is there a vertex cover of size 3? No.

vertex cover

Page 27: Prof. Swarat  Chaudhuri

28

Vertex Cover and Independent Set

Claim. VERTEX-COVER P INDEPENDENT-SET.

Pf. We show S is an independent set iff V S is a vertex cover.

vertex cover

independent set

Page 28: Prof. Swarat  Chaudhuri

29

Vertex Cover and Independent Set

Claim. VERTEX-COVER P INDEPENDENT-SET.

Pf. We show S is an independent set iff V S is a vertex cover.

Let S be any independent set. Consider an arbitrary edge (u, v). S independent u S or v S u V S or v V S. Thus, V S covers (u, v).

Let V S be any vertex cover. Consider two nodes u S and v S. Observe that (u, v) E since V S is a vertex cover. Thus, no two nodes in S are joined by an edge S independent

set. ▪

Page 29: Prof. Swarat  Chaudhuri

Reduction from Special Case to General Case

Basic reduction strategies. Reduction by simple equivalence. Reduction from special case to general case. Reduction by encoding with gadgets.

Page 30: Prof. Swarat  Chaudhuri

31

Set Cover

SET COVER: Given a set U of elements, a collection S1, S2, . . . , Sm

of subsets of U, and an integer k, does there exist a collection of k of these sets whose union is equal to U?

Sample application. m available pieces of software. Set U of n capabilities that we would like our system to have. The ith piece of software provides the set Si U of capabilities. Goal: achieve all n capabilities using fewest pieces of

software.

Ex: U = { 1, 2, 3, 4, 5, 6, 7 }

k = 2S1 = {3, 7} S4 = {2, 4}

S2 = {3, 4, 5, 6} S5 = {5}

S3 = {1} S6 = {1, 2, 6,

7}

Page 31: Prof. Swarat  Chaudhuri

32

SET COVER

U = { 1, 2, 3, 4, 5, 6, 7 }k = 2Sa = {3, 7} Sb = {2, 4}

Sc = {3, 4, 5, 6} Sd = {5}

Se = {1} Sf= {1, 2, 6, 7}

Vertex Cover Reduces to Set Cover

Claim. VERTEX-COVER P SET-COVER.

Pf. Given a VERTEX-COVER instance G = (V, E), k, we construct a set cover instance whose size equals the size of the vertex cover instance.

Construction. Create SET-COVER instance:

– k = k, U = E, Sv = {e E : e incident to v } Set-cover of size k iff vertex cover of size k. ▪

a

d

b

e

f c

VERTEX COVER

k = 2e1

e2 e3

e5

e4

e6

e7

Page 32: Prof. Swarat  Chaudhuri

Q2: Hitting set

HITTING SET: Given a set U of elements, a collection S1, S2, . . . , Sm

of subsets of U, and an integer k, does there exist a subset of U of size k such that U overlaps with each of the sets S1, S2, . . . , Sm?

Show that SET COVER polynomial reduces to HITTING SET.

33