Algorithms
Non-Lecture F: Randomized Minimum Cut
Jaques:
But, for the seventh cause; how did you find the quarrel on the seventh cause?
Touchstone:
Upon a lie seven times removed:–bear your body more seeming, Audrey:–as
thus, sir. I did dislike the cut of a certain courtier’s beard: he sent me word, if I said his
beard was not cut well, he was in the mind it was: this is called the Retort Courteous. If
I sent him word again ‘it was not well cut,’ he would send me word, he cut it to please
himself: this is called the Quip Modest. If again ‘it was not well cut,’ he disabled my
judgment: this is called the Reply Churlish. If again ‘it was not well cut,’ he would
answer, I spake not true: this is called the Reproof Valiant. If again ‘it was not well cut,’
he would say I lied: this is called the Counter-cheque Quarrelsome: and so to the Lie
Circumstantial and the Lie Direct.
Jaques:
And how oft did you say his beard was not well cut?
Touchstone:
I durst go no further than the Lie Circumstantial, nor he durst not give me the
Lie Direct; and so we measured swords and parted.
— William Shakespeare,
As You Like It
, Act V, Scene 4 (1600)
F
Randomized Minimum Cut
F.1
Setting Up the Problem
This lecture considers a problem that arises in robust network design. Suppose we have a connected
multigraph
1
G
representing a communications network like the UIUC telephone system, the internet, or
Al-Qaeda. In order to disrupt the network, an enemy agent plans to remove some of the edges in this
multigraph (by cutting wires, placing police at strategic drop-off points, or paying street urchins to ‘lose’
messages) to separate it into multiple components. Since his country is currently having an economic
crisis, the agent wants to remove as few edges as possible to accomplish this task.
More formally, a
cut
partitions the nodes of
G
into two nonempty subsets. The
size
of the cut is the
number of
crossing edges
, which have one endpoint in each subset. Finally, a
minimum
cut in
G
is a cut
with the smallest number of crossing edges. The same graph may have several minimum cuts.
a
b
c
d
e
f
g
h
A multigraph whose minimum cut has three edges.
This problem has a long history. The classical deterministic algorithms for this problem rely on
network flow
techniques, which are discussed in another lecture. The fastest such algorithms (that we
will discuss) run in
O
(
n
3
)
time and are quite complex and difficult to understand (unless you’re already
familiar with network flows). Here I’ll describe a relatively simple randomized algorithm discovered by
David Karger when he was a Ph.D. student.
2
Karger’s algorithm uses a primitive operation called
collapsing an edge
. Suppose
u
and
v
are vertices
that are connected by an edge in some multigraph
G
. To collapse the edge
{
u
,
v
}
, we create a new node
called
uv
, replace any edge of the form
{
u
,
w
}
or
{
v
,
w
}
with a new edge
{
uv
,
w
}
, and then delete the
original vertices
u
and
v
. Equivalently, collapsing the edge shrinks the edge down to nothing, pulling the
1
A multigraph allows multiple edges between the same pair of nodes. Everything in this lecture could be rephrased in terms