1. The complexity of inversion of explicit Goldreich’s
function by DPLL algorithms
Dmitry Itsykson, Dmitry Sokolov
Steklov Institute of Mathematics at St. Petersburg,
Academic University
CSR 2011, Saint-Petersburg
June 15
Sokolov D. 1/9 | Inversion of Goldreich’s function
2. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
Sokolov D. 2/9 | Inversion of Goldreich’s function
3. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2
x3
. .
. .
. .
xn
X Y
Sokolov D. 2/9 | Inversion of Goldreich’s function
4. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2 P (xi1 ; xi2 ; : : : ; xid )
x3
. .
. .
. .
xn
X Y
Sokolov D. 2/9 | Inversion of Goldreich’s function
5. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2 P (xi1 ; xi2 ; : : : ; xid )
x3 G (X ; Y ; E ) is a bipartite
. . graph;
. .
. .
xn
X Y
Sokolov D. 2/9 | Inversion of Goldreich’s function
6. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2 P (xi1 ; xi2 ; : : : ; xid )
x3 G (X ; Y ; E ) is a bipartite
. . graph;
.
.
.
. Vy P Y deg (y ) = d
xn
X Y
Sokolov D. 2/9 | Inversion of Goldreich’s function
7. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2 P (xi1 ; xi2 ; : : : ; xid )
x3 G (X ; Y ; E ) is a bipartite
. . graph;
.
.
.
. Vy P Y deg (y ) = d
xn d is a constant.
X Y
Sokolov D. 2/9 | Inversion of Goldreich’s function
8. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2 P (xi1 ; xi2 ; : : : ; xid )
x3 G (X ; Y ; E ) is a bipartite
. . graph;
.
.
.
. Vy P Y deg (y ) = d
xn d is a constant.
X Y
Goldreich’s conjecture:
P is a random predicate;
G is an expander;
then function f is a one-way.
Sokolov D. 2/9 | Inversion of Goldreich’s function
9. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2 P (xi1 ; xi2 ; : : : ; xid )
x3 G (X ; Y ; E ) is a bipartite
. . graph;
.
.
.
. Vy P Y deg (y ) = d
xn d is a constant.
X Y
Goldreich’s conjecture:
P is a random predicate;
G is an expander;
then function f is a one-way.
f is computed by constant depth circuit;
Sokolov D. 2/9 | Inversion of Goldreich’s function
10. Goldreich’s function
f : f0; 1gn 3 f0; 1gn
x1
x2 P (xi1 ; xi2 ; : : : ; xid )
x3 G (X ; Y ; E ) is a bipartite
. . graph;
.
.
.
. Vy P Y deg (y ) = d
xn d is a constant.
X Y
Goldreich’s conjecture:
P is a random predicate;
G is an expander;
then function f is a one-way.
f is computed by constant depth circuit;
[Applebaum, Ishai, Kushilevitz 2006] If one-way functions exist
then there is a one-way function that can be computed by
constant depth circuit.
Sokolov D. 2/9 | Inversion of Goldreich’s function
11. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Sokolov D. 3/9 | Inversion of Goldreich’s function
12. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Sokolov D. 3/9 | Inversion of Goldreich’s function
13. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Sokolov D. 3/9 | Inversion of Goldreich’s function
14. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Sokolov D. 3/9 | Inversion of Goldreich’s function
15. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Sokolov D. 3/9 | Inversion of Goldreich’s function
16. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Heuristic A chooses a variable for splitting.
Sokolov D. 3/9 | Inversion of Goldreich’s function
17. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Heuristic A chooses a variable for splitting.
Heuristic B chooses first value.
Sokolov D. 3/9 | Inversion of Goldreich’s function
18. DPLL algorithms
xi := c xi := 1 c
H HH
xj := c1 xj := 1 c1 xk := c2 xk := 1 c2
.
. .
. .
. .
.
. . . .
Heuristic A chooses a variable for splitting.
Heuristic B chooses first value.
Simplification rules:
unit clause elimination;
pure literal rule.
Sokolov D. 3/9 | Inversion of Goldreich’s function
19. Lower bounds for DPLL algorithms
Sokolov D. 4/9 | Inversion of Goldreich’s function
20. Lower bounds for DPLL algorithms
Unsatisfiable formulas
Exponential lower bounds for resolution refutations of
unsatisfiable formulas translate to backtracking algorithms.
[Tseitin, 1968] ... [Pudlak, Implagliazzo, 2000].
Sokolov D. 4/9 | Inversion of Goldreich’s function
21. Lower bounds for DPLL algorithms
Unsatisfiable formulas
Exponential lower bounds for resolution refutations of
unsatisfiable formulas translate to backtracking algorithms.
[Tseitin, 1968] ... [Pudlak, Implagliazzo, 2000].
Satisfiable formulas
If P = NP then there are no superpolynomial lower bounds for
backtracking algorithms since heuristic B may choose correct
value.
Sokolov D. 4/9 | Inversion of Goldreich’s function
22. Lower bounds for DPLL algorithms
Unsatisfiable formulas
Exponential lower bounds for resolution refutations of
unsatisfiable formulas translate to backtracking algorithms.
[Tseitin, 1968] ... [Pudlak, Implagliazzo, 2000].
Satisfiable formulas
If P = NP then there are no superpolynomial lower bounds for
backtracking algorithms since heuristic B may choose correct
value.
Inverting of functions corresponds to satisfiable formulas.
Sokolov D. 4/9 | Inversion of Goldreich’s function
23. Lower bounds for DPLL algorithms
Unsatisfiable formulas
Exponential lower bounds for resolution refutations of
unsatisfiable formulas translate to backtracking algorithms.
[Tseitin, 1968] ... [Pudlak, Implagliazzo, 2000].
Satisfiable formulas
If P = NP then there are no superpolynomial lower bounds for
backtracking algorithms since heuristic B may choose correct
value.
Inverting of functions corresponds to satisfiable formulas.
[Nikolenko 2002], [Achilioptas, Beame, Molloy 2003-2004]
exponential lower bound for specific backtracking algorithms.
[Alekhnovich, Hirsch, Itsykson 2005] Exponential lower bound
for myopic and drunken algorithms.
Sokolov D. 4/9 | Inversion of Goldreich’s function
24. Lower bounds for DPLL algorithms
Unsatisfiable formulas
Exponential lower bounds for resolution refutations of
unsatisfiable formulas translate to backtracking algorithms.
[Tseitin, 1968] ... [Pudlak, Implagliazzo, 2000].
Satisfiable formulas
If P = NP then there are no superpolynomial lower bounds for
backtracking algorithms since heuristic B may choose correct
value.
Inverting of functions corresponds to satisfiable formulas.
[Nikolenko 2002], [Achilioptas, Beame, Molloy 2003-2004]
exponential lower bound for specific backtracking algorithms.
[Alekhnovich, Hirsch, Itsykson 2005] Exponential lower bound
for myopic and drunken algorithms.
Exponential lower bound for inversion of Goldreich’s function
by myopic [J. Cook et al. 2009] and drunken [Itsykson 2010]
algorithms.
Sokolov D. 4/9 | Inversion of Goldreich’s function
25. Drunken and myopic algorithms
Sokolov D. 5/9 | Inversion of Goldreich’s function
26. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Sokolov D. 5/9 | Inversion of Goldreich’s function
27. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Definition
Myopic heuristic:
Sokolov D. 5/9 | Inversion of Goldreich’s function
28. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Definition
Myopic heuristic:
sees structure of the formula;
Sokolov D. 5/9 | Inversion of Goldreich’s function
29. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Definition
Myopic heuristic:
sees structure of the formula;
doesn’t see negation signs;
Sokolov D. 5/9 | Inversion of Goldreich’s function
30. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Definition
Myopic heuristic:
sees structure of the formula;
doesn’t see negation signs;
requests negations in K = n1 clause.
(x1 • x3 • x5)
(x2 • x3)
(x2 • x4 • x5 )
(x1 • x4 • x6 )
Sokolov D. 5/9 | Inversion of Goldreich’s function
31. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Definition
Myopic heuristic:
sees structure of the formula;
doesn’t see negation signs;
requests negations in K = n1 clause.
(x1 • x3 • x5)
(x2 • x3)
(x2 • x4 • x5 )
(x1 • x4 • x6 )
Sokolov D. 5/9 | Inversion of Goldreich’s function
32. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Definition
Myopic heuristic:
sees structure of the formula;
doesn’t see negation signs;
requests negations in K = n1 clause.
(x1 • x3 • x5)
(x2 • x3)
(x2 • x4 • x5 )
(x1 • x4 • x6 )
Sokolov D. 5/9 | Inversion of Goldreich’s function
33. Drunken and myopic algorithms
Definition
Drunken algorithms:
A: any;
B: random 50 : 50.
Definition
Myopic heuristic:
sees structure of the formula;
doesn’t see negation signs;
requests negations in K = n1 clause.
(x1 • x3 • x5) (x1 • x3 • x5)
(x2 • x3) A (x2 • Xx3)
(x2 • x4 • x5 ) (x2 • x4 • x5 )
(x1 • x4 • x6 ) (x1 • Xx4 • x6 )
Sokolov D. 5/9 | Inversion of Goldreich’s function
34. Myopic algorithms
Sokolov D. 6/9 | Inversion of Goldreich’s function
35. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
Sokolov D. 6/9 | Inversion of Goldreich’s function
36. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
Sokolov D. 6/9 | Inversion of Goldreich’s function
37. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
Sokolov D. 6/9 | Inversion of Goldreich’s function
38. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Sokolov D. 6/9 | Inversion of Goldreich’s function
39. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Disadvantages:
Sokolov D. 6/9 | Inversion of Goldreich’s function
40. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Disadvantages:
G is a random graph.
Sokolov D. 6/9 | Inversion of Goldreich’s function
41. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Disadvantages:
G is a random graph.
K is a constant.
Sokolov D. 6/9 | Inversion of Goldreich’s function
42. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Disadvantages: In our work:
G is a random graph.
K is a constant.
Too complicated
proof.
Sokolov D. 6/9 | Inversion of Goldreich’s function
43. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Disadvantages: In our work:
G is a random graph. G is based on
expander.
K is a constant.
Too complicated
proof.
Sokolov D. 6/9 | Inversion of Goldreich’s function
44. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Disadvantages: In our work:
G is a random graph. G is based on
expander.
K is a constant.
K = n1 .
Too complicated
proof.
Sokolov D. 6/9 | Inversion of Goldreich’s function
45. Myopic algorithms
Definition
Myopic algorithm:
A; B are myopic heuristics.
[Alekhnovich, Hirsch, Itsykson 2005]
P is a linear predicate.
G is a random graph.
[J. Cook, Etesami, Miller, Trevisan 2009]
P = x1 + x2 + ¡ ¡ ¡ + xd 2 + xd 1 xd .
In fact: P = x1 + x2 + ¡ ¡ ¡ + xd k + Q (xd k +1 ; : : : ; xd ).
Disadvantages: In our work:
G is a random graph. G is based on
expander.
K is a constant.
K = n1 .
Too complicated
proof. “Simple” proof.
Sokolov D. 6/9 | Inversion of Goldreich’s function
46. Our results
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd ), Q is an
arbitrary, k d =4.
Sokolov D. 7/9 | Inversion of Goldreich’s function
47. Our results
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd ), Q is an
arbitrary, k d =4.
Theorem
There exists an explicit graph G such that every myopic or drunken
(1)
DPLL algorithm makes at least 2n steps on “f (x ) = f (a)” for
almost all a P f0; 1g n.
Sokolov D. 7/9 | Inversion of Goldreich’s function
48. Our results
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd ), Q is an
arbitrary, k d =4.
Theorem
There exists an explicit graph G such that every myopic or drunken
(1)
DPLL algorithm makes at least 2n steps on “f (x ) = f (a)” for
almost all a P f0; 1g n.
G is based on expander instead of random graph.
Sokolov D. 7/9 | Inversion of Goldreich’s function
49. Our results
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd ), Q is an
arbitrary, k d =4.
Theorem
There exists an explicit graph G such that every myopic or drunken
(1)
DPLL algorithm makes at least 2n steps on “f (x ) = f (a)” for
almost all a P f0; 1g n.
G is based on expander instead of random graph.
For drunken algorithms the proof follows [Itsykson, CSR-2010]
Sokolov D. 7/9 | Inversion of Goldreich’s function
50. Our results
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd ), Q is an
arbitrary, k d =4.
Theorem
There exists an explicit graph G such that every myopic or drunken
(1)
DPLL algorithm makes at least 2n steps on “f (x ) = f (a)” for
almost all a P f0; 1g n.
G is based on expander instead of random graph.
For drunken algorithms the proof follows [Itsykson, CSR-2010]
For myopic
we simplify previous proof and
K = n1
Sokolov D. 7/9 | Inversion of Goldreich’s function
51. Graph construction
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd )
Sokolov D. 8/9 | Inversion of Goldreich’s function
52. Graph construction
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd )
G
G is an expander;
Sokolov D. 8/9 | Inversion of Goldreich’s function
53. Graph construction
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd )
+
G
G is an expander;
Sokolov D. 8/9 | Inversion of Goldreich’s function
54. Graph construction
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd )
+
G T
G is an expander;
G + T has full rank. Vy P Y T; deg (y ) = 1;
Sokolov D. 8/9 | Inversion of Goldreich’s function
55. Graph construction
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd )
+ +
G T
G is an expander;
G + T has full rank. Vy P Y T; deg (y ) = 1;
G +T is an expander.
Sokolov D. 8/9 | Inversion of Goldreich’s function
56. Graph construction
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd )
+ +
n
G T R
G is an expander;
G + T has full rank. Vy P Y T; deg (y ) = 1;
G +T is an expander.
R contains nonlinear edges. jfx j x P X ; deg (x ) T= 0gj n .
G +T +R is an expander.
Sokolov D. 8/9 | Inversion of Goldreich’s function
57. Graph construction
P (x1 ; : : : ; xd ) = x1 ¨ x2 ¨ : : : ¨ xd k ¨ Q (xd k +1; : : : ; xd )
+ +
n
G T R
G is an expander;
G + T has full rank. Vy P Y T; deg (y ) = 1;
G +T is an expander.
R contains nonlinear edges. jfx j x P X ; deg (x ) T= 0gj n .
G + T + R is an expander.
Size of preimages no more than 2n .
We can invert fG +T +R ;P in time poly (n)2n , but this is still much!
Sokolov D. 8/9 | Inversion of Goldreich’s function
58. Plan of the proof
Sokolov D. 9/9 | Inversion of Goldreich’s function
59. Plan of the proof
Lower bounds for unsatisfiable formulas.
Sokolov D. 9/9 | Inversion of Goldreich’s function
60. Plan of the proof
Lower bounds for unsatisfiable formulas.
G is an expander.
P is almost linear.
Lower bounds for resolution proofs
Sokolov D. 9/9 | Inversion of Goldreich’s function
61. Plan of the proof
Lower bounds for unsatisfiable formulas.
G is an expander.
P is almost linear.
Lower bounds for resolution proofs
With probability 1 2
(n) after several steps current formula
becomes unsatisfiable.
Sokolov D. 9/9 | Inversion of Goldreich’s function
62. Plan of the proof
Lower bounds for unsatisfiable formulas.
G is an expander.
P is almost linear.
Lower bounds for resolution proofs
With probability 1 2
(n) after several steps current formula
becomes unsatisfiable.
G is an expander.
f is almost bijection.
Myopic algorithm can’t recognize different absolute terms.
Sokolov D. 9/9 | Inversion of Goldreich’s function