Download presentation
Presentation is loading. Please wait.
Published byLorena Perkins Modified over 9 years ago
1
Approximation algorithms for sequential testing of Boolean functions Lisa Hellerstein Polytechnic Institute of NYU Joint work with Devorah Kletenik (Polytechnic Institute of NYU) and Amol Deshpande (U. of Maryland)
2
Reference Approximation Algorithms for Stochastic Boolean Function Evaluation and Stochastic Submodular Set Cover Amol Deshpande, Lisa Hellerstein, Devorah Kletenik arxiv.org
3
Evaluating a Boolean Function on given input e.g. f(x 1,x 2, x 3 ) = x 1 ∨ ( x 2 ∧ x 3 ) What is f(0,0,1) = ?
4
Evaluating a Boolean Function on given input e.g. f(x 1,x 2, x 3 ) = 0 ∨ ( 0 ∧ 1 ) What is f(0,0,1) = ? Answer: 0
5
Evaluating a Boolean Function on unknown input e.g. f(x 1,x 2, x 3 ) = x 1 ∨ ( x 2 ∧ x 3 ) f(?,?,?) =
6
Evaluating a Boolean Function on unknown input e.g. f(x 1,x 2, x 3 ) = x 1 ∨ ( x 2 ∧ x 3 ) f(?,?,?) = $3 to get x 1 $2 to get x 2 $6 to get x 3
7
Evaluating a Boolean Function on unknown input e.g. f(x 1,x 2, x 3 ) = 0 ∨ ( x 2 ∧ x 3 ) f(0,?,?) = Charges $3 to get x 1 $3 $2 to get x 2 $6 to get x 3
8
Evaluating a Boolean Function on unknown input e.g. f(x 1,x 2, x 3 ) = 0 ∨ ( x 2 ∧ 1 ) f(1,?,1) = Charges $3 to get x 1 $3 $6 to get x 2 $2 to get x 3 $2
9
Evaluating a Boolean Function e.g. f(x 1,x 2, x 3 ) = 0 ∨ ( 1 ∧ 1 ) f(1,1,1) = 0 Charges $3 to get x 1 $3 $6 to get x 2 $6 $2 to get x 3 $2
10
x 1 ∨ ( x 2 ∧ x 3 ) x1x1 1x2x2 x3x3 1 0 =0=1 0 1 strategy used
11
Stochastic Version e.g. f(x 1,x 2, x 3 ) = x 1 ∨ ( x 2 ∧ x 3 ) f(?,?,?) = $3 to get x 1 Prob[x 1 = 1] = 1/300 $2 to get x 2 Prob[x 2 = 1] = 8/9 $6 to get x 3 Prob[x 3 = 1] = 9/10 assume independent
12
Sequential Testing Problem Given representation of a Boolean function f(x 1,…,x n ) Costs c 1,…,c n (c i > 0) Probabilities p 1,…,p n (0 < p i < 1) p i = Prob[x i = 1], assume independence Task: Find strategy for evaluating f on unknown input having minimum expected cost
13
Previous Results on Sequential Testing OR function – Optimal strategy is to test x i in decreasing order of p i /c i Read-once DNF formula – Poly-time algorithm [Boros&Unluyurt, Greiner et al.] k-of-n function (unweighted linear threshold) – Poly-time algorithm [Ben-Dov, Salloum&Breuer,...] – Extension to double-regular functions [ Boros&Unyulurt] CDNF formula (generalization of decision tree) – Approximation algorithm but only for monotone formula, c i =1, p i = 1/2 [Kaplan, Kushilevitz, Mansour] Linear Threshold Formula – NP-hard [Cox] – Easy for c i =1, p i = 1/2 [Fiat&Pechyony,Boros&Unluyurt]
14
Our main results O(log kd)-approximation algorithm for evaluating CDNF formula – k is number of terms, d is number of clauses – same factor as Kaplan et al, works for non-monotone formulas, arbitrary c i and p i – based on Adaptive Greedy algorithm of Golovin and Krause for Stochastic Submodular Set Cover 3-approximation algorithm for evaluating linear threshold formulas – Based on Dual Adaptive Greedy Dual Adaptive Greedy – new algorithm for Stochastic Submodular Set Cover
15
Stochastic Submodular Set Cover Given – utility function g: {0,1,*} n → ℤ ≥0 e.g.g(*,1,0,*) = 15 where ∃ Q ∊ ℤ ≥0 s.t. for all x ∊ {0,1} n, g(x) = Q, and g is monotone, submodular, g(*,…,*)=0 Q is called the goal utility – Costs c 1,.., c n (where c i > 0) c i is cost of testing x i – Probabilities p 1,…,p n (0 ≤ p i ≤ 1) p i = Prob[x i = 1], assume independence (Golovin and Krause, COLT 2010)
16
Perform sequential tests on variables x i Current knowledge of x i values is represented by partial assignment b e.g. (*,1,0,*) Task: Find a strategy for achieving g(b) = Q that has minimum expected cost
17
g: {0,1,*} n → ℤ ≥0 Def: g is monotone – Given partial assignments b and c, c extends b → g(c) ≥ g(b) extends = produced by changing some x i from * to 0, 1 Additional knowledge can only increase g e.g. g(0,*,1) ≥ g(*,*,1) Submodular c extends b, c i =b i =* → g(c xi←1 ) – g(c) ≤ g(b xi←1 ) – g(b) and same for xi ←0 Additional knowledge less valuable (or equally valuable) the more you know already e.g. g(0,*,1) – g(*,*,1) ≤ g(0,*,*) – g(*,*,*)
18
Adaptive Greedy Algorithm for SSSC Start with b = (*,...,*) While g(b) < Q – test x i with largest expected increase in utility, per unit cost E[∆g]/c i – update b with value of x i Thm [Golovin,Krause] Expected-cost(Adaptive-Greedy) ≤ Expected-cost(OPT) (ln(Q) + 1)
19
Apply Adaptive Greedy to Sequential Testing of Boolean Function f Idea: Convert problem of evaluating Boolean function f into submodular set cover problem Construct utility function g such that g(b) = Q iff value of f is determined by b Adaptive Greedy is O(log Q)-approximation Challenges – g must be submodular, monotone – Don’t want Q to be too big
20
Utility function g for CDNF CDNF formula f x 1 x 2 ∨ x 2 x 3 ∨ x 3 x 4 (x 1 ∨ x 3 )(x 2 ∨ x 4 )(x 2 ∨ x 3 ) Intuition: Don’t know value of f yet if there is a term that could still be satisfied and a clause that could still be falsified i.e., if there is a (live term, live clause) pair b=(1,0,*,*) pair ( x 3 x 4, (x 2 ∨ x 4 ) ) Let Q = total #(term,clause) pairs Q = 3*3 = 9 For b ∊ {0,1,*} n, let g(b) = Q – [#(live term, live clause) pairs for b] g(1,0,*,*) = 9 - 1*2 = 7
21
Utility function g for CDNF (continued) g(b) = Q iff value of f determined by b g(*,…,*)=0, g monotone, g submodular Thm: There is an O(log kd)-approximation algorithm for evaluating CDNF formula, where k is number of terms, d is number of clauses Pf: Use Adaptive Greedy with above utility function g. Since Q=kd, it is within a factor of O(log kd) of optimal.
22
What about evaluating Boolean linear threshold formulas? e.g. Given 2x 1 + x 2 - x 3 ≥ 0, costs c i, probabilities p i, want testing strategy for x i to determine if inequality is satisfied Idea: Find good utility function g with goal value Q. Gives O(log Q)-approximation. Problem: There are threshold functions s.t. goal value of any good utility function is 2 O(n). Need new approach!
23
Recall algorithms for set cover – Standard Greedy Algorithm (ln m + 1)-approximation for set cover – Dual Greedy (Hochbaum) 2-approximation for vertex cover Is there an adaptive dual greedy algorithm for Stochastic Submodular Set Cover? – There is now…
24
Adaptive Dual Greedy Generalization of Dual Greedy algorithm of Fujito for Submodular Set Cover Submodular Set Cover – Special case of Stochastic Submodular Set cover where p i = 0 or 1 for all i Fujito’s algorithm based on dual of Wolsey’s LP for submodular set cover
25
Constraints in this dual LP have form where g S (i) = increase in utility you will get by testing x i assuming you already tested S. Algorithm works by setting variables “greedily” make constraints tight. OUR PROBLEM: In SSSC, increase in utility depends on test outcomes. Until do tests, don’t know outcomes!
26
Our solution: – At every step in the algorithm, only consider coefficients g S (i) of y s whose variables in S have been tested already – For each i, set g S (i) to be expected increase in utility from testing x i (if you’ve already tested x i, pretend you haven’t here) – No objective function
27
Thm: Adaptive Dual Greedy is an α-approximation algorithm for the SSSC problem, where and the max is taken over all x in {0,1} n and all proper prefixes S of the sequence of items tested while running the algorithm with test outcomes determined by x.
28
Theorem: There is a 3-approximation algorithm for sequential testing of linear threshold formulas. Proof Sketch: Construct good utility function g corresponding to given linear threshold function, so that solving SSSC for g is equivalent to evaluating the function. Apply Dual Adaptive Greedy. Show that α ≤ 3.
29
Conclusion Approach to designing approximation algorithms for sequential testing of Boolean functions Adaptive Dual Greedy algorithm for SSSC problem Many open problems…
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.