ควอนตัมคอมพิวเตอร์(Quantum Computer) คืออะไร?
ก่อนที่จะลงในรายละเอียดของ “ควอนตัมคอมพิวเตอร์ (Quantum Computer)” ผมขออธิบายถึง “คอมพิวเตอร์แบบดั้งเดิม (Classical Computer)” ก่อนนะครับ ก่อนอื่นไปชมหน้าตาของ “ซุปเปอร์คอมพิวเตอร์ (Supercomputer)” ที่เป็น Classical Computer ที่เร็วที่สุดในปัจจุบันกับ Quantum Computer ที่เป็นคอมพิวเตอร์แห่งอนาคตครับ
มีวิดีโอสรุปอยู่ท้ายบทความด้วยนะ ใครไม่สะดวกอ่านสามารถข้ามไปดูได้เลย แต่ถ้าอยากได้เนื้อหาจริงๆแนะนำให้อ่านบทความดีกว่าครับ
รูปภาพ Supercomputer ที่ยังเป็น Classical Computer และ Quantum Computer
บทนำ
ปัจจุบันคอมพิวเตอร์ที่พวกเราใช้งานอยู่นั้นจะเป็น Classical Computer ที่ใช้ “หน่วยประมวลกลาง(Central Processing Unit : CPU)” ที่มี Transistor เป็นอุปกรณ์ในการเก็บค่า “บิท(bit)” ที่เป็นเลขฐานสองในการเก็บค่าสถานะทางดิจิทัล ยกตัวอย่างเช่น เลข 0 ในการเก็บสถานะปิด(Off) และ 1 ในการเก็บสถานะเปิด(On)
อ่านเพิ่มเติมเกี่ยวกับ Digital Logic Gates
อ่านเพิ่มเติมเกี่ยวกับ Transistor ชนิด Field-effect Transistor(FET)
และจะเพิ่มประสิทธิภาพด้วยการลดขนาดกระบวนการผลิตลงไปเรื่อยๆ เพื่อให้ Transistor สามารถบรรจุลงในพื้นที่ของ Silicon Wafer ได้เยอะขึ้น(เพิ่มความหนาแน่นต่อหนึ่งหน่วยพื้นที่นั่นเอง) ตาม “กฎของมัวร์ (Moore’s Law)” ที่ Gordon Moore ผู้ร่วมก่อตั้งอินเทล(intel) ผู้ผลิตซีพียูรายใหญ่ ได้กล่าวไว้ว่า “จำนวนทรานซิสเตอร์จะเพิ่มขึ้นเป็นสองเท่าทุกๆสองปี”
ซึ่งการเพิ่มจำนวน Transistor นี้เองที่จะทำให้ CPU สามารถเก็บ Bit ได้จำนวนเยอะขึ้น นอกจากนี้ส่งผล Electron สามารถเคลื่อนที่ในระยะที่สั้นลงอีกด้วย ทำให้ประสิทธิภาพในการประมวลผลโดยรวมของ CPU เพิ่มขึ้นนั่นเองครับ
อย่างไรก็ตาม การกระบวนการผลิตชิป(Fabrication) นั้นก็เป็นดาบสองคมครับ เมื่อถึง ณ จุดหนึ่งแล้ว การ Fabrication ด้วยวิธีการ Lithography(การทำลวดลายวงจร) บน Silicon Wafer ที่ยากขึ้นและมีความเสี่ยงที่จะไม่สมบูรณ์สูง รวมไปถึงวัสดุที่มาใช้ทำ Transistor ที่จะใช้ในวงจร เมื่อเล็กลงมากๆ Electron จะเกิดพฤติกรรมที่เรียกว่า “การทะลุผ่านของอิเล็กตรอน (Quantum Tunneling)” กล่าวคือ Electron จะทะลุผ่าน Transistor ตัวหนึ่งไปยังอีกตัวหนึ่งได้เลย เกิดการลัดวงจร(Short Circuit) ทำให้การเก็บสถานะของบิทนั่นไม่เสถียรครับ
สำหรับงานวิจัยใหม่ๆยังมีการผลิต Transistor ชนิด CNTFET (ใช้ Carbon Nanotube) ในกระบวนการผลิตขนาด 5 นาโนเมตร บน Silicon Wafer จากทางไอบีเอ็ม(IBM) [1][2]
แต่ในขณะเดียวกันก็มีงานวิจัยที่มองไปไกลกว่านั้นอีกครับ นั่นก็คือ “คอมพิวเตอร์ควอนตัม (Quantum Computer)” นั่นเอง
ว่าด้วย Quantum Computer
เกริ่นนำไปกับ Classical Computer ซะเยอะเลย เราจะเข้าสู่เนื้อหาของ Quantum Computer กันแล้วนะครับ ว่ามีที่ไปที่มาอย่างไร และ Quantum Computer เป็นอย่างไรกันแน่นะ…
Quantum Computer คืออะไร?
Quantum Computer เป็น Computer ที่สร้างบนพื้นฐานของ “กลศาสตร์ควอมตัม(Quantum Mechanics)” แทนที่จะเป็น “กลศาสตร์ดั้งเดิม(Classical Mechanics)” แบบ Classical Computer [3] ที่แสนล้ำหน้ายิ่งกว่า Supercomputer ในยุคนี้และยุคหน้าเลยทีเดียว [4]
ฟิสิกส์ของ Quantum Computer
ว่าด้วย Quantum Mechanics หรือ Quantum Physics เป็นศาสตร์ที่ใช้อธิบายปรากฏการณ์ของสิ่งที่อยู่ในระดับที่เล็กกว่าอะตอมได้อย่างแม่นยำกว่ากลศาสตร์แบบดั้งเดิม เพราะพฤติกรรมของสิ่งที่เล็กกว่าระดับอะตอมนั้นแปลกไปจากปกติมากๆ จนทำให้กลศาสตร์แบบดั้งเดิมไม่สามารถคำนวณหรือทำนายปรากฏการณ์ดังกล่าวได้เลย
ก่อนที่จะลงลึกไปกว่านี้ ผมจะขออธิบายเฉพาะในส่วนที่เกี่ยวข้องกับ Quantum Computer เท่านั้นนะครับ สำหรับ Keywords ทาง Quantum Mechanics ที่เกี่ยวข้องกับ Quantum Computer [5] จะมีดังนี้ครับ
- Superposition = การซ้อนทับกันของทั้งสองสถานะ
- Collapse = การพังทลาย
- Entanglement = อนุภาคแต่ละอนุภาคไม่เป็นอิสร่ะต่อกัน
- Uncertainly = ความไม่แน่นอน
เคล็ดลับของการประมวลขั้นเทพของ Quantum Computer ก็คือมันสามารถสร้าง Qubit ขึ้นมาได้นั่นเอง[6 ] แล้ว Qubit มันคืออะไรหว่า…
Qubit คืออะไร?
Qubit คือสิ่งที่ใช้ในการเก็บสถานะทางดิจิทัล ซึ่งแตกต่างๆจาก bit ธรรมดาตรงที่สามารถเก็บสถานะทางดิจิทัล 0 และ 1 ได้ในเวลาเดียวกัน โดยอาศัยหลักการ Superposition ของอนุภาค ไม่ว่าจะเป็นอนุภาคของแสงหรืออิเล็กตรอน ซึ่งมีสมบัติเป็น Duality(ทวิภาค) ที่สามารถประพฤติตนเป็นแสงหรือคลื่นก็ได้ โดย ณ ที่นี้จะประพฤติตนเป็นแสงเพื่อแสดงสมบัติการ Superposition ได้แบบแสงนั่นเองครับ(ตามสมบัติการแทรกสอดแบบเสริมของแสง)
สำหรับการใช้งานจริงใน Quantum Computer จะใช้ วัสดุตัวนำไฟฟ้ายิ่งยวด(Superconductor) มาสร้างเป็นวงจรตัวนำยิ่งยวด(Superconducting Circuit) แล้วนำไปไว้ในถังสุญญากาศ ให้อุณหภูมิเข้าใกล้จุด “ศูนย์องศาสัมบูรณ์(Absolute Zero Degree)” หรือ 0 องศาเคลวิน หรือ -273.15 องศาเซลเซียส นั่นเอง ซึ่งเย็นซะยิ่งกว่าในอวกาศซะอีก หลังจากนั่นจะทำการดักจับอนุภาคในวงจรด้วยสนามแม่เหล็กไฟฟ้า(Electromagnetic Field) เพื่อทำการควบคุมอนุภาคในการจัดเก็บสถานะในแบบ Qubit ครับ
นอกจากนี้ Qubit ยังมีสมบัติของ “การพัวพันเชิงควอนตัม(Quantum Entanglement)” จากที่เกริ่นไปเพียงเล็กในหัวข้อก่อนหน้า การที่อนุภาคมีสมบัติที่ไม่เป็นอิสระต่อกัน แต่ยังมีอันตรกิริยาต่อกันอยู่ กล่าวคือ หาก Qubit สองตัวที่อยู่ห่างกันคนละที่ อีกตัวหนึ่งสถานะเปลี่ยน อีกตัวก็จะเปลี่ยนตาม ซึ่งในปัจจุบันยังไม่มีใครเข้าใจว่ามันมีกลไกการทำงานอย่างไรกันแน่…
อีกสิ่งที่จะไม่พูดถึงไม่ได้เลยคือ Decoherent
Decoherent => การที่ปัจจัยทางสิ่งแวดล้อมเข้ามารบกวนการทำงานของ Qubit ไม่ว่าจะเป็นอุณหภูมิหรือการสั่นต่างๆ จะทำให้มีการประมวลผลของ Quantum Computer มีความผิดพลาดเกิดขึ้น สำหรับการป้องกันเบื้องต้นคือควบคุมห้องสุญญากาศที่บรรจุวงจรประมวลผล Qubit ให้ดีไม่ว่าจะเป็นอุณหภูมิหรือความดัน หรือการแก้ไขปัญหาโดยใช้ Smart Quantum Algorithms ในการชดเชยค่าของผลที่ประมวลได้ไป โดยเพิ่มจำนวน Qubit เข้ามาช่วยประมวลผลในจุดนี้นี่เอง[7]
อ่านเพิ่มเติมเกี่ยวกับ Smart Quantum Algorithms
คณิตศาสตร์เบื้องต้นของ 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) บนแพลตฟอร์มได้เลย
รายละเอียดเพิ่มเติม
Rigetti => อันนี้ เป็น Python-based สามารถลง Library แล้วลองโปรแกรมมิ่งผ่าน Python IDE ได้เลย
รายละเอียดเพิ่มเติม
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
เปรียบเทียบกับ Classical Computer[9]
- Classic Computer คือการลดขนาด ลดกระบวนการผลิตและเพิ่มจำนวนทรานซิสเตอร์ จนไม่สามารถลดขนาดลงและรักษาความเสถียรได้ จน Electron เกิดการ Tunneling
- Quantum Computer คือการเพิ่มขนาด โดยเพิ่มจำนวน Qubit ขึ้นเรื่อยๆจนไม่สามารถเพิ่มจำนวนและรักษาความเสถียรได้
บทส่งท้าย
Quantum Computer ในปัจจุบันยังเป็นเพียงแค่การเริ่มต้นเท่านั้น เหมาะสมต่อการใช้งานคือการใช้งานในการคำนวณเป็นหลัก และยังคงอีกยาวนานมากๆกว่าจะเข้าสู่ตลาดผู้ใช้ทั่วไปอย่างเราๆ สำหรับใครที่อยากลองเล่นดู ลองโปรแกรมมิ่งผ่าน Cloud Computing ตามที่แนะนำไปด้านบนได้ครับ
แต่ในอนาคต Quantum Computer เป็นที่จับตามองอย่างมากในการนำมาใช้ขับเคลื่อนเทคโนโลยีและระบบต่างๆ ไม่ว่าจะเป็น Artificial Intelligence, Autonomous Vehicle และ Robotics ในจุดนี้พวกเราได้แต่เฝ้าจับตามองกันต่อไป ว่ามันจะสามารถขับเคลื่อนมวลมนุษย์ไปได้ไกลเพียงใด…
และหวังว่าบทความนี้จะเป็นประโยชน์ต่อผู้อ่านไม่มากก็น้อยครับ หากมีข้อผิดพลาดหรืออยากเพิ่มเติมตรงไหนสามารถบอกได้เลยครับผม
วิดีโอสรุปบทความ หนึ่งในโปรเจค NaNo Tutor x MSP KMITL ครับ
วิดีโอสรุปบทความ หนึ่งในโปรเจคร่วมกับ NaNo Tutor ครับ
และจะมีบทความ “Quantum Information” หรือ “สารสนเทศเชิงควอนตัม” ตามมาเร็วๆนี้ครับ
References
[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