ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
𝑈 𝑢> = 𝑒 2𝜋𝑖𝜑 𝑢> Phase Estimation
จากที่กล่าวมาข้างต้น สรุปได้ว่า 𝑈 𝑢> = 𝑒 2𝜋𝑖𝜑 𝑢> ให้ 𝑼 มาเป็น black box หรือ oracle
2
ที่จริง circuit นี้เลื่อนเฟสของ |u> แต่ “kick back” ให้ไปเลื่อนเฟสของ first register เวลา circuit นี้ทำงานจะ measure 2nd register ก่อน แล้วทำ Inversed QFT 1st register แล้ว measure + + t คือ จำนวนทศนิยมของ 𝜑 เขียนแบบ fixed point + + ทำ 𝑈 1 ครั้ง phase ของ |1> จะเปลี่ยนไป 𝑒 2𝜋𝑖𝜑
5
ทศนิยมตำแหน่งแรกๆ มีโอกาสที่จะถูกต้องมากกว่าทศนิยมตำแหน่งท้ายๆ (หมายถึงกรณีทั่วๆ ไป ที่จำนวน qubits ใน first register ไม่พอ)
6
ถ้า t ไม่พอ มันจะติดทศนิยมตำแหน่งถัดไปมาด้วย แล้วจะเกิดอะไรขึ้น
Inversed QFT QFT
8
Inversed QFT ทำ complex conjugate ทุกตัว จะได้ inversed matrix
𝜔 𝑖 𝑖𝜔 −1 −𝜔 −𝑖 −𝑖𝜔 1 𝑖 −1 −𝑖 1 𝑖 −1 −𝑖 1 𝑖𝜔 −𝑖 𝜔 −1 −𝑖𝜔 𝑖 −𝜔 1 −1 1 −1 1 −1 1 −1 1 −𝜔 𝑖 −𝑖𝜔 −1 𝜔 −𝑖 𝑖𝜔 1 −𝑖 −1 𝑖 1 −𝑖 −1 𝑖 1 −𝑖𝜔 −𝑖 −𝜔 −1 𝑖𝜔 𝑖 𝜔 𝜔= 1+𝑖 2 = 𝑖 ทำ complex conjugate ทุกตัว จะได้ inversed matrix ทำเฉพาะแถวที่ 4 ได้ ( 1 −1−𝑖 𝑖 1−𝑖 −1 1+𝑖 −𝑖 −1+𝑖 )
9
𝜑 = 0.011 (3/8) แบบนี้ลงตัวพอดี 3/8 เขียนเป็นเลขทศนิยมใน 3 บิตได้
𝜑 = (3/8) แบบนี้ลงตัวพอดี 3/8 เขียนเป็นเลขทศนิยมใน 3 บิตได้ ( |0 + 𝑒 2𝜋𝑖 2 2 𝜑 |1 ) ( |0 + 𝑒 2𝜋𝑖 2 1 𝜑 |1 ) ( |0 + 𝑒 2𝜋𝑖 2 0 𝜑 |1 ) ( | 𝑒 2𝜋𝑖 2 0 𝜑 |001 + 𝑒 2𝜋𝑖 2 1 𝜑 |010 + 𝑒 2𝜋𝑖 2 1 𝜑 𝑒 2𝜋𝑖 2 0 𝜑 |011 + 𝑒 2𝜋𝑖 2 2 𝜑 |100 + 𝑒 2𝜋𝑖 2 2 𝜑 𝑒 2𝜋𝑖 2 0 𝜑 | 𝑒 2𝜋𝑖 2 2 𝜑 𝑒 2𝜋𝑖 2 1 𝜑 |110 + 𝑒 2𝜋𝑖 2 2 𝜑 𝑒 2𝜋𝑖 2 1 𝜑 𝑒 2𝜋𝑖 2 0 𝜑 |111 ) ( 𝑒 𝑖(0𝜑)2𝜋 | 𝑒 𝑖(1𝜑)2𝜋 |001 + 𝑒 𝑖(2𝜑)2𝜋 |010 + 𝑒 𝑖(3𝜑)2𝜋 |011 + 𝑒 𝑖(4𝜑)2𝜋 |100 + 𝑒 𝑖(5𝜑)2𝜋 | 𝑒 𝑖(6𝜑)2𝜋 |110 + 𝑒 𝑖(7𝜑)2𝜋 |111 ) −1+𝑖 −𝑖 1+𝑖 −1 1−𝑖 𝑖 −1−𝑖 2 𝑐𝑜𝑠 (0𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (0𝜑)2𝜋 𝑐𝑜𝑠 (1𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (1𝜑)2𝜋 𝑐𝑜𝑠 (2𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (2𝜑)2𝜋 𝑐𝑜𝑠 (3𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (3𝜑)2𝜋 𝑐𝑜𝑠 (4𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (4𝜑)2𝜋 𝑐𝑜𝑠 (5𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (5𝜑)2𝜋 𝑐𝑜𝑠 (6𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (6𝜑)2𝜋 𝑐𝑜𝑠 (7𝜑)2𝜋 +𝑖⋅𝑠𝑖𝑛 (7𝜑)2𝜋 เมื่อทำ inversed QFT แล้ว probability ที่จะ measure ได้ 000, 001, 010, 011, 100, 101, 110, 111 เป็นเท่าใด?
10
ถ้า first register มีจำนวน qubits ไม่พอที่ได้ 𝜑 จะเกิดอะไรขึ้น เช่น 𝜑 มีทศนิยมมากกว่า t ตำแหน่ง หรือ 𝜑 มีทศนิยมไม่รู้จบ ให้ t มากแค่ไหนก็ไม่พอ
11
𝜑 = หรือ (31/80) แบบนี้ไม่ลงตัว ใช้จำนวนบิตน้อยไป แต่ถึงให้บิตมากกว่านี้ก็ไม่ลงตัวอยู่ดี เป็นเลขทศนิยมไม่รู้จบ 31/80 = ประมาณค่า 𝜑 (เป็น fixed point) ได้ใกล้เคียงหรือไม่? ถ้ารันซ้ำหลายๆ ครั้งจะได้ค่าเดิมเสมอหรือไม่?
12
Order Finding 56 mod 21 = 1 บน classical computers
ไม่มี polynomial-time algorithms สำหรับปัญหา order finding problem size, L คือ จำนวนบิตของ N
14
U|y> มีค่าได้หลายแบบ แต่ต้องไม่เกิน 31 (reg. ขนาด 5 บิต)
ในคณิตศาสตร์ a ≡ b (mod n) หมายความว่า a − b is an integer multiple of n เช่น 38 ≡ 14 (mod 12) อีกนัยหนึ่งคือ 38 กับ 14 ก็อยู่ที่ตำแหน่งเดียวกัน เพราะ mod 12 แล้วได้เศษ 2 เหมือนกัน เหมือนนาฬิกาที่ 14 ≡ 2(mod 12) หรือบ่ายสองกับตีสอง เข็มนาฬิกาจะอยู่ที่ตำแหน่งเดิม ตัวอย่าง x = 5 และ N = 21 y = 0 xy = 0 U|y> = 0, 21, 42, … y = 1 xy = 5 U|y> = 5, 26, 47, … y = 2 xy = 10 U|y> = 10, 31, 52, … … y = 21 xy = 105 U|y> = 0, 21, 42, … y = 22 xy = 110 U|y> = 5, 26, 47, … y = 23 xy = 115 U|y> = 10, 31, 52, … … y = 31 xy = 155 U|y> = 8, 29, 37, … U|y> มีค่าได้หลายแบบ แต่ต้องไม่เกิน 31 (reg. ขนาด 5 บิต) ดังนั้น U|y> ก็คือ xy (mod N) นั่นเอง
15
Phase estimation จะได้ 𝒔 𝒓
ถ้า x = 5, N = 21 จะทำให้ได้ r = 6 eigenstates ประกอบด้วย |1>, |5>, |4>, |20>, |16>, |17> Eigenvector มีหลายตัว ตัวที่ s = 0, 1, 2, .. ลองคิดเฉพาะกรณี s = 1 ก่อนก็ได้ ทำ U ก็แค่คูณ x เพิ่มเข้าไปอีกตัวนึง eigenvalue Phase estimation จะได้ 𝒔 𝒓
16
ผมเขียนให้ดูเฉพาะ k สีแดง
|us> = 0|1> + 1|5> + 2|4> + 3|20> + 4|16> + 5|17> |1> U|us> = |17> |5> |16> |4> |20> |us> = 0|1> + 1|5> + 2|4> + 3|20> + 4|16> + 5|17> U|us> = 0|5> + 1|4> + 2|20> + 3|16> + 4|17> + 5|1>
17
ค่าเฉลี่ยของ eigenvector ทั้งหมด หาร 1/sqrt(r) เพื่อให้ prob. = 1
มี leading zeroes |0…01> ค่าเฉลี่ยของ eigenvector ทั้งหมด หาร 1/sqrt(r) เพื่อให้ prob. = 1 Equation k = 0 ทำให้ได้ |1> k = 1, …, r – 1 จะ cancel กันหมด 1−𝜀 คือ prob. ที่จะได้ 𝜑 ถูกต้อง n บิต (หน้า 244)
19
Output จะได้ fix point ที่มีค่า s/r 0/6 อ่านได้ 0 1/6 ใช้ได้
0/6 อ่านได้ 0 1/6 ใช้ได้ 2/6 อ่านได้ 1/3 3/6 อ่านได้ 1/2 4/6 อ่านได้ 2/3 5/6 ใช้ได้ เวลาอ่าน output จะ collapse เป็นค่าใดค่าหนึ่ง ถ้าโชคดีได้ s ที่เป็น co-prime กับ r จะทำให้ s/r ไม่ถูกอ่านเป็นเศษส่วนอย่างต่ำ ก็จะหาค่า r ได้ โดยใช้ Continued Fractions Algorithm ยุบ circuit ปกติของ phase estimation (รูปข้างล่าง) เป็น xj mod N ได้
22
ทำเสร็จใน polynomial time
23
ตัวอย่างการใช้ Continued Fraction Algorithm
สมมติว่าประมาณค่า 𝑠 𝑟 ด้วย fixed point ได้ = 8,548 1,048,576 ให้เดาว่า 𝑠 𝑟 มีค่าเท่าใด เอามาจากตำราอีกเล่ม ตั้งชื่อตัวแปรไม่เหมือนกัน
24
a0 = 0 a1 = 122 a2 = 1 a3 = 2 a4 = 44 a5 = 5 a6= 3 p0 = 0 p1 = 1 p2 = 1 p3 = 3 p4 = 133 p5 = 668 p6= 2137 q0 = 1 q1 = 122 q2 = 123 q3 = 368 q4 = 16,315 q5 = 81,943 q6= 262,144 False True Don’t care พอเลย True ไปแล้วก็ตัดทิ้ง เดาว่า 𝑠 𝑟 คือ 8,548 1,048,576 = 3 368 =
25
สรุปคือใช้จำนวนบิตน้อยไปไม่ได้ ต้องใช้จำนวนบิตให้มากพอ
ใช้บิตน้อยไป (12 บิต) ในการประมาณค่า 3/368 ได้ หรือ 33/4,096 จะได้ s/r = 1/124 ใช้บิตมากไป (30 บิต) ในการประมาณค่า 3/368 ได้ หรือ 8,753,330/1,073,741,824 จะได้ s/r = 3/368 สรุปคือใช้จำนวนบิตน้อยไปไม่ได้ ต้องใช้จำนวนบิตให้มากพอ
26
ทฤษฎีนี้บอกว่าถ้า phase estimation algo
ทฤษฎีนี้บอกว่าถ้า phase estimation algo. ประมาณค่า s/r ได้ใกล้ๆ (ใช้จำนวนบิตมากพอ) continued fraction algo. จะหาค่า s/r ที่ถูกต้องได้ในเวลา O(L3)
27
เคสยาก ถ้าเป็น prime 2 ตัวคูณกัน โอกาสเจอยากมาก ที่ไม่ใช่ 1 หรือ N
เคสง่าย ใช้ classical computer ก็ทำได้ใน polynomial time ถ้าเป็น prime 2 ตัวคูณกัน โอกาสเจอยากมาก เคสยาก (ข้อสอบ) ถ้า r เป็นเลขคี่ให้เริ่มใหม่
28
แยกตัวประกอบ 15 เคส 3
29
แยกตัวประกอบ 15 เคส 4 สุ่มเลือก x = 7 ได้ r = 4 (มีโอกาสที่ r จะเป็นเลขคี่ ถ้าเป็นเลขคี่ fail ทันที) Note: มีวิธีคำนวณ xr mod N ให้ไม่ overflow, xr mod N = (x mod n)(x mod n)…(x mod n) จำนวน r ตัว
30
โอกาสสำเร็จ 3 / 4
31
512 (1/4) 1,024 (2/4) 1,536 (3/4) 2,048
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.