Advanced%20Algorithms - PowerPoint PPT Presentation

About This Presentation
Title:

Advanced%20Algorithms

Description:

Preliminary Programming assignment 1 is attached on the back of ... [Tutte-Berge, Edmonds-Galai] Blossom algorithm: O(n4). [Edmonds 1965] Best known: O(m n1/2) ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 29
Provided by: sony65
Learn more at: http://www.cs.fsu.edu
Category:

less

Transcript and Presenter's Notes

Title: Advanced%20Algorithms


1
Advanced Algorithms
  • Piyush Kumar
  • (Lecture 4 MaxFlow MinCut Applications)

Welcome to COT5405
2
Announcements
  • The project list is out, make sure you have a
    copy.
  • Homework 1 is due NOW.
  • Preliminary Programming assignment 1 is attached
    on the back of the homework solutions
  • Project Partner / Top 5 choices Due
  • Before Wednesday morning (900am)
  • Send it to me by email.
  • Who doesnt have a partner yet (and wants one)?
  • Email your choices to ustymenk_at_cs.fsu.edu
  • Fill up the choice sheet now if you can.

3
Today
  • Complete Preflow Push
  • Discuss Programming assignment 1
  • Preliminary Deadline 26th
  • Bipartite matching/Halls theorem
  • Application of MaxFlow MinCut
  • Image segmentation
  • Edge Disjoint paths

4
ApplicationsMax Flow Min Cut
5
Bipartite Matching
  • Matching.
  • Input undirected graph G (V, E).
  • M ? E is a matching if each node appears in at
    most edge in M.
  • Max matching find a max cardinality matching.

6
Bipartite Matching
  • Bipartite matching.
  • Input undirected, bipartite graph G (L ? R,
    E).
  • M ? E is a matching if each node appears in at
    most edge in M.
  • Max matching find a max cardinality matching.

1
1'
2
2'
matching 1-2', 3-1', 4-5'
3
3'
4
4'
R
L
5
5'
7
Bipartite Matching
  • Bipartite matching.
  • Input undirected, bipartite graph G (L ? R,
    E).
  • M ? E is a matching if each node appears in at
    most edge in M.
  • Max matching find a max cardinality matching.

1
1'
2
2'
max matching 1-1', 2-2', 3-3' 4-4'
3
3'
4
4'
R
L
5
5'
8
Bipartite Matching
  • Max flow formulation.
  • Create digraph G' (L ? R ? s, t, E' ).
  • Direct all edges from L to R, and assign infinite
    (or unit) capacity.
  • Add source s, and unit capacity edges from s to
    each node in L.
  • Add sink t, and unit capacity edges from each
    node in R to t.

G'
1
1'
?
1
1
2
2'
s
3
3'
t
4
4'
R
L
5
5'
9
Bipartite Matching Proof of Correctness
  • Theorem. Max cardinality matching in G value
    of max flow in G'.
  • Pf. ?
  • Given max matching M of cardinality k.
  • Consider flow f that sends 1 unit along each of k
    paths.
  • f is a flow, and has cardinality k. ?

?
1
1'
1
1'
1
1
2
2'
2
2'
s
3
3'
t
3
3'
4
4'
4
4'
G'
G
5
5'
5
5'
10
Bipartite Matching Proof of Correctness
  • Theorem. Max cardinality matching in G value
    of max flow in G'.
  • Pf. ?
  • Let f be a max flow in G' of value k.
  • Integrality theorem ? k is integral and can
    assume f is 0-1.
  • Consider M set of edges from L to R with f(e)
    1.
  • each node in L and R participates in at most one
    edge in M
  • M k consider cut (L ? s, R ? t) ?

?
1
1'
1
1'
1
1
2
2'
2
2'
3
3'
s
3
3'
t
4
4'
4
4'
G'
G
5
5'
5
5'
11
Perfect Matching
  • Def. A matching M ? E is perfect if each node
    appears in exactly one edge in M.
  • Q. When does a bipartite graph have a perfect
    matching?
  • Structure of bipartite graphs with perfect
    matchings.
  • Clearly we must have L R.
  • What other conditions are necessary?
  • What conditions are sufficient?

12
Perfect Matching
  • Notation. Let S be a subset of nodes, and let
    N(S) be the set of nodes adjacent to nodes in S.
  • Lemma. If a bipartite graph G (L ? R, E), has
    a perfect matching, then N(S) ? S for all
    subsets S ? L.
  • Pf. Each node in S has to be matched to a
    different node in N(S).

No perfect matching S 2, 4, 5 N(S) 2',
5' .
13
Marriage Theorem
  • Marriage Theorem. Frobenius 1917, Hall 1935
    Let G (L ? R, E) be a bipartite graph with L
    R. Then, G has a perfect matching or there is
    exists S ? L such that
  • N(S) lt S.

Pf When there is no perfect matching, Use
max-flow min-cut theorem on a bipartite graph,
to find the cut(A,B) lt n. Let A L n A
Claim 1 N(A) ? A Claim 2 R n A gt
N(A) Claim 3 c(A,B) L n B R n A lt n
14
Bipartite Matching Running Time
  • Which max flow algorithm to use for bipartite
    matching?
  • Generic augmenting path O(m val(f) ) O(mn).
  • Capacity scaling O(m2 log C ) O(m2).
  • Shortest augmenting path O(m n1/2).
  • Non-bipartite matching.
  • Structure of non-bipartite graphs is more
    complicated, butwell-understood. Tutte-Berge,
    Edmonds-Galai
  • Blossom algorithm O(n4). Edmonds 1965
  • Best known O(m n1/2). Micali-Vazirani
    1980

15
7.10 Image Segmentation
16
Image segmentation
17
Image Segmentation
  • Image segmentation.
  • Central problem in image processing.
  • Divide image into coherent regions.
  • Ex To recognize a hand (or face/iris/fingerprint
    ) from the background. (And find out if the
    person is known to the system)

18
Image Segmentation
  • Foreground / background segmentation.
  • Label each pixel in picture as belonging
    toforeground 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
    iand j as foreground, and the other as
    background.
  • Goals.
  • Accuracy if ai gt 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
19
Image Segmentation
  • Formulate as min cut problem.
  • Maximization.
  • No source or sink.
  • Undirected graph.
  • Turn into minimization problem.
  • Maximizingis equivalent to minimizing
  • or alternatively

20
Image Segmentation
pij
  • Formulate as min cut problem.
  • G' (V', E').
  • Add source to correspond to foregroundadd sink
    to correspond to background
  • Use two anti-parallel edges instead ofundirected
    edge.

pij
pij
aj
pij
i
j
s
t
bi
G'
21
Image Segmentation
  • Consider min cut (A, B) in G'.
  • A foreground.
  • Precisely the quantity we want to minimize.

if i and j on different sides, pij counted
exactly once
aj
pij
i
j
s
t
bi
A
G'
22
Edge Disjoint paths
23
Edge Disjoint Paths
  • Disjoint path problem. Given a digraph G (V,
    E) and two nodes s and t, find the max number of
    edge-disjoint s-t paths.
  • Def. Two paths are edge-disjoint if they have no
    edge in common.
  • Ex communication networks.

2
5
s
3
6
t
4
7
24
Edge Disjoint Paths
  • Disjoint path problem. Given a digraph G (V,
    E) and two nodes s and t, find the max number of
    edge-disjoint s-t paths.
  • Def. Two paths are edge-disjoint if they have no
    edge in common.
  • Ex communication networks.

2
5
s
3
6
t
4
7
25
Edge Disjoint Paths
  • Max flow formulation assign unit capacity to
    every edge.
  • Theorem. Max number edge-disjoint s-t paths
    equals max flow value.
  • Pf. ?
  • Suppose there are k edge-disjoint paths P1, . . .
    , Pk.
  • Set f(e) 1 if e participates in some path Pi
    else set f(e) 0.
  • Since paths are edge-disjoint, f is a flow of
    value k. ?

26
Edge Disjoint Paths
  • Max flow formulation assign unit capacity to
    every edge.
  • Theorem. Max number edge-disjoint s-t paths
    equals max flow value.
  • Pf. ?
  • Suppose max flow value is k.
  • Integrality theorem ? there exists 0-1 flow f
    of value k.
  • Consider edge (s, u) with f(s, u) 1.
  • by conservation, there exists an edge (u, v) with
    f(u, v) 1
  • continue until reach t, always choosing a new
    edge
  • Produces k (not necessarily simple) edge-disjoint
    paths. ?

1
1
1
1
1
1
1
1
s
t
1
1
1
1
1
1
can eliminate cycles to get simple paths if
desired
27
Mengers theorem
  • In every directed graph with nodes s and t, the
    maximum number of edge-disjoint s-t paths is
    equal to the minimum number of edges whose
    removal separates s from t.
  • Special case of MaxFlow MinCut theorem.
  • We cud use this theorem instead of the MaxFlow
    MinCut theorem in the proof of Halls theorem.

28
References
  • R.K. Ahuja, T.L. Magnanti, and J.B. Orlin.
    Network Flows. Prentice Hall, 1993. (Reserved in
    Dirac)
  • K. Mehlhorn and S. Naeher. The LEDA Platform for
    Combinatorial and Geometric Computing. Cambridge
    University Press, 1999. 1018 pages
Write a Comment
User Comments (0)
About PowerShow.com