Quantum Computing เบื้องต้น : Getting Started
Quantum Computing คือหนึ่งในหัวข้อที่เป็นที่พูดถึงในวงการเทคโนโลยีหลายปีมาแล้ว หลาย ๆ คน แค่เห็นชื่อก็รู้สึกว่ามันยากเกินกว่าที่จะศึกษา ซึ่งความจริงอาจจะไม่ใช่อย่างที่คิดก็เป็นได้
วันนี้ ในฐานนะที่ผมเป็นเด็กมหาลัยคนหนึ่งที่เคยรู้สึกแบบนั้นเหมือนกัน และ ได้เริ่มศึกษาสิ่งนี ้แม้อาจจะยังไม่ใช่ผู้เชี่ยวชาญ ก็อยากที่จะมาแชร์ความรู้ในด้านนี้ให้เพื่อน ๆ ที่สนใจได้ลองดูกันครับ
โดยใน Blog นี้จะเป็นเรื่องของพื้นฐานทางด้าน Quantum Computing ล้วน ๆ ซึ่งต้องขอบอกไว้ก่อนว่าจะไม่มีการลงไปในด้าน Quantum Mechanics เยอะ เนื่องจากว่าตัวผมเองก็ไม่ค่อยจะรู้เรื่อง😅 แต่จะเน้นการอธิบาย และ เปรียบเทียบในเชิง Computing เป็นหลัก
ก่อนที่จะเข้าเรื่องของเรา ถ้าใครยังไม่รู้ว่า Quantum Computer คืออะไรสามารถติดตามใน Blog ของพี่นัวเนียได้เลยครับ
Using electron to represent a Bit
ใน Quantum Computer เราจะใช้ชั้นพลังงานของ Electron แทน Bit บน Computer แบบเดิม
โดยพลังงานของ Electron ใน Atom จะเป็น Quantized กล่าวคือ มีลักษณะเป็นชั้น ๆ ซึ่งใน Atom ก็มีระดับชั้นพลังงานอยู่หลายชั้นด้วยกัน
ดังนั้นถ้าเราต้องการจะใช้ Atom แทน Bit เราสามารถทำได้โดยการ Encode แต่ละ Energy States เป็น Bit แต่ละค่า
ซึ่งในการใช้งานจริง ๆ เราไม่สามารถวัดค่าได้ 100% ว่า Energy State ในขณะนี้อยู่ใน State ไหน แต่เราสามารถบอกเป็นความน่าจะเป็นได้ เช่น
Probability Ground State : 1/3
Probability Excited State : 2/3
Quantum Bit (Qubit)
Qubit เปรียบได้กับ Bit ที่เป็นหน่วยของข้อมูลที่เล็กที่สุดใน Classical Computer Qubit ก็เป็นหน่วยของข้อมูลที่เล็กที่สุดใน Quantum Computer เช่นเดียวกัน
โดย Qubit เป็น Bit ที่เราจะเขียนในรูปของ Complex Amplitude (เป็น Superposition)
ค่าสัมประสิทธิ์ของ Qubit สามารถสื่อได้ว่า มีโอกาสอยู่ใน Ground State |0⟩ ด้วย Probability |α|² และมีโอกาสอยู่ใน Excited State |1⟩ ด้วย Probability |β|² ซึ่งสัมประสิทธิ์จะมีลักษณะ Normalized ดังภาพ
ซึ่งเราสามารถแสดง Qubit ให้อยู่ในรูปของ Vector ได้
เมื่อสามารถแสดงในลักษณะ Vector ก็ทำให้ใน Qubit แต่ละแบบ เราสามารถเขียนออกมาในลักษณะนี้ได้
โดยที่ α = cosθ และ β = sinθ
Measurement
|Ψ⟩ = cosθ|0⟩ + sinθ|1⟩
Measurement คือ การตรวจสอบ State ของ Qubit |Ψ⟩ ซึ่งในการวัดจะพบ |0⟩ ด้วย Probability |α|² หรือ cos²θ และ |1⟩ ด้วย Probability |β|² หรือ sin²θ
โดยใน Measurement เราสามารถทำด้วย Basis อื่นได้ไม่ใช่แค่ |0⟩ และ |1⟩ สมมุติ Arbitrary Basis : |u⟩ = 1/√2|0⟩ + 1/√2|1⟩, |u˔⟩ = -1/√2|0⟩ + 1/√2|1⟩
ในกรณีนี้เมื่อทำการวัดจะพบ |u⟩ ด้วย Probability |α|² หรือ cos²θ และ |u˔⟩ ด้วย Probability |β|² หรือ sin²θ แทน
**การทำ Measurement จะทำให้ State ของ Qubit เปลี่ยนแปลงไป เป็น New State ตาม State ที่เราสังเกต
Two Qubits
ในระบบที่มี Qubit มากกว่า 1 Qubit จำนวน State ก็จะเปลี่ยนไปด้วยเช่นกัน ซึ่งในระบบ 2 Qubits จะมีทั้งหมด 4 States
|Ψ⟩ = α₀₀|00⟩ + α₀₁|01⟩ + α₁₀|10⟩ + α₁₁|11⟩ ; αₓ ϵ ℂ, Σ|αₓ|² = 1
โดยเราสามารถทำ Measurement ได้เหมือนกับในระบบ 1 Qubit คือ
P[ij] = |αᵢⱼ|²
แต่เราจะสามารถ Measure ได้แค่ทีละ 1 Qubit เท่านั้น เช่นเมื่อเรา Measure State 0 จะได้เป็น
P[0] = |α₀₀|² + |α₀₁|² (Measure แค่ Qubit หน้า 1 Qubit เท่านั้น)
และ เนื่องจากใน Measurement มีการรบกวน State เดิมก็จะได้ New State ดังนี้
|Ψˊ⟩ = (α₀₀|00⟩ + α₀₁|01⟩) /√(|α₀₀|² + |α₀₁|²)
เป็น State ที่ตัด State 1 ออก และ ทำการ Normalize ค่าสัมประสิทธิ์
Composite System
จาก Two Qubits System ในกรณีที่เรารู้ State ของ แต่ละ Qubit เดี่ยว ๆ เราสามารถหา Composite State ของสอง Qubits ได้
Q1 =α₀|0⟩ + α₁|1⟩
Q2 =β₀|0⟩ + β₁|1⟩
Composite State หาได้โดยการนำแต่ละ Qubit มาทำ Tensor Product กัน
Q1 ⊗ Q2 = (α₀|0⟩ + α₁|1⟩)⊗(β₀|0⟩ + β₁|1⟩) = α₀β₀|00⟩ + α₀β₁|01⟩ + α₁β₀|10⟩ + α₁β₁|11⟩
ในการเปลี่ยนจาก Individual State เป็น Composite State สามารถทำได้โดย Tensor Product **แต่การเปลี่ยนจาก Composite State เป็น Individual State อาจจะทำไม่ได้ในบางกรณี เช่น |Ψ⟩ = 1/√2|00⟩ + 1/√2|11⟩ ซึ่งคุณสมบัติที่ไม่สามารถแยก Composite State เป็น Individual State ได้นี้เรียกว่า Entanglement
Measuring the Bell State
Bell State เป็นสภาวะที่ Qubit เกิด Entangle ระหว่างกันทำให้การ Measure State ไม่ว่าจะเป็นใน Qubit ไหนจะให้ค่าที่เท่ากัน
ตัวอย่างของ Bell State
|Ψ⟩ = 1/√2|00⟩ + 1/√2|11⟩
เมื่อทำ Measurement
P[0] = P[0j] = P[i0] = P[00] = 1/2 : New State |Ψˊ⟩ = |00⟩
P[1] = P[1j] = P[i1] = P[11] = 1/2 : New State |Ψˊ⟩ = |11⟩
จะเห็นได้ว่าพอเป็น Bell State แล้ว ไม่ว่าจะเป็น Measurement ที่ Qubit ไหนก็จะได้ผลที่เหมือนกัน
ซึ่งทฤษฎีนี้ทำให้เกิดแนวคิด Quantum Teleportation ขึ้น ก็คือการมี 2 Qubits ที่อยู่ห่างกัน แต่เรารู้ได้ว่าทั้ง 2 Qubits นั้นเมื่อทำ Measurement แล้วจะได้ค่าที่เท่ากัน
Rotational Invariance
Rotational Invariance เป็นคุณสมบัติหนึ่งของ Qubits ที่อยู่ใน Bell State คือ เราสามารถเปลี่ยน Bell State นั้นเป็น Basis อื่น ๆ ได้เลย
|Ψ⟩ = 1/√2|00⟩ + 1/√2|11⟩ = 1/√2|uu⟩ + 1/√2|u˔u˔⟩
ทำให้เราสามารถ Measure ใน Basis อื่นได้ง่าย
ก็จบกันไปแล้วกับทฤษฎีเบื้องต้นของ Quantum Computing ใน Blog ต่อไปจะขึ้นเรื่องของ Quantum Gate และ Quantum Algorithms แล้ว ถ้าใครมีข้อติชมตรงไหนก็สามารถ Response ไว้ได้เลยครับ ขอบคุณทุกคนครับ