Advanced Algorithms ���� ���
k -SAT • n Boolean variables: x 1 , x 2 ,..., x n ∈ {true,false} • conjunctive normal form: k -CNF φ = C 1 ∧ C 2 ∧ ··· ∧ C m “Is φ satisfiable?” • m clauses: C 1 , C 2 ,..., C m • each clause C i = ` i 1 ∨ ` i 2 ∨ ··· ∨ ` i k is a disjunction of exact k literals • each literal: for some r ` j ∈ { x r , ¬ x r } • degree d : each clause shares variables with at most d other clauses
φ : k -CNF of max degree d Theorem φ is always satisfiable d ≤ 2 k − 2 uniform random assignment X 1 , X 2 , . . . , X n for clause C i , bad event A i : C i is not satisfied � ⇥ n ⇤ A i Pr > 0 d ≤ 2 k − 2 i = 1
Lovász Sieve • Bad events: A 1 , A 2 ,..., A n • None of the bad events occurs: � ⇥ n ⇤ A i Pr i = 1 • The probabilistic method: being good is possible � ⇥ n ⇤ A i Pr > 0 i = 1
events: A 1 , A 2 , ... , A n dependency graph: D ( V , E ) V = { 1, 2, ..., n } A i and A j are dependent ij ∈ E d : max degree of dependency graph A 2 A 1 ( X 1 , X 4 ) A 4 ( X 4 ) A 1 A 2 ( X 1 , X 2 ) A 3 A 5 ( X 3 ) A 3 ( X 2 , X 3 ) A 5 A 4 X 1 ,..., X 4 mutually independent
events: A 1 , A 2 , ... , A n d : max degree of dependency graph Lovász Local Lemma � ⇥ n • ∀ i , Pr[ A i ] ≤ p ⇤ A i Pr > 0 • e p ( d + 1) ≤ 1 i = 1 General Lovász Local Lemma ∃ x 1 , . . . , x n ∈ [0 , 1) " n # n ^ Y Pr (1 − x i ) A i ≥ Y ∀ i, Pr[ A i ] ≤ x i (1 − x j ) i =1 i =1 j ∼ i
LLL for k -SAT φ : k -CNF of max degree d Theorem ∃ satisfying assignment for φ d ≤ 2 k − 2 uniform random assignment X 1 , X 2 , . . . , X n for clause C i , bad event A i : C i is not satisfied � ⇥ n LLL: ⇤ e ( d + 1) ≤ 2 k A i Pr > 0 i = 1
Algorithmic LLL φ : k -CNF of max degree d with m clauses on n variables Theorem ∃ satisfying assignment for φ d ≤ 2 k − 2 Theorem ( Moser, 2009 ) satisfying assignment can be d < 2 k − 3 found in O( n + km log m ) w.h.p.
φ : k -CNF of max degree d with m clauses on n variables Solve ( φ ) pick a random assignment x 1 , x 2 , ... , x n ; while ∃ unsatisfied clause C Fix ( C ) ; Fix ( C ) replace variables in C with random values; while ∃ unsatisfied clause D overlapping with C Fix ( D ) ;
φ : k -CNF of max degree d with m clauses on n variables Solve ( φ ) Fix ( C ) Pick a random assignment replace variables in C with random values; x 1 , x 2 , ... , x n ; while ∃ unsatisfied clause D overlapping with C while ∃ unsatisfied clause C Fix ( D ) ; Fix ( C ) ; at top-level: Observation : A clause C is satisfied and will keep satisfied once it has been fixed. # of top-level calls to Fix( C ) : ≤ m (# of clauses) total # of calls to Fix( C ) (including recursive calls): t
φ : k -CNF of max degree d with m clauses on n variables Solve ( φ ) Fix ( C ) Pick a random assignment replace variables in C with random values; x 1 , x 2 , ... , x n ; while ∃ unsatisfied clause D overlapping with C while ∃ unsatisfied clause C Fix ( D ) ; Fix ( C ) ; ≤ m recursion trees total # nodes : t total # of random bits: (assigned bits) n+tk Observation : Fix( C ) is called assignment of C is uniquely determined
≤ m recursion trees total # nodes : t total # of random bits: (assigned bits) n+tk the sequence of random bits can be recovered from : final assignment: n bits + recursion trees: bits m d log 2 m e + t (log 2 d + O (1)) for each recursion tree: d log 2 m e bits root: each internal node: ≤ log 2 d + O (1) bits
≤ m recursion trees total # nodes : t total # of random bits: (assigned bits) n+tk the sequence of random bits is encoded to : n + m d log 2 m e + t (log 2 d + 3) bits Incompressibility Theorem ( Kolmogorov ) N uniform random bits cannot be encoded to substantially less than N bits.
≤ m recursion trees total # nodes : t total # of random bits: (assigned bits) n+tk the sequence of random bits is encoded to : n + m d log 2 m e + t (log 2 d + 3) bits Incompressibility Theorem ( Kolmogorov ) N uniform random bits cannot be encoded to less than N - l bits with probability 1-O(2 - l ) .
≤ m recursion trees total # nodes : t total # of random bits: (assigned bits) n+tk the sequence of random bits is encoded to : bits n + m d log 2 m e + t (log 2 d + c ) whp t ( k � c � log 2 d ) m d log 2 m e + log n t m d log 2 m e + log n when d < 2 k − c k � c � log 2 d total running time: n+tk = O( n + km log m )
Algorithmic LLL φ : k -CNF of max degree d with m clauses on n variables φ = C 1 ∧ C 2 ∧ ··· ∧ C m Theorem ( Moser, 2009 ) satisfying assignment can be d < 2 k − c found in O( n + km log m ) whp Solve ( φ ) Fix ( C ) Pick a random assignment replace variables in C with random values; x 1 , x 2 , ... , x n ; while ∃ unsatisfied clause D overlapping with C while ∃ unsatisfied clause C Fix ( D ) ; Fix ( C ) ;
events: A 1 , A 2 , ... , A n d : max degree of dependency graph Lovász Local Lemma � ⇥ n • ∀ i , Pr[ A i ] ≤ p ⇤ A i Pr > 0 • e p ( d + 1) ≤ 1 i = 1 General Lovász Local Lemma ∃ x 1 , . . . , x n ∈ [0 , 1) " n # n ^ Y Pr (1 − x i ) A i ≥ Y ∀ i, Pr[ A i ] ≤ x i (1 − x j ) i =1 i =1 j ∼ i
Constraint Satisfaction Problem • variables: x 1 , x 2 , ..., x n ∈ D (domain) • constraints: C 1 , C 2 , ..., C m • where C i ( x i 1 , x i 2 , . . . ) ∈ { true , false } • CSP solution: an assignment of variables satisfying all constraints • examples: SAT, graph colorability, ... • existence : When does a solution exist? • search : How to find a solution?
The Probabilistic Method CSP C 1 , C 2 , ..., C m defined on x 1 , x 2 , ..., x n • sampling random values of x 1 , x 2 , ..., x n • Bad event A i : constraint C i is violated " # m • None of the bad events occurs with prob: ^ A i Pr i • The probabilistic method: being good is possible " # m ^ Pr A i > 0 i = 1
events: A 1 , A 2 , ... , A n d : max degree of dependency graph Lovász Local Lemma � ⇥ n • ∀ i , Pr[ A i ] ≤ p ⇤ A i Pr > 0 • e p ( d + 1) ≤ 1 i = 1 General Lovász Local Lemma ∃ x 1 , . . . , x n ∈ [0 , 1) " n # n ^ Y Pr (1 − x i ) A i ≥ Y ∀ i, Pr[ A i ] ≤ x i (1 − x j ) i =1 i =1 j ∼ i
mutually independent random variables: X ∈ X bad events: A ∈ A defined on variables in X vbl ( A ) ⊆ X : set of variables on which A is defined neighborhood: Γ ( A ) = { B ∈ A | B ≠ A and vbl ( A ) ∩ vbl ( B ) ≠ ∅ } inclusive neighborhood: Γ + ( A ) = Γ ( A ) ∪ { A } “events that are dependent with A , excluding/including A itself” Lovász Local Lemma (general) ∃ α : A → [0 , 1) " ^ # Y ∀ A ∈ A : Pr (1 − α A ) A ≥ Y Pr[ A ] ≤ α A (1 − α B ) A ∈ A A ∈ A > 0 B ∈ Γ ( A )
mutually independent random variables: X ∈ X bad events: A ∈ A defined on variables in X vbl ( A ) ⊆ X : set of variables on which A is defined neighborhood: Γ ( A ) = { B ∈ A | B ≠ A and vbl ( A ) ∩ vbl ( B ) ≠ ∅ } inclusive neighborhood: Γ + ( A ) = Γ ( A ) ∪ { A } “events that are dependent with A , excluding/including A itself” Lovász Local Lemma (general) ∃ α : A → [0 , 1) ∃ values of variables in X ∀ A ∈ A : avoiding all bad events Y Pr[ A ] ≤ α A (1 − α B ) A ∈ A simultaneously. B ∈ Γ ( A )
Algorithmic LLL bad events A ∈ A defined on mutually independent random variables X ∈ X vbl ( A ) : set of variables on which A is defined neighborhood Γ ( A ) and inclusive neighborhood Γ + ( A ) Assumption: I. We can efficiently sample an independent evaluation of every random variable X ∈ X . II. We can efficiently check the violation of every event A ∈ A . RandomSolver : sample all X ∈ X ; while ∃ a non-violated bad event A ∈ A : resample all X ∈ vbl( A );
bad events A ∈ A defined on mutually independent random variables X ∈ X vbl ( A ) : set of variables on which A is defined neighborhood Γ ( A ) and inclusive neighborhood Γ + ( A ) RandomSolver : sample all X ∈ X ; while ∃ a non-violated bad event A ∈ A : resample all X ∈ vbl( A ); Moser - Tardos 2010: RandomSolver finds values of ∃ α : A → [0 , 1) all X ∈ X avoiding all A ∈ A ∀ A ∈ A : within expected α A X Y Pr[ A ] ≤ α A (1 − α B ) 1 − α A resamples. A ∈ A B ∈ Γ ( A )
bad events A ∈ A defined on mutually independent random variables X ∈ X vbl ( A ) : set of variables on which A is defined neighborhood Γ ( A ) and inclusive neighborhood Γ + ( A ) RandomSolver : sample all X ∈ X ; while ∃ a non-violated bad event A ∈ A : resample all X ∈ vbl( A ); Moser - Tardos 2010: • ∀ A ∈ A , Pr[ A ] ≤ p RandomSolver finds values of all X ∈ X violating all A ∈ A • e p ( d + 1) ≤ 1 within expected | A | / d resamples. where d =max A | Γ ( A )|
k -SAT φ : k -CNF of max degree d with m clauses on n variables RandomSolver : pick a random assignment x 1 , x 2 , ... , x n ; while ∃ an unsatisfied clause C : replace variables in C with random values; RandomSolver returns a satisfying assignment within d ≤ 2 k − 2 expected O( n + km / d ) time ( e( d +1) ≤ 2 k )
Recommend
More recommend