Presentation is loading. Please wait.

Presentation is loading. Please wait.

Approximation algorithms for sequential testing of Boolean functions Lisa Hellerstein Polytechnic Institute of NYU Joint work with Devorah Kletenik (Polytechnic.

Similar presentations


Presentation on theme: "Approximation algorithms for sequential testing of Boolean functions Lisa Hellerstein Polytechnic Institute of NYU Joint work with Devorah Kletenik (Polytechnic."— Presentation transcript:

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…


Download ppt "Approximation algorithms for sequential testing of Boolean functions Lisa Hellerstein Polytechnic Institute of NYU Joint work with Devorah Kletenik (Polytechnic."

Similar presentations


Ads by Google