ขั้นที่ 1 จาก 4
พื้นฐานควอนตัม
คิวบิตคืออะไร ต่างจากบิตอย่างไร และทำไมยิ่งเพิ่มคิวบิต คอมพิวเตอร์ควอนตัมยิ่งจำลองได้ยาก
เขียนโดย Bhumipat Nunthaboct
บิตคือสวิตช์ คิวบิตคือทิศทาง
บิตแบบดั้งเดิมเป็น 0 หรือ 1 เสมอ ส่วนคิวบิตอธิบายด้วยแอมพลิจูดสองค่า ค่าหนึ่งสำหรับ 0 อีกค่าสำหรับ 1 จึงอยู่ในสภาวะซ้อนทับ (superposition) ของทั้งสองได้ เมื่อวัดจะได้ 0 หรือ 1 เพียงค่าเดียว ด้วยความน่าจะเป็นที่กำหนดโดยแอมพลิจูดเหล่านั้น
- 1บิตเป็น 0 หรือ 1บิตแบบดั้งเดิมอยู่ในสถานะเดียวที่แน่นอนเสมอ การอ่านค่าไม่ทำให้ค่าเปลี่ยน
- 2คิวบิตอยู่ระหว่างกลางได้สถานะของคิวบิตเป็นการผสมกันของ 0 และ 1 มุมของลูกศรกำหนดว่าผลแต่ละแบบมีโอกาสออกเท่าไร
- 3การวัดบังคับให้เลือกการวัดได้ 0 หรือ 1 แบบสุ่มตามความน่าจะเป็นนั้น และสถานะระหว่างกลางหายไป วัดซ้ำจะได้คำตอบเดิม
บิตแบบดั้งเดิม
มีสองสถานะ การอ่านค่าไม่ทำให้ค่าเปลี่ยน
คิวบิต
ปรับมุมสถานะ แล้วลองวัด การวัดแต่ละครั้งได้คำตอบเดียว
- P(|0⟩)
- 75%
- P(|1⟩)
- 25%
ภาพนี้ย่อให้ง่าย สถานะคิวบิตจริงมี phase ด้วย (นึกภาพเป็นทรงกลม ไม่ใช่วงกลม) phase คือสิ่งที่ทำให้อัลกอริทึมควอนตัมหักล้างคำตอบที่ผิดออกไปได้
| คุณสมบัติ | บิต | คิวบิต |
|---|---|---|
| สถานะที่เป็นได้ | 0 หรือ 1 | ผลรวมแบบถ่วงน้ำหนักของ 0 และ 1 |
| การอ่านค่า | ไม่ทำให้ค่าเปลี่ยน | ได้ 0 หรือ 1 และสภาวะซ้อนทับหายไป |
| การคัดลอก | คัดลอกได้อิสระ | ทำไม่ได้ (no-cloning theorem) |
| n ตัวอธิบายได้ | ค่าเดียวจาก 2ⁿ ค่าในแต่ละขณะ | แอมพลิจูด 2ⁿ ค่าพร้อมกัน |
| ความผิดพลาด | เกิดน้อยมาก | เปราะบาง ต้องมี error correction ใช้คิวบิตกายภาพหลายตัวต่อคิวบิตตรรกะที่เชื่อถือได้ 1 ตัว |
n คิวบิต = แอมพลิจูด 2ⁿ ค่า
ทุกคิวบิตที่เพิ่มขึ้น ทำให้จำนวนแอมพลิจูดที่ต้องใช้อธิบายระบบเพิ่มเป็นสองเท่า การเติบโตแบบเอกซ์โพเนนเชียลนี้คือเหตุที่คอมพิวเตอร์ควอนตัมจำลองได้ยาก และเป็นที่มาของพลังของมัน
24 =แอมพลิจูดที่ต้องติดตาม
แต่ละช่องคือแอมพลิจูดหนึ่งค่า
ความเชื่อคอมพิวเตอร์ควอนตัมลองทุกคำตอบพร้อมกัน
ความจริงการวัดให้คำตอบเดียว ความเร็วที่เหนือกว่ามาจากการแทรกสอด (interference) และใช้ได้กับปัญหาที่มีโครงสร้างทางคณิตศาสตร์เหมาะสมเท่านั้น
ความเชื่อคอมพิวเตอร์ควอนตัมจะเร็วกว่าในทุกงาน
ความจริงงานส่วนใหญ่ไม่ได้เร็วขึ้นเลย ภัยต่อการเข้ารหัสมาจากอัลกอริทึมเฉพาะสองตัว
เจาะลึกเชิงเทคนิค
สถานะของคิวบิตคือ |ψ⟩ = α|0⟩ + β|1⟩ โดย α และ β เป็นแอมพลิจูดจำนวนเชิงซ้อนที่ |α|² + |β|² = 1 การวัดจะได้ 0 ด้วยความน่าจะเป็น |α|² และได้ 1 ด้วยความน่าจะเป็น |β|²
เมื่อไม่นับ global phase ที่สังเกตไม่ได้ สถานะของคิวบิตเดี่ยวใดๆ เขียนได้เป็น cos(θ/2)|0⟩ + e^{iφ} sin(θ/2)|1⟩ ซึ่งคือจุดบนทรงกลม Bloch เดโมแสดงเฉพาะ θ (φ = 0)
สถานะของ n คิวบิตต้องใช้แอมพลิจูดเชิงซ้อน 2ⁿ ค่า การเก็บ 50 คิวบิตแบบแม่นยำด้วย double precision ใช้ 2⁵⁰ × 16 ไบต์ ≈ 18 PB