How to Solve #P-Complete Counting Problems Fast Presented by: Andrey Dolgin Agenda Introduction #P-complete Problem Gallery Theoretical Foundations Numerical results Introduction Many problems in computer science, engineering, biology, physics are : χ : Set of objects, χ ∗ : Subset of special type of objects. How many special objects are there, i.e. what is | χ ∗|? If finding χ ∗ is NP-Complete, then counting | χ ∗| is #P -Complete. #P-complete Problem Gallery The Satisfiability problem. How many sets of Boolean variables satisfy a given set of Boolean clauses? The Hamiltonian cycle problem: How many Hamiltonian cycles has a graph? The Connectivity problem: Given two vertices in a graph, how many distinct paths are there between them? The k-coloring problem. Given k distinct colors, in how many different ways can we color the nodes, so that each two adjacent nodes have a different color? Theoretical Foundations : Counting via Monte Carlo Counting by rare event techniques Crude Monte Carlo f (X) 1 | | | | l | || | I{X * } f ( X ) | | f ( I{X * } ) * X Importance sampling g (X) 1 | * | g (X) 1 | || | I{X * } f (X ) | | I{X *} f (X ) Eg I{X *} g (X) g (X) X X * Theoretical Foundations : Variance Minimization Method f ( X, v ) f (X) 1 l f [ H ( X)] g [ H ( X) ] lˆ g (X) N N f ( X k , u) H ( X ) k f (X k , v) k 1 W (X k ; u, v) Variance minimization min v V (v ) min v N 1 2 2 2 V [ H ( X ) W ( X ; u , v )] min { [ H ( X ) W ( X ; u , v )] v v u [ H ( Y )]} 2 N N f ( X , w) 1 ˆ min v V (v ) min v N N 2 H (X k )W (X k ; u, v)W (X k ; u, w) k 1 Numerical Theoretical Foundations : Cross-Entropy (CE) Method l Pf ( S ( X ) ) g=f(X,v) belongs to the same parametric family as f(X,u) Kullback-Leibler or cross-entropy distance minimization g( X ) D( f , g ) f [ log ] f ( x) log f ( x)dx f ( x) log g ( x)dx f (X ) * g ( X ) H ( X ) f ( X, u ) / l Parametric minimization 1 max v g ( x) log f ( x, v)dx max v I{S ( X ) } f ( x, u ) log f ( x, v)dx l * f ( X , w) 1 max v N N I k 1 W ( X k ; u, w) log f ( X k , v ) { S ( X ) } Analytical Theoretical Foundations : CE for counting Problem “curse of dimensionality” l Pf ( S ( X ) ) f I{S ( X ) } n W ( X, u, pt 1 ) Wi ( X i , ui , pt 1,i ) Solution, iteration t ˆt S( (1 ) N ) N ~ pt ,i % of indicator Smoothing i 1 p t ~ p t (1 ) ~ p t 1 I I W ( X k ; u, pt 1 ) k 1 { X ki 1} {S ( X k )ˆt } N k 1 {S ( X k )ˆt } I W ( X k ; u, pt 1 ) Theoretical Foundations : Minimum Cross-Entropy(MinxEnt) min p {D( p, u)} min p { p( x1 ,..., xn ) ln x1 ,..., xn min p {L( p,λ, )} min p { p( X) ln X p( x1 ,..., xn ) }, s.t. p S (X) , p( x1 ,..., xn ) 1 u( x1 ,..., xn ) x1 ,..., xn p( X) λ( p( X)S ( X) ) ( p( X) 1)} u ( X) X X u S ( X ) exp( S ( X ) ) u exp( S ( X ) ) u( x1 ,..., x n ) exp( S ( x1 ,..., x n ) ) p( x1 ,..., x n ) u exp( S ( X ) ) λ Generate RV? Theoretical Foundations : Exponential Change of Measure(ECM) wx wx M ( w ) [ e ] f ( x) e f ( x) wx f W ( x, f , g ) M ( w) e g ( x) g ( x) M ( w) f ( x) (2 ) 1/ 2 f exp( ) f Ber ( p) e ( x )2 2 ft ( x) (2 ) t M (t ) 1 1 f ( x) p x (1 p)1 x , x 0,1 1 f t ( x) ( pe t ) x (1 p)1 x Mt p et t p e 1 p x 1/ 2 tx ( x )2 2 ( x ( t ))2 f ( x )e etx 1/ 2 e 1/ 2 (2 ) (2 ) e 2 t t2 / 2 M (t ) e f t ( x) e tx e x t 1 1 ( t ) e ( t ) x M (t ) E f (etX ) p et 1 p 1 p t p e 1 p 1 x Ber (( pet ) /( pet 1 p)) Theoretical Foundations : Exponential Change of Measure(ECM) Like one dimensional MinxEnt for each dimension SEPARATELY wx M ( w) f [e wx ] f ( x) W ( x, f , g ) M ( w)e wx g ( x) Et* X a P{ X a} Multiple parameters e f ( x) g ( x) M ( w) Exp( ) Exp( w) ( , ) ( w, ) N ( , 2 ) N ( w, 2 ) Ber ( p ) Ber ( pe w /( pe w 1 p )) Geo( p ) Geo(1 (1 p )e w ) Theoretical Foundations : Parametric MinxEnt(PME) Parametric like CE but exponent instead of indicator m min p {D(p, u)} min p{ p j ln j 1 pj uj m }, s.t. p S (X) , p j 1 j 1 ˆ) S ( X ) exp( S ( X ) k k t k 1 ˆt N exp( S ( X )ˆ ) ̂t N k 1 k t ˆ )W ( X , u, ~ I exp( S ( X ) pt 1 ) { X 1 } k t k ki k 1 N exp( S ( X )ˆ )W ( X , u, ~ p ) N ~ pt ,i k 1 k t k t 1 If S(X) is block-wise separable, size of W reduces Theoretical Foundations : Block-wise separability 2-SAT 1 -1 0 0 1 1 0 0 0 0 S(X)=S1(X1,X2)+S2(X3,X4) 0 0 W ( X , u, ~p t 1 ) W1 ( X 1 , X 2 , u1 , u 2 , ~p t 1,1 , ~p t 1,2 )W2 ( X 3 , X 4 , u 3 , u 4 , ~p t 1,3 , ~p t 1,4 ) 1 1 1 -1 u [F1 ( X 1 , X 2 )F2 ( X 3 , X 4 )] u [F1 ( X 1 , X 2 )] u [F2 ( X 3 , X 4 )] X exp{ ˆ S ( X , X )}W ( X , X , u , u , ~ p ,~ p ) exp{ˆ S ( X , X )}W ( X , X , u , u , ~p , ~p ) X exp{ ˆ S ( X , X )}W ( X , X , u , u , ~ p ,~ p ) exp{ˆ S ( X , X )}W ( X , X , u , u , ~p , ~p ) N ~ pt ,1 k 1 N t 1 1 k1 t 1 1 k 1 k1 k1 k2 k2 1 1 k1 k1 k2 k2 1 1 2 t 1,1 t 1,1 2 t 1, 2 t 1, 2 N ~ p t ,3 k 1 N k 1 t 1 k3 t 1 2 2 k3 k3 k4 k4 k3 k3 k4 k4 3 3 4 4 t 1, 3 t 1, 3 t 1, 4 t 1, 4 Theoretical Foundations : PME for counting Problem l Pf ( S ( X ) ) f I{S ( X ) } | | pt 1,i S( i ) Solution, iteration t i c ˆt | | % of mean p t i ct t 1,i ˆ) S ( X ) exp( S ( X ) k 1 k k t ˆt N exp( S ( X )ˆ ) N k 1 ~ pt ,i k ̂t t ˆ )W ( X , u, p ) I exp( S ( X ) { X 1 } k t k t 1 ki k 1 N exp( S ( X )ˆ )W ( X , u, p ) N Smoothing k 1 pt ~ pt (1 ) ~ pt 1 k t k t 1 Numerical results : SAT Good news: SAT is solvable Theoretical Foundations : Satisfiability(SAT) Problem Count all truth assignments {x1,…,xn} such that all clauses {C1,…,Cm} are true. Theoretical Foundations : Satisfiability Problem Theoretical Foundations : SAT with Conditioning Numerical results : Screened CE 25x100 3-SAT Numerical results : PME 25x100 3-SAT Numerical results : Screened CE 75x325 3-SAT Numerical results : PME 75x325 3-SAT Numerical results : PME 75x325 3-SAT Dynamics Numerical results : Screened CE 50x218 3-SAT Numerical results : PME 50x218 3-SAT Numerical results : Conditional PME 50x218 3-SAT Numerical results : PME 100x110 2-SAT Numerical results : PME 100x110 2-SAT Dynamics THANK YOU