1 / 45

Accelerating Simulated Annealing for the Permanent and Combinatorial Counting Problems

Accelerating Simulated Annealing for the Permanent and Combinatorial Counting Problems. Accelerating Simulated Annealing for the Permanent and Combinatorial Counting Problems. Talk outline:. 1. The Permanent problem 2. Simulated annealing for the Permanent aia (MCMC algorithm by JSV ‘01)

treva
Download Presentation

Accelerating Simulated Annealing for the Permanent and Combinatorial Counting Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Accelerating Simulated Annealing for the Permanent and Combinatorial Counting Problems

  2. Accelerating Simulated Annealing for the Permanent and Combinatorial Counting Problems Talk outline: 1. The Permanent problem 2. Simulated annealing for the Permanent aia(MCMC algorithm by JSV ‘01) 3. New simulated annealing schedule

  3. Permanentof an nxn matrix A A = • History & motivation: • defined by Cauchy [1812] • used in a variety of areas: statistical physics, • statistics, vision, anonymization systems, …

  4. Permanentof an nxn matrix A A = • History & motivation: • defined by Cauchy [1812] • used in a variety of areas: statistical physics, • statistics, vision, anonymization systems, … 

  5. Permanentof an nxn matrix A A – binary (entries 0 or 1): adjacency matrix of a bipartite graph rows columns

  6. Permanentof an nxn matrix A A – binary (entries 0 or 1): adjacency matrix of a bipartite graph rows columns

  7. Permanentof an nxn matrix A A – binary (entries 0 or 1): adjacency matrix of a bipartite graph rows The permanent counts the number of perfect matchings. columns

  8. Previous Work on the Permanent Problem [Kasteleyn ’67] poly-time for planar graphs (bipartite or not) [Valiant ‘79] #P-complete for non-planar graphs [Jerrum-Sinclair ’89] fpras for special graphs, e.g. the dense graphs, based on a Markov chain by Broder ’88 [Jerrum-Sinclair-Vigoda ‘01 & ‘05] O*(n26) fpras for any bipartite graph, later O*(n10) Our result: O*(n7)

  9. Broder chain uniform sampling of perfect matchings of a given graph • At a perfect matching: • remove a random edge • At a near-matching: • pick a vertex at random • if a hole, try to match with the other hole • otherwise slide (if can)

  10. Broder chain uniform sampling of perfect matchings of a given graph • At a perfect matching: • remove a random edge • At a near-matching: • pick a vertex at random • if a hole, try to match with the other hole • otherwise slide (if can)

  11. Broder chain uniform sampling of perfect matchings of a given graph • At a perfect matching: • remove a random edge • At a near-matching: • pick a vertex at random • if a hole, try to match with the other hole • otherwise slide (if can)

  12. Broder chain uniform sampling of perfect matchings of a given graph • At a perfect matching: • remove a random edge • At a near-matching: • pick a vertex at random • if a hole, try to match with the other hole • otherwise slide (if can)

  13. Broder chain uniform sampling of perfect matchings of a given graph • At a perfect matching: • remove a random edge • At a near-matching: • pick a vertex at random • if a hole, try to match with the other hole • otherwise slide (if can)

  14. Broder chain uniform sampling of perfect matchings of a given graph • At a perfect matching: • remove a random edge • At a near-matching: • pick a vertex at random • if a hole, try to match with the other hole • otherwise slide (if can)

  15. Broder chain uniform sampling of perfect matchings of a given graph • At a perfect matching: • remove a random edge • At a near-matching: • pick a vertex at random • if a hole, try to match with the other hole • otherwise slide (if can)

  16. Does the Broder chain mix in polynomial time?

  17. Does the Broder chain mix in polynomial time?

  18. Does the Broder chain mix in polynomial time?

  19. Does the Broder chain mix in polynomial time? State space Exponentially smaller! Perfect matchings

  20. Theorem[JS]: Rapid mixing if perfect matchings polynomially related to near-perfect matchings.

  21. Theorem[JS]: Rapid mixing if perfect matchings polynomially related to near-perfect matchings. Idea[JSV]: Weight the states so that the weighted ratio is always polynomially bounded.

  22. Theorem[JS]: Rapid mixing if perfect matchings polynomially related to near-perfect matchings. Idea[JSV]: Weight the states so that the weighted ratio is always polynomially bounded. n2+1 regions, very different weight u,v

  23. Theorem[JS]: Rapid mixing if perfect matchings polynomially related to near-perfect matchings. Idea[JSV]: Weight the states so that the weighted ratio is always polynomially bounded. n2+1 regions, each about the same weight u,v Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v)

  24. Good: Bad: A perfect matching sampled with prob. 1/(n2+1) Computing ideal weights as hard as original problem? u,v Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v)

  25. Good: Bad: A perfect matching sampled with prob. 1/(n2+1) Computing ideal weights as hard as original problem? Solution: Approximate the ideal weights u,v Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v)

  26. Simulated Annealing Solution: Approximate the ideal weights Kn,n Start with an easy instance, gradually get to the target instance. G Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v)

  27. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) How?

  28. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute)

  29. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  30. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  31. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  32. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  33. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  34. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  35. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  36. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  37. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) • How? • start with the complete graphs (weights easy to compute) • fade away non-edges

  38. Ideal weights (for a matching with holes u,v): (# perfects) / (# nears with holes u,v) The edges have activities: • 1 for a real edge •  2 [0,1] for a non-edge

  39. How activities help? • start with  = 1 • compute corresponding weights n! / (n-1)!

  40. How activities help? • start with  = 1 • compute corresponding weights n! / (n-1)! Repeat until  < 1/n!  and 4-apx of weights  and 2-apx of weights 2-apx = 4-apx for new 

  41. Running Time [JSV] Thm: The (,hole-weights)-Broder chain mixes in time O*(n6). We need: O*(n6) per sample O*(n2) samples (boosting from 4-apx to 2-apx) O*(n2) -decrements (phases) O*(n10) total to get a 2-apx of the ideal weights

  42. v Running Time [BSVV] O*(n4) Thm: The (,hole-weights)-Broder chain mixes in time O*(n6). We need: O*(n6) per sample O*(n2) samples (boosting from 4-apx to 2-apx) O*(n2) -decrements (phases) O*(n10) total to get a 2-apx of the ideal weights O*(n4) O*(n2) O*(n) O*(n7)

  43. Reformulation of the problem Promise: a set of polynomials of degree n such that Goal: -sequence (from 1 to 1/n!) such that • polynomials have a low-degree term • non-negative integer coefficients sum to · n! for every polynomial ratio of consecutive values · 2 Tricky part: Don’t know the coefficients!

  44. Intuition The worst case is the set of polynomials xj, j=1,..,n Problem: no low-degree terms and xn “dominates” Fix: if the value of some xj drops below 1/n!, ignore the polynomial O(n log n) points for xn O(1/j log n) points for xj, j<n TOTAL: O(n log2 n) points

  45. Conclusions • new cooling schedule: a blackbox, ijapplicable to other problems • improved analysis of the weighted Broder chain • interest of practical comunity Open Problems • other applications of the cooling schedule • faster mixing result • do we need n2 weights? • non-bipartite graphs

More Related