trivial sequential algorithm
- inherently
sequential
- from
node point of view: each thinks can join MIS if others stay out
- randomization
breaks this symmetry
Randomized idea
- each
node joins with some probability
- all
neighbors excluded
- many
nodes join
- few
phases needed
Algorithm:
- all
degree 0 nodes join
- node v joins with probability 1/2d (v)
- if
edge (u, v) has both ends marked, unmark lower degree vertex
- put
all marked nodes in IS
- delete
all neighbors
Intuition: d-regular graph
- vertex
vanishes if it or neighbor gets chosen
- mark
with probability 1/2d
- prob
(no neighbor marked) is (1 - 1/2d )d,
constant
- so
const prob. of neighbor of v
marked--destroys v
- const
fraction of neighbors vanish: O(log n) iters
- what
about unmarking?
- prob(unmarking
forced) only constant.
- So
just changes constants
Implementing a phase trivial in O(log n).
Prob chosen for IS, given marked, exceeds 1/2
- suppose
w marked. only unmarked if higher degree
neighbor marked
- higher
degree neighbor marked with prob.
1/2d
(w)
- only d (w) neighbors
- prob.
any marked at most 1/2.
- deduce
prob. good vertex killed exceeds (1 - e-1/6)/2
Good vertices
- good:
at least 1/3 neighbors have lower degree
- prob.
no neighbor of good marked
(1 - 1/2d (v))d(v)/3
e-1/6.
Good edges
- any
edge with a good neighbor
- has
const prob. to vanish
- show
half edges good
- deduce
O(log n) iterations.
Proof
- Let VB be bad
vertices; we count edges with both ends in VB.
- direct
edges from lower to higher degree di is indegree, do outdegree
- if v bad, then di(v)
d (v)/3
- deduce
di(v)

d (v) = 
(di(v) + do(v))
- so
di(v)

do(v)
- which
means indegree can only ``catch'' half of outdegree; other half must go to
good vertices.
- more
carefully,
- do(v) - di(v)

(d
(v)) =
(do(v) + di(v)).
- Let VG, VB be good, bad vertices
- degree
of bad vertices is
|
2e(VB, VB) + e(VB,
VG) + e(VG,
VB)
|
=
|
do(v) + di(v)
|
|
|
|

|
3 (do(v) - di(v))
|
|
|
|
=
|
3(e(VB,
VG) - e(VG,
VB))
|
|
|
|

|
3(e(VB,
VG) + e(VG,
VB)
|
|
- Deduce
e(VB, VB)
e(VB, VG) + e(VG, VB). result follows.
Derandomization:
- Analysis
focuses on edges,
- so
unsurprisingly, pairwise independence sufficient
- not
immediately obvious, but again consider d-uniform
case
- prob
vertex marked 1/2d
- neighbors
1,..., d in increasing degree order
- Let Ei be event
that i is marked.
- Let E'i be Ei but no Ej for j < i
- Ai event no
neighbor of i chosen
- Then
prob eliminate v at least
|
Pr[E'i Ai]
|
=
|
Pr[E'i]Pr[Ai | E'i]
|
|
|
|

|
Pr[E'i]Pr[Ai]
|
|
- Wait:
show Pr[Ai | E'i]
Pr[Ai]
- true
if independent
- measure
Pr[¬Ai | E'i]

Pr[Ew | E'i]
- measure
|
Pr[Ew | E'i]
|
=
|
![$\displaystyle {\frac{\Pr[E_w \cap E']}{\Pr[E'_i]}}$](n25-img14.png)
|
|
|
|
=
|
![$\displaystyle {\frac{\Pr[E_w \cap \neg E_1 \cap \cdots \mid E_i]}{\Pr[\neg E_1
\cap \cdots \mid E_i]}}$](n25-img15.png)
|
|
|
|

|
![$\displaystyle {\frac{\Pr[E_w \mid E_j]}{1-\sum\Pr[E_j \mid E_i]}}$](n25-img16.png)
|
|
|
|
=
|
(Pr[Ei])
|
|
- But
expected marked neighbors 1/2, so by Markov Pr[Ai] > 1/2
- so
prob eliminate v exceeds
Pr[E'i] = Pr[
Ei]
- lower
bound as
Pr[Ei]
-
Pr[Ei
Ej] = 1/2 - d (d - 1)/8d2 > 1/4
- so 1/2d prob. v
marked but no neighbor marked, so v chosen
- Generate
pairwise independent with O(log n) bits
- try
all polynomial seeds in parallel
- one
works
- gives
deterministic NC algorithm
with care, O(m) processors and O(log n) time (randomized)
LFMIS P-complete.
We focus on bipartite; book does general case.
Detecting one easy in
:
- Tutte
matrix
- Determinant
nonzero iff PM
- Replace
vars with values 1,..., 2m, same holds
- Matrixu
Mul, Determinant in

- Wait:
big numbers?
- Who
cares: poly bits, NC to multiply etc
How about finding one?
- If
unique, no problem
- Remove
each edge, see if still PM in parallel
- multiplies
processors by m
- still
NC
- generalizes
to polynomial number of matchings
Idea:
- make
unique minimum weight perfect matching
- find
it
Isolating lemma:
- Family
of distinct sets over x1,..., xm
- assign
random weights in 1,..., 2m
- Pr(unique
min-weight set)
1/2
- Odd:
no dependence on number of sets!
- (of
course < 2m)
Proof:
- Fix
item xi
- Y is min-sets containing xi
- N is min-sets no containing xi
- true
min-sets are either those in Y or in N
- how
decide? Value of xi
- For xi = -
, min-sets are Y
- For xi = +
, min-sets are N
- As
increase from -
to
, single transition value when both X and Y are
min-weight
- If
only Y min-weight, then xi in every min-set
- If
only X min-weight, then xi in no min-set
- If
both min-weight, xi
is ambiguous
- Suppose
no xi
ambiguous. Then min-weight set unique!
- Exactly
one value for xi
makes it ambiguous given remainder
- So
pr(ambiguous)1/2m
- So
pr(any ambiguous)< m/2m = 1/2
Usage:
- Consider
tutte matrix A
- Assign
random value 2wi to xi, with wi
1,..., 2m
- Weight
of matching is 2
wi
- Let W be minimum sum
- Unique
w/pr 1/2
- If
so, determinant is odd multiple of 2W
- Try
removing edges one at a time
- Edge
in PM iff new determinant/2W is odd.
NC algorithm open.
For exact matching, P algorithm open.