Quantum Computing เบื้องต้น : Getting Started

Natchapol Patamawisut
4 min readDec 30, 2020

--

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 ก็มีระดับชั้นพลังงานอยู่หลายชั้นด้วยกัน

Hydrogen Atom, Atomic Structure (nmsu.edu)

ดังนั้นถ้าเราต้องการจะใช้ Atom แทน Bit เราสามารถทำได้โดยการ Encode แต่ละ Energy States เป็น Bit แต่ละค่า

Energy state encoding example

ซึ่งในการใช้งานจริง ๆ เราไม่สามารถวัดค่าได้ 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)

Ket Notation
Normalized

ค่าสัมประสิทธิ์ของ 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

Two Qubits system

|Ψ⟩ = α₀₀|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 ไว้ได้เลยครับ ขอบคุณทุกคนครับ

--

--

Natchapol Patamawisut

Studying Computer Engineering at King Mongkut's University of Technology Thonburi