x 7 x 8 Any AND-OR x 1 x 2 x 3 x 4 x 1 x 6 x 9 x 5 x 9 OR x 1 x 1 formula of size N x 5 AND OR AND AND can be evaluated in time N 1/2+o(1) on a OR quantum computer AND ϕ ( x ) Andris Ambainis Andrew Childs Robert Š palek Shengyu Zhang U. Latvia U. Waterloo Google Caltech Ben Reichardt Caltech
Def: {AND, OR, NOT} Formula = Tree of nested gates x 7 x 8 x 1 x 2 x 3 x 4 x 1 x 6 x 9 x 5 x 9 OR x 1 x 1 x 5 AND OR AND AND OR AND ϕ ( x )
Def: {AND, OR, NOT} Formula = Tree of nested gates x 7 x 8 input variables may appear more than once… (unless formula x 1 x 2 x 3 x 4 x 1 x 6 x 9 x 5 x 9 OR x 1 x 1 is read-once ) x 5 AND OR AND AND OR but gates cannot have fan-out! (only in a circuit can AND subexpressions be reused) ϕ ( x )
Def: {AND, OR, NOT} Formula = Tree of nested gates x 7 x 8 input variables may appear more than once… (unless formula x 1 x 2 x 3 x 4 x 1 x 6 x 9 x 5 x 9 OR x 1 x 1 is read-once ) x 5 AND OR AND AND OR but gates cannot have fan-out! (only in a circuit can AND subexpressions be reused) ϕ ( x ) Problem: Evaluate φ (x). (Formula/Game tree evaluation problem)
Problem history: Classical computation • Problem: Evaluate the formula, with minimal queries to the inputs bits x i . • Classical history • Some formulas, e.g., OR(x 1 , x 2 , …, x N ), require Ω (N) time � 0 � d • Randomized algorithm in E-time O(N 0.754 ) log d λ max ( ) d − 1 1 2 for balanced binary AND-OR formulas [Snir ‘85, Saks & Wigderson ‘86] • Flip coins to decide which subtree to evaluate next, short-circuit • Optimal [SW ‘86, Santha ‘95] • General formulas, ??
Problem history: Quantum computation • Classical history • Randomized algorithm in E-time Θ (N 0.754 ) for balanced binary formulas • Other formulas may require Ω (N) time • Quantum history • Ω ( √ N) queries required for read-once [Barnum, Saks ‘04] � 1 if ∃ an i : x i = 1 • Grover search: Evaluates OR(x 1 , x 2 , …, x N ) = 0 otherwise using O( √ N) queries (O( √ N log log N)-time) • Can be applied recursively to evaluate shallow trees: • Evaluates regular depth-d AND-OR formula in √ N O(log N) d-1 queries [Buhrman, Cleve, Wigderson ‘98] • Search on faulty oracles [Høyer, Mosca, de Wolf ‘03] ⇒ O( √ N c d ) queries
• Classical history • Randomized algorithm in E-time Θ (N 0.754 ) for balanced binary formulas • Other formulas may require Ω (N) time • Quantum history • Ω ( √ N) queries required for read-once [Barnum, Saks ‘04] � • Grover search: Evaluates OR(x 1 , x 2 , …, x N ) 1 if ∃ an i : x i = 1 = 0 otherwise using O( √ N) queries (O( √ N log log N)-time) • Can be applied recursively to evaluate shallow trees Quantum Leap! • Farhi, Goldstone, Gutmann 2007: Breakthrough quantum algorithm for evaluating balanced binary AND-OR formula in N ½ +o(1) time
Farhi, Goldstone, Gutmann ‘07 algorithm • Theorem ([FGG ‘07, CCJY ‘07]) : A balanced binary NAND formula can be evaluated in time N ½ +o(1) . • Convert formula to a tree: NAND • Attach an infinite line to the root x 3 x 5 x 6 x 7 x 8 x 1 x 2 x 4 NAND NAND NAND NAND NAND NAND NAND
Farhi, Goldstone, Gutmann ‘07 algorithm • Theorem ([FGG ‘07, CCJY ‘07]) : A balanced binary NAND formula can be evaluated in time N ½ +o(1) . • Convert formula to a tree: NAND • Attach an infinite line to the root x 3 x 5 x 6 x 7 x 8 x 1 x 2 x 4
Farhi, Goldstone, Gutmann ‘07 algorithm • Theorem ([FGG ‘07, CCJY ‘07]) : A balanced binary NAND formula can be evaluated in time N ½ +o(1) . • Convert formula to a tree: NAND • Attach an infinite line to the root • Add edges above leaf nodes evaluating to one… =0 =1
Continuous-time quantum walk [FGG ‘07] x 11 = 1 x 11 = 0
FGG quantum walk | ψ t � = e iA G t | ψ 0 �
FGG quantum walk | ψ t � = e iA G t | ψ 0 �
FGG quantum walk | ψ t � = e iA G t | ψ 0 � ϕ ( x ) = 0 ϕ ( x ) = 1 Wave transmits! Wave reflects!
x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 [FGG ‘07] algorithm NAND NAND NAND NAND • Theorem ([FGG ‘07, CCJY ‘07]) : A balanced binary AND-OR formula can be evaluated NAND NAND in time N ½ +o(1) . NAND Analysis by scattering theory. x 7 x 8 [ACR Š Z ‘07] algorithm • Theorem : x 1 x 2 x 3 x 4 x 6 x 9 x 1 x 5 x 9 OR x 1 x 1 • An “approximately balanced” AND-OR formula can be evaluated with O( √ N) x 5 AND OR AND AND queries (optimal for read-once!) . • A general AND-OR formula can be OR evaluated with N ½ +o(1) queries. AND ϕ ( x ) Running time is N ½ +o(1) in each case, after efficient preprocessing.
Remarks on formula evaluation algorithms: Classical vs. Quantum • Classical complexity of evaluating • Quantumly, complexity is √ N queries balanced k-ary alternating AND- always, all the way up to k=N (i.e., OR tree is (k/2) depth = N ~(1-1/log 2 k) evaluating OR(x 1 ,…,x N ), Grover — approaches N as k increases search) • Classical complexity of • General AND-OR formulas can be evaluating general AND-OR evaluated with N ½ +o(1) queries formulas is not known? • Classical complexity of evaluating • Expanding MAJ 3 into AND-OR gates iterative MAJ 3 formula is unknown: gives O( √ 5 d ) quantumly. �� � d � �� � d � between and 7 / 3 o 8 / 3 Ω • Also, the algorithm generalizes to give • (the generalization of the optimal optimal algorithm for evaluating AND-OR algorithm is not optimal iterated f, where f is any 3-bit when applied to MAJ 3 trees) function [Jayram, Kumar, Sivakumar ’03]
Formula evaluation algorithm Convert formula φ into a graph G( φ ) Define classical random walk on G( φ ) Quantize that walk
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) x 7 x 8 Substitution rules: x 1 x 2 x 3 x 4 x 6 x 9 x 1 x 5 x 9 . . . . . . OR x 1 x 1 AND x 5 AND OR AND AND . . . . . . OR OR NOT AND ϕ ( x )
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) x 7 x 8 Substitution rules: x 1 x 2 x 3 x 4 x 6 x 9 x 1 x 5 x 9 . . . . . . x 1 x 1 AND x 5 . . . . . . OR NOT ϕ ( x )
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) Substitution rules: . . . . . . x 1 x 1 AND . . . . . . OR NOT
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) . . . . . . AND • P(stepping to subtree) ∝ √ (size of that subtree) . . . . . . • (For a balanced tree, walk is uniform) OR x 1 x 1
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) . . . . . . AND • P(stepping to subtree) ∝ √ (size of that subtree) . . . . . . • (For a balanced tree, walk is uniform) OR • Make leaves (inputs) evaluating to 0 probability sinks x 7 x 8 x 1 x 2 x 3 x 4 x 6 x 9 x 1 x 5 x 9 x 1 x 1 If x 9 =0, STOP! x 5
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) . . . . . . If x i =0, STOP! AND . . . . . . • Classically, roll a dice to determine next step OR • Quantumly, the dice is part of the quantum state. Instead of randomizing the dice between steps, apply a unitary operator to it. Transition probabilities U = reflection about the state { p 1 , p 2 , . . . , p 6 } √ p 1 | � | � + √ p 2 √ p 3 | � √ p 4 | � + + | � | � √ p 5 √ p 6 + +
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) . . . . . . If x i =0, STOP! AND . . . . . . • Classically, roll a dice to determine next step OR • Quantumly, the dice is part of the quantum state. Instead of randomizing the dice between steps, apply a unitary operator to it. • Probability sinks in the classical r.w. (inputs x i =0) become phase flips in the qu. walk ⇒ standard phase flip oracle Transition probabilities U = reflection about the state { p 1 , p 2 , . . . , p 6 } √ p 1 | � | � + √ p 2 √ p 3 | � √ p 4 | � + + | � | � √ p 5 √ p 6 + +
Define classical Convert formula φ Quantize that walk random walk on G( φ ) into a graph G( φ ) . . . . . . | � + | � If x i =0, STOP! AND . . . . . . OR The Algorithm: • Start at the root • Apply phase estimation to the quantum walk with precision 1/ √ N (i.e., run the walk for time √ N) • If phase is 0, output “ φ (x)=1” • Otherwise output “ φ (x)=0”
Formula evaluation algorithm Convert formula φ Quantize that walk into a graph G( φ ) { p 1 , p 2 , . . . , p 6 } . . . . . . Define classical AND random walk on G( φ ) √ p 1 | � | � . . . . . . + √ p 2 OR √ p 4 √ p 3 | � | � + + P(stepping to subtree) | � | � √ p 5 √ p 6 + + ∝ √ (size of that subtree) If x i =0, STOP!
2. Why It Works
The Algorithm: • Start at the root • Apply phase estimation to the quantum walk with precision 1/ √ N (i.e., run the walk for time √ N) • If eigenvalue is 0, output “ φ (x)=1” • Otherwise output “ φ (x)=0” Note: Precision- δ phase estimation on a unitary U, starting at an e-state, returns the e-value to precision δ , except w/ prob. 1/4. It uses O(1/ δ ) calls to c-U. ∴ We need to carry out spectral analysis of the quantum walk U(x) corr. | eigenvector � eigenvalue ± δ
Recommend
More recommend