A #SAT Algorithm for Small Constant-Depth Circuits with PTF gates. - - PowerPoint PPT Presentation

a sat algorithm for small constant depth circuits with
SMART_READER_LITE
LIVE PREVIEW

A #SAT Algorithm for Small Constant-Depth Circuits with PTF gates. - - PowerPoint PPT Presentation

A #SAT Algorithm for Small Constant-Depth Circuits with PTF gates. Nutan Limaye Computer Science and Engineering Department, Indian Institute of Technology, Bombay, (IITB) India. Joint work with Swapnam Bajpai, Vaibhav Krishan, Deepanshu Kush,


slide-1
SLIDE 1

A #SAT Algorithm for Small Constant-Depth Circuits with PTF gates. Nutan Limaye

Computer Science and Engineering Department, Indian Institute of Technology, Bombay, (IITB) India. Joint work with

Swapnam Bajpai, Vaibhav Krishan, Deepanshu Kush, and Srikanth Srinivasan.

IIT Bombay, India. Complexity, Algorithms, Automata and Logic Meet (CAALM 2019) Chennai Mathematical Institute, January 2019.

slide-2
SLIDE 2

Circuit satisfiability algorithms

Boolean circuits

slide-3
SLIDE 3

Circuit satisfiability algorithms

Boolean circuits depth = 3 Size = number of gates = 4

x1 ∧ x2 x3 x4 ¬

slide-4
SLIDE 4

Circuit satisfiability algorithms

Boolean circuits depth = 3 Size = number of gates = 4 f1 ∨ x1 ∧ x2 x3 x4 f2

slide-5
SLIDE 5

Circuit satisfiability algorithms

Boolean circuits depth = 3 Size = number of gates = 4 f1 ∨ x1 ∧ x2 x3 x4 f2 Number of input variables: n

slide-6
SLIDE 6

Circuit satisfiability algorithms

Boolean circuits depth = 3 Size = number of gates = 4 f1 ∨ x1 ∧ x2 x3 x4 f2 Number of input variables: n Constant-depth circuits: d is independent of n.

slide-7
SLIDE 7

Our focus

Task:

slide-8
SLIDE 8

Our focus

Task: Fix a class of circuits C.

slide-9
SLIDE 9

Our focus

Task: Fix a class of circuits C. #SAT(C)

slide-10
SLIDE 10

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C

slide-11
SLIDE 11

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C computing f : {−1, 1}n → {−1, 1}

slide-12
SLIDE 12

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C computing f : {−1, 1}n → {−1, 1} Count: #{a ∈ {−1, 1}n | f (a) = −1}

slide-13
SLIDE 13

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C computing f : {−1, 1}n → {−1, 1} Count: #{a ∈ {−1, 1}n | f (a) = −1}

slide-14
SLIDE 14

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C computing f : {−1, 1}n → {−1, 1} Count: #{a ∈ {−1, 1}n | f (a) = −1} Here −1 stands for True and 1 stands for False.

slide-15
SLIDE 15

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C computing f : {−1, 1}n → {−1, 1} Count: #{a ∈ {−1, 1}n | f (a) = −1} Here −1 stands for True and 1 stands for False. Trivial brute-force algorithm exists.

slide-16
SLIDE 16

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C computing f : {−1, 1}n → {−1, 1} Count: #{a ∈ {−1, 1}n | f (a) = −1} Here −1 stands for True and 1 stands for False. Trivial brute-force algorithm exists. It takes time poly(|C|) · 2n.

slide-17
SLIDE 17

Our focus

Task: Fix a class of circuits C. #SAT(C) Given: C ∈ C computing f : {−1, 1}n → {−1, 1} Count: #{a ∈ {−1, 1}n | f (a) = −1} Here −1 stands for True and 1 stands for False. Trivial brute-force algorithm exists. It takes time poly(|C|) · 2n. Can we design an algorithm that takes time 2n/nω(1) when |C| is small, say poly(n)?

slide-18
SLIDE 18

Circuit satisfibaility algorithms

Connections to circuit lower bounds

slide-19
SLIDE 19

Circuit satisfibaility algorithms

Connections to circuit lower bounds Better than brute-force circuit-satisfiability algorithms for a class C reveals some weaknesses of functions computable by C.

slide-20
SLIDE 20

Circuit satisfibaility algorithms

Connections to circuit lower bounds Better than brute-force circuit-satisfiability algorithms for a class C reveals some weaknesses of functions computable by C. This intuitive connection has been formalised to derive lowerbounds for various interesting classes of circuits. [Paturi, Pudl´ ak, Zane 1997],[Paturi, Pudl´ ak, Saks, Zane 2005], [Williams 2010], [Williams 2011].

slide-21
SLIDE 21

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}.

slide-22
SLIDE 22

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS

slide-23
SLIDE 23

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS where XS =

i∈S xi

slide-24
SLIDE 24

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS where XS =

i∈S xi, P(X) ∈ R[X] such that

slide-25
SLIDE 25

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS where XS =

i∈S xi, P(X) ∈ R[X] such that sign(P(a)) = f (a) for every

a ∈ {−1, 1}n.

slide-26
SLIDE 26

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS where XS =

i∈S xi, P(X) ∈ R[X] such that sign(P(a)) = f (a) for every

a ∈ {−1, 1}n. We assume that P(a) = 0 for each a ∈ {−1, 1}n.

slide-27
SLIDE 27

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS where XS =

i∈S xi, P(X) ∈ R[X] such that sign(P(a)) = f (a) for every

a ∈ {−1, 1}n. We assume that P(a) = 0 for each a ∈ {−1, 1}n. Let w(P) denote the bit-complexity of

S⊆[n],|S|≤k |αS|.

slide-28
SLIDE 28

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS where XS =

i∈S xi, P(X) ∈ R[X] such that sign(P(a)) = f (a) for every

a ∈ {−1, 1}n. We assume that P(a) = 0 for each a ∈ {−1, 1}n. Let w(P) denote the bit-complexity of

S⊆[n],|S|≤k |αS|.

Example: AND(x1, x2) = sign(x1 + x2 + 1)

slide-29
SLIDE 29

Polynomial Threshold Functions

Definition (Polynomial Threshold Functions)

Let X = {x1, . . . , xn}. A function f : {−1, 1}n → {−1, 1} is called a degree-k Polynomial Threshold Function (k-PTF) if there is a multilinear degree-k polynomial P(x1, . . . , xn) =

  • S⊆[n],|S|≤k

αSxS where XS =

i∈S xi, P(X) ∈ R[X] such that sign(P(a)) = f (a) for every

a ∈ {−1, 1}n. We assume that P(a) = 0 for each a ∈ {−1, 1}n. Let w(P) denote the bit-complexity of

S⊆[n],|S|≤k |αS|.

Example: AND(x1, x2) = sign(x1 + x2 + 1) = sign(100x1 + 100x2 + 1).

slide-30
SLIDE 30

Polynomial Threshold Circuits

A circuit consisting of PTF gates.

slide-31
SLIDE 31

Polynomial Threshold Circuits

A circuit consisting of PTF gates.

Definition (k-PTF circuits)

A k-PTF circuit on n variables is a Boolean circuit, where each gate of fan-in m computes a fixed k-PTF of its inputs.

slide-32
SLIDE 32

Polynomial Threshold Circuits

A circuit consisting of PTF gates.

Definition (k-PTF circuits)

A k-PTF circuit on n variables is a Boolean circuit, where each gate of fan-in m computes a fixed k-PTF of its inputs. Size of the circuit is the number of gates in it. Depth of the circuit is the longest input to output path.

slide-33
SLIDE 33

Polynomial Threshold Circuits

A circuit consisting of PTF gates.

Definition (k-PTF circuits)

A k-PTF circuit on n variables is a Boolean circuit, where each gate of fan-in m computes a fixed k-PTF of its inputs. Size of the circuit is the number of gates in it. Depth of the circuit is the longest input to output path. Weight of the circuit is the maximum among the weights of k-PTFs in the circuit.

slide-34
SLIDE 34

Polynomial Threshold Circuits

A circuit consisting of PTF gates.

Definition (k-PTF circuits)

A k-PTF circuit on n variables is a Boolean circuit, where each gate of fan-in m computes a fixed k-PTF of its inputs. Size of the circuit is the number of gates in it. Depth of the circuit is the longest input to output path. Weight of the circuit is the maximum among the weights of k-PTFs in the circuit.

slide-35
SLIDE 35

Polynomial Threshold Circuits

Suppose each gate is a Linear Threshold function, the class is called TC0.

slide-36
SLIDE 36

Polynomial Threshold Circuits

Suppose each gate is a Linear Threshold function, the class is called TC0. They are powerful.

Integer arithmetic can be done in TC0.

slide-37
SLIDE 37

Polynomial Threshold Circuits

Suppose each gate is a Linear Threshold function, the class is called TC0. They are powerful.

Integer arithmetic can be done in TC0. [Beame, Cook, Hoover 1986],[Hesse, Allender,Barrington, 2002].

slide-38
SLIDE 38

Polynomial Threshold Circuits

Suppose each gate is a Linear Threshold function, the class is called TC0. They are powerful.

Integer arithmetic can be done in TC0. [Beame, Cook, Hoover 1986],[Hesse, Allender,Barrington, 2002].

At the frontier of lower bound techniques.

slide-39
SLIDE 39

Polynomial Threshold Circuits

Suppose each gate is a Linear Threshold function, the class is called TC0. They are powerful.

Integer arithmetic can be done in TC0. [Beame, Cook, Hoover 1986],[Hesse, Allender,Barrington, 2002].

At the frontier of lower bound techniques.

For instance [Kane, Williams, 2015], [Chen 2018].

slide-40
SLIDE 40

Polynomial Threshold Circuits

Suppose each gate is a Linear Threshold function, the class is called TC0. They are powerful.

Integer arithmetic can be done in TC0. [Beame, Cook, Hoover 1986],[Hesse, Allender,Barrington, 2002].

At the frontier of lower bound techniques.

For instance [Kane, Williams, 2015], [Chen 2018].

Polynomial Threshold circuits are a natural generalization of TC0.

slide-41
SLIDE 41

Satisfiability algorithms for a single k-PTF

Better than brute-force satisfiability algorithms.

slide-42
SLIDE 42

Satisfiability algorithms for a single k-PTF

Better than brute-force satisfiability algorithms. Algorithms that run in time 2n−s, where s is non-trivial.

slide-43
SLIDE 43

Satisfiability algorithms for a single k-PTF

Better than brute-force satisfiability algorithms. Algorithms that run in time 2n−s, where s is non-trivial. Known results for a single PTF gate

slide-44
SLIDE 44

Satisfiability algorithms for a single k-PTF

Better than brute-force satisfiability algorithms. Algorithms that run in time 2n−s, where s is non-trivial. Known results for a single PTF gate A single 2-PTF satisfiability.

[Williams, 2004], [Williams, 2014].

slide-45
SLIDE 45

Satisfiability algorithms for a single k-PTF

Better than brute-force satisfiability algorithms. Algorithms that run in time 2n−s, where s is non-trivial. Known results for a single PTF gate A single 2-PTF satisfiability.

[Williams, 2004], [Williams, 2014].

#SAT for a single k-PTF when the weights are small.

[Sakai, Seto, Tamaki, Teruyama, 2016].

slide-46
SLIDE 46

Satisfiability algorithms for a single k-PTF

Better than brute-force satisfiability algorithms. Algorithms that run in time 2n−s, where s is non-trivial. Known results for a single PTF gate A single 2-PTF satisfiability.

[Williams, 2004], [Williams, 2014].

#SAT for a single k-PTF when the weights are small.

[Sakai, Seto, Tamaki, Teruyama, 2016].

slide-47
SLIDE 47

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for depth-2

slide-48
SLIDE 48

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for depth-2 For depth-2 TC0 circuits with O(n) gates.

[Impagliazzo, Paturi, Schneider, 2013], [Impagliazzo, Lovett, Paturi, Schneider, 2014].

slide-49
SLIDE 49

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for depth-2 For depth-2 TC0 circuits with O(n) gates.

[Impagliazzo, Paturi, Schneider, 2013], [Impagliazzo, Lovett, Paturi, Schneider, 2014].

For depth-2 TC0 circuits with almost quadratic number of gates.

[Alman, Chan, Williams, 2016], [Tamaki 2016].

slide-50
SLIDE 50

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for depth-2 For depth-2 TC0 circuits with O(n) gates.

[Impagliazzo, Paturi, Schneider, 2013], [Impagliazzo, Lovett, Paturi, Schneider, 2014].

For depth-2 TC0 circuits with almost quadratic number of gates.

[Alman, Chan, Williams, 2016], [Tamaki 2016].

slide-51
SLIDE 51

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for constant-depth For constant depth TC0 circuits of size n1+ǫd, where d is the depth of the circuit.

[Chen, Santhanam, Srinivasan, 2018].

slide-52
SLIDE 52

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for constant-depth For constant depth TC0 circuits of size n1+ǫd, where d is the depth of the circuit.

[Chen, Santhanam, Srinivasan, 2018].

The paper proved the first average case lower bound for constant depth TC0 circuits.

slide-53
SLIDE 53

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for constant-depth For constant depth TC0 circuits of size n1+ǫd, where d is the depth of the circuit.

[Chen, Santhanam, Srinivasan, 2018].

The paper proved the first average case lower bound for constant depth TC0 circuits. The lower bound was extended to a much more powerful class of constant depth PTF circuits.

slide-54
SLIDE 54

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for constant-depth For constant depth TC0 circuits of size n1+ǫd, where d is the depth of the circuit.

[Chen, Santhanam, Srinivasan, 2018].

The paper proved the first average case lower bound for constant depth TC0 circuits. The lower bound was extended to a much more powerful class of constant depth PTF circuits. [Kane, Kabanets, Lu, 2017].

slide-55
SLIDE 55

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for constant-depth For constant depth TC0 circuits of size n1+ǫd, where d is the depth of the circuit.

[Chen, Santhanam, Srinivasan, 2018].

The paper proved the first average case lower bound for constant depth TC0 circuits. The lower bound was extended to a much more powerful class of constant depth PTF circuits. [Kane, Kabanets, Lu, 2017].

For constant depth PTF circuits of size n1+ǫd, where d depends on the depth of the circuit

slide-56
SLIDE 56

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for constant-depth For constant depth TC0 circuits of size n1+ǫd, where d is the depth of the circuit.

[Chen, Santhanam, Srinivasan, 2018].

The paper proved the first average case lower bound for constant depth TC0 circuits. The lower bound was extended to a much more powerful class of constant depth PTF circuits. [Kane, Kabanets, Lu, 2017].

For constant depth PTF circuits of size n1+ǫd, where d depends on the depth of the circuit, and sparsity n2−Ω(1).

[Kabanets and Lu 2018].

slide-57
SLIDE 57

Satisfiability algorithms for TC0 and k-PTF circuits

Known results for constant-depth For constant depth TC0 circuits of size n1+ǫd, where d is the depth of the circuit.

[Chen, Santhanam, Srinivasan, 2018].

The paper proved the first average case lower bound for constant depth TC0 circuits. The lower bound was extended to a much more powerful class of constant depth PTF circuits. [Kane, Kabanets, Lu, 2017].

For constant depth PTF circuits of size n1+ǫd, where d depends on the depth of the circuit, and sparsity n2−Ω(1).

[Kabanets and Lu 2018].

The last two algorithms also work for #SAT.

slide-58
SLIDE 58

A simple question

Question left open by previous works.

slide-59
SLIDE 59

A simple question

Question left open by previous works. Is there a better than brute-force #SAT algorithm for degree-k PTFs?

slide-60
SLIDE 60

A simple question

Question left open by previous works. Is there a better than brute-force #SAT algorithm for degree-k PTFs? Answered affirmatively here.

slide-61
SLIDE 61

A simple question

Question left open by previous works. Is there a better than brute-force #SAT algorithm for degree-k PTFs? Answered affirmatively here. Our result

Theorem (#SAT for a single k-PTF)

Fix any constant k, there is a zero-error radomized algorithm that solves the #SAT problem for a single k-PTF in time poly(n, M) · 2n−s, where s = ˜ Ω(n1/k+1).

slide-62
SLIDE 62

A simple question

Question left open by previous works. Is there a better than brute-force #SAT algorithm for degree-k PTFs? Answered affirmatively here. Our result

Theorem (#SAT for a single k-PTF)

Fix any constant k, there is a zero-error radomized algorithm that solves the #SAT problem for a single k-PTF in time poly(n, M) · 2n−s, where s = ˜ Ω(n1/k+1). Here n is the number of variables and M = w(P).

slide-63
SLIDE 63

A simple question

Question left open by previous works. Is there a better than brute-force #SAT algorithm for degree-k PTFs? Answered affirmatively here. Our result

Theorem (#SAT for a single k-PTF)

Fix any constant k, there is a zero-error radomized algorithm that solves the #SAT problem for a single k-PTF in time poly(n, M) · 2n−s, where s = ˜ Ω(n1/k+1). Here n is the number of variables and M = w(P).

w(P): bit-complexity of sum of absolute values of the coeffients of the k-PTF.

slide-64
SLIDE 64

A simple question

Question left open by previous works. Is there a better than brute-force #SAT algorithm for degree-k PTFs? Answered affirmatively here. Our result

Theorem (#SAT for a single k-PTF)

Fix any constant k, there is a zero-error radomized algorithm that solves the #SAT problem for a single k-PTF in time poly(n, M) · 2n−s, where s = ˜ Ω(n1/k+1). Here n is the number of variables and M = w(P).

w(P): bit-complexity of sum of absolute values of the coeffients of the k-PTF.

Some comments on zero-error randomized algorithms.

slide-65
SLIDE 65

#SAT algorithm for k-PTF circuits

Our result

Theorem (#SAT for constant depth k-PTF circuits)

Fix any constants k, d, we have the following for some fixed constants εk,d, βk,d depending only on k, d.

slide-66
SLIDE 66

#SAT algorithm for k-PTF circuits

Our result

Theorem (#SAT for constant depth k-PTF circuits)

Fix any constants k, d, we have the following for some fixed constants εk,d, βk,d depending only on k, d. There is a zero-error randomized algorithm that solves #SAT problem for k-PTF circuits of depth d and size n(1+εk,d) in time poly(n, M) · 2n−s, where s = nβk,d.

slide-67
SLIDE 67

#SAT algorithm for k-PTF circuits

Our result

Theorem (#SAT for constant depth k-PTF circuits)

Fix any constants k, d, we have the following for some fixed constants εk,d, βk,d depending only on k, d. There is a zero-error randomized algorithm that solves #SAT problem for k-PTF circuits of depth d and size n(1+εk,d) in time poly(n, M) · 2n−s, where s = nβk,d. Here n is the number of inputs, M is the weight of the circuit.

slide-68
SLIDE 68

#SAT algorithm for k-PTF circuits

Our result

Theorem (#SAT for constant depth k-PTF circuits)

Fix any constants k, d, we have the following for some fixed constants εk,d, βk,d depending only on k, d. There is a zero-error randomized algorithm that solves #SAT problem for k-PTF circuits of depth d and size n(1+εk,d) in time poly(n, M) · 2n−s, where s = nβk,d. Here n is the number of inputs, M is the weight of the circuit. Weight of a k-PTF circuit is the maximum among the weights of k-PTFs in the circuit.

slide-69
SLIDE 69

#SAT algorithm for a single k-PTF

For simplicity of presentation, we will discuss SAT algorithm.

slide-70
SLIDE 70

#SAT algorithm for a single k-PTF

For simplicity of presentation, we will discuss SAT algorithm. Memoization

slide-71
SLIDE 71

#SAT algorithm for a single k-PTF

For simplicity of presentation, we will discuss SAT algorithm. Memoization A technique to solve satisfiability problems.

slide-72
SLIDE 72

#SAT algorithm for a single k-PTF

For simplicity of presentation, we will discuss SAT algorithm. Memoization A technique to solve satisfiability problems. A 2-step procedure to solve satisfiability for class C of circuits.

slide-73
SLIDE 73

#SAT algorithm for a single k-PTF

For simplicity of presentation, we will discuss SAT algorithm. Memoization A technique to solve satisfiability problems. A 2-step procedure to solve satisfiability for class C of circuits.

slide-74
SLIDE 74

Memoization

A 2-step procedure to solve satisfiability for class C of circuits.

slide-75
SLIDE 75

Memoization

A 2-step procedure to solve satisfiability for class C of circuits.

Step 1 Use brute-force to solve all instances on m inputs. Typically m = nε.

slide-76
SLIDE 76

Memoization

A 2-step procedure to solve satisfiability for class C of circuits.

Step 1 Use brute-force to solve all instances on m inputs. Typically m = nε. Store all answers (SAT or not SAT) for each in a table T . Takes time exp(mO(1)) ≪ 2n.

slide-77
SLIDE 77

Memoization

A 2-step procedure to solve satisfiability for class C of circuits.

Step 1 Use brute-force to solve all instances on m inputs. Typically m = nε. Store all answers (SAT or not SAT) for each in a table T . Takes time exp(mO(1)) ≪ 2n. Step 2 On input C ∈ C, set variables xm+1, . . . , xn to all possible Boolean values. Each setting creates an instance on m inputs.

slide-78
SLIDE 78

Memoization

A 2-step procedure to solve satisfiability for class C of circuits.

Step 1 Use brute-force to solve all instances on m inputs. Typically m = nε. Store all answers (SAT or not SAT) for each in a table T . Takes time exp(mO(1)) ≪ 2n. Step 2 On input C ∈ C, set variables xm+1, . . . , xn to all possible Boolean values. Each setting creates an instance on m inputs. Look-up T and figure out whether it is satisfiable.

slide-79
SLIDE 79

Memoization

A 2-step procedure to solve satisfiability for class C of circuits.

Step 1 Use brute-force to solve all instances on m inputs. Typically m = nε. Store all answers (SAT or not SAT) for each in a table T . Takes time exp(mO(1)) ≪ 2n. Step 2 On input C ∈ C, set variables xm+1, . . . , xn to all possible Boolean values. Each setting creates an instance on m inputs. Look-up T and figure out whether it is satisfiable. If look-up can be done in poly(|C|) time, then this step takes time O(2n−m · poly(|C|)) ≪ 2n.

slide-80
SLIDE 80

Memoization for k-PTF

Given as input f specified by a degree-k polynomial P on n variables with integer coefficients. Can memoization be made to work for a single k-PTF?

slide-81
SLIDE 81

Memoization for k-PTF

Given as input f specified by a degree-k polynomial P on n variables with integer coefficients. Can memoization be made to work for a single k-PTF?

Step 1 The number of k-PTF on m variables is 2mk+1. [Chow 1961].

slide-82
SLIDE 82

Memoization for k-PTF

Given as input f specified by a degree-k polynomial P on n variables with integer coefficients. Can memoization be made to work for a single k-PTF?

Step 1 The number of k-PTF on m variables is 2mk+1. [Chow 1961]. Hence this step can be implemented in time 2mk+1 ≪ 2n time.

slide-83
SLIDE 83

Memoization for k-PTF

Given as input f specified by a degree-k polynomial P on n variables with integer coefficients. Can memoization be made to work for a single k-PTF?

Step 1 The number of k-PTF on m variables is 2mk+1. [Chow 1961]. Hence this step can be implemented in time 2mk+1 ≪ 2n time. Step 2 For this to work, the look-up (into the functions stored in Step 1) need to happen quickly.

slide-84
SLIDE 84

Memoization for k-PTF

Given as input f specified by a degree-k polynomial P on n variables with integer coefficients. Can memoization be made to work for a single k-PTF?

Step 1 The number of k-PTF on m variables is 2mk+1. [Chow 1961]. Hence this step can be implemented in time 2mk+1 ≪ 2n time. Step 2 For this to work, the look-up (into the functions stored in Step 1) need to happen quickly. This step not obvious.

slide-85
SLIDE 85

Memoization for k-PTF

Given as input f specified by a degree-k polynomial P on n variables with integer coefficients. Can memoization be made to work for a single k-PTF?

Step 1 The number of k-PTF on m variables is 2mk+1. [Chow 1961]. Hence this step can be implemented in time 2mk+1 ≪ 2n time. Step 2 For this to work, the look-up (into the functions stored in Step 1) need to happen quickly. This step not obvious.

Quick Look-up?

slide-86
SLIDE 86

Memoization for k-PTF

Quick Look-up: A possible approach.

slide-87
SLIDE 87

Memoization for k-PTF

Quick Look-up: A possible approach. Every k-PTF on m variables can be sign represented by a polynomial with coefficients bounded by 2O(poly(m)). [Muroga 1971].

slide-88
SLIDE 88

Memoization for k-PTF

Quick Look-up: A possible approach. Every k-PTF on m variables can be sign represented by a polynomial with coefficients bounded by 2O(poly(m)). [Muroga 1971]. Simply store all polynomials with small weights in the table.

slide-89
SLIDE 89

Memoization for k-PTF

Quick Look-up: A possible approach. Every k-PTF on m variables can be sign represented by a polynomial with coefficients bounded by 2O(poly(m)). [Muroga 1971]. Simply store all polynomials with small weights in the table. Doable in time 2O(poly(m)) ≪ 2n.

slide-90
SLIDE 90

Memoization for k-PTF

Quick Look-up: A possible approach. Every k-PTF on m variables can be sign represented by a polynomial with coefficients bounded by 2O(poly(m)). [Muroga 1971]. Simply store all polynomials with small weights in the table. Doable in time 2O(poly(m)) ≪ 2n. May not wok.

slide-91
SLIDE 91

Memoization for k-PTF

Quick Look-up: A possible approach. Every k-PTF on m variables can be sign represented by a polynomial with coefficients bounded by 2O(poly(m)). [Muroga 1971]. Simply store all polynomials with small weights in the table. Doable in time 2O(poly(m)) ≪ 2n. May not wok. A k-PTF P on n variables is reduced to a k-PTF P′ on m variables by Step 1.

slide-92
SLIDE 92

Memoization for k-PTF

Quick Look-up: A possible approach. Every k-PTF on m variables can be sign represented by a polynomial with coefficients bounded by 2O(poly(m)). [Muroga 1971]. Simply store all polynomials with small weights in the table. Doable in time 2O(poly(m)) ≪ 2n. May not wok. A k-PTF P on n variables is reduced to a k-PTF P′ on m variables by Step 1. The coeffiecients of P′ can be as large as 2poly(n). Not clear how to find a polynomial with small coefficients that sign-represents P′.

slide-93
SLIDE 93

Memoization for k-PTF

Quick Look-up: A possible approach. Every k-PTF on m variables can be sign represented by a polynomial with coefficients bounded by 2O(poly(m)). [Muroga 1971]. Simply store all polynomials with small weights in the table. Doable in time 2O(poly(m)) ≪ 2n. May not wok. A k-PTF P on n variables is reduced to a k-PTF P′ on m variables by Step 1. The coeffiecients of P′ can be as large as 2poly(n). Not clear how to find a polynomial with small coefficients that sign-represents P′.

slide-94
SLIDE 94

Memoization for k-PTF

Quick Look-up: Another possible approach.

slide-95
SLIDE 95

Memoization for k-PTF

Quick Look-up: Another possible approach. A k-PTF on m variables can be represented by poly(m) many numbers of O(m) bit-complexity. The numbers are called Chow parameters. [Chow 1961].

slide-96
SLIDE 96

Memoization for k-PTF

Quick Look-up: Another possible approach. A k-PTF on m variables can be represented by poly(m) many numbers of O(m) bit-complexity. The numbers are called Chow parameters. [Chow 1961]. Expensive to compute Even for LTFs computing Chow parameters is known to be NP-hard. [O’Donnell, Servedio 2011].

slide-97
SLIDE 97

Linear Decision Tree

Our approach:

slide-98
SLIDE 98

Linear Decision Tree

Our approach: Linear Decision Trees

slide-99
SLIDE 99

Linear Decision Tree

Our approach: Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017]

slide-100
SLIDE 100

Linear Decision Tree

Our approach: Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] There is an algorithm that given a positive integer r and a set H ⊆ {−1, 1}r

slide-101
SLIDE 101

Linear Decision Tree

Our approach: Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] There is an algorithm that given a positive integer r and a set H ⊆ {−1, 1}r, produces a decision tree T in time 2O(∆), where ∆ = O(r log r log |H|)

slide-102
SLIDE 102

Linear Decision Tree

Our approach: Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] There is an algorithm that given a positive integer r and a set H ⊆ {−1, 1}r, produces a decision tree T in time 2O(∆), where ∆ = O(r log r log |H|) and T that has the following properties:

slide-103
SLIDE 103

Linear Decision Tree

Our approach: Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] There is an algorithm that given a positive integer r and a set H ⊆ {−1, 1}r, produces a decision tree T in time 2O(∆), where ∆ = O(r log r log |H|) and T that has the following properties:

Each internal node of the tree is a linear test (r

i=1 αiwi ≥ θ), where

w is the input to T and αi ∈ {−2, −1, 0, 1, 2}.

slide-104
SLIDE 104

Linear Decision Tree

Our approach: Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] There is an algorithm that given a positive integer r and a set H ⊆ {−1, 1}r, produces a decision tree T in time 2O(∆), where ∆ = O(r log r log |H|) and T that has the following properties:

Each internal node of the tree is a linear test (r

i=1 αiwi ≥ θ), where

w is the input to T and αi ∈ {−2, −1, 0, 1, 2}. It computes a function F : Rr → {−1, 1}|H| such that given an input w ∈ Rr, F(w) is the truth table of the LTF defined by w on all points in H.

slide-105
SLIDE 105

Linear Decision Tree

Our approach: Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] There is an algorithm that given a positive integer r and a set H ⊆ {−1, 1}r, produces a decision tree T in time 2O(∆), where ∆ = O(r log r log |H|) and T that has the following properties:

Each internal node of the tree is a linear test (r

i=1 αiwi ≥ θ), where

w is the input to T and αi ∈ {−2, −1, 0, 1, 2}. It computes a function F : Rr → {−1, 1}|H| such that given an input w ∈ Rr, F(w) is the truth table of the LTF defined by w on all points in H. The depth of the decision tree is ∆.

slide-106
SLIDE 106

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees

slide-107
SLIDE 107

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

slide-108
SLIDE 108

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T

slide-109
SLIDE 109

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

slide-110
SLIDE 110

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

slide-111
SLIDE 111

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

Solving a learning problem.

slide-112
SLIDE 112

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

Solving a learning problem. Given w ∈ Rr,

slide-113
SLIDE 113

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

Solving a learning problem. Given w ∈ Rr, think of w as a linear test fw(h) := w, h

slide-114
SLIDE 114

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

Solving a learning problem. Given w ∈ Rr, think of w as a linear test fw(h) := w, h We want to learn sign(fw) at every point in H.

slide-115
SLIDE 115

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

Solving a learning problem. Given w ∈ Rr, think of w as a linear test fw(h) := w, h We want to learn sign(fw) at every point in H. Types of queries allowed: for h, h′ ∈ H is fw(h) ≥ fw(h′)?

slide-116
SLIDE 116

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

Solving a learning problem. Given w ∈ Rr, think of w as a linear test fw(h) := w, h We want to learn sign(fw) at every point in H. Types of queries allowed: for h, h′ ∈ H is fw(h) ≥ fw(h′)? Small depth decision tree for this

slide-117
SLIDE 117

A little bit about Linear Decision Tree [KLMZ 2017]

Linear Decision Trees Let r be a parameter, H ⊆ {−1, 1}r. The linear decision tree T has the following properties:

◮ Each internal node of the tree

is a linear test (r

i=1 αiwi ≥ θ), where w is

the input to T and αi ∈ {−2, −1, 0, 1, 2}.

◮ It computes a function

F : Rr → {−1, 1}|H| such that

◮ Given an input w ∈ Rr, F(w)

is the truth table of the LTF defined by w on all points in H.

Solving a learning problem. Given w ∈ Rr, think of w as a linear test fw(h) := w, h We want to learn sign(fw) at every point in H. Types of queries allowed: for h, h′ ∈ H is fw(h) ≥ fw(h′)? Small depth decision tree for this implies a fast learning algorithm.

slide-118
SLIDE 118

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .
slide-119
SLIDE 119

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b.

slide-120
SLIDE 120

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b. Let H = {eb | b ∈ {−1, 1}m}.

slide-121
SLIDE 121

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b. Let H = {eb | b ∈ {−1, 1}m}. |H| ≤ 2m.

slide-122
SLIDE 122

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b. Let H = {eb | b ∈ {−1, 1}m}. |H| ≤ 2m. Note that

slide-123
SLIDE 123

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b. Let H = {eb | b ∈ {−1, 1}m}. |H| ≤ 2m. Note that Given a polynomial P′ of degree k on m variables

slide-124
SLIDE 124

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b. Let H = {eb | b ∈ {−1, 1}m}. |H| ≤ 2m. Note that Given a polynomial P′ of degree k on m variables, the truth table of the function sign-represented by P′

slide-125
SLIDE 125

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b. Let H = {eb | b ∈ {−1, 1}m}. |H| ≤ 2m. Note that Given a polynomial P′ of degree k on m variables, the truth table of the function sign-represented by P′ is given by the LTF defined by coeff(P′) evaluated at H.

slide-126
SLIDE 126

Using Linear Descision Tree

Definition

Given a k-PTF P′ on m variables, let coeff(P′) ∈ Rr denote a vector

  • f coefficients of all monomials in P′ in lexicographical order, where

r = k

i=0

m

i

  • .

For a point b ∈ {−1, 1}m, let eb ∈ {−1, 1}r denote the evaluation vector of all monomials of degree at most k on the point b. Let H = {eb | b ∈ {−1, 1}m}. |H| ≤ 2m. Note that Given a polynomial P′ of degree k on m variables, the truth table of the function sign-represented by P′ is given by the LTF defined by coeff(P′) evaluated at H.

slide-127
SLIDE 127

Linear Decision Tree for k-PTF

Linear Decision Trees

slide-128
SLIDE 128

Linear Decision Tree for k-PTF

Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017]

slide-129
SLIDE 129

Linear Decision Tree for k-PTF

Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] Given a k-PTF P′ on m. Run the algorithm of [KLMZ 2017] with r = m

i=1

m

i

  • and a set

H = {eb | b ∈ {−1, 1}m} ⊆ {−1, 1}r

slide-130
SLIDE 130

Linear Decision Tree for k-PTF

Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] Given a k-PTF P′ on m. Run the algorithm of [KLMZ 2017] with r = m

i=1

m

i

  • and a set

H = {eb | b ∈ {−1, 1}m} ⊆ {−1, 1}r. This produces a decision tree T that has the following properties:

Each internal node of the tree is a linear test (r

i=1 αiwi ≥ θ), where

wis are the inputs and αi ∈ {−2, −1, 0, 1, 2}. It computes a function F : Rr → {−1, 1}|H| such that

slide-131
SLIDE 131

Linear Decision Tree for k-PTF

Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] Given a k-PTF P′ on m. Run the algorithm of [KLMZ 2017] with r = m

i=1

m

i

  • and a set

H = {eb | b ∈ {−1, 1}m} ⊆ {−1, 1}r. This produces a decision tree T that has the following properties:

Each internal node of the tree is a linear test (r

i=1 αiwi ≥ θ), where

wis are the inputs and αi ∈ {−2, −1, 0, 1, 2}. It computes a function F : Rr → {−1, 1}|H| such that Given an input coeff(P′) ∈ Rr, F(coeff(P′)) is the truth table of the k-PTF defined by P′.

slide-132
SLIDE 132

Linear Decision Tree for k-PTF

Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] Given a k-PTF P′ on m. Run the algorithm of [KLMZ 2017] with r = m

i=1

m

i

  • and a set

H = {eb | b ∈ {−1, 1}m} ⊆ {−1, 1}r. This produces a decision tree T that has the following properties:

Each internal node of the tree is a linear test (r

i=1 αiwi ≥ θ), where

wis are the inputs and αi ∈ {−2, −1, 0, 1, 2}. It computes a function F : Rr → {−1, 1}|H| such that Given an input coeff(P′) ∈ Rr, F(coeff(P′)) is the truth table of the k-PTF defined by P′. The decision tree depth is ∆ = O(r log r log |H|) = O(mk+1 log m).

slide-133
SLIDE 133

Linear Decision Tree for k-PTF

Linear Decision Trees [Kane, Lovett, Moran, Zhang 2017] Given a k-PTF P′ on m. Run the algorithm of [KLMZ 2017] with r = m

i=1

m

i

  • and a set

H = {eb | b ∈ {−1, 1}m} ⊆ {−1, 1}r. This produces a decision tree T that has the following properties:

Each internal node of the tree is a linear test (r

i=1 αiwi ≥ θ), where

wis are the inputs and αi ∈ {−2, −1, 0, 1, 2}. It computes a function F : Rr → {−1, 1}|H| such that Given an input coeff(P′) ∈ Rr, F(coeff(P′)) is the truth table of the k-PTF defined by P′. The decision tree depth is ∆ = O(r log r log |H|) = O(mk+1 log m).

The tree can be constructed in time 2O(∆) = exp(mk+1) time.

slide-134
SLIDE 134

Memoization for k-PTF

Our approach

slide-135
SLIDE 135

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables.

slide-136
SLIDE 136

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1).

slide-137
SLIDE 137

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M.

slide-138
SLIDE 138

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

slide-139
SLIDE 139

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

Compute k-PTF P′

σ obtained from P after restricting the last n − m

variables.

slide-140
SLIDE 140

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

Compute k-PTF P′

σ obtained from P after restricting the last n − m

variables. Time: poly(n, M).

slide-141
SLIDE 141

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

Compute k-PTF P′

σ obtained from P after restricting the last n − m

variables. Time: poly(n, M). Query the tree T using coeff(P′

σ) and compute the answer.

slide-142
SLIDE 142

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

Compute k-PTF P′

σ obtained from P after restricting the last n − m

variables. Time: poly(n, M). Query the tree T using coeff(P′

σ) and compute the answer.

Time: O(mk+1 log m).

slide-143
SLIDE 143

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

Compute k-PTF P′

σ obtained from P after restricting the last n − m

variables. Time: poly(n, M). Query the tree T using coeff(P′

σ) and compute the answer.

Time: O(mk+1 log m).

Time: 2n−m × poly(n, M).

slide-144
SLIDE 144

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

Compute k-PTF P′

σ obtained from P after restricting the last n − m

variables. Time: poly(n, M). Query the tree T using coeff(P′

σ) and compute the answer.

Time: O(mk+1 log m).

Time: 2n−m × poly(n, M).

Time: exp(mk+1) + 2n−m poly(n, M) = 2n−m poly(n, M)

slide-145
SLIDE 145

Memoization for k-PTF

Our approach

Step 1 Construct Linear Decision Tree T for k-PTFs on m variables. Time: exp(mk+1). Step 2 Let P be a k-PTF on n variables and w(P) = M. For each σ : {xm+1, . . . , xn} → {−1, 1},

Compute k-PTF P′

σ obtained from P after restricting the last n − m

variables. Time: poly(n, M). Query the tree T using coeff(P′

σ) and compute the answer.

Time: O(mk+1 log m).

Time: 2n−m × poly(n, M).

Time: exp(mk+1) + 2n−m poly(n, M) = 2n−m poly(n, M) if m = n1/k+1/ log n.

slide-146
SLIDE 146

Small-depth k-PTF circuits

Our Approach

slide-147
SLIDE 147

Small-depth k-PTF circuits

Our Approach Use the template of [Kabanets, Lu 2018].

slide-148
SLIDE 148

Small-depth k-PTF circuits

Our Approach Use the template of [Kabanets, Lu 2018]. Note that there are two crucial steps where [KL 2018] use the sparcity assumption.

slide-149
SLIDE 149

Small-depth k-PTF circuits

Our Approach Use the template of [Kabanets, Lu 2018]. Note that there are two crucial steps where [KL 2018] use the sparcity assumption. Develop strategies that work for these two steps even when the k-PTF gates are not sparse.

slide-150
SLIDE 150

Satisfiability algorithms vs. SAT solving

Circuit satisfiability algorithms SAT solving worst case guarantees guarantees for a subset

  • f instances
slide-151
SLIDE 151

Satisfiability algorithms vs. SAT solving

Circuit satisfiability algorithms SAT solving worst case guarantees guarantees for a subset

  • f instances

connections to/from circuit connections to/from lower bounds proof complexity

slide-152
SLIDE 152

Satisfiability algorithms vs. SAT solving

Circuit satisfiability algorithms SAT solving worst case guarantees guarantees for a subset

  • f instances

connections to/from circuit connections to/from lower bounds proof complexity Both fields have witnessed many interesting developments.

slide-153
SLIDE 153

Satisfiability algorithms vs. SAT solving

Circuit satisfiability algorithms SAT solving worst case guarantees guarantees for a subset

  • f instances

connections to/from circuit connections to/from lower bounds proof complexity Both fields have witnessed many interesting developments. Some techniques in this talk could be of general interest!

slide-154
SLIDE 154

Conclusion and open problems

Better than brute-force algorithms for k-PTFs. Constant depth k-PTF circuits with slightly superlinear size.

slide-155
SLIDE 155

Conclusion and open problems

Better than brute-force algorithms for k-PTFs. Constant depth k-PTF circuits with slightly superlinear size. Open problems

slide-156
SLIDE 156

Conclusion and open problems

Better than brute-force algorithms for k-PTFs. Constant depth k-PTF circuits with slightly superlinear size. Open problems Can the techniques here give better-than brute-force algorithms in the subquadratic regime?

slide-157
SLIDE 157

Conclusion and open problems

Better than brute-force algorithms for k-PTFs. Constant depth k-PTF circuits with slightly superlinear size. Open problems Can the techniques here give better-than brute-force algorithms in the subquadratic regime? Other connections from learning algorithms to satisfiability algorithms?

slide-158
SLIDE 158

Conclusion and open problems

Better than brute-force algorithms for k-PTFs. Constant depth k-PTF circuits with slightly superlinear size. Open problems Can the techniques here give better-than brute-force algorithms in the subquadratic regime? Other connections from learning algorithms to satisfiability algorithms? Can this technique inspire any SAT solving heuristic?

slide-159
SLIDE 159

Thank You!