Quantum algorithms Subset-sum example: for the subset-sum problem - - PowerPoint PPT Presentation

quantum algorithms subset sum example for the subset sum
SMART_READER_LITE
LIVE PREVIEW

Quantum algorithms Subset-sum example: for the subset-sum problem - - PowerPoint PPT Presentation

Quantum algorithms Subset-sum example: for the subset-sum problem Is there a subsequence of (499 852 1927 2535 3596 3608 D. J. Bernstein 4688 5989 6385 7353 7650 9413) University of Illinois at


slide-1
SLIDE 1

Quantum algorithms for the subset-sum problem

  • D. J. Bernstein

University of Illinois at Chicago & Technische Universiteit Eindhoven cr.yp.to/qsubsetsum.html Joint work with: Stacey Jeffery University of Waterloo Tanja Lange Technische Universiteit Eindhoven Alexander Meurer Ruhr-Universit¨ at Bochum Subset-sum example: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having sum 36634? Many variations: e.g., find such a subsequence if one exists; find such a subsequence knowing that one exists; allow range of sums; coefficients outside ❢0❀ 1❣; etc. “Subset-sum problem”; “knapsack problem”; etc.

slide-2
SLIDE 2

Quantum algorithms subset-sum problem Bernstein University of Illinois at Chicago & echnische Universiteit Eindhoven cr.yp.to/qsubsetsum.html

  • rk with:

Jeffery University of Waterloo Lange echnische Universiteit Eindhoven Alexander Meurer Ruhr-Universit¨ at Bochum Subset-sum example: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having sum 36634? Many variations: e.g., find such a subsequence if one exists; find such a subsequence knowing that one exists; allow range of sums; coefficients outside ❢0❀ 1❣; etc. “Subset-sum problem”; “knapsack problem”; etc. The lattice Define ① ✿ ✿ ✿ ① Define ▲ ✒ ❢✈ : ✈1①1 ✁ ✁ ✁ ✈ ① ❣ Define ✉ ✷ (70❀ 2❀ 0❀ ❀ ❀ ❀ ❀ ❀ ❀ ❀ ❀ If ❏ ✒ ❢1❀ ❀ ✿ ✿ ✿ ❀ ❣ and P

✐✷❏ ①✐

✈ ✷ ▲ where ✈✐ ✉✐ ✐ ✷ ❏ ✈ is very ✉ Reasonable ✈ is the ▲ ✉ Subset-sum ✙ codimension-1

slide-3
SLIDE 3

rithms subset-sum problem Illinois at Chicago & Universiteit Eindhoven cr.yp.to/qsubsetsum.html aterloo Universiteit Eindhoven Meurer Bochum Subset-sum example: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having sum 36634? Many variations: e.g., find such a subsequence if one exists; find such a subsequence knowing that one exists; allow range of sums; coefficients outside ❢0❀ 1❣; etc. “Subset-sum problem”; “knapsack problem”; etc. The lattice connection Define ①1 = 499, ✿ ✿ ✿ ① Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈ ① ❣ Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ ❀ ❀ ❀ If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634

✈ ✷ ▲ where ✈✐ = ✉✐ ✐ ✷ ❏ ✈ is very close to ✉ Reasonable to hop ✈ is the closest vecto ▲ ✉ Subset-sum algorithms ✙ codimension-1 CVP

slide-4
SLIDE 4

Chicago & Eindhoven cr.yp.to/qsubsetsum.html Eindhoven Subset-sum example: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having sum 36634? Many variations: e.g., find such a subsequence if one exists; find such a subsequence knowing that one exists; allow range of sums; coefficients outside ❢0❀ 1❣; etc. “Subset-sum problem”; “knapsack problem”; etc. The lattice connection Define ①1 = 499, ✿ ✿ ✿ , ①12 = Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈12①12 = 0❣ Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏ ✈ is very close to ✉. Reasonable to hope that ✈ is the closest vector in ▲ to ✉ Subset-sum algorithms ✙ codimension-1 CVP algorithms.

slide-5
SLIDE 5

Subset-sum example: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having sum 36634? Many variations: e.g., find such a subsequence if one exists; find such a subsequence knowing that one exists; allow range of sums; coefficients outside ❢0❀ 1❣; etc. “Subset-sum problem”; “knapsack problem”; etc. The lattice connection Define ①1 = 499, ✿ ✿ ✿ , ①12 = 9413. Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈12①12 = 0❣. Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ is very close to ✉. Reasonable to hope that ✈ is the closest vector in ▲ to ✉. Subset-sum algorithms ✙ codimension-1 CVP algorithms.

slide-6
SLIDE 6

Subset-sum example: there a subsequence of ❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ ❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) sum 36634? variations: e.g., such a subsequence exists; such a subsequence wing that one exists; range of sums; efficients outside ❢0❀ 1❣; etc. “Subset-sum problem”; “knapsack problem”; etc. The lattice connection Define ①1 = 499, ✿ ✿ ✿ , ①12 = 9413. Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈12①12 = 0❣. Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ is very close to ✉. Reasonable to hope that ✈ is the closest vector in ▲ to ✉. Subset-sum algorithms ✙ codimension-1 CVP algorithms. The coding A weight-✇ Is there a (499❀ 852❀ ❀ ❀ ❀ ❀ 4688❀ 5989❀ ❀ ❀ ❀ having length ✇

slide-7
SLIDE 7

example: subsequence of ❀ ❀ ❀ 2535❀ 3596❀ 3608❀ ❀ ❀ ❀ 7353❀ 7650❀ 9413) 36634? riations: e.g., subsequence subsequence

  • ne exists;

sums;

  • utside ❢0❀ 1❣; etc.
  • blem”;

roblem”; etc. The lattice connection Define ①1 = 499, ✿ ✿ ✿ , ①12 = 9413. Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈12①12 = 0❣. Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ is very close to ✉. Reasonable to hope that ✈ is the closest vector in ▲ to ✉. Subset-sum algorithms ✙ codimension-1 CVP algorithms. The coding connection A weight-✇ subset-sum Is there a subsequence (499❀ 852❀ 1927❀ 2535❀ ❀ ❀ 4688❀ 5989❀ 6385❀ 7353❀ ❀ having length ✇ and

slide-8
SLIDE 8

❀ ❀ ❀ ❀ ❀ 3608❀ ❀ ❀ ❀ ❀ 7650❀ 9413) ❢ ❀ ❣ etc. The lattice connection Define ①1 = 499, ✿ ✿ ✿ , ①12 = 9413. Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈12①12 = 0❣. Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ is very close to ✉. Reasonable to hope that ✈ is the closest vector in ▲ to ✉. Subset-sum algorithms ✙ codimension-1 CVP algorithms. The coding connection A weight-✇ subset-sum problem: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ having length ✇ and sum 36634?

slide-9
SLIDE 9

The lattice connection Define ①1 = 499, ✿ ✿ ✿ , ①12 = 9413. Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈12①12 = 0❣. Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ is very close to ✉. Reasonable to hope that ✈ is the closest vector in ▲ to ✉. Subset-sum algorithms ✙ codimension-1 CVP algorithms. The coding connection A weight-✇ subset-sum problem: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and sum 36634?

slide-10
SLIDE 10

The lattice connection Define ①1 = 499, ✿ ✿ ✿ , ①12 = 9413. Define ▲ ✒ Z12 as ❢✈ : ✈1①1 + ✁ ✁ ✁ + ✈12①12 = 0❣. Define ✉ ✷ Z12 as (70❀ 2❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). If ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ and P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ is very close to ✉. Reasonable to hope that ✈ is the closest vector in ▲ to ✉. Subset-sum algorithms ✙ codimension-1 CVP algorithms. The coding connection A weight-✇ subset-sum problem: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and sum 36634? Replace Z with (Z❂2)♠: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and xor 1060? This is the central algorithmic problem in coding theory.

slide-11
SLIDE 11

lattice connection ①1 = 499, ✿ ✿ ✿ , ①12 = 9413. ▲ ✒ Z12 as ❢✈ ✈ ①1 + ✁ ✁ ✁ + ✈12①12 = 0❣. ✉ ✷ Z12 as ❀ ❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0❀ 0). ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ 12❣ P

✐✷❏ ①✐ = 36634 then

✈ ✷ ▲ where ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ very close to ✉. Reasonable to hope that ✈ the closest vector in ▲ to ✉. Subset-sum algorithms ✙ dimension-1 CVP algorithms. The coding connection A weight-✇ subset-sum problem: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and sum 36634? Replace Z with (Z❂2)♠: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and xor 1060? This is the central algorithmic problem in coding theory. Recent asym Eurocrypt Howgrave-Graham–Joux: subset-sum ✙ ✿ (Incorrect ✙ ✿ Eurocrypt Becker–Co subset-sum ✙ ✿ Adaptations Asiacrypt Thomae, Becker–Joux–Ma

slide-12
SLIDE 12

connection ① 499, ✿ ✿ ✿ , ①12 = 9413. ▲ ✒ as ❢✈ ✈ ① ✁ ✁ ✁ ✈12①12 = 0❣. ✉ ✷ as ❀ ❀ ❀ ❀ ❀ ❀ ❀ 0❀ 0❀ 0❀ 0❀ 0). ❏ ✒ ❢ ❀ ❀ ✿ ✿ ✿ ❀ 12❣ P

✐✷❏ ①✐

36634 then ✈ ✷ ▲ ✈✐ = ✉✐ [✐ ✷ ❏]. ✈ to ✉. hope that ✈ vector in ▲ to ✉. rithms ✙ CVP algorithms. The coding connection A weight-✇ subset-sum problem: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and sum 36634? Replace Z with (Z❂2)♠: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and xor 1060? This is the central algorithmic problem in coding theory. Recent asymptotic Eurocrypt 2010 Howgrave-Graham–Joux: subset-sum exponent ✙ ✿ (Incorrect claim: ✙ ✿ Eurocrypt 2011 Becker–Coron–Jou subset-sum exponent ✙ ✿ Adaptations to deco Asiacrypt 2011 Ma Thomae, Eurocrypt Becker–Joux–May–Meurer.

slide-13
SLIDE 13

① ✿ ✿ ✿ ① = 9413. ▲ ✒ ❢✈ ✈ ① ✁ ✁ ✁ ✈ ① 0❣. ✉ ✷ ❀ ❀ ❀ ❀ ❀ ❀ ❀ ❀ ❀ ❀ ❀ 0). ❏ ✒ ❢ ❀ ❀ ✿ ✿ ✿ ❀ ❣ P

✐✷❏ ①✐

then ✈ ✷ ▲ ✈✐ ✉✐ ✐ ✷ ❏]. ✈ ✉ ✈ ▲ to ✉. ✙ rithms. The coding connection A weight-✇ subset-sum problem: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and sum 36634? Replace Z with (Z❂2)♠: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and xor 1060? This is the central algorithmic problem in coding theory. Recent asymptotic news Eurocrypt 2010 Howgrave-Graham–Joux: subset-sum exponent ✙0✿337. (Incorrect claim: ✙0✿311.) Eurocrypt 2011 Becker–Coron–Joux: subset-sum exponent ✙0✿291. Adaptations to decoding: Asiacrypt 2011 May–Meurer– Thomae, Eurocrypt 2012 Becker–Joux–May–Meurer.

slide-14
SLIDE 14

The coding connection A weight-✇ subset-sum problem: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and sum 36634? Replace Z with (Z❂2)♠: Is there a subsequence of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) having length ✇ and xor 1060? This is the central algorithmic problem in coding theory. Recent asymptotic news Eurocrypt 2010 Howgrave-Graham–Joux: subset-sum exponent ✙0✿337. (Incorrect claim: ✙0✿311.) Eurocrypt 2011 Becker–Coron–Joux: subset-sum exponent ✙0✿291. Adaptations to decoding: Asiacrypt 2011 May–Meurer– Thomae, Eurocrypt 2012 Becker–Joux–May–Meurer.

slide-15
SLIDE 15

ding connection eight-✇ subset-sum problem: there a subsequence of ❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ ❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) length ✇ and sum 36634? Replace Z with (Z❂2)♠: there a subsequence of ❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ ❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) length ✇ and xor 1060? the central algorithmic roblem in coding theory. Recent asymptotic news Eurocrypt 2010 Howgrave-Graham–Joux: subset-sum exponent ✙0✿337. (Incorrect claim: ✙0✿311.) Eurocrypt 2011 Becker–Coron–Joux: subset-sum exponent ✙0✿291. Adaptations to decoding: Asiacrypt 2011 May–Meurer– Thomae, Eurocrypt 2012 Becker–Joux–May–Meurer. Post-quantum Claimed Lyubashevsky–P “Public-k primitives as secure There ar quantum better than

  • n the subset

Hmmm. quantum

slide-16
SLIDE 16

connection ✇ subset-sum problem: subsequence of ❀ ❀ ❀ 2535❀ 3596❀ 3608❀ ❀ ❀ ❀ 7353❀ 7650❀ 9413) ✇ and sum 36634? (Z❂2)♠: subsequence of ❀ ❀ ❀ 2535❀ 3596❀ 3608❀ ❀ ❀ ❀ 7353❀ 7650❀ 9413) ✇ and xor 1060? central algorithmic ding theory. Recent asymptotic news Eurocrypt 2010 Howgrave-Graham–Joux: subset-sum exponent ✙0✿337. (Incorrect claim: ✙0✿311.) Eurocrypt 2011 Becker–Coron–Joux: subset-sum exponent ✙0✿291. Adaptations to decoding: Asiacrypt 2011 May–Meurer– Thomae, Eurocrypt 2012 Becker–Joux–May–Meurer. Post-quantum subset Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptograph primitives provably as secure as subset There are “currently quantum algorithms better than classical

  • n the subset sum
  • Hmmm. What’s the

quantum subset-sum

slide-17
SLIDE 17

✇ roblem: ❀ ❀ ❀ ❀ ❀ 3608❀ ❀ ❀ ❀ ❀ 7650❀ 9413) ✇ 36634? ❂

❀ ❀ ❀ ❀ ❀ 3608❀ ❀ ❀ ❀ ❀ 7650❀ 9413) ✇ 1060? rithmic Recent asymptotic news Eurocrypt 2010 Howgrave-Graham–Joux: subset-sum exponent ✙0✿337. (Incorrect claim: ✙0✿311.) Eurocrypt 2011 Becker–Coron–Joux: subset-sum exponent ✙0✿291. Adaptations to decoding: Asiacrypt 2011 May–Meurer– Thomae, Eurocrypt 2012 Becker–Joux–May–Meurer. Post-quantum subset sum Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptographic primitives provably as secure as subset sum”: There are “currently no known quantum algorithms that perfo better than classical ones

  • n the subset sum problem”.
  • Hmmm. What’s the best

quantum subset-sum exponent?

slide-18
SLIDE 18

Recent asymptotic news Eurocrypt 2010 Howgrave-Graham–Joux: subset-sum exponent ✙0✿337. (Incorrect claim: ✙0✿311.) Eurocrypt 2011 Becker–Coron–Joux: subset-sum exponent ✙0✿291. Adaptations to decoding: Asiacrypt 2011 May–Meurer– Thomae, Eurocrypt 2012 Becker–Joux–May–Meurer. Post-quantum subset sum Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptographic primitives provably as secure as subset sum”: There are “currently no known quantum algorithms that perform better than classical ones

  • n the subset sum problem”.
  • Hmmm. What’s the best

quantum subset-sum exponent?

slide-19
SLIDE 19

Recent asymptotic news crypt 2010 wgrave-Graham–Joux: subset-sum exponent ✙0✿337. rrect claim: ✙0✿311.) crypt 2011 er–Coron–Joux: subset-sum exponent ✙0✿291. Adaptations to decoding: Asiacrypt 2011 May–Meurer– Thomae, Eurocrypt 2012 er–Joux–May–Meurer. Post-quantum subset sum Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptographic primitives provably as secure as subset sum”: There are “currently no known quantum algorithms that perform better than classical ones

  • n the subset sum problem”.
  • Hmmm. What’s the best

quantum subset-sum exponent? Quantum Assume ❢ has ♥-bit Generic b finds this ✙2♥ evaluations ❢ 1996 Grover finds this ✙20✿5♥ quantum ❢

  • n superp

Cost of quantu ❢ ✙ cost of ❢ if cost counts

slide-20
SLIDE 20

ptotic news wgrave-Graham–Joux:

  • nent ✙0✿337.

✙0✿311.)

  • ux:
  • nent ✙0✿291.

ecoding: May–Meurer– crypt 2012 er–Joux–May–Meurer. Post-quantum subset sum Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptographic primitives provably as secure as subset sum”: There are “currently no known quantum algorithms that perform better than classical ones

  • n the subset sum problem”.
  • Hmmm. What’s the best

quantum subset-sum exponent? Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique Generic brute-force finds this root using ✙2♥ evaluations of ❢ 1996 Grover metho finds this root using ✙20✿5♥ quantum evaluations ❢

  • n superpositions of

Cost of quantum evaluation ❢ ✙ cost of evaluation ❢ if cost counts qubit

slide-21
SLIDE 21

✙ ✿337. ✙ ✿ ✙ ✿291. y–Meurer– y–Meurer. Post-quantum subset sum Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptographic primitives provably as secure as subset sum”: There are “currently no known quantum algorithms that perform better than classical ones

  • n the subset sum problem”.
  • Hmmm. What’s the best

quantum subset-sum exponent? Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique root. Generic brute-force search finds this root using ✙2♥ evaluations of ❢. 1996 Grover method finds this root using ✙20✿5♥ quantum evaluations ❢

  • n superpositions of inputs.

Cost of quantum evaluation ❢ ✙ cost of evaluation of ❢ if cost counts qubit “operations”.

slide-22
SLIDE 22

Post-quantum subset sum Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptographic primitives provably as secure as subset sum”: There are “currently no known quantum algorithms that perform better than classical ones

  • n the subset sum problem”.
  • Hmmm. What’s the best

quantum subset-sum exponent? Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique root. Generic brute-force search finds this root using ✙2♥ evaluations of ❢. 1996 Grover method finds this root using ✙20✿5♥ quantum evaluations of ❢

  • n superpositions of inputs.

Cost of quantum evaluation of ❢ ✙ cost of evaluation of ❢ if cost counts qubit “operations”.

slide-23
SLIDE 23
  • st-quantum subset sum

Claimed in TCC 2010 Lyubashevsky–Palacio–Segev “Public-key cryptographic rimitives provably secure as subset sum”: are “currently no known quantum algorithms that perform than classical ones subset sum problem”.

  • Hmmm. What’s the best

quantum subset-sum exponent? Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique root. Generic brute-force search finds this root using ✙2♥ evaluations of ❢. 1996 Grover method finds this root using ✙20✿5♥ quantum evaluations of ❢

  • n superpositions of inputs.

Cost of quantum evaluation of ❢ ✙ cost of evaluation of ❢ if cost counts qubit “operations”. Easily adapt different and # not Faster if but typic Most interesting: ✷ ❢ ❀ ❣

slide-24
SLIDE 24

subset sum 2010 alacio–Segev cryptographic rovably subset sum”: “currently no known rithms that perform classical ones sum problem”. the best subset-sum exponent? Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique root. Generic brute-force search finds this root using ✙2♥ evaluations of ❢. 1996 Grover method finds this root using ✙20✿5♥ quantum evaluations of ❢

  • n superpositions of inputs.

Cost of quantum evaluation of ❢ ✙ cost of evaluation of ❢ if cost counts qubit “operations”. Easily adapt to handle different # of roots, and # not known Faster if # is large, but typically # is not Most interesting: # ✷ ❢ ❀ ❣

slide-25
SLIDE 25

alacio–Segev known perform m”.

  • nent?

Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique root. Generic brute-force search finds this root using ✙2♥ evaluations of ❢. 1996 Grover method finds this root using ✙20✿5♥ quantum evaluations of ❢

  • n superpositions of inputs.

Cost of quantum evaluation of ❢ ✙ cost of evaluation of ❢ if cost counts qubit “operations”. Easily adapt to handle different # of roots, and # not known in advance. Faster if # is large, but typically # is not very la Most interesting: # ✷ ❢0❀ 1❣

slide-26
SLIDE 26

Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique root. Generic brute-force search finds this root using ✙2♥ evaluations of ❢. 1996 Grover method finds this root using ✙20✿5♥ quantum evaluations of ❢

  • n superpositions of inputs.

Cost of quantum evaluation of ❢ ✙ cost of evaluation of ❢ if cost counts qubit “operations”. Easily adapt to handle different # of roots, and # not known in advance. Faster if # is large, but typically # is not very large. Most interesting: # ✷ ❢0❀ 1❣.

slide-27
SLIDE 27

Quantum search (0.5) Assume that function ❢ has ♥-bit input, unique root. Generic brute-force search finds this root using ✙2♥ evaluations of ❢. 1996 Grover method finds this root using ✙20✿5♥ quantum evaluations of ❢

  • n superpositions of inputs.

Cost of quantum evaluation of ❢ ✙ cost of evaluation of ❢ if cost counts qubit “operations”. Easily adapt to handle different # of roots, and # not known in advance. Faster if # is large, but typically # is not very large. Most interesting: # ✷ ❢0❀ 1❣. Apply to the function ❏ ✼✦ Σ(❏) t where Σ(❏) = P

✐✷❏ ①✐.

Cost 20✿5♥ to find root (i.e., to find indices of subsequence

  • f ①1❀ ✿ ✿ ✿ ❀ ①♥ with sum t)
  • r to decide that no root exists.

We suppress poly factors in cost.

slide-28
SLIDE 28

Quantum search (0.5) Assume that function ❢ ♥-bit input, unique root. Generic brute-force search this root using ✙ ♥ evaluations of ❢. Grover method this root using ✙

✿ ♥ quantum evaluations of ❢

erpositions of inputs.

  • f quantum evaluation of ❢

✙ cost of evaluation of ❢ counts qubit “operations”. Easily adapt to handle different # of roots, and # not known in advance. Faster if # is large, but typically # is not very large. Most interesting: # ✷ ❢0❀ 1❣. Apply to the function ❏ ✼✦ Σ(❏) t where Σ(❏) = P

✐✷❏ ①✐.

Cost 20✿5♥ to find root (i.e., to find indices of subsequence

  • f ①1❀ ✿ ✿ ✿ ❀ ①♥ with sum t)
  • r to decide that no root exists.

We suppress poly factors in cost. Algorithm Represent ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❣ integer b

♥ bits are to store ♥ qubits a superp ❏ 2♥ complex ❛0❀ ✿ ✿ ✿ ❀ ❛ ♥ ❥❛0❥2 + ✁ ✁ ✁ ❥❛ ♥ ❥ Measuring ♥ has chance ❥❛❏❥ ❏ Start from i.e., ❛❏ = ❂ ♥❂ ❏

slide-29
SLIDE 29

(0.5) function ❢ ♥ unique root. rce search using ✙ ♥

  • f ❢.

method using ✙

✿ ♥

evaluations of ❢

  • sitions of inputs.

evaluation of ❢ ✙ evaluation of ❢ qubit “operations”. Easily adapt to handle different # of roots, and # not known in advance. Faster if # is large, but typically # is not very large. Most interesting: # ✷ ❢0❀ 1❣. Apply to the function ❏ ✼✦ Σ(❏) t where Σ(❏) = P

✐✷❏ ①✐.

Cost 20✿5♥ to find root (i.e., to find indices of subsequence

  • f ①1❀ ✿ ✿ ✿ ❀ ①♥ with sum t)
  • r to decide that no root exists.

We suppress poly factors in cost. Algorithm details fo Represent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ integer between 0

♥ bits are enough to store one such integer. ♥ qubits store much a superposition over ❏ 2♥ complex amplitudes ❛0❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛0❥2 + ✁ ✁ ✁ + ❥❛2♥ ❥ Measuring these ♥ has chance ❥❛❏❥2 to ❏ Start from uniform i.e., ❛❏ = 1❂2♥❂2 fo ❏

slide-30
SLIDE 30

❢ ♥

  • t.

✙ ♥ ❢ ✙

✿ ♥

evaluations of ❢ inputs. evaluation of ❢ ✙ ❢ erations”. Easily adapt to handle different # of roots, and # not known in advance. Faster if # is large, but typically # is not very large. Most interesting: # ✷ ❢0❀ 1❣. Apply to the function ❏ ✼✦ Σ(❏) t where Σ(❏) = P

✐✷❏ ①✐.

Cost 20✿5♥ to find root (i.e., to find indices of subsequence

  • f ①1❀ ✿ ✿ ✿ ❀ ①♥ with sum t)
  • r to decide that no root exists.

We suppress poly factors in cost. Algorithm details for unique Represent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as integer between 0 and 2♥ ♥ bits are enough space to store one such integer. ♥ qubits store much more, a superposition over sets ❏: 2♥ complex amplitudes ❛0❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛0❥2 + ✁ ✁ ✁ + ❥❛2♥1❥2 = 1. Measuring these ♥ qubits has chance ❥❛❏❥2 to produce ❏ Start from uniform superposition, i.e., ❛❏ = 1❂2♥❂2 for all ❏.

slide-31
SLIDE 31

Easily adapt to handle different # of roots, and # not known in advance. Faster if # is large, but typically # is not very large. Most interesting: # ✷ ❢0❀ 1❣. Apply to the function ❏ ✼✦ Σ(❏) t where Σ(❏) = P

✐✷❏ ①✐.

Cost 20✿5♥ to find root (i.e., to find indices of subsequence

  • f ①1❀ ✿ ✿ ✿ ❀ ①♥ with sum t)
  • r to decide that no root exists.

We suppress poly factors in cost. Algorithm details for unique root: Represent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as an integer between 0 and 2♥ 1. ♥ bits are enough space to store one such integer. ♥ qubits store much more, a superposition over sets ❏: 2♥ complex amplitudes ❛0❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛0❥2 + ✁ ✁ ✁ + ❥❛2♥1❥2 = 1. Measuring these ♥ qubits has chance ❥❛❏❥2 to produce ❏. Start from uniform superposition, i.e., ❛❏ = 1❂2♥❂2 for all ❏.

slide-32
SLIDE 32

adapt to handle different # of roots, not known in advance. if # is large, ypically # is not very large. interesting: # ✷ ❢0❀ 1❣. to the function ❏ ✼✦ Σ(❏) t where ❏ P

✐✷❏ ①✐. 0✿5♥ to find root (i.e.,

indices of subsequence ① ❀ ✿ ✿ ✿ ❀ ①♥ with sum t) decide that no root exists. suppress poly factors in cost. Algorithm details for unique root: Represent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as an integer between 0 and 2♥ 1. ♥ bits are enough space to store one such integer. ♥ qubits store much more, a superposition over sets ❏: 2♥ complex amplitudes ❛0❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛0❥2 + ✁ ✁ ✁ + ❥❛2♥1❥2 = 1. Measuring these ♥ qubits has chance ❥❛❏❥2 to produce ❏. Start from uniform superposition, i.e., ❛❏ = 1❂2♥❂2 for all ❏. Step 1: ❛ ✥ ❜ ❜❏ = ❛❏ ❏ t ❜❏ = ❛❏ This is ab as computing Step 2: Set ❛ ✥ ❜ ❜❏ = ❛❏ ❂ ♥ P

■ ❛■

This is also Repeat steps about 0✿ ✁

✿ ♥

Measure ♥ With high the unique ❏ ❏ t

slide-33
SLIDE 33

handle

  • ts,

wn in advance. rge, is not very large. interesting: # ✷ ❢0❀ 1❣. function ❏ ✼✦ ❏ t where ❏ P

✐✷❏ ①✐. ✿ ♥

find root (i.e.,

  • f subsequence

① ❀ ✿ ✿ ✿ ❀ ①♥ with sum t) that no root exists.

  • ly factors in cost.

Algorithm details for unique root: Represent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as an integer between 0 and 2♥ 1. ♥ bits are enough space to store one such integer. ♥ qubits store much more, a superposition over sets ❏: 2♥ complex amplitudes ❛0❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛0❥2 + ✁ ✁ ✁ + ❥❛2♥1❥2 = 1. Measuring these ♥ qubits has chance ❥❛❏❥2 to produce ❏. Start from uniform superposition, i.e., ❛❏ = 1❂2♥❂2 for all ❏. Step 1: Set ❛ ✥ ❜ ❜❏ = ❛❏ if Σ(❏) t ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥ P

■ ❛■

This is also easy. Repeat steps 1 and about 0✿58 ✁ 20✿5♥ Measure the ♥ qubits. With high probabilit the unique ❏ such ❏ t

slide-34
SLIDE 34

advance. large. ✷ ❢ ❀ 1❣. ❏ ✼✦ ❏ t ❏ P

✐✷❏ ①✐ ✿ ♥

(i.e., subsequence ① ❀ ✿ ✿ ✿ ❀ ①♥ t exists. in cost. Algorithm details for unique root: Represent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as an integer between 0 and 2♥ 1. ♥ bits are enough space to store one such integer. ♥ qubits store much more, a superposition over sets ❏: 2♥ complex amplitudes ❛0❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛0❥2 + ✁ ✁ ✁ + ❥❛2♥1❥2 = 1. Measuring these ♥ qubits has chance ❥❛❏❥2 to produce ❏. Start from uniform superposition, i.e., ❛❏ = 1❂2♥❂2 for all ❏. Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) t

slide-35
SLIDE 35

Algorithm details for unique root: Represent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as an integer between 0 and 2♥ 1. ♥ bits are enough space to store one such integer. ♥ qubits store much more, a superposition over sets ❏: 2♥ complex amplitudes ❛0❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛0❥2 + ✁ ✁ ✁ + ❥❛2♥1❥2 = 1. Measuring these ♥ qubits has chance ❥❛❏❥2 to produce ❏. Start from uniform superposition, i.e., ❛❏ = 1❂2♥❂2 for all ❏. Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t.

slide-36
SLIDE 36

rithm details for unique root: resent ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as an integer between 0 and 2♥ 1. ♥ are enough space re one such integer. ♥ qubits store much more, erposition over sets ❏:

♥ complex amplitudes

❛ ❀ ✿ ✿ ✿ ❀ ❛2♥1 with ❥❛ ❥ ✁ ✁ ✁ + ❥❛2♥1❥2 = 1. Measuring these ♥ qubits chance ❥❛❏❥2 to produce ❏. from uniform superposition, ❛❏ = 1❂2♥❂2 for all ❏. Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 ♥ after 0 steps:

−1.0 −0.5 0.0 0.5 1.0

slide-37
SLIDE 37

ls for unique root: ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❣ as an 0 and 2♥ 1. ♥ enough space such integer. ♥ much more,

  • ver sets ❏:

amplitudes ❛ ❀ ✿ ✿ ✿ ❀ ❛ ♥ with ❥❛ ❥ ✁ ✁ ✁ ❥❛ ♥1❥2 = 1. ♥ qubits ❥❛❏❥ to produce ❏. rm superposition, ❛❏ ❂ ♥❂ for all ❏. Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example ♥ after 0 steps:

−1.0 −0.5 0.0 0.5 1.0

slide-38
SLIDE 38

unique root: ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❣ as an

♥ 1.

♥ ♥ re, ❏:

❛ ❀ ✿ ✿ ✿ ❀ ❛ ♥ ❥❛ ❥ ✁ ✁ ✁ ❥❛ ♥ ❥ 1. ♥ ❥❛❏❥ duce ❏.

  • sition,

❛❏ ❂ ♥❂ ❏. Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = after 0 steps:

−1.0 −0.5 0.0 0.5 1.0

slide-39
SLIDE 39

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 0 steps:

−1.0 −0.5 0.0 0.5 1.0

slide-40
SLIDE 40

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after Step 1:

−1.0 −0.5 0.0 0.5 1.0

slide-41
SLIDE 41

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after Step 1 + Step 2:

−1.0 −0.5 0.0 0.5 1.0

slide-42
SLIDE 42

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after Step 1 + Step 2 + Step 1:

−1.0 −0.5 0.0 0.5 1.0

slide-43
SLIDE 43

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 2 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-44
SLIDE 44

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 3 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-45
SLIDE 45

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 4 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-46
SLIDE 46

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 5 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-47
SLIDE 47

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 6 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-48
SLIDE 48

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 7 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-49
SLIDE 49

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 8 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-50
SLIDE 50

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 9 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-51
SLIDE 51

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 10 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-52
SLIDE 52

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 11 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-53
SLIDE 53

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 12 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-54
SLIDE 54

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 13 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-55
SLIDE 55

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 14 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-56
SLIDE 56

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 15 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-57
SLIDE 57

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 16 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-58
SLIDE 58

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 17 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-59
SLIDE 59

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 18 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-60
SLIDE 60

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 19 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-61
SLIDE 61

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 20 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-62
SLIDE 62

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 25 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-63
SLIDE 63

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 30 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-64
SLIDE 64

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 35 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

Good moment to stop, measure.

slide-65
SLIDE 65

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 40 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-66
SLIDE 66

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 45 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-67
SLIDE 67

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 50 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

Traditional stopping point.

slide-68
SLIDE 68

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 60 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-69
SLIDE 69

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 70 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-70
SLIDE 70

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 80 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-71
SLIDE 71

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 90 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

slide-72
SLIDE 72

Step 1: Set ❛ ✥ ❜ where ❜❏ = ❛❏ if Σ(❏) = t, ❜❏ = ❛❏ otherwise. This is about as easy as computing Σ. Step 2: “Grover diffusion”. Set ❛ ✥ ❜ where ❜❏ = ❛❏ + (2❂2♥) P

■ ❛■.

This is also easy. Repeat steps 1 and 2 about 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. With high probability this finds the unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 100 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

Very bad stopping point.

slide-73
SLIDE 73

1: Set ❛ ✥ ❜ where ❜❏ ❛❏ if Σ(❏) = t, ❜❏ ❛❏ otherwise. about as easy computing Σ. 2: “Grover diffusion”. ❛ ✥ ❜ where ❜❏ ❛❏ + (2❂2♥) P

■ ❛■.

also easy. eat steps 1 and 2 0✿58 ✁ 20✿5♥ times. Measure the ♥ qubits. high probability this finds unique ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 100 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

Very bad stopping point. ❏ ✼✦ ❛❏ by a vecto (with fixed (1) ❛❏ fo ❏ (2) ❛❏ fo ❏ Step 1 + act linea Easily compute and pow to understand

  • f state

✮ Probabilit ✙ after ✙(✙❂

✿ ♥

slide-74
SLIDE 74

❛ ✥ ❜ where ❜❏ ❛❏ ❏) = t, ❜❏ ❛❏ otherwise. easy Σ. diffusion”. ❛ ✥ ❜ ❜❏ ❛❏ ❂2♥) P

■ ❛■.

. and 2 ✿ ✁

✿ ♥ times.

♥ qubits. robability this finds ❏ such that Σ(❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 100 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

Very bad stopping point. ❏ ✼✦ ❛❏ is completely by a vector of two (with fixed multiplicities): (1) ❛❏ for roots ❏; (2) ❛❏ for non-roots ❏ Step 1 + Step 2 act linearly on this Easily compute eigenvalues and powers of this to understand evolution

  • f state of Grover’s

✮ Probability is ✙ after ✙(✙❂4)20✿5♥

slide-75
SLIDE 75

❛ ✥ ❜ ❜❏ ❛❏ ❏ t ❜❏ ❛❏ diffusion”. ❛ ✥ ❜ ❜❏ ❛❏ ❂ ♥ P

■ ❛■.

✿ ✁

✿ ♥

♥ finds ❏ ❏) = t. Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 100 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

Very bad stopping point. ❏ ✼✦ ❛❏ is completely describ by a vector of two numbers (with fixed multiplicities): (1) ❛❏ for roots ❏; (2) ❛❏ for non-roots ❏. Step 1 + Step 2 act linearly on this vector. Easily compute eigenvalues and powers of this linear map to understand evolution

  • f state of Grover’s algorithm.

✮ Probability is ✙1 after ✙(✙❂4)20✿5♥ iterations.

slide-76
SLIDE 76

Graph of ❏ ✼✦ ❛❏ for 36634 example with ♥ = 12 after 100 ✂ (Step 1 + Step 2):

−1.0 −0.5 0.0 0.5 1.0

Very bad stopping point. ❏ ✼✦ ❛❏ is completely described by a vector of two numbers (with fixed multiplicities): (1) ❛❏ for roots ❏; (2) ❛❏ for non-roots ❏. Step 1 + Step 2 act linearly on this vector. Easily compute eigenvalues and powers of this linear map to understand evolution

  • f state of Grover’s algorithm.

✮ Probability is ✙1 after ✙(✙❂4)20✿5♥ iterations.

slide-77
SLIDE 77
  • f ❏ ✼✦ ❛❏

36634 example with ♥ = 12 100 ✂ (Step 1 + Step 2): bad stopping point. ❏ ✼✦ ❛❏ is completely described by a vector of two numbers (with fixed multiplicities): (1) ❛❏ for roots ❏; (2) ❛❏ for non-roots ❏. Step 1 + Step 2 act linearly on this vector. Easily compute eigenvalues and powers of this linear map to understand evolution

  • f state of Grover’s algorithm.

✮ Probability is ✙1 after ✙(✙❂4)20✿5♥ iterations. Left-right Don’t need to achieve ✿ For simplicit ♥ ✷ 1974 Ho Sort list ❏ for all ❏1 ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ and list of t ❏ for all ❏2 ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣ Merge to Σ(❏1) = t ❏ i.e., Σ(❏1 ❬ ❏ t

slide-78
SLIDE 78

❏ ✼✦ ❛❏ example with ♥ = 12 ✂ (Step 1 + Step 2): stopping point. ❏ ✼✦ ❛❏ is completely described by a vector of two numbers (with fixed multiplicities): (1) ❛❏ for roots ❏; (2) ❛❏ for non-roots ❏. Step 1 + Step 2 act linearly on this vector. Easily compute eigenvalues and powers of this linear map to understand evolution

  • f state of Grover’s algorithm.

✮ Probability is ✙1 after ✙(✙❂4)20✿5♥ iterations. Left-right split (0.5) Don’t need quantum to achieve exponent ✿ For simplicity assume ♥ ✷ 1974 Horowitz–Sahni: Sort list of Σ(❏1) for all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂ ❣ and list of t Σ(❏ for all ❏2 ✒ ❢♥❂2 + ❀ ✿ ✿ ✿ ❀ ♥❣ Merge to find collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t

slide-79
SLIDE 79

❏ ✼✦ ❛❏ ♥ = 12 ✂ 2): ❏ ✼✦ ❛❏ is completely described by a vector of two numbers (with fixed multiplicities): (1) ❛❏ for roots ❏; (2) ❛❏ for non-roots ❏. Step 1 + Step 2 act linearly on this vector. Easily compute eigenvalues and powers of this linear map to understand evolution

  • f state of Grover’s algorithm.

✮ Probability is ✙1 after ✙(✙❂4)20✿5♥ iterations. Left-right split (0.5) Don’t need quantum computers to achieve exponent 0✿5. For simplicity assume ♥ ✷ 2Z 1974 Horowitz–Sahni: Sort list of Σ(❏1) for all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ and list of t Σ(❏2) for all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ Merge to find collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t.

slide-80
SLIDE 80

❏ ✼✦ ❛❏ is completely described by a vector of two numbers (with fixed multiplicities): (1) ❛❏ for roots ❏; (2) ❛❏ for non-roots ❏. Step 1 + Step 2 act linearly on this vector. Easily compute eigenvalues and powers of this linear map to understand evolution

  • f state of Grover’s algorithm.

✮ Probability is ✙1 after ✙(✙❂4)20✿5♥ iterations. Left-right split (0.5) Don’t need quantum computers to achieve exponent 0✿5. For simplicity assume ♥ ✷ 2Z. 1974 Horowitz–Sahni: Sort list of Σ(❏1) for all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ and list of t Σ(❏2) for all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Merge to find collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t.

slide-81
SLIDE 81

❏ ✼✦ ❛❏ is completely described vector of two numbers fixed multiplicities): ❛❏ for roots ❏; ❛❏ for non-roots ❏. + Step 2 linearly on this vector. compute eigenvalues wers of this linear map understand evolution state of Grover’s algorithm. ✮ Probability is ✙1 ✙(✙❂4)20✿5♥ iterations. Left-right split (0.5) Don’t need quantum computers to achieve exponent 0✿5. For simplicity assume ♥ ✷ 2Z. 1974 Horowitz–Sahni: Sort list of Σ(❏1) for all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ and list of t Σ(❏2) for all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Merge to find collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Cost 20✿5♥ We assign e.g. 36634 (499❀ 852❀ ❀ ❀ ❀ ❀ 4688❀ 5989❀ ❀ ❀ ❀ Sort the 0❀ 499❀ 852❀ ❀ ✿ ✿ ✿ ❀ 499 + 852 ✁ ✁ ✁ and the 36634 ❀

  • ❀ ✿ ✿ ✿ ❀

36634 ✁ ✁ ✁ to see that 499 + 852 366345989

slide-82
SLIDE 82

❏ ✼✦ ❛❏ completely described

  • numbers

multiplicities): ❛❏ ❏; ❛❏ non-roots ❏. this vector. eigenvalues this linear map evolution Grover’s algorithm. ✮ ✙1 ✙ ✙❂

✿ ♥ iterations.

Left-right split (0.5) Don’t need quantum computers to achieve exponent 0✿5. For simplicity assume ♥ ✷ 2Z. 1974 Horowitz–Sahni: Sort list of Σ(❏1) for all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ and list of t Σ(❏2) for all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Merge to find collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Cost 20✿5♥ for sorting, We assign cost 1 to e.g. 36634 as sum (499❀ 852❀ 1927❀ 2535❀ ❀ ❀ 4688❀ 5989❀ 6385❀ 7353❀ ❀ Sort the 64 sums 0❀ 499❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 499 + 852 + 1927 ✁ ✁ ✁ and the 64 differences 36634 0❀ 36634 ❀ ✿ ✿ ✿ ❀ 36634 4688 ✁ ✁ ✁ to see that 499 + 852 + 2535 3663459896385

slide-83
SLIDE 83

❏ ✼✦ ❛❏ described ers ❛❏ ❏ ❛❏ ❏ eigenvalues map rithm. ✮ ✙ ✙ ✙❂

✿ ♥ iterations.

Left-right split (0.5) Don’t need quantum computers to achieve exponent 0✿5. For simplicity assume ♥ ✷ 2Z. 1974 Horowitz–Sahni: Sort list of Σ(❏1) for all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ and list of t Σ(❏2) for all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Merge to find collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Cost 20✿5♥ for sorting, merging. We assign cost 1 to RAM. e.g. 36634 as sum of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ Sort the 64 sums 0❀ 499❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 499 + 852 + 1927 + ✁ ✁ ✁ + 3608 and the 64 differences 36634 0❀ 36634 4688❀ ✿ ✿ ✿ ❀ 36634 4688 ✁ ✁ ✁ 9413 to see that 499 + 852 + 2535 + 3608 = 36634598963857353

slide-84
SLIDE 84

Left-right split (0.5) Don’t need quantum computers to achieve exponent 0✿5. For simplicity assume ♥ ✷ 2Z. 1974 Horowitz–Sahni: Sort list of Σ(❏1) for all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ and list of t Σ(❏2) for all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Merge to find collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Cost 20✿5♥ for sorting, merging. We assign cost 1 to RAM. e.g. 36634 as sum of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Sort the 64 sums 0❀ 499❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 499 + 852 + 1927 + ✁ ✁ ✁ + 3608 and the 64 differences 36634 0❀ 36634 4688❀ ✿ ✿ ✿ ❀ 36634 4688 ✁ ✁ ✁ 9413 to see that 499 + 852 + 2535 + 3608 = 366345989638573539413.

slide-85
SLIDE 85

Left-right split (0.5) need quantum computers achieve exponent 0✿5. simplicity assume ♥ ✷ 2Z. Horowitz–Sahni: ist of Σ(❏1) ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ list of t Σ(❏2) ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. to find collisions ❏ = t Σ(❏2), Σ(❏1 ❬ ❏2) = t. Cost 20✿5♥ for sorting, merging. We assign cost 1 to RAM. e.g. 36634 as sum of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Sort the 64 sums 0❀ 499❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 499 + 852 + 1927 + ✁ ✁ ✁ + 3608 and the 64 differences 36634 0❀ 36634 4688❀ ✿ ✿ ✿ ❀ 36634 4688 ✁ ✁ ✁ 9413 to see that 499 + 852 + 2535 + 3608 = 366345989638573539413. Moduli (0.5) For simplicit ♥ ✷ Choose ▼ ✙

✿ ♥

Choose t ✷ ❢ ❀ ❀ ✿ ✿ ✿ ❀ ▼ ❣ Define t2 t t Find all ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ such that ❏ ✑ t ▼ How? Split ❏ ❏ ❬ ❏ Find all ❏ ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣ such that ❏ ✑ t ▼ Sort and collisions ❏ t ❏ i.e., Σ(❏1 ❬ ❏ t

slide-86
SLIDE 86

(0.5) quantum computers ent 0✿5. assume ♥ ✷ 2Z. witz–Sahni: ❏ ) ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂2❣ t Σ(❏2) ❏ ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. collisions ❏ t ❏2), ❏ ❬ ❏ = t. Cost 20✿5♥ for sorting, merging. We assign cost 1 to RAM. e.g. 36634 as sum of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Sort the 64 sums 0❀ 499❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 499 + 852 + 1927 + ✁ ✁ ✁ + 3608 and the 64 differences 36634 0❀ 36634 4688❀ ✿ ✿ ✿ ❀ 36634 4688 ✁ ✁ ✁ 9413 to see that 499 + 852 + 2535 + 3608 = 366345989638573539413. Moduli (0.5) For simplicity assume ♥ ✷ Choose ▼ ✙ 20✿25♥ Choose t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ ❣ Define t2 = t t1. Find all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂ ❣ such that Σ(❏1) ✑ t ▼ How? Split ❏1 as ❏ ❬ ❏ Find all ❏2 ✒ ❢♥❂2 ❀ ✿ ✿ ✿ ❀ ♥❣ such that Σ(❏2) ✑ t ▼ Sort and merge to collisions Σ(❏1) = t ❏ i.e., Σ(❏1 ❬ ❏2) = t

slide-87
SLIDE 87

computers ✿ ♥ ✷ 2Z. ❏ ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ t ❏ ❏ ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣. ❏ t ❏ ❏ ❬ ❏ t Cost 20✿5♥ for sorting, merging. We assign cost 1 to RAM. e.g. 36634 as sum of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Sort the 64 sums 0❀ 499❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 499 + 852 + 1927 + ✁ ✁ ✁ + 3608 and the 64 differences 36634 0❀ 36634 4688❀ ✿ ✿ ✿ ❀ 36634 4688 ✁ ✁ ✁ 9413 to see that 499 + 852 + 2535 + 3608 = 366345989638573539413. Moduli (0.5) For simplicity assume ♥ ✷ 4Z Choose ▼ ✙ 20✿25♥. Choose t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣ Define t2 = t t1. Find all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ such that Σ(❏1) ✑ t1 (mod ▼ How? Split ❏1 as ❏11 ❬ ❏12. Find all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ such that Σ(❏2) ✑ t2 (mod ▼ Sort and merge to find all collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t.

slide-88
SLIDE 88

Cost 20✿5♥ for sorting, merging. We assign cost 1 to RAM. e.g. 36634 as sum of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Sort the 64 sums 0❀ 499❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 499 + 852 + 1927 + ✁ ✁ ✁ + 3608 and the 64 differences 36634 0❀ 36634 4688❀ ✿ ✿ ✿ ❀ 36634 4688 ✁ ✁ ✁ 9413 to see that 499 + 852 + 2535 + 3608 = 366345989638573539413. Moduli (0.5) For simplicity assume ♥ ✷ 4Z. Choose ▼ ✙ 20✿25♥. Choose t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣. Define t2 = t t1. Find all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ such that Σ(❏1) ✑ t1 (mod ▼). How? Split ❏1 as ❏11 ❬ ❏12. Find all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ such that Σ(❏2) ✑ t2 (mod ▼). Sort and merge to find all collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t.

slide-89
SLIDE 89

0✿5♥ for sorting, merging.

assign cost 1 to RAM. 36634 as sum of ❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ ❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): e 64 sums ❀ ❀ 852❀ 499 + 852❀ ✿ ✿ ✿ ❀ 852 + 1927 + ✁ ✁ ✁ + 3608 the 64 differences 0❀ 36634 4688❀ ✿ ✿ ✿ ❀ 4688 ✁ ✁ ✁ 9413 that 852 + 2535 + 3608 = 5989638573539413. Moduli (0.5) For simplicity assume ♥ ✷ 4Z. Choose ▼ ✙ 20✿25♥. Choose t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣. Define t2 = t t1. Find all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ such that Σ(❏1) ✑ t1 (mod ▼). How? Split ❏1 as ❏11 ❬ ❏12. Find all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ such that Σ(❏2) ✑ t2 (mod ▼). Sort and merge to find all collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Finds ❏ iff ❏ ✑ t There ar ✙

✿ ♥

t Each choice

✿ ♥

Total cost

✿ ♥

Not visible this uses

✿ ♥

assuming Algorithm introduced 2006 Elsenhans–Jahnel; 2010 Ho Different for simila 1981 Schro

slide-90
SLIDE 90

✿ ♥

rting, merging. to RAM. sum of ❀ ❀ ❀ 2535❀ 3596❀ 3608❀ ❀ ❀ ❀ 7353❀ 7650❀ 9413): sums ❀ ❀ ❀ 852❀ ✿ ✿ ✿ ❀ 1927 + ✁ ✁ ✁ + 3608 differences ❀ 36634 4688❀ ✿ ✿ ✿ ❀

  • ✁ ✁ ✁ 9413

2535 + 3608 =

  • 638573539413.

Moduli (0.5) For simplicity assume ♥ ✷ 4Z. Choose ▼ ✙ 20✿25♥. Choose t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣. Define t2 = t t1. Find all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ such that Σ(❏1) ✑ t1 (mod ▼). How? Split ❏1 as ❏11 ❬ ❏12. Find all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ such that Σ(❏2) ✑ t2 (mod ▼). Sort and merge to find all collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Finds ❏ iff Σ(❏1) ✑ t There are ✙20✿25♥ t Each choice costs

✿ ♥

Total cost 20✿5♥. Not visible in cost this uses space only

✿ ♥

assuming typical distribution. Algorithm has been introduced at least 2006 Elsenhans–Jahnel; 2010 Howgrave-Graha Different technique for similar space reduction: 1981 Schroeppel–Shamir.

slide-91
SLIDE 91

✿ ♥

merging. RAM. ❀ ❀ ❀ ❀ ❀ 3608❀ ❀ ❀ ❀ ❀ 7650❀ 9413): ❀ ❀ ❀ ❀ ✿ ✿ ✿ ❀ ✁ ✁ ✁ 3608 ❀

  • ❀ ✿ ✿ ✿ ❀
  • ✁ ✁ ✁ 9413

=

  • 73539413.

Moduli (0.5) For simplicity assume ♥ ✷ 4Z. Choose ▼ ✙ 20✿25♥. Choose t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣. Define t2 = t t1. Find all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ such that Σ(❏1) ✑ t1 (mod ▼). How? Split ❏1 as ❏11 ❬ ❏12. Find all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ such that Σ(❏2) ✑ t2 (mod ▼). Sort and merge to find all collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Finds ❏ iff Σ(❏1) ✑ t1. There are ✙20✿25♥ choices of t Each choice costs 20✿25♥. Total cost 20✿5♥. Not visible in cost metric: this uses space only 20✿25♥, assuming typical distribution. Algorithm has been introduced at least twice: 2006 Elsenhans–Jahnel; 2010 Howgrave-Graham–Joux. Different technique for similar space reduction: 1981 Schroeppel–Shamir.

slide-92
SLIDE 92

Moduli (0.5) For simplicity assume ♥ ✷ 4Z. Choose ▼ ✙ 20✿25♥. Choose t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣. Define t2 = t t1. Find all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ such that Σ(❏1) ✑ t1 (mod ▼). How? Split ❏1 as ❏11 ❬ ❏12. Find all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ such that Σ(❏2) ✑ t2 (mod ▼). Sort and merge to find all collisions Σ(❏1) = t Σ(❏2), i.e., Σ(❏1 ❬ ❏2) = t. Finds ❏ iff Σ(❏1) ✑ t1. There are ✙20✿25♥ choices of t1. Each choice costs 20✿25♥. Total cost 20✿5♥. Not visible in cost metric: this uses space only 20✿25♥, assuming typical distribution. Algorithm has been introduced at least twice: 2006 Elsenhans–Jahnel; 2010 Howgrave-Graham–Joux. Different technique for similar space reduction: 1981 Schroeppel–Shamir.

slide-93
SLIDE 93

duli (0.5) simplicity assume ♥ ✷ 4Z.

  • se ▼ ✙ 20✿25♥.
  • se t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣.

t2 = t t1. all ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣ that Σ(❏1) ✑ t1 (mod ▼). Split ❏1 as ❏11 ❬ ❏12. all ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ that Σ(❏2) ✑ t2 (mod ▼). and merge to find all collisions Σ(❏1) = t Σ(❏2), Σ(❏1 ❬ ❏2) = t. Finds ❏ iff Σ(❏1) ✑ t1. There are ✙20✿25♥ choices of t1. Each choice costs 20✿25♥. Total cost 20✿5♥. Not visible in cost metric: this uses space only 20✿25♥, assuming typical distribution. Algorithm has been introduced at least twice: 2006 Elsenhans–Jahnel; 2010 Howgrave-Graham–Joux. Different technique for similar space reduction: 1981 Schroeppel–Shamir. e.g. ▼ = t ① (499❀ 852❀ ❀ ❀ ❀ ❀ 4688❀ 5989❀ ❀ ❀ ❀ Try each t ✷ ❢ ❀ ❀ ✿ ✿ ✿ ❀ ❣ In particula t There are (499❀ 852❀ ❀ ❀ ❀ with sum There are (4688❀ 5989❀ ❀ ❀ ❀ with sum

  • Sort and

499 + 852 366345989

slide-94
SLIDE 94

assume ♥ ✷ 4Z. ▼ ✙

✿25♥.

t ✷ ❢ ❀ 1❀ ✿ ✿ ✿ ❀ ▼ 1❣. t t t1. ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂2❣ ❏ ✑ t1 (mod ▼). ❏ as ❏11 ❬ ❏12. ❏ ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ ❏ ✑ t2 (mod ▼). to find all ❏ = t Σ(❏2), ❏ ❬ ❏ = t. Finds ❏ iff Σ(❏1) ✑ t1. There are ✙20✿25♥ choices of t1. Each choice costs 20✿25♥. Total cost 20✿5♥. Not visible in cost metric: this uses space only 20✿25♥, assuming typical distribution. Algorithm has been introduced at least twice: 2006 Elsenhans–Jahnel; 2010 Howgrave-Graham–Joux. Different technique for similar space reduction: 1981 Schroeppel–Shamir. e.g. ▼ = 8, t = 36634, ① (499❀ 852❀ 1927❀ 2535❀ ❀ ❀ 4688❀ 5989❀ 6385❀ 7353❀ ❀ Try each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ ❣ In particular try t1 There are 12 subsequences (499❀ 852❀ 1927❀ 2535❀ ❀ with sum 6 modulo There are 6 subsequences (4688❀ 5989❀ 6385❀ ❀ ❀ with sum 36634 Sort and merge to 499 + 852 + 2535 3663459896385

slide-95
SLIDE 95

♥ ✷ 4Z. ▼ ✙

✿ ♥

t ✷ ❢ ❀ ❀ ✿ ✿ ✿ ❀ ▼ 1❣. t t t ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ ❏ ✑ t (mod ▼). ❏ ❏ ❬ ❏ . ❏ ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣ ❏ ✑ t (mod ▼). ❏ t ❏2), ❏ ❬ ❏ t Finds ❏ iff Σ(❏1) ✑ t1. There are ✙20✿25♥ choices of t1. Each choice costs 20✿25♥. Total cost 20✿5♥. Not visible in cost metric: this uses space only 20✿25♥, assuming typical distribution. Algorithm has been introduced at least twice: 2006 Elsenhans–Jahnel; 2010 Howgrave-Graham–Joux. Different technique for similar space reduction: 1981 Schroeppel–Shamir. e.g. ▼ = 8, t = 36634, ① = (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ Try each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ 7❣. In particular try t1 = 6. There are 12 subsequences of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608) with sum 6 modulo 8. There are 6 subsequences of (4688❀ 5989❀ 6385❀ 7353❀ 7650❀ with sum 36634 6 modulo Sort and merge to find 499 + 852 + 2535 + 3608 = 36634598963857353

slide-96
SLIDE 96

Finds ❏ iff Σ(❏1) ✑ t1. There are ✙20✿25♥ choices of t1. Each choice costs 20✿25♥. Total cost 20✿5♥. Not visible in cost metric: this uses space only 20✿25♥, assuming typical distribution. Algorithm has been introduced at least twice: 2006 Elsenhans–Jahnel; 2010 Howgrave-Graham–Joux. Different technique for similar space reduction: 1981 Schroeppel–Shamir. e.g. ▼ = 8, t = 36634, ① = (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Try each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ 7❣. In particular try t1 = 6. There are 12 subsequences of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608) with sum 6 modulo 8. There are 6 subsequences of (4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) with sum 36634 6 modulo 8. Sort and merge to find 499 + 852 + 2535 + 3608 = 366345989638573539413.

slide-97
SLIDE 97

❏ iff Σ(❏1) ✑ t1. are ✙20✿25♥ choices of t1. choice costs 20✿25♥. cost 20✿5♥. visible in cost metric: uses space only 20✿25♥, assuming typical distribution. rithm has been duced at least twice: Elsenhans–Jahnel; Howgrave-Graham–Joux. Different technique imilar space reduction: Schroeppel–Shamir. e.g. ▼ = 8, t = 36634, ① = (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Try each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ 7❣. In particular try t1 = 6. There are 12 subsequences of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608) with sum 6 modulo 8. There are 6 subsequences of (4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) with sum 36634 6 modulo 8. Sort and merge to find 499 + 852 + 2535 + 3608 = 366345989638573539413. Quantum ✿ ✿ ✿ ✿ Cost 2♥❂ 1998 Brassa For simplicit ♥ ✷ Compute ❏ ❏1 ✒ ❢1❀ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ Sort ▲ = ❢ ❏ ❣ Can now ❏2 ✼✦ [t ❏ ❂ ✷ ▲ for ❏2 ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣ Recall: w Use Grover’s whether

slide-98
SLIDE 98

❏ ❏ ) ✑ t1. ✙

✿ ♥ choices of t1.

costs 20✿25♥.

✿ ♥.

cost metric:

  • nly 20✿25♥,

ypical distribution. een least twice: Elsenhans–Jahnel; wgrave-Graham–Joux. nique reduction: el–Shamir. e.g. ▼ = 8, t = 36634, ① = (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Try each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ 7❣. In particular try t1 = 6. There are 12 subsequences of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608) with sum 6 modulo 8. There are 6 subsequences of (4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) with sum 36634 6 modulo 8. Sort and merge to find 499 + 852 + 2535 + 3608 = 366345989638573539413. Quantum left-right ✿ ✿ ✿ ✿ Cost 2♥❂3, imitating 1998 Brassard–Høy For simplicity assume ♥ ✷ Compute Σ(❏1) fo ❏1 ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣ Sort ▲ = ❢Σ(❏1)❣. Can now efficiently ❏2 ✼✦ [t Σ(❏2) ❂ ✷ ▲ for ❏2 ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣ Recall: we assign cost Use Grover’s metho whether this function

slide-99
SLIDE 99

❏ ❏ ✑ t ✙

✿ ♥

  • f t1.

✿ ♥ ✿ ♥ ✿ ♥,

distribution. –Joux. reduction: e.g. ▼ = 8, t = 36634, ① = (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Try each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ 7❣. In particular try t1 = 6. There are 12 subsequences of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608) with sum 6 modulo 8. There are 6 subsequences of (4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) with sum 36634 6 modulo 8. Sort and merge to find 499 + 852 + 2535 + 3608 = 366345989638573539413. Quantum left-right split (0✿333 ✿ ✿ ✿ Cost 2♥❂3, imitating 1998 Brassard–Høyer–Tapp: For simplicity assume ♥ ✷ 3Z Compute Σ(❏1) for all ❏1 ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣. Sort ▲ = ❢Σ(❏1)❣. Can now efficiently compute ❏2 ✼✦ [t Σ(❏2) ❂ ✷ ▲] for ❏2 ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Recall: we assign cost 1 to RAM. Use Grover’s method to see whether this function has a ro

slide-100
SLIDE 100

e.g. ▼ = 8, t = 36634, ① = (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ 4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): Try each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ 7❣. In particular try t1 = 6. There are 12 subsequences of (499❀ 852❀ 1927❀ 2535❀ 3596❀ 3608) with sum 6 modulo 8. There are 6 subsequences of (4688❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) with sum 36634 6 modulo 8. Sort and merge to find 499 + 852 + 2535 + 3608 = 366345989638573539413. Quantum left-right split (0✿333 ✿ ✿ ✿) Cost 2♥❂3, imitating 1998 Brassard–Høyer–Tapp: For simplicity assume ♥ ✷ 3Z. Compute Σ(❏1) for all ❏1 ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣. Sort ▲ = ❢Σ(❏1)❣. Can now efficiently compute ❏2 ✼✦ [t Σ(❏2) ❂ ✷ ▲] for ❏2 ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Recall: we assign cost 1 to RAM. Use Grover’s method to see whether this function has a root.

slide-101
SLIDE 101

▼ = 8, t = 36634, ① = ❀ 852❀ 1927❀ 2535❀ 3596❀ 3608❀ ❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413): each t1 ✷ ❢0❀ 1❀ ✿ ✿ ✿ ❀ 7❣. rticular try t1 = 6. are 12 subsequences of ❀ 852❀ 1927❀ 2535❀ 3596❀ 3608) sum 6 modulo 8. are 6 subsequences of ❀ 5989❀ 6385❀ 7353❀ 7650❀ 9413) sum 36634 6 modulo 8. and merge to find 852 + 2535 + 3608 = 5989638573539413. Quantum left-right split (0✿333 ✿ ✿ ✿) Cost 2♥❂3, imitating 1998 Brassard–Høyer–Tapp: For simplicity assume ♥ ✷ 3Z. Compute Σ(❏1) for all ❏1 ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣. Sort ▲ = ❢Σ(❏1)❣. Can now efficiently compute ❏2 ✼✦ [t Σ(❏2) ❂ ✷ ▲] for ❏2 ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Recall: we assign cost 1 to RAM. Use Grover’s method to see whether this function has a root. Quantum Unique-collision-finding Say ❢ has ♥ exactly one ❢♣❀ q❣ i.e., ♣ ✻= q ❢ ♣ ❢ q Problem: Cost 2♥: ❙ the set of ♥ Compute ❢ ❙ Generalize r success p ✙ r❂ ♥ Choose a ❙ r Compute ❢ ❙

slide-102
SLIDE 102

▼ t 36634, ① = ❀ ❀ ❀ 2535❀ 3596❀ 3608❀ ❀ ❀ ❀ 7353❀ 7650❀ 9413): t ✷ ❢ ❀ 1❀ ✿ ✿ ✿ ❀ 7❣. t1 = 6. subsequences of ❀ ❀ ❀ 2535❀ 3596❀ 3608) dulo 8. subsequences of ❀ ❀ 6385❀ 7353❀ 7650❀ 9413) 6 modulo 8. to find 2535 + 3608 =

  • 638573539413.

Quantum left-right split (0✿333 ✿ ✿ ✿) Cost 2♥❂3, imitating 1998 Brassard–Høyer–Tapp: For simplicity assume ♥ ✷ 3Z. Compute Σ(❏1) for all ❏1 ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣. Sort ▲ = ❢Σ(❏1)❣. Can now efficiently compute ❏2 ✼✦ [t Σ(❏2) ❂ ✷ ▲] for ❏2 ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Recall: we assign cost 1 to RAM. Use Grover’s method to see whether this function has a root. Quantum walk Unique-collision-finding Say ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣ i.e., ♣ ✻= q, ❢(♣) = ❢ q Problem: find this Cost 2♥: Define ❙ the set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r success probability ✙ r❂ ♥ Choose a set ❙ of r Compute ❢(❙), sort.

slide-103
SLIDE 103

▼ t ① = ❀ ❀ ❀ ❀ ❀ 3608❀ ❀ ❀ ❀ ❀ 7650❀ 9413): t ✷ ❢ ❀ ❀ ✿ ✿ ✿ ❀ ❣. t subsequences of ❀ ❀ ❀ ❀ ❀ 3608)

  • f

❀ ❀ ❀ ❀ 7650❀ 9413)

  • dulo 8.

=

  • 73539413.

Quantum left-right split (0✿333 ✿ ✿ ✿) Cost 2♥❂3, imitating 1998 Brassard–Høyer–Tapp: For simplicity assume ♥ ✷ 3Z. Compute Σ(❏1) for all ❏1 ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣. Sort ▲ = ❢Σ(❏1)❣. Can now efficiently compute ❏2 ✼✦ [t Σ(❏2) ❂ ✷ ▲] for ❏2 ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Recall: we assign cost 1 to RAM. Use Grover’s method to see whether this function has a root. Quantum walk Unique-collision-finding problem: Say ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣: i.e., ♣ ✻= q, ❢(♣) = ❢(q). Problem: find this collision. Cost 2♥: Define ❙ as the set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r, success probability ✙(r❂2♥)2 Choose a set ❙ of size r. Compute ❢(❙), sort.

slide-104
SLIDE 104

Quantum left-right split (0✿333 ✿ ✿ ✿) Cost 2♥❂3, imitating 1998 Brassard–Høyer–Tapp: For simplicity assume ♥ ✷ 3Z. Compute Σ(❏1) for all ❏1 ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣. Sort ▲ = ❢Σ(❏1)❣. Can now efficiently compute ❏2 ✼✦ [t Σ(❏2) ❂ ✷ ▲] for ❏2 ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Recall: we assign cost 1 to RAM. Use Grover’s method to see whether this function has a root. Quantum walk Unique-collision-finding problem: Say ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣: i.e., ♣ ✻= q, ❢(♣) = ❢(q). Problem: find this collision. Cost 2♥: Define ❙ as the set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r, success probability ✙(r❂2♥)2: Choose a set ❙ of size r. Compute ❢(❙), sort.

slide-105
SLIDE 105

Quantum left-right split (0✿333 ✿ ✿ ✿)

♥❂3, imitating

Brassard–Høyer–Tapp: simplicity assume ♥ ✷ 3Z. Compute Σ(❏1) for all ❏ ✒ ❢1❀ 2❀ ✿ ✿ ✿ ❀ ♥❂3❣. ▲ = ❢Σ(❏1)❣. now efficiently compute ❏ ✼✦ [t Σ(❏2) ❂ ✷ ▲] ❏ ✒ ❢♥❂3 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Recall: we assign cost 1 to RAM. Grover’s method to see whether this function has a root. Quantum walk Unique-collision-finding problem: Say ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣: i.e., ♣ ✻= q, ❢(♣) = ❢(q). Problem: find this collision. Cost 2♥: Define ❙ as the set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r, success probability ✙(r❂2♥)2: Choose a set ❙ of size r. Compute ❢(❙), sort. Data structure ❉ ❙ the generalized the set ❙ ❢ ❙ the numb ❙ Very efficient ❉ ❙ to ❉(❚) ❚ #❙ = #❚ r ❙ ❭❚ r 2003 Ambainis, Magniez–Na Create sup (❉(❙)❀ ❉ ❚ ❙❀ ❚ By a qua find ❙ containing

slide-106
SLIDE 106

left-right split (0✿333 ✿ ✿ ✿)

♥❂

imitating d–Høyer–Tapp: assume ♥ ✷ 3Z. ❏ for all ❏ ✒ ❢ ❀ ❀ ✿ ✿ ✿ ❀ ♥❂3❣. ▲ ❢ ❏ ❣. efficiently compute ❏ ✼✦ t ❏ ❂ ✷ ▲] ❏ ✒ ❢♥❂ 1❀ ✿ ✿ ✿ ❀ ♥❣. assign cost 1 to RAM. method to see function has a root. Quantum walk Unique-collision-finding problem: Say ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣: i.e., ♣ ✻= q, ❢(♣) = ❢(q). Problem: find this collision. Cost 2♥: Define ❙ as the set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r, success probability ✙(r❂2♥)2: Choose a set ❙ of size r. Compute ❢(❙), sort. Data structure ❉(❙ the generalized computation: the set ❙; the multiset ❢ ❙ the number of collisions ❙ Very efficient to move ❉ ❙ to ❉(❚) if ❚ is an #❙ = #❚ = r, #(❙ ❭❚ r 2003 Ambainis, simplified Magniez–Nayak–Roland–Santha: Create superposition (❉(❙)❀ ❉(❚)) with ❙❀ ❚ By a quantum walk find ❙ containing a

slide-107
SLIDE 107

✿333 ✿ ✿ ✿)

♥❂

app: ♥ ✷ 3Z. ❏ ❏ ✒ ❢ ❀ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ ▲ ❢ ❏ ❣ compute ❏ ✼✦ t ❏ ❂ ✷ ▲ ❏ ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣. to RAM. see a root. Quantum walk Unique-collision-finding problem: Say ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣: i.e., ♣ ✻= q, ❢(♣) = ❢(q). Problem: find this collision. Cost 2♥: Define ❙ as the set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r, success probability ✙(r❂2♥)2: Choose a set ❙ of size r. Compute ❢(❙), sort. Data structure ❉(❙) capturing the generalized computation: the set ❙; the multiset ❢(❙); the number of collisions in ❙ Very efficient to move from ❉ ❙ to ❉(❚) if ❚ is an adjacent #❙ = #❚ = r, #(❙ ❭❚) = r 2003 Ambainis, simplified 2007 Magniez–Nayak–Roland–Santha: Create superposition of state (❉(❙)❀ ❉(❚)) with adjacent ❙❀ ❚ By a quantum walk find ❙ containing a collision.

slide-108
SLIDE 108

Quantum walk Unique-collision-finding problem: Say ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣: i.e., ♣ ✻= q, ❢(♣) = ❢(q). Problem: find this collision. Cost 2♥: Define ❙ as the set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r, success probability ✙(r❂2♥)2: Choose a set ❙ of size r. Compute ❢(❙), sort. Data structure ❉(❙) capturing the generalized computation: the set ❙; the multiset ❢(❙); the number of collisions in ❙. Very efficient to move from ❉(❙) to ❉(❚) if ❚ is an adjacent set: #❙ = #❚ = r, #(❙ ❭❚) = r 1. 2003 Ambainis, simplified 2007 Magniez–Nayak–Roland–Santha: Create superposition of states (❉(❙)❀ ❉(❚)) with adjacent ❙❀ ❚. By a quantum walk find ❙ containing a collision.

slide-109
SLIDE 109

Quantum walk Unique-collision-finding problem: ❢ has ♥-bit inputs, exactly one collision ❢♣❀ q❣: ♣ ✻= q, ❢(♣) = ❢(q). Problem: find this collision.

♥: Define ❙ as

set of ♥-bit strings. Compute ❢(❙), sort. Generalize to cost r, success probability ✙(r❂2♥)2:

  • se a set ❙ of size r.

Compute ❢(❙), sort. Data structure ❉(❙) capturing the generalized computation: the set ❙; the multiset ❢(❙); the number of collisions in ❙. Very efficient to move from ❉(❙) to ❉(❚) if ❚ is an adjacent set: #❙ = #❚ = r, #(❙ ❭❚) = r 1. 2003 Ambainis, simplified 2007 Magniez–Nayak–Roland–Santha: Create superposition of states (❉(❙)❀ ❉(❚)) with adjacent ❙❀ ❚. By a quantum walk find ❙ containing a collision. How the Start from Repeat ✙ ✿ ✁

♥❂r

Negate ❛❙❀❚ if ❙ Repeat ✙ ✿ ✁ ♣r For ❚ Diffuse ❛❙❀❚ ❙ For ❙ Diffuse ❛❙❀❚ ❚ Now high that ❚ contains Cost r+ ♥❂♣r

♥❂

slide-110
SLIDE 110

Unique-collision-finding problem: ❢ ♥ inputs, collision ❢♣❀ q❣: ♣ ✻ q ❢ ♣ = ❢(q). this collision.

❙ as ♥ strings. ❢ ❙ sort. cost r, robability ✙(r❂2♥)2: ❙ of size r. ❢ ❙ sort. Data structure ❉(❙) capturing the generalized computation: the set ❙; the multiset ❢(❙); the number of collisions in ❙. Very efficient to move from ❉(❙) to ❉(❚) if ❚ is an adjacent set: #❙ = #❚ = r, #(❙ ❭❚) = r 1. 2003 Ambainis, simplified 2007 Magniez–Nayak–Roland–Santha: Create superposition of states (❉(❙)❀ ❉(❚)) with adjacent ❙❀ ❚. By a quantum walk find ❙ containing a collision. How the quantum Start from uniform Repeat ✙0✿6 ✁ 2♥❂r Negate ❛❙❀❚ if ❙ contains Repeat ✙0✿7 ✁ ♣r For each ❚: Diffuse ❛❙❀❚ ❙ For each ❙: Diffuse ❛❙❀❚ ❚ Now high probabilit that ❚ contains collision. Cost r+2♥❂♣r. Optimize:

♥❂

slide-111
SLIDE 111

roblem: ❢ ♥ ❢♣❀ q❣: ♣ ✻ q ❢ ♣ ❢ q collision.

❙ ♥ ❢ ❙ r ✙ r❂ ♥)2: ❙ r ❢ ❙ Data structure ❉(❙) capturing the generalized computation: the set ❙; the multiset ❢(❙); the number of collisions in ❙. Very efficient to move from ❉(❙) to ❉(❚) if ❚ is an adjacent set: #❙ = #❚ = r, #(❙ ❭❚) = r 1. 2003 Ambainis, simplified 2007 Magniez–Nayak–Roland–Santha: Create superposition of states (❉(❙)❀ ❉(❚)) with adjacent ❙❀ ❚. By a quantum walk find ❙ containing a collision. How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙ For each ❙: Diffuse ❛❙❀❚ across all ❚ Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize:

♥❂

slide-112
SLIDE 112

Data structure ❉(❙) capturing the generalized computation: the set ❙; the multiset ❢(❙); the number of collisions in ❙. Very efficient to move from ❉(❙) to ❉(❚) if ❚ is an adjacent set: #❙ = #❚ = r, #(❙ ❭❚) = r 1. 2003 Ambainis, simplified 2007 Magniez–Nayak–Roland–Santha: Create superposition of states (❉(❙)❀ ❉(❚)) with adjacent ❙❀ ❚. By a quantum walk find ❙ containing a collision. How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3.

slide-113
SLIDE 113

structure ❉(❙) capturing generalized computation: set ❙; the multiset ❢(❙); number of collisions in ❙. efficient to move from ❉(❙) ❉ ❚) if ❚ is an adjacent set: ❙ #❚ = r, #(❙ ❭❚) = r 1. Ambainis, simplified 2007 Magniez–Nayak–Roland–Santha: superposition of states ❉ ❙ ❀ ❉(❚)) with adjacent ❙❀ ❚. quantum walk ❙ containing a collision. How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚ (#(❙ ❭ ❢♣❀ q❣ ❀ ❚ ❭ ❢♣❀ q❣ reduce ❛ Analyze e.g. ♥ = r 0 negations Pr[class ❀ ✙ ✿ Pr[class ❀ ✙ ✿ Pr[class ❀ ✙ ✿ Pr[class ❀ ✙ ✿ Pr[class ❀ ✙ ✿ Pr[class ❀ ✙ ✿ Pr[class ❀ ✙ ✿ Right column ❛❙❀❚

slide-114
SLIDE 114

❉(❙) capturing computation: ❙ multiset ❢(❙); collisions in ❙. move from ❉(❙) ❉ ❚ ❚ an adjacent set: ❙ ❚ r #(❙ ❭❚) = r 1. simplified 2007 ak–Roland–Santha:

  • sition of states

❉ ❙ ❀ ❉ ❚ with adjacent ❙❀ ❚. alk ❙ containing a collision. How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) acco (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣ reduce ❛ to low-dim Analyze evolution e.g. ♥ = 15, r = 1024, 0 negations and 0 Pr[class (0❀ 0)] ✙ 0✿ Pr[class (0❀ 1)] ✙ 0✿ Pr[class (1❀ 0)] ✙ 0✿ Pr[class (1❀ 1)] ✙ 0✿ Pr[class (1❀ 2)] ✙ 0✿ Pr[class (2❀ 1)] ✙ 0✿ Pr[class (2❀ 2)] ✙ 0✿ Right column is sign ❛❙❀❚

slide-115
SLIDE 115

❉ ❙ capturing computation: ❙ ❢ ❙); ❙. ❉(❙) ❉ ❚ ❚ adjacent set: ❙ ❚ r ❙ ❭❚ = r 1. 2007 ak–Roland–Santha: states ❉ ❙ ❀ ❉ ❚ ent ❙❀ ❚. ❙

  • llision.

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣ reduce ❛ to low-dim vector. Analyze evolution of this vecto e.g. ♥ = 15, r = 1024, after 0 negations and 0 diffusions: Pr[class (0❀ 0)] ✙ 0✿938; + Pr[class (0❀ 1)] ✙ 0✿000; + Pr[class (1❀ 0)] ✙ 0✿000; + Pr[class (1❀ 1)] ✙ 0✿060; + Pr[class (1❀ 2)] ✙ 0✿000; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿001; + Right column is sign of ❛❙❀❚

slide-116
SLIDE 116

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 0 negations and 0 diffusions: Pr[class (0❀ 0)] ✙ 0✿938; + Pr[class (0❀ 1)] ✙ 0✿000; + Pr[class (1❀ 0)] ✙ 0✿000; + Pr[class (1❀ 1)] ✙ 0✿060; + Pr[class (1❀ 2)] ✙ 0✿000; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿001; + Right column is sign of ❛❙❀❚ .

slide-117
SLIDE 117

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 1 negation and 46 diffusions: Pr[class (0❀ 0)] ✙ 0✿935; + Pr[class (0❀ 1)] ✙ 0✿000; + Pr[class (1❀ 0)] ✙ 0✿000; Pr[class (1❀ 1)] ✙ 0✿057; + Pr[class (1❀ 2)] ✙ 0✿000; + Pr[class (2❀ 1)] ✙ 0✿000; Pr[class (2❀ 2)] ✙ 0✿008; + Right column is sign of ❛❙❀❚ .

slide-118
SLIDE 118

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 2 negations and 92 diffusions: Pr[class (0❀ 0)] ✙ 0✿918; + Pr[class (0❀ 1)] ✙ 0✿001; + Pr[class (1❀ 0)] ✙ 0✿000; Pr[class (1❀ 1)] ✙ 0✿059; + Pr[class (1❀ 2)] ✙ 0✿001; + Pr[class (2❀ 1)] ✙ 0✿000; Pr[class (2❀ 2)] ✙ 0✿022; + Right column is sign of ❛❙❀❚ .

slide-119
SLIDE 119

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 3 negations and 138 diffusions: Pr[class (0❀ 0)] ✙ 0✿897; + Pr[class (0❀ 1)] ✙ 0✿001; + Pr[class (1❀ 0)] ✙ 0✿000; Pr[class (1❀ 1)] ✙ 0✿058; + Pr[class (1❀ 2)] ✙ 0✿002; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿042; + Right column is sign of ❛❙❀❚ .

slide-120
SLIDE 120

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 4 negations and 184 diffusions: Pr[class (0❀ 0)] ✙ 0✿873; + Pr[class (0❀ 1)] ✙ 0✿001; + Pr[class (1❀ 0)] ✙ 0✿000; Pr[class (1❀ 1)] ✙ 0✿054; + Pr[class (1❀ 2)] ✙ 0✿002; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿070; + Right column is sign of ❛❙❀❚ .

slide-121
SLIDE 121

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 5 negations and 230 diffusions: Pr[class (0❀ 0)] ✙ 0✿838; + Pr[class (0❀ 1)] ✙ 0✿001; + Pr[class (1❀ 0)] ✙ 0✿001; Pr[class (1❀ 1)] ✙ 0✿054; + Pr[class (1❀ 2)] ✙ 0✿003; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿104; + Right column is sign of ❛❙❀❚ .

slide-122
SLIDE 122

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 6 negations and 276 diffusions: Pr[class (0❀ 0)] ✙ 0✿800; + Pr[class (0❀ 1)] ✙ 0✿001; + Pr[class (1❀ 0)] ✙ 0✿001; Pr[class (1❀ 1)] ✙ 0✿051; + Pr[class (1❀ 2)] ✙ 0✿006; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿141; + Right column is sign of ❛❙❀❚ .

slide-123
SLIDE 123

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 7 negations and 322 diffusions: Pr[class (0❀ 0)] ✙ 0✿758; + Pr[class (0❀ 1)] ✙ 0✿002; + Pr[class (1❀ 0)] ✙ 0✿001; Pr[class (1❀ 1)] ✙ 0✿047; + Pr[class (1❀ 2)] ✙ 0✿007; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿184; + Right column is sign of ❛❙❀❚ .

slide-124
SLIDE 124

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 8 negations and 368 diffusions: Pr[class (0❀ 0)] ✙ 0✿708; + Pr[class (0❀ 1)] ✙ 0✿003; + Pr[class (1❀ 0)] ✙ 0✿001; Pr[class (1❀ 1)] ✙ 0✿046; + Pr[class (1❀ 2)] ✙ 0✿007; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿234; + Right column is sign of ❛❙❀❚ .

slide-125
SLIDE 125

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 9 negations and 414 diffusions: Pr[class (0❀ 0)] ✙ 0✿658; + Pr[class (0❀ 1)] ✙ 0✿003; + Pr[class (1❀ 0)] ✙ 0✿001; Pr[class (1❀ 1)] ✙ 0✿042; + Pr[class (1❀ 2)] ✙ 0✿009; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿287; + Right column is sign of ❛❙❀❚ .

slide-126
SLIDE 126

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 10 negations and 460 diffusions: Pr[class (0❀ 0)] ✙ 0✿606; + Pr[class (0❀ 1)] ✙ 0✿003; + Pr[class (1❀ 0)] ✙ 0✿002; Pr[class (1❀ 1)] ✙ 0✿037; + Pr[class (1❀ 2)] ✙ 0✿013; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿338; + Right column is sign of ❛❙❀❚ .

slide-127
SLIDE 127

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 11 negations and 506 diffusions: Pr[class (0❀ 0)] ✙ 0✿547; + Pr[class (0❀ 1)] ✙ 0✿004; + Pr[class (1❀ 0)] ✙ 0✿003; Pr[class (1❀ 1)] ✙ 0✿036; + Pr[class (1❀ 2)] ✙ 0✿015; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿394; + Right column is sign of ❛❙❀❚ .

slide-128
SLIDE 128

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 12 negations and 552 diffusions: Pr[class (0❀ 0)] ✙ 0✿491; + Pr[class (0❀ 1)] ✙ 0✿004; + Pr[class (1❀ 0)] ✙ 0✿003; Pr[class (1❀ 1)] ✙ 0✿032; + Pr[class (1❀ 2)] ✙ 0✿014; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿455; + Right column is sign of ❛❙❀❚ .

slide-129
SLIDE 129

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 13 negations and 598 diffusions: Pr[class (0❀ 0)] ✙ 0✿436; + Pr[class (0❀ 1)] ✙ 0✿005; + Pr[class (1❀ 0)] ✙ 0✿003; Pr[class (1❀ 1)] ✙ 0✿026; + Pr[class (1❀ 2)] ✙ 0✿017; + Pr[class (2❀ 1)] ✙ 0✿000; + Pr[class (2❀ 2)] ✙ 0✿513; + Right column is sign of ❛❙❀❚ .

slide-130
SLIDE 130

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 14 negations and 644 diffusions: Pr[class (0❀ 0)] ✙ 0✿377; + Pr[class (0❀ 1)] ✙ 0✿006; + Pr[class (1❀ 0)] ✙ 0✿004; Pr[class (1❀ 1)] ✙ 0✿025; + Pr[class (1❀ 2)] ✙ 0✿022; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿566; + Right column is sign of ❛❙❀❚ .

slide-131
SLIDE 131

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 15 negations and 690 diffusions: Pr[class (0❀ 0)] ✙ 0✿322; + Pr[class (0❀ 1)] ✙ 0✿005; + Pr[class (1❀ 0)] ✙ 0✿004; Pr[class (1❀ 1)] ✙ 0✿021; + Pr[class (1❀ 2)] ✙ 0✿023; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿623; + Right column is sign of ❛❙❀❚ .

slide-132
SLIDE 132

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 16 negations and 736 diffusions: Pr[class (0❀ 0)] ✙ 0✿270; + Pr[class (0❀ 1)] ✙ 0✿006; + Pr[class (1❀ 0)] ✙ 0✿005; Pr[class (1❀ 1)] ✙ 0✿017; + Pr[class (1❀ 2)] ✙ 0✿022; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿680; + Right column is sign of ❛❙❀❚ .

slide-133
SLIDE 133

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 17 negations and 782 diffusions: Pr[class (0❀ 0)] ✙ 0✿218; + Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿005; Pr[class (1❀ 1)] ✙ 0✿015; + Pr[class (1❀ 2)] ✙ 0✿024; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿730; + Right column is sign of ❛❙❀❚ .

slide-134
SLIDE 134

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 18 negations and 828 diffusions: Pr[class (0❀ 0)] ✙ 0✿172; + Pr[class (0❀ 1)] ✙ 0✿006; + Pr[class (1❀ 0)] ✙ 0✿005; Pr[class (1❀ 1)] ✙ 0✿011; + Pr[class (1❀ 2)] ✙ 0✿029; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿775; + Right column is sign of ❛❙❀❚ .

slide-135
SLIDE 135

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 19 negations and 874 diffusions: Pr[class (0❀ 0)] ✙ 0✿131; + Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿006; Pr[class (1❀ 1)] ✙ 0✿008; + Pr[class (1❀ 2)] ✙ 0✿030; + Pr[class (2❀ 1)] ✙ 0✿002; + Pr[class (2❀ 2)] ✙ 0✿816; + Right column is sign of ❛❙❀❚ .

slide-136
SLIDE 136

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 20 negations and 920 diffusions: Pr[class (0❀ 0)] ✙ 0✿093; + Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿007; + Pr[class (1❀ 2)] ✙ 0✿027; + Pr[class (2❀ 1)] ✙ 0✿002; + Pr[class (2❀ 2)] ✙ 0✿857; + Right column is sign of ❛❙❀❚ .

slide-137
SLIDE 137

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 21 negations and 966 diffusions: Pr[class (0❀ 0)] ✙ 0✿062; + Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿006; Pr[class (1❀ 1)] ✙ 0✿004; + Pr[class (1❀ 2)] ✙ 0✿030; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿890; + Right column is sign of ❛❙❀❚ .

slide-138
SLIDE 138

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 22 negations and 1012 diffusions: Pr[class (0❀ 0)] ✙ 0✿037; + Pr[class (0❀ 1)] ✙ 0✿008; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿002; + Pr[class (1❀ 2)] ✙ 0✿034; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿910; + Right column is sign of ❛❙❀❚ .

slide-139
SLIDE 139

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 23 negations and 1058 diffusions: Pr[class (0❀ 0)] ✙ 0✿017; + Pr[class (0❀ 1)] ✙ 0✿008; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿002; + Pr[class (1❀ 2)] ✙ 0✿034; + Pr[class (2❀ 1)] ✙ 0✿002; + Pr[class (2❀ 2)] ✙ 0✿930; + Right column is sign of ❛❙❀❚ .

slide-140
SLIDE 140

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 24 negations and 1104 diffusions: Pr[class (0❀ 0)] ✙ 0✿005; + Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿000; + Pr[class (1❀ 2)] ✙ 0✿030; + Pr[class (2❀ 1)] ✙ 0✿002; + Pr[class (2❀ 2)] ✙ 0✿948; + Right column is sign of ❛❙❀❚ .

slide-141
SLIDE 141

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 25 negations and 1150 diffusions: Pr[class (0❀ 0)] ✙ 0✿000; + Pr[class (0❀ 1)] ✙ 0✿008; + Pr[class (1❀ 0)] ✙ 0✿008; Pr[class (1❀ 1)] ✙ 0✿000; + Pr[class (1❀ 2)] ✙ 0✿031; + Pr[class (2❀ 1)] ✙ 0✿001; + Pr[class (2❀ 2)] ✙ 0✿952; + Right column is sign of ❛❙❀❚ .

slide-142
SLIDE 142

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 26 negations and 1196 diffusions: Pr[class (0❀ 0)] ✙ 0✿002; Pr[class (0❀ 1)] ✙ 0✿008; + Pr[class (1❀ 0)] ✙ 0✿008; Pr[class (1❀ 1)] ✙ 0✿000; Pr[class (1❀ 2)] ✙ 0✿035; + Pr[class (2❀ 1)] ✙ 0✿002; + Pr[class (2❀ 2)] ✙ 0✿945; + Right column is sign of ❛❙❀❚ .

slide-143
SLIDE 143

How the quantum walk works: Start from uniform superposition. Repeat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ if ❙ contains collision. Repeat ✙0✿7 ✁ ♣r times: For each ❚: Diffuse ❛❙❀❚ across all ❙. For each ❙: Diffuse ❛❙❀❚ across all ❚. Now high probability that ❚ contains collision. Cost r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 27 negations and 1242 diffusions: Pr[class (0❀ 0)] ✙ 0✿011; Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿001; Pr[class (1❀ 2)] ✙ 0✿034; + Pr[class (2❀ 1)] ✙ 0✿003; + Pr[class (2❀ 2)] ✙ 0✿938; + Right column is sign of ❛❙❀❚ .

slide-144
SLIDE 144

the quantum walk works: from uniform superposition. eat ✙0✿6 ✁ 2♥❂r times: Negate ❛❙❀❚ ❙ contains collision. eat ✙0✿7 ✁ ♣r times:

  • r each ❚:

Diffuse ❛❙❀❚ across all ❙.

  • r each ❙:

Diffuse ❛❙❀❚ across all ❚. high probability ❚ contains collision. r+2♥❂♣r. Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 27 negations and 1242 diffusions: Pr[class (0❀ 0)] ✙ 0✿011; Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿001; Pr[class (1❀ 2)] ✙ 0✿034; + Pr[class (2❀ 1)] ✙ 0✿003; + Pr[class (2❀ 2)] ✙ 0✿938; + Right column is sign of ❛❙❀❚ . Subset-sum ✿ ✿ ✿ ✿ Consider ❢ ❢(1❀ ❏1) ❏ for ❏1 ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ ❢(2❀ ❏2) t ❏ for ❏2 ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣ Good chance collision ❏ t ❏ ♥❂2 + 1 so quantum

♥❂

Easily tw to handle ignore Σ(❏ ❏✵

slide-145
SLIDE 145

quantum walk works: rm superposition. ✙ ✿ ✁

♥❂r times:

❛❙❀❚ ❙ contains collision. ✙ ✿ ✁ ♣r times: ❚: ❛❙❀❚ across all ❙. ❙: ❛❙❀❚ across all ❚. robability ❚ collision. r

♥❂♣r. Optimize: 22♥❂3.

Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 27 negations and 1242 diffusions: Pr[class (0❀ 0)] ✙ 0✿011; Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿001; Pr[class (1❀ 2)] ✙ 0✿034; + Pr[class (2❀ 1)] ✙ 0✿003; + Pr[class (2❀ 2)] ✙ 0✿938; + Right column is sign of ❛❙❀❚ . Subset-sum walk (0✿ ✿ ✿ ✿ Consider ❢ defined ❢(1❀ ❏1) = Σ(❏1) for ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂ ❣ ❢(2❀ ❏2) = t Σ(❏ for ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣ Good chance of unique collision Σ(❏1) = t ❏ ♥❂2 + 1 bits of input, so quantum walk costs

♥❂

Easily tweak quantum to handle more collisions, ignore Σ(❏1) = Σ(❏✵

slide-146
SLIDE 146
  • rks:
  • sition.

✙ ✿ ✁

♥❂r

❛❙❀❚ ❙ collision. ✙ ✿ ✁ ♣r times: ❚ ❛❙❀❚ all ❙. ❙ ❛❙❀❚ all ❚. ❚ r

♥❂♣r

Optimize: 22♥❂3. Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 27 negations and 1242 diffusions: Pr[class (0❀ 0)] ✙ 0✿011; Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿001; Pr[class (1❀ 2)] ✙ 0✿034; + Pr[class (2❀ 1)] ✙ 0✿003; + Pr[class (2❀ 2)] ✙ 0✿938; + Right column is sign of ❛❙❀❚ . Subset-sum walk (0✿333 ✿ ✿ ✿) Consider ❢ defined by ❢(1❀ ❏1) = Σ(❏1) for ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢(2❀ ❏2) = t Σ(❏2) for ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Good chance of unique collision Σ(❏1) = t Σ(❏2). ♥❂2 + 1 bits of input, so quantum walk costs 2♥❂3. Easily tweak quantum walk to handle more collisions, ignore Σ(❏1) = Σ(❏✵

1), etc.

slide-147
SLIDE 147

Classify (❙❀ ❚) according to (#(❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); reduce ❛ to low-dim vector. Analyze evolution of this vector. e.g. ♥ = 15, r = 1024, after 27 negations and 1242 diffusions: Pr[class (0❀ 0)] ✙ 0✿011; Pr[class (0❀ 1)] ✙ 0✿007; + Pr[class (1❀ 0)] ✙ 0✿007; Pr[class (1❀ 1)] ✙ 0✿001; Pr[class (1❀ 2)] ✙ 0✿034; + Pr[class (2❀ 1)] ✙ 0✿003; + Pr[class (2❀ 2)] ✙ 0✿938; + Right column is sign of ❛❙❀❚ . Subset-sum walk (0✿333 ✿ ✿ ✿) Consider ❢ defined by ❢(1❀ ❏1) = Σ(❏1) for ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢(2❀ ❏2) = t Σ(❏2) for ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Good chance of unique collision Σ(❏1) = t Σ(❏2). ♥❂2 + 1 bits of input, so quantum walk costs 2♥❂3. Easily tweak quantum walk to handle more collisions, ignore Σ(❏1) = Σ(❏✵

1), etc.

slide-148
SLIDE 148

Classify (❙❀ ❚) according to ❙ ❭ ❢♣❀ q❣)❀ #(❚ ❭ ❢♣❀ q❣)); ❛ to low-dim vector. Analyze evolution of this vector. ♥ = 15, r = 1024, after negations and 1242 diffusions: [class (0❀ 0)] ✙ 0✿011; [class (0❀ 1)] ✙ 0✿007; + [class (1❀ 0)] ✙ 0✿007; [class (1❀ 1)] ✙ 0✿001; [class (1❀ 2)] ✙ 0✿034; + [class (2❀ 1)] ✙ 0✿003; + [class (2❀ 2)] ✙ 0✿938; + column is sign of ❛❙❀❚ . Subset-sum walk (0✿333 ✿ ✿ ✿) Consider ❢ defined by ❢(1❀ ❏1) = Σ(❏1) for ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢(2❀ ❏2) = t Σ(❏2) for ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Good chance of unique collision Σ(❏1) = t Σ(❏2). ♥❂2 + 1 bits of input, so quantum walk costs 2♥❂3. Easily tweak quantum walk to handle more collisions, ignore Σ(❏1) = Σ(❏✵

1), etc.

Generalized Choose ▼ t r ▼ ✙ r (Original is the sp r

♥❂

Take set ❙ ❙ r ❏11 ✷ ❙11 ✮ ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ (Original ❙

  • f all ❏11 ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣

Compute ❏ ▼ for each ❏ ✷ ❙ Similarly ❙ r subsets of ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ Compute t ❏ ▼ for each ❏ ✷ ❙

slide-149
SLIDE 149

❙❀ ❚ according to ❙ ❭ ❢♣❀ q❣ ❀ #(❚ ❭ ❢♣❀ q❣)); ❛ w-dim vector. evolution of this vector. ♥ r 1024, after and 1242 diffusions: ❀ ✙ 0✿011; ❀ ✙ 0✿007; + ❀ ✙ 0✿007; ❀ ✙ 0✿001; ❀ ✙ 0✿034; + ❀ ✙ 0✿003; + ❀ ✙ 0✿938; + sign of ❛❙❀❚ . Subset-sum walk (0✿333 ✿ ✿ ✿) Consider ❢ defined by ❢(1❀ ❏1) = Σ(❏1) for ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢(2❀ ❏2) = t Σ(❏2) for ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Good chance of unique collision Σ(❏1) = t Σ(❏2). ♥❂2 + 1 bits of input, so quantum walk costs 2♥❂3. Easily tweak quantum walk to handle more collisions, ignore Σ(❏1) = Σ(❏✵

1), etc.

Generalized moduli Choose ▼, t1, r with ▼ ✙ r (Original moduli algo is the special case r

♥❂

Take set ❙11, #❙11 r ❏11 ✷ ❙11 ✮ ❏11 ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ (Original algorithm: ❙

  • f all ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂ ❣

Compute Σ(❏11) mo ▼ for each ❏11 ✷ ❙11 Similarly take a set ❙ r subsets of ❢♥❂4 + ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ Compute t1 Σ(❏ ▼ for each ❏12 ✷ ❙12

slide-150
SLIDE 150

❙❀ ❚ to ❙ ❭ ❢♣❀ q❣ ❀ ❚ ❭ ❢♣❀ q❣)); ❛ r. vector. ♥ r after diffusions: ❀ ✙ ✿

✙ ✿ ❀ ✙ ✿

✙ ✿

✙ ✿ ❀ ✙ ✿ ❀ ✙ ✿ ❛❙❀❚ . Subset-sum walk (0✿333 ✿ ✿ ✿) Consider ❢ defined by ❢(1❀ ❏1) = Σ(❏1) for ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢(2❀ ❏2) = t Σ(❏2) for ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Good chance of unique collision Σ(❏1) = t Σ(❏2). ♥❂2 + 1 bits of input, so quantum walk costs 2♥❂3. Easily tweak quantum walk to handle more collisions, ignore Σ(❏1) = Σ(❏✵

1), etc.

Generalized moduli Choose ▼, t1, r with ▼ ✙ r (Original moduli algorithm is the special case r = 2♥❂4.) Take set ❙11, #❙11 = r, where ❏11 ✷ ❙11 ✮ ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂ ❣ (Original algorithm: ❙11 is the

  • f all ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣.)

Compute Σ(❏11) mod ▼ for each ❏11 ✷ ❙11. Similarly take a set ❙12 of r subsets of ❢♥❂4 + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣ Compute t1 Σ(❏12) mod ▼ for each ❏12 ✷ ❙12.

slide-151
SLIDE 151

Subset-sum walk (0✿333 ✿ ✿ ✿) Consider ❢ defined by ❢(1❀ ❏1) = Σ(❏1) for ❏1 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢(2❀ ❏2) = t Σ(❏2) for ❏2 ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. Good chance of unique collision Σ(❏1) = t Σ(❏2). ♥❂2 + 1 bits of input, so quantum walk costs 2♥❂3. Easily tweak quantum walk to handle more collisions, ignore Σ(❏1) = Σ(❏✵

1), etc.

Generalized moduli Choose ▼, t1, r with ▼ ✙ r. (Original moduli algorithm is the special case r = 2♥❂4.) Take set ❙11, #❙11 = r, where ❏11 ✷ ❙11 ✮ ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣. (Original algorithm: ❙11 is the set

  • f all ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣.)

Compute Σ(❏11) mod ▼ for each ❏11 ✷ ❙11. Similarly take a set ❙12 of r subsets of ❢♥❂4 + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣. Compute t1 Σ(❏12) mod ▼ for each ❏12 ✷ ❙12.

slide-152
SLIDE 152

Subset-sum walk (0✿333 ✿ ✿ ✿) Consider ❢ defined by ❢ ❀ ❏ ) = Σ(❏1) ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢ ❀ ❏ ) = t Σ(❏2) ❏ ✒ ❢♥❂2 + 1❀ ✿ ✿ ✿ ❀ ♥❣. chance of unique collision Σ(❏1) = t Σ(❏2). ♥❂ 1 bits of input, quantum walk costs 2♥❂3. tweak quantum walk handle more collisions, Σ(❏1) = Σ(❏✵

1), etc.

Generalized moduli Choose ▼, t1, r with ▼ ✙ r. (Original moduli algorithm is the special case r = 2♥❂4.) Take set ❙11, #❙11 = r, where ❏11 ✷ ❙11 ✮ ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣. (Original algorithm: ❙11 is the set

  • f all ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣.)

Compute Σ(❏11) mod ▼ for each ❏11 ✷ ❙11. Similarly take a set ❙12 of r subsets of ❢♥❂4 + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣. Compute t1 Σ(❏12) mod ▼ for each ❏12 ✷ ❙12. Find all collisions Σ(❏11) ✑ t ❏ i.e., Σ(❏1 ✑ t ▼ where ❏1 ❏ ❬ ❏ Compute ❏ Similarly ❙ ❙ ✮ list of ❏2 ❏ ✑ t t ✮ each t ❏ Find collisions ❏ t ❏ Success r ❂ ♥ at finding ❏ Σ(❏) = t ❏ ✑ t ▼ Assuming cost r, since ▼ ✙ r

slide-153
SLIDE 153

(0✿333 ✿ ✿ ✿) ❢ defined by ❢ ❀ ❏ ❏ ) ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂2❣; ❢ ❀ ❏ t Σ(❏2) ❏ ✒ ❢♥❂ 1❀ ✿ ✿ ✿ ❀ ♥❣. unique ❏ t Σ(❏2). ♥❂ input, alk costs 2♥❂3. quantum walk collisions, ❏ Σ(❏✵

1), etc.

Generalized moduli Choose ▼, t1, r with ▼ ✙ r. (Original moduli algorithm is the special case r = 2♥❂4.) Take set ❙11, #❙11 = r, where ❏11 ✷ ❙11 ✮ ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣. (Original algorithm: ❙11 is the set

  • f all ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣.)

Compute Σ(❏11) mod ▼ for each ❏11 ✷ ❙11. Similarly take a set ❙12 of r subsets of ❢♥❂4 + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣. Compute t1 Σ(❏12) mod ▼ for each ❏12 ✷ ❙12. Find all collisions Σ(❏11) ✑ t1 Σ(❏ i.e., Σ(❏1) ✑ t1 (mo ▼ where ❏1 = ❏11 ❬ ❏ Compute each Σ(❏ Similarly ❙21, ❙22 ✮ list of ❏2 with Σ(❏ ✑ t t ✮ each t Σ(❏2). Find collisions Σ(❏ t ❏ Success probability r ❂ ♥ at finding any particula ❏ Σ(❏) = t, Σ(❏1) ✑ t ▼ Assuming typical distribution: cost r, since ▼ ✙ r

slide-154
SLIDE 154

✿ ✿ ✿ ✿) ❢ ❢ ❀ ❏ ❏ ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣ ❢ ❀ ❏ t ❏ ❏ ✒ ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❣. ❏ t ❏ ). ♥❂

♥❂3.

alk ❏ ❏✵ etc. Generalized moduli Choose ▼, t1, r with ▼ ✙ r. (Original moduli algorithm is the special case r = 2♥❂4.) Take set ❙11, #❙11 = r, where ❏11 ✷ ❙11 ✮ ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣. (Original algorithm: ❙11 is the set

  • f all ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣.)

Compute Σ(❏11) mod ▼ for each ❏11 ✷ ❙11. Similarly take a set ❙12 of r subsets of ❢♥❂4 + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣. Compute t1 Σ(❏12) mod ▼ for each ❏12 ✷ ❙12. Find all collisions Σ(❏11) ✑ t1 Σ(❏12), i.e., Σ(❏1) ✑ t1 (mod ▼) where ❏1 = ❏11 ❬ ❏12. Compute each Σ(❏1). Similarly ❙21, ❙22 ✮ list of ❏2 with Σ(❏2) ✑ t t ✮ each t Σ(❏2). Find collisions Σ(❏1) = t Σ(❏ Success probability r4❂2♥ at finding any particular ❏ with Σ(❏) = t, Σ(❏1) ✑ t1 (mod ▼ Assuming typical distribution: cost r, since ▼ ✙ r.

slide-155
SLIDE 155

Generalized moduli Choose ▼, t1, r with ▼ ✙ r. (Original moduli algorithm is the special case r = 2♥❂4.) Take set ❙11, #❙11 = r, where ❏11 ✷ ❙11 ✮ ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣. (Original algorithm: ❙11 is the set

  • f all ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣.)

Compute Σ(❏11) mod ▼ for each ❏11 ✷ ❙11. Similarly take a set ❙12 of r subsets of ❢♥❂4 + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣. Compute t1 Σ(❏12) mod ▼ for each ❏12 ✷ ❙12. Find all collisions Σ(❏11) ✑ t1 Σ(❏12), i.e., Σ(❏1) ✑ t1 (mod ▼) where ❏1 = ❏11 ❬ ❏12. Compute each Σ(❏1). Similarly ❙21, ❙22 ✮ list of ❏2 with Σ(❏2) ✑ t t1 ✮ each t Σ(❏2). Find collisions Σ(❏1) = t Σ(❏2). Success probability r4❂2♥ at finding any particular ❏ with Σ(❏) = t, Σ(❏1) ✑ t1 (mod ▼). Assuming typical distribution: cost r, since ▼ ✙ r.

slide-156
SLIDE 156

Generalized moduli

  • se ▼, t1, r with ▼ ✙ r.

(Original moduli algorithm special case r = 2♥❂4.) set ❙11, #❙11 = r, where ❏ ✷ ❙11 ✮ ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣. (Original algorithm: ❙11 is the set ❏11 ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣.) Compute Σ(❏11) mod ▼ ach ❏11 ✷ ❙11. rly take a set ❙12 of r subsets of ❢♥❂4 + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣. Compute t1 Σ(❏12) mod ▼ ach ❏12 ✷ ❙12. Find all collisions Σ(❏11) ✑ t1 Σ(❏12), i.e., Σ(❏1) ✑ t1 (mod ▼) where ❏1 = ❏11 ❬ ❏12. Compute each Σ(❏1). Similarly ❙21, ❙22 ✮ list of ❏2 with Σ(❏2) ✑ t t1 ✮ each t Σ(❏2). Find collisions Σ(❏1) = t Σ(❏2). Success probability r4❂2♥ at finding any particular ❏ with Σ(❏) = t, Σ(❏1) ✑ t1 (mod ▼). Assuming typical distribution: cost r, since ▼ ✙ r. Quantum ✿ Capture generalized as data structure ❉(❙11❀ ❙ ❀ ❙ ❀ ❙ Easy to move from ❙✐❥ ❚✐❥ Convert cost r + ♣r ♥❂ ❂r 20✿2♥ for r ✙

✿ ♥

Use “amplitude to search t Total cost

✿ ♥

slide-157
SLIDE 157

duli ▼ t r with ▼ ✙ r. duli algorithm case r = 2♥❂4.) ❙ ❙11 = r, where ❏ ✷ ❙ ✮ ❏ ✒ ❢1❀ ✿ ✿ ✿ ❀ ♥❂4❣. rithm: ❙11 is the set ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂4❣.) ❏ mod ▼ ❏ ✷ ❙11. set ❙12 of r ❢♥❂ + 1❀ ✿ ✿ ✿ ❀ ♥❂2❣. t Σ(❏12) mod ▼ ❏ ✷ ❙12. Find all collisions Σ(❏11) ✑ t1 Σ(❏12), i.e., Σ(❏1) ✑ t1 (mod ▼) where ❏1 = ❏11 ❬ ❏12. Compute each Σ(❏1). Similarly ❙21, ❙22 ✮ list of ❏2 with Σ(❏2) ✑ t t1 ✮ each t Σ(❏2). Find collisions Σ(❏1) = t Σ(❏2). Success probability r4❂2♥ at finding any particular ❏ with Σ(❏) = t, Σ(❏1) ✑ t1 (mod ▼). Assuming typical distribution: cost r, since ▼ ✙ r. Quantum moduli (0✿ Capture execution generalized moduli as data structure ❉(❙11❀ ❙12❀ ❙21❀ ❙22 Easy to move from ❙✐❥ to adjacent ❚✐❥ Convert into quantum cost r + ♣r2♥❂2❂r 20✿2♥ for r ✙ 20✿2♥ Use “amplitude amplification” to search for correct t Total cost 20✿3♥.

slide-158
SLIDE 158

▼ t r ▼ ✙ r. r

♥❂4.)

❙ ❙ r where ❏ ✷ ❙ ✮ ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂4❣. ❙ is the set ❏ ✒ ❢ ❀ ✿ ✿ ✿ ❀ ♥❂ ❣.) ❏ ▼ ❏ ✷ ❙ ❙ r ❢♥❂ ❀ ✿ ✿ ✿ ❀ ♥❂2❣. t ❏ ▼ ❏ ✷ ❙ Find all collisions Σ(❏11) ✑ t1 Σ(❏12), i.e., Σ(❏1) ✑ t1 (mod ▼) where ❏1 = ❏11 ❬ ❏12. Compute each Σ(❏1). Similarly ❙21, ❙22 ✮ list of ❏2 with Σ(❏2) ✑ t t1 ✮ each t Σ(❏2). Find collisions Σ(❏1) = t Σ(❏2). Success probability r4❂2♥ at finding any particular ❏ with Σ(❏) = t, Σ(❏1) ✑ t1 (mod ▼). Assuming typical distribution: cost r, since ▼ ✙ r. Quantum moduli (0✿3) Capture execution of generalized moduli algorithm as data structure ❉(❙11❀ ❙12❀ ❙21❀ ❙22). Easy to move from ❙✐❥ to adjacent ❚✐❥. Convert into quantum walk: cost r + ♣r2♥❂2❂r2. 20✿2♥ for r ✙ 20✿2♥. Use “amplitude amplification” to search for correct t1. Total cost 20✿3♥.

slide-159
SLIDE 159

Find all collisions Σ(❏11) ✑ t1 Σ(❏12), i.e., Σ(❏1) ✑ t1 (mod ▼) where ❏1 = ❏11 ❬ ❏12. Compute each Σ(❏1). Similarly ❙21, ❙22 ✮ list of ❏2 with Σ(❏2) ✑ t t1 ✮ each t Σ(❏2). Find collisions Σ(❏1) = t Σ(❏2). Success probability r4❂2♥ at finding any particular ❏ with Σ(❏) = t, Σ(❏1) ✑ t1 (mod ▼). Assuming typical distribution: cost r, since ▼ ✙ r. Quantum moduli (0✿3) Capture execution of generalized moduli algorithm as data structure ❉(❙11❀ ❙12❀ ❙21❀ ❙22). Easy to move from ❙✐❥ to adjacent ❚✐❥. Convert into quantum walk: cost r + ♣r2♥❂2❂r2. 20✿2♥ for r ✙ 20✿2♥. Use “amplitude amplification” to search for correct t1. Total cost 20✿3♥.

slide-160
SLIDE 160

all collisions ❏ ) ✑ t1 Σ(❏12), Σ(❏1) ✑ t1 (mod ▼) ❏1 = ❏11 ❬ ❏12. Compute each Σ(❏1). rly ❙21, ❙22 ✮ ❏2 with Σ(❏2) ✑ t t1 ✮ each t Σ(❏2). collisions Σ(❏1) = t Σ(❏2). Success probability r4❂2♥ finding any particular ❏ with ❏ t, Σ(❏1) ✑ t1 (mod ▼). Assuming typical distribution: r, since ▼ ✙ r. Quantum moduli (0✿3) Capture execution of generalized moduli algorithm as data structure ❉(❙11❀ ❙12❀ ❙21❀ ❙22). Easy to move from ❙✐❥ to adjacent ❚✐❥. Convert into quantum walk: cost r + ♣r2♥❂2❂r2. 20✿2♥ for r ✙ 20✿2♥. Use “amplitude amplification” to search for correct t1. Total cost 20✿3♥. Quantum ✿ ✿ ✿ ✿ Central result Combine with “rep 2010 Ho Subset-sum ✿ ✿ ✿ ✿ new reco Lower-level Ambainis “combination and a skip history-indep We use radix Much easier,

slide-161
SLIDE 161

collisions ❏ ✑ t Σ(❏12), ❏ ✑ t (mod ▼) ❏ ❏ ❬ ❏12. Σ(❏1). ❙ ❙22 ✮ ❏ Σ(❏2) ✑ t t1 ✮ t ❏ ). Σ(❏1) = t Σ(❏2). bility r4❂2♥ particular ❏ with ❏ t ❏ ✑ t1 (mod ▼). l distribution: r ▼ ✙ r. Quantum moduli (0✿3) Capture execution of generalized moduli algorithm as data structure ❉(❙11❀ ❙12❀ ❙21❀ ❙22). Easy to move from ❙✐❥ to adjacent ❚✐❥. Convert into quantum walk: cost r + ♣r2♥❂2❂r2. 20✿2♥ for r ✙ 20✿2♥. Use “amplitude amplification” to search for correct t1. Total cost 20✿3♥. Quantum reps (0✿241 ✿ ✿ ✿ Central result of the Combine quantum with “representations” 2010 Howgrave-Graham–Joux. Subset-sum exponent ✿ ✿ ✿ ✿ new record. Lower-level improvement: Ambainis uses ad-ho “combination of a and a skip list” to history-independence. We use radix trees. Much easier, presumably

slide-162
SLIDE 162

❏ ✑ t ❏ ❏ ✑ t ▼) ❏ ❏ ❬ ❏ ❏ ❙ ❙ ✮ ❏ ❏ ✑ t t1 ✮ t ❏ ❏ t Σ(❏2). r ❂ ♥ ❏ with ❏ t ❏ ✑ t (mod ▼). distribution: r ▼ ✙ r Quantum moduli (0✿3) Capture execution of generalized moduli algorithm as data structure ❉(❙11❀ ❙12❀ ❙21❀ ❙22). Easy to move from ❙✐❥ to adjacent ❚✐❥. Convert into quantum walk: cost r + ♣r2♥❂2❂r2. 20✿2♥ for r ✙ 20✿2♥. Use “amplitude amplification” to search for correct t1. Total cost 20✿3♥. Quantum reps (0✿241 ✿ ✿ ✿) Central result of the paper: Combine quantum walk with “representations” idea of 2010 Howgrave-Graham–Joux. Subset-sum exponent 0✿241 ✿ ✿ ✿ new record. Lower-level improvement: Ambainis uses ad-hoc “combination of a hash table and a skip list” to ensure history-independence. We use radix trees. Much easier, presumably faster.

slide-163
SLIDE 163

Quantum moduli (0✿3) Capture execution of generalized moduli algorithm as data structure ❉(❙11❀ ❙12❀ ❙21❀ ❙22). Easy to move from ❙✐❥ to adjacent ❚✐❥. Convert into quantum walk: cost r + ♣r2♥❂2❂r2. 20✿2♥ for r ✙ 20✿2♥. Use “amplitude amplification” to search for correct t1. Total cost 20✿3♥. Quantum reps (0✿241 ✿ ✿ ✿) Central result of the paper: Combine quantum walk with “representations” idea of 2010 Howgrave-Graham–Joux. Subset-sum exponent 0✿241 ✿ ✿ ✿; new record. Lower-level improvement: Ambainis uses ad-hoc “combination of a hash table and a skip list” to ensure history-independence. We use radix trees. Much easier, presumably faster.