Network flow Flashcards

Network flow as a first block

1
Q

Marriage theorem

A

G bipartite graph with |V1| = |V2| then G has perfect matching iff |N(S)| >= |S| for all subsets S of V1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

s-t flow satisfies these conditions

A

conservation, capacity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Augmenting path theorem

A

Flow f is a max flow <=> there are no augmenting paths in residual graph

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Running time of Ford-Fulkerson

A

O(mnC) where C is the maximum capacity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define residual graph

A

It is the same graph as the original one but in addition it has return edges. These return edges r and the original edges o satisfy the following: old_cap(o) = old_cap(o) - f(o); and the return edges satisfy the following: cap(r) = old_cap(o) - new_cap(o)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Max-flow min-cut theorem

A

The value of a max flow is equal to the value of a min cut

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

We choose augmenting paths by the following criterias

A
  • Max bottleneck capacity.
  • Sufficiently large bottleneck capacity.
  • Fewest number of edges
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is capacity scaling?

A

Basically, we do not use all the edges from the beginning of the Ford-Fulkerson algorithm but in each iteration of the algorithm we work only with those edges which satisfy cap(edge) >= scaling_parameter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How does capacity scaling work?

A
Scaling-Max-Flow(G, s, t, c)
  foreach e ∈ E f (e) ← 0
  ∆ ← C
  Gf ← residual graph
  while (∆ ≥ 1)
    Gf (∆) ← ∆-residual graph
    while (there exists    augmenting path P in Gf (∆))
        f ← augment (f, c, P )
        update Gf (∆)
    ∆ ← ∆/2
return f

So, in the beginning we set ∆ to some high value and while there exists an augmenting path in residual graph, augment this path. If there does not exist any other augmenting path, lower ∆ (for example ∆ = ∆/2). Do this while ∆ >= 1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define a min-cut, draw simple graph with network flow and indicate all min-cuts

A

s-t cut is a partition (A,B) of V with s in A and t in B. Minimum cut is a s-t cut with min CAPACITY

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define flow-value lemma

A

Let f be a flow in network (V,E,s,t,c) and let (A,B) be an s-t cut. Then the following holds: Σ_e out of A (f(e)) - Σ_e in to A (f(e)) = v(f)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is weak duality?

A

Value of the flow is at most the capacity of the cut

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Define a circulation

A

A circulation is a function that satisfies conservation and capacity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is matching?

A

M⊆E is a matching if each vertex appears in at most one edge in M

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define Konig-Egervary theorem and describe it’s consequences (in words of runtime complexity of vertex cover for bipartite graphs)

A

The size of a smallest vertex cover of a bipartite graph equals the size of a maximum matching.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is perfect matching?

A

Matching M⊆E is perfect if each vertex is incident with exactly one edge in M.

17
Q

Does every k-regular bipartite graph have a perfect matching?

A

Yes