ควอนตัมคอมพิวเตอร์(Quantum Computer) คืออะไร?

Suppawat Boonrach
Microsoft Student Partners KMITL
5 min readAug 5, 2019

--

ก่อนที่จะลงในรายละเอียดของ “ควอนตัมคอมพิวเตอร์ (Quantum Computer)” ผมขออธิบายถึง “คอมพิวเตอร์แบบดั้งเดิม (Classical Computer)” ก่อนนะครับ ก่อนอื่นไปชมหน้าตาของ “ซุปเปอร์คอมพิวเตอร์ (Supercomputer)” ที่เป็น Classical Computer ที่เร็วที่สุดในปัจจุบันกับ Quantum Computer ที่เป็นคอมพิวเตอร์แห่งอนาคตครับ

มีวิดีโอสรุปอยู่ท้ายบทความด้วยนะ ใครไม่สะดวกอ่านสามารถข้ามไปดูได้เลย แต่ถ้าอยากได้เนื้อหาจริงๆแนะนำให้อ่านบทความดีกว่าครับ

รูปภาพ Supercomputer ที่ยังเป็น Classical Computer และ Quantum Computer

Supercomputer “IBM Summit” ที่เร็วที่สุดโลก ปี 2018, ที่มา https://www.theverge.com/circuitbreaker/2018/11/12/18087470/ibm-summit-sierra-supercomputer-us-fastest
Supercomputer คาดว่าจะเร็วที่สุดในโลก ที่กำลังอยู่ในระหว่างการผลิตจากทาง Cray ผู้ผลิต Supercomputer และ AMD ผู้ผลิต CPU โดยเครื่องนี้จะสร้างเสร็จภายในปี 2021, ที่มา https://www.theverge.com/2019/5/7/18535078/worlds-fastest-exascale-supercomputer-frontier-amd-cray-doe-oak-ridge-national-laboratory
Quantum Computer “IBM Q” ที่มา https://www.inverse.com/article/37762-quantum-computer-spin-liquid

บทนำ

ภาพ Die ของ AMD EPYC ใช้กระบวนการผลิตขนาด 7nm, ที่มา https://arstechnica.com/gadgets/2017/12/amd-epyc-processors-coming-to-azure-virtual-machines/

ปัจจุบันคอมพิวเตอร์ที่พวกเราใช้งานอยู่นั้นจะเป็น Classical Computer ที่ใช้ “หน่วยประมวลกลาง(Central Processing Unit : CPU)” ที่มี Transistor เป็นอุปกรณ์ในการเก็บค่า “บิท(bit)” ที่เป็นเลขฐานสองในการเก็บค่าสถานะทางดิจิทัล ยกตัวอย่างเช่น เลข 0 ในการเก็บสถานะปิด(Off) และ 1 ในการเก็บสถานะเปิด(On)

การใช้งาน FET เป็น Logic gate แบบ NAND Gate ที่มา https://www.electronics-tutorials.ws/logic/logic_1.html

อ่านเพิ่มเติมเกี่ยวกับ Digital Logic Gates

https://www.electronics-tutorials.ws/logic/logic_1.html

แผนภาพอธิบายพัฒนาการของ FeT, ที่มา https://www.researchgate.net/publication/228083157_Are_Nanotube_Architectures_More_Advantageous_Than_Nanowire_Architectures_For_Field_Effect_Transistors/figures?lo=1

อ่านเพิ่มเติมเกี่ยวกับ Transistor ชนิด Field-effect Transistor(FET)

https://www.electronics-notes.com/articles/electronic_components/fet-field-effect-transistor/what-is-a-fet-types-overview.php

และจะเพิ่มประสิทธิภาพด้วยการลดขนาดกระบวนการผลิตลงไปเรื่อยๆ เพื่อให้ Transistor สามารถบรรจุลงในพื้นที่ของ Silicon Wafer ได้เยอะขึ้น(เพิ่มความหนาแน่นต่อหนึ่งหน่วยพื้นที่นั่นเอง) ตาม “กฎของมัวร์ (Moore’s Law)” ที่ Gordon Moore ผู้ร่วมก่อตั้งอินเทล(intel) ผู้ผลิตซีพียูรายใหญ่ ได้กล่าวไว้ว่า “จำนวนทรานซิสเตอร์จะเพิ่มขึ้นเป็นสองเท่าทุกๆสองปี”

คุณ Gordon Moore ผู้ร่วมก่อตั้งบริษัท Intel เจ้าของ Moore’s Law, ที่มา https://newsroom.intel.com/news/intel-50-gordon-moore-founding-intel/#gs.toc91p
แผนภาพแสดงความเป็นไปตามกฎของมัวร์ โดยเทียบจำนวนของ Transistor กับปีที่เปลี่ยนแปลงไปทุกๆสองปี ที่มา https://ourworldindata.org/uploads/2019/05/Transistor-Count-over-time-to-2018.png

ซึ่งการเพิ่มจำนวน Transistor นี้เองที่จะทำให้ CPU สามารถเก็บ Bit ได้จำนวนเยอะขึ้น นอกจากนี้ส่งผล Electron สามารถเคลื่อนที่ในระยะที่สั้นลงอีกด้วย ทำให้ประสิทธิภาพในการประมวลผลโดยรวมของ CPU เพิ่มขึ้นนั่นเองครับ

อย่างไรก็ตาม การกระบวนการผลิตชิป(Fabrication) นั้นก็เป็นดาบสองคมครับ เมื่อถึง ณ จุดหนึ่งแล้ว การ Fabrication ด้วยวิธีการ Lithography(การทำลวดลายวงจร) บน Silicon Wafer ที่ยากขึ้นและมีความเสี่ยงที่จะไม่สมบูรณ์สูง รวมไปถึงวัสดุที่มาใช้ทำ Transistor ที่จะใช้ในวงจร เมื่อเล็กลงมากๆ Electron จะเกิดพฤติกรรมที่เรียกว่า “การทะลุผ่านของอิเล็กตรอน (Quantum Tunneling)” กล่าวคือ Electron จะทะลุผ่าน Transistor ตัวหนึ่งไปยังอีกตัวหนึ่งได้เลย เกิดการลัดวงจร(Short Circuit) ทำให้การเก็บสถานะของบิทนั่นไม่เสถียรครับ

แผนภาพอธิบายการเกิด Quantum Tunneling ใน Quantum Mechanics ที่ Electron สามารถทะลุผ่าน Potential Wall ไปยัง Quantum Well อีกอันได้เลย เทียบกับ Classical Mechanics ที่ Electron ต้องเคลื่อนที่ข้าม Potential Wall ก่อนที่จะไปยัง Quantum Well อีกอันหนึ่งได้, ที่มา https://cosmosmagazine.com/physics/quantum-tunnelling-is-instantaneous-researchers-find

สำหรับงานวิจัยใหม่ๆยังมีการผลิต Transistor ชนิด CNTFET (ใช้ Carbon Nanotube) ในกระบวนการผลิตขนาด 5 นาโนเมตร บน Silicon Wafer จากทางไอบีเอ็ม(IBM) [1][2]

โครงสร้างของท่อคาร์บอนนาโนชนิดผนังชั้นเดียว(SWCNT) และผนังหลายชั้น(MWCNT), ที่มา https://www.researchgate.net/publication/263740854_Nanostructures_A_Platform_for_Brain_Repair_and_Augmentation/figures?lo=1
ภาพโครงสร้างของ CNTFET ด้วยวิธีการ Scanning Electron Microscopy ที่มา https://www.cnet.com/news/ibm-brings-carbon-nanotube-based-computers-a-step-closer/
นักวิจัย IBM ถือ Silicon Wafer ที่มี CNTFET ขนาด 5nm, ที่มา IBM Research

แต่ในขณะเดียวกันก็มีงานวิจัยที่มองไปไกลกว่านั้นอีกครับ นั่นก็คือ “คอมพิวเตอร์ควอนตัม (Quantum Computer)” นั่นเอง

ว่าด้วย Quantum Computer

เกริ่นนำไปกับ Classical Computer ซะเยอะเลย เราจะเข้าสู่เนื้อหาของ Quantum Computer กันแล้วนะครับ ว่ามีที่ไปที่มาอย่างไร และ Quantum Computer เป็นอย่างไรกันแน่นะ…

ที่มา https://www.sciencenews.org/article/quantum-computers-are-about-get-real

Quantum Computer คืออะไร?

Quantum Computer เป็น Computer ที่สร้างบนพื้นฐานของ “กลศาสตร์ควอมตัม(Quantum Mechanics)” แทนที่จะเป็น “กลศาสตร์ดั้งเดิม(Classical Mechanics)” แบบ Classical Computer [3] ที่แสนล้ำหน้ายิ่งกว่า Supercomputer ในยุคนี้และยุคหน้าเลยทีเดียว [4]

D-wave คือ Quantum Computer ที่จำหน่ายเชิงพาณิชย์เป็นเครื่องแรก ที่มา https://www.theverge.com/circuitbreaker/2017/1/25/14390182/d-wave-q2000-quantum-computer-price-release-date

ฟิสิกส์ของ Quantum Computer

ว่าด้วย Quantum Mechanics หรือ Quantum Physics เป็นศาสตร์ที่ใช้อธิบายปรากฏการณ์ของสิ่งที่อยู่ในระดับที่เล็กกว่าอะตอมได้อย่างแม่นยำกว่ากลศาสตร์แบบดั้งเดิม เพราะพฤติกรรมของสิ่งที่เล็กกว่าระดับอะตอมนั้นแปลกไปจากปกติมากๆ จนทำให้กลศาสตร์แบบดั้งเดิมไม่สามารถคำนวณหรือทำนายปรากฏการณ์ดังกล่าวได้เลย

สมการในตำนาน Schrodinger’s Equation ใครเคยเรียน Quantum Mechanics น่าจะคุ้นเคยกันดี ที่มา https://www.edx.org/learn/quantum-physics-mechanics

ก่อนที่จะลงลึกไปกว่านี้ ผมจะขออธิบายเฉพาะในส่วนที่เกี่ยวข้องกับ Quantum Computer เท่านั้นนะครับ สำหรับ Keywords ทาง Quantum Mechanics ที่เกี่ยวข้องกับ Quantum Computer [5] จะมีดังนี้ครับ

  1. Superposition = การซ้อนทับกันของทั้งสองสถานะ
  2. Collapse = การพังทลาย
  3. Entanglement = อนุภาคแต่ละอนุภาคไม่เป็นอิสร่ะต่อกัน
  4. Uncertainly = ความไม่แน่นอน

เคล็ดลับของการประมวลขั้นเทพของ Quantum Computer ก็คือมันสามารถสร้าง Qubit ขึ้นมาได้นั่นเอง[6 ] แล้ว Qubit มันคืออะไรหว่า…

Qubit คืออะไร?

Qubit คือสิ่งที่ใช้ในการเก็บสถานะทางดิจิทัล ซึ่งแตกต่างๆจาก bit ธรรมดาตรงที่สามารถเก็บสถานะทางดิจิทัล 0 และ 1 ได้ในเวลาเดียวกัน โดยอาศัยหลักการ Superposition ของอนุภาค ไม่ว่าจะเป็นอนุภาคของแสงหรืออิเล็กตรอน ซึ่งมีสมบัติเป็น Duality(ทวิภาค) ที่สามารถประพฤติตนเป็นแสงหรือคลื่นก็ได้ โดย ณ ที่นี้จะประพฤติตนเป็นแสงเพื่อแสดงสมบัติการ Superposition ได้แบบแสงนั่นเองครับ(ตามสมบัติการแทรกสอดแบบเสริมของแสง)

เปรียบ Digital State ระหว่าง Classical Computer ที่จะเป็น 0 หรือ 1 อย่างใดอย่างหนึ่งในเวลาเดียวกันเท่านั้น ขณะที่ Quantum Computer จะเป็นไปในลักษณะของ Superposition ที่มีสองสถานะในเวลาเดียวกัน ที่มา https://www.sintef.no/en/projects/quantum-computing/

สำหรับการใช้งานจริงใน Quantum Computer จะใช้ วัสดุตัวนำไฟฟ้ายิ่งยวด(Superconductor) มาสร้างเป็นวงจรตัวนำยิ่งยวด(Superconducting Circuit) แล้วนำไปไว้ในถังสุญญากาศ ให้อุณหภูมิเข้าใกล้จุด “ศูนย์องศาสัมบูรณ์(Absolute Zero Degree)” หรือ 0 องศาเคลวิน หรือ -273.15 องศาเซลเซียส นั่นเอง ซึ่งเย็นซะยิ่งกว่าในอวกาศซะอีก หลังจากนั่นจะทำการดักจับอนุภาคในวงจรด้วยสนามแม่เหล็กไฟฟ้า(Electromagnetic Field) เพื่อทำการควบคุมอนุภาคในการจัดเก็บสถานะในแบบ Qubit ครับ

อุปกรณ์ของ Google ซึ่งเป็น Qubit จำนวน 9 หน่วย ที่มา Julian Kelly/Google

นอกจากนี้ Qubit ยังมีสมบัติของ “การพัวพันเชิงควอนตัม(Quantum Entanglement)” จากที่เกริ่นไปเพียงเล็กในหัวข้อก่อนหน้า การที่อนุภาคมีสมบัติที่ไม่เป็นอิสระต่อกัน แต่ยังมีอันตรกิริยาต่อกันอยู่ กล่าวคือ หาก Qubit สองตัวที่อยู่ห่างกันคนละที่ อีกตัวหนึ่งสถานะเปลี่ยน อีกตัวก็จะเปลี่ยนตาม ซึ่งในปัจจุบันยังไม่มีใครเข้าใจว่ามันมีกลไกการทำงานอย่างไรกันแน่…

อีกสิ่งที่จะไม่พูดถึงไม่ได้เลยคือ Decoherent

Decoherent => การที่ปัจจัยทางสิ่งแวดล้อมเข้ามารบกวนการทำงานของ Qubit ไม่ว่าจะเป็นอุณหภูมิหรือการสั่นต่างๆ จะทำให้มีการประมวลผลของ Quantum Computer มีความผิดพลาดเกิดขึ้น สำหรับการป้องกันเบื้องต้นคือควบคุมห้องสุญญากาศที่บรรจุวงจรประมวลผล Qubit ให้ดีไม่ว่าจะเป็นอุณหภูมิหรือความดัน หรือการแก้ไขปัญหาโดยใช้ Smart Quantum Algorithms ในการชดเชยค่าของผลที่ประมวลได้ไป โดยเพิ่มจำนวน Qubit เข้ามาช่วยประมวลผลในจุดนี้นี่เอง[7]

อ่านเพิ่มเติมเกี่ยวกับ Smart Quantum Algorithms

https://www.technologyreview.com/s/611139/the-worlds-first-quantum-software-superstore-or-so-it-hopes-is-here/

คณิตศาสตร์เบื้องต้นของ Quantum Computer[8]

นักฟิสิกส์ได้ประดิษฐ์ตัวแบบทางคณิตศาสตร์ขึ้นมา ซึ่งเป็นที่มาของ “Qubit” สามารถเขียนอธิบายได้ดังนี้

α|0> + β|1> โดยสัญลักษณ์ | > เรียกว่า ket

ค่าที่อยู่ภายใน ket คือสถานะที่เป็นไปได้ เช่น ในกรณีนี้สถานะที่เป็นไปได้ของ Qubit คือ 0 หรือ 1

ส่วน α และ β คือแอมพลิจูด (amplitude) เป็นจำนวนเชิงซ้อน (complex number) ที่มีเงื่อนไข ว่า|α|2 + |β|2 = 1 สาเหตุที่ผลรวมต้องได้ 1 เพราะ |α|2 คือความน่าจะเป็นที่ถ้าเราวัดจะสังเกตเห็น สถานะ |0> และ|β|2 คือความน่าจะเป็นที่เราวัดจะสังเกตเห็นสถานะ |1> แต่ถ้าเราไม่วัด Qubit จะอยู่ในสถานะที่เรียกว่า superposition คือเป็นทั้ง |0> และ |1> ในเวลาเดียวกัน โดยมีแอมพลิจูด α และ β การวัดจะทำให้ superposition พัง (collapse) แล้วสถานะของคิวบิตจะกลายเป็น |0> หรือ |1> ตามความน่าจะเป็น สาเหตุที่ต้องใช้จำนวนเชิงซ้อน เพื่อที่จะแทนทั้งแอมพลิจูด (amplitude) และเฟส (phase) ของคลื่น

การใช้งานและโปรแกรมมิ่ง Quantum Computer

ปัจจุบัน การใช้งาน Quantum Computer มักจะทำผ่าน Cloud Computing เป็นหลักผ่านทาง Platform ของผู้ให้บริการ ดังตัวอย่างข้างล่างนี้ครับ

IBM Q Experience => เป็น Python-based สามารถรันผ่าน Qiskit Notebooks(น่าจะเบสมาจาก Jupyter Notebook 555) บนแพลตฟอร์มได้เลย

หน้าหลักของผู้ใช้บน IBM Q Experience

รายละเอียดเพิ่มเติม

https://quantum-computing.ibm.com/

Rigetti => อันนี้ เป็น Python-based สามารถลง Library แล้วลองโปรแกรมมิ่งผ่าน Python IDE ได้เลย

Homepage ของ Rigetti

รายละเอียดเพิ่มเติม

https://www.rigetti.com/

https://medium.com/rigetti/how-to-write-a-quantum-program-in-10-lines-of-code-for-beginners-540224ac6b45

Microsoft Quantum Development Kit => ใช้ภาษาใหม่ที่ทางไมโครซอฟท์พัฒนาขึ้นมาก็คือ ภาษา Q# สามารถรันผ่าน Q# notebook หรือ plug-in ของ Microsoft Visual Studio ก็ได้ครับ

รายละเอียดเพิ่มเติม

https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview

อ่านเพิ่มเติมเกี่ยวกับการใช้งานและการโปรแกรมมิ่งบน Quantum Computer

เกี่ยวกับ D-wave

https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer

เกี่ยวกับ IBM Q

https://www.research.ibm.com/ibm-q/

เกี่ยวกับ Google AI Quantum

https://ai.google/research/teams/applied-science/quantum-ai/

เกี่ยวกับ Microsoft Quantum Computing

https://www.microsoft.com/en-us/quantum

เปรียบเทียบกับ Classical Computer[9]

  • Classic Computer คือการลดขนาด ลดกระบวนการผลิตและเพิ่มจำนวนทรานซิสเตอร์ จนไม่สามารถลดขนาดลงและรักษาความเสถียรได้ จน Electron เกิดการ Tunneling
  • Quantum Computer คือการเพิ่มขนาด โดยเพิ่มจำนวน Qubit ขึ้นเรื่อยๆจนไม่สามารถเพิ่มจำนวนและรักษาความเสถียรได้

บทส่งท้าย

Quantum Computer ในปัจจุบันยังเป็นเพียงแค่การเริ่มต้นเท่านั้น เหมาะสมต่อการใช้งานคือการใช้งานในการคำนวณเป็นหลัก และยังคงอีกยาวนานมากๆกว่าจะเข้าสู่ตลาดผู้ใช้ทั่วไปอย่างเราๆ สำหรับใครที่อยากลองเล่นดู ลองโปรแกรมมิ่งผ่าน Cloud Computing ตามที่แนะนำไปด้านบนได้ครับ
แต่ในอนาคต Quantum Computer เป็นที่จับตามองอย่างมากในการนำมาใช้ขับเคลื่อนเทคโนโลยีและระบบต่างๆ ไม่ว่าจะเป็น Artificial Intelligence, Autonomous Vehicle และ Robotics ในจุดนี้พวกเราได้แต่เฝ้าจับตามองกันต่อไป ว่ามันจะสามารถขับเคลื่อนมวลมนุษย์ไปได้ไกลเพียงใด…

D-Wave quantum computing chip ที่มา TIRIAS Research

และหวังว่าบทความนี้จะเป็นประโยชน์ต่อผู้อ่านไม่มากก็น้อยครับ หากมีข้อผิดพลาดหรืออยากเพิ่มเติมตรงไหนสามารถบอกได้เลยครับผม

วิดีโอสรุปบทความ หนึ่งในโปรเจค NaNo Tutor x MSP KMITL ครับ

วิดีโอสรุปบทความ หนึ่งในโปรเจคร่วมกับ NaNo Tutor ครับ

และจะมีบทความ “Quantum Information” หรือ “สารสนเทศเชิงควอนตัม” ตามมาเร็วๆนี้ครับ

References

[1] https://www.zdnet.com/article/ibms-breakthrough-worlds-first-5nm-chip-that-one-day-could-power-samsung-phones/

[2] https://www.ibm.com/blogs/research/2017/07/cnt-breakthroughs/

[3][5] https://people.maths.bris.ac.uk/~csxam/teaching/history.pdf

[4][6][7] https://www.technologyreview.com/s/612844/what-is-quantum-computing/

[8] http://pioneer.netserv.chula.ac.th/~achatcha/2301274/MyBook_15_QuantumComputation.pdf

[9] https://medium.com/scale360-engineering/quantum-computer-2fde1b21427e

--

--

Suppawat Boonrach
Microsoft Student Partners KMITL

A hybrid Robotic/Chemical Engineer with Nano Engineering Degree