Randomized algorithms

 

Approximating the Permanent, contd.

 

 

==========================================================================

 

Last time, got to a point where all we had to do was show that a

certain Markov chain had high conductance (the appropriate kind of

expansion for Markov chains).

N = number of states in the Markov chain.

n = number of vertices in original bipartite graph, and m = # edges.

 

* Capacity(S) C_S = sum_{i in S} pi_i.

  (prob of being in S according to pi.  --> measure of size of S)

 

* flow(S) = sum_{i in S, j not in S} w_ij,

  where w_ij = (pi_i)*(p_ij) = prob of being on edge i->j in pi.

  (measure of # edges leaving S).

 

* Conductance Phi = min_{S: C_S <= 1/2} Phi_S

              Phi_S = flow(S)/capacity(S).

 

E.g., in our case, pi_i = 1/N, p_ij = 1/2m, so w_ij = 1/(2mN).

Phi_S = (1/2m)*(#edges leaving S)/|S|

 

Show high conductance / edge expansion via "canonical path method".

 

* For every pair of states (u,v), we'll define a canonical path from u to v.

 

* Show that the number of paths through any given transition is at most bN.

 

* This means the number of edges leaving S (|S|<= N/2) is at least

     |S|(N-|S|)/(bN) >= |S|/2b,

  and (# edges leaving S)/|S| >= 1/2b.

 

===========================================================================

Illustrate by showing that boolean cube has edge-expansion  (random

walk has high conductance).

 

* State space is {0,1}^n, random walk: with prob 1/2 stay put, with prob

  1/2 flip a random bit.  (This is a complicated way to get to a random point).

 

  Or, just think of as the natural graph defined on the boolean cube.

 

* N = 2^n, degree = n = log(N).

 

* For two vertices (v,w), define path P(v,w): flip bits that differ from

  left to right.

 

Claim: no transition is contained in more than N/2 canonical paths.

 

Proof:  (ASK).

 

  Think of some transition T:  01011010

                           ->  01011110

 

  What paths can possibly include this transition?  Must be from some

  point of the form:           *****010

  to some point of the form:   010111**

 

  Number of such pairs is at most (2^n)/2 = N/2.

 

  (Another way to think of this: for a given transition T, for each

  path (v,w) using T, we can associate a single state u (u = value

  assigned to the *'s in v and w) such that no two different paths have

  the same associated u.)

 

So, all sets S of size at most N/2 have (# edges leaving S)/|S| >= 1.

 

So, conductance Phi_S = sum(pi_i * p_ij) / sum(pi_i) >= 1/(2n)

 

(given that you're at a random point in S, you have prob at least 1/2n

of getting out.)

==========================================================================

 

Now, back to the Markov chain for the Permanent.

 

Need to specify canonical path between two states s and t.  In fact,

we'll only need to worry about the case that s and t are both perfect

matchings.  We can then handle the near-perfect matchings as follows:

 

     We argued earlier that (given our condition of the min degree at

     least n/2) we can associate every near-perfect matching to some

     perfect matching such that no perfect matching has more than n+n^2

     near-perfect matchings associated to it.  So, if s and/or t is a

     near-perfect matching, we can just first move to the perfect matching

     associated to s, then take the canonical path to the perfect matching

     associated to t, and then go to t.

 

The canonical path is just the following: look at the symmetric

difference of s and t.  This is just a collection of disjoint cycles.

To go from s to t, we will "unwind" each of these cycles in some

canonical order -- say, doing the cycle containing the vertex of least

index first, and so on.  "Unwinding" a cycle corresponds to doing one

Reduce operation, then a sequence of Rotates, and then finally one Augment.

We can just pick some arbitrary canonical starting point and direction

for this unwinding (say, Reduce the edge containing the vertex of

least index, and then Rotate in the direction of that vertex).

 

Theorem: At most N canonical paths between perfect matchings use any

given transition T.

 

(Note: this implies that at most O(n^4*N) canonical paths including

both perfect and near-perfect matchings include T, which implies that

the conductance Phi is at least O(1/(n^6*N)).)

 

 

Proof:

 

We'll show that given a transition T (say T is the transition u-->v),

for any pair (s,t) whose path goes through T, we can associate a

perfect or near-perfect matching p, such that given p and T we can

recover s and t.  I.e., our mapping is 1-1.  This means that there can

be at most N such pairs (s,t).

 

The easier cases are when T is a Reduce or Augment transition. Formally,

     if T is Reduce, then p = s XOR t XOR u, and

     if T is Augment then p = s XOR t XOR v.

Informally, p is just the portion of (s U t) missing from (u U v)

(where we've included the edges where s=t just to make p into a

perfect matching).

 

Given p and T, it's easy to see that we can recover (s U t).  We can

then split this into s and t by using the canonical ordering.

 

The rotate case is slightly more complicated since the portion of (s U

t) missing from (u U v) (formally: s XOR t XOR (u U v)) is not a

matching: it has one vertex of degree 2.  But, all we have to do is to

remove the edge (of s) that was the initial edge removed in the Reduce

operation for this cycle.  Then, when we reconstruct, we will have all

of (s U t), except for this edge.  But, that's OK, because when we

see the path corresponding to the cycle minus this edge, we will know

that we can just reconstruct the cycle by connecting together the two

endpoints of the path.

 

So, that does it.

==========================================================================

 

Random sampling from convex sets

--------------------------------

 

Similar problem: how to sample randomly from convex set (e.g., intersection

of halfspaces) in high dimension.  For instance, say you want to solve

some linear program without an objective function (just find a

feasible solution) but you want it to be a random feasible solution.

 

Or, say you have some data and you want a *random* linear separator.

 

Can use to compute the volume of a convex set.

 

Solve in a similar way: set up a random walk and show that it's

rapidly mixing.

 

 

A key lemma:  [Theorem 2.1 of Lovasz-Simonovitz]

 

  Let T be a convex set in R^n partitioned into two sets S and T - S by an

  (n-1)-dimensional surface with surface area ((n-1)-dimensional volume) a. 

  Then:

     a >= (1/diam(T)) * min[vol(S),vol(T - S)]

  where diam(T) is the maximum distance between two points in T.

 

 

This is essentially a statement about conductance.