คอมพิวเตอร์ควอนตัมเบื้องต้น: เรามาถึงจุดที่คอมพิวเตอร์ต้องพึ่งฟิสิกส์ควอนตัมกันแล้ว

by littletail
3 July 2016 - 04:16

ช่วงหลังมานี้เราเริ่มจะได้ยินข่าวเกี่ยวกับคอมพิวเตอร์ควอนตัมกันมากขึ้น ทั้งเรื่องของการวิจัยพัฒนา จนไปถึงความพยายามสร้างเพื่อเอาไปใช้จริง หลายหน่วยงานในต่างประเทศก็เริ่มพูดถึง และให้การสนับสนุนงานวิจัยเหล่านี้กันมากขึ้นเรื่อยๆ (ขนาดนายกรัฐมนตรีแคนาดายังเคยพูดถึงเลย) หลายคนเชื่อกันว่านี่จะเป็นวิวัฒนาการของคอมพิวเตอร์แบบก้าวกระโดด

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

ยินดีต้อนรับสู่โลกฟิสิกส์ควอนตัม

กฎของมัวร์กล่าวไว้ว่าทรานซิสเตอร์ในวงจรไอซีจะมีจำนวนเพิ่มขึ้นเป็นเท่าตัวทุกๆ 2 ปี ในวงจรขนาดเท่าเดิม หากกฎข้อนี้ยังคงเป็นจริงไปเรื่อยๆ สักวันหนึ่งทรานซิสเตอร์ก็จะมีขนาดเล็กลงจนแทบจะเท่ากับอะตอม เมื่อถึงเวลานั้น ฟิสิกส์ในชีวิตประจำวันจะไม่สามารถอธิบายปรากฎการณ์ต่างๆ ที่เกิดขึ้นภายในวงจรได้อีกต่อไป ฟิสิกส์ควอนตัมจะเข้ามามีบทบาทแทน

แต่แทนที่จะเพิ่มแค่จำนวนทรานซิสเตอร์ขนาดเล็กเข้าไปเรื่อยๆ ก็มีนักวิทยาศาสตร์ปิ๊งไอเดีย ว่าทำไมไม่ลองเอาสมบัติบางประการในฟิสิกส์ควอนตัมมาใช้ในการคำนวณซะเลยล่ะ ไอเดียที่ว่านี้กลายร่างมาเป็นศาสตร์ใหม่ เรียกว่า “การประมวลผลควอนตัม” (quantum computing) ศาสตร์นี้เริ่มมีมาในช่วงต้นปี 1980 แล้ว แต่ยังไม่ได้รับความสนใจมากนัก จนกระทั่งปี 1994 ถึงจะเริ่มมาบูม เนื่องจากมีคนพัฒนาอัลกอริทึมหาตัวประกอบเฉพาะของจำนวนเต็มขนาดใหญ่ด้วยคอมพิวเตอร์ควอนตัมได้สำเร็จ อัลกอริทึมนี้ประมวลผลได้เร็วมากเสียจนสะเทือนวงการวิทยาการเข้ารหัสกันเลยทีเดียว

สรุปแล้ว คอมพิวเตอร์ควอนตัมก็คือคอมพิวเตอร์ที่เอาสมบัติของฟิสิกส์ควอนตัมมาใช้ในการประมวลผลนั่นเอง

คอมพิวเตอร์ควอนตัมของศูนย์วิจัย QuTech แห่ง Delft University of Technology ประเทศเนเธอร์แลนด์ (ที่มาภาพ: TEDx Amsterdam)

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

ศูนย์ หนึ่ง และทั้งสองอย่างในเวลาเดียวกัน

เป็นที่รู้กันว่าคอมพิวเตอร์คลาสสิกจะมีหน่วยแทนข้อมูลที่เล็กที่สุดคือบิต (bit) ในข้อมูล 1 บิต จะมีอยู่ด้วยกัน 2 สถานะ ได้แก่ 0 และ 1 (หลังจากนี้จะใชัคำว่า “คอมพิวเตอร์คลาสสิก” เรียกคอมพิวเตอร์ที่เราใช้งานกันอยู่ในปัจจุบัน)

ในคอมพิวเตอร์ควอนตัม ข้อมูลบิตจะมีสถานะพิเศษอีกอย่างหนึ่ง เรียกว่า superposition เป็นสถานะที่บิตเป็นทั้ง 0 และ 1 ในเวลาเดียวกัน เลียนแบบสถานะ quantum superposition ของอนุภาคขนาดเล็ก โดยบิตในคอมพิวเตอร์ควอนตัมนี้มีชื่อเรียกกันเล่นๆ ว่า “คิวบิต” (qubit มาจากคำว่า quantum bit)

วัสดุทางกายภาพที่จะใช้แทนข้อมูลคิวบิต ก็เลยเป็นอนุภาคขนาดเล็ก และสมบัติบางประการของมันมีสถานะ quantum superposition ตัวอย่างเช่น ขั้ว (polarization) ของอนุภาคโฟตอนของแสง หรือสปิน (spin) ของอนุภาค

อย่าเพิ่งเข้าใจผิดนะครับว่า superposition คือสถานะหมายเลข 2 ต่อจาก 0 และ 1 จริงๆ แล้วคิวบิตในสถานะ superposition นั้นยังไม่เป็นข้อมูลที่จะเอามาใช้จริงได้ แต่ต้องถูกนำไปวัดก่อน เรียกกระบวนการนี้ว่า “measurement” เมื่อคิวบิตถูกวัดแล้ว มันต้องตัดสินใจทันทีว่าจะเป็น 0 หรือ 1 โดยดูจากความน่าจะเป็นของการเปลี่ยนสถานะที่คิวบิตถูกตั้งเอาไว้

เราสามารถแก้ไขความน่าจะเป็นของการวัดคิวบิตเพื่อใช้คำนวณได้ เช่น อาจจะแก้สถานะ superposition ให้มีโอกาสถูกวัดได้สถานะ 1 สัก 70% หรือในกรณีของคิวบิต 2 ตัว เมื่อเข้าสถานะ superposition มันจะมีสถานะ 00, 01, 10, และ 11 พร้อมๆ กัน และเราก็สามารถปรับแก้ความน่าจะเป็นของการวัดให้สถานะ 00 มีโอกาสถูกวัดเจอได้สูงกว่าสถานะอื่นๆ

คลิปอธิบายสถานะ quantum superposition ของอนุภาค

รายละเอียดของคิวบิตข้างต้นนี้อาจจะยังไม่ถูกต้องร้อยเปอร์เซ็นต์ สถานะของคิวบิตแท้จริงแล้วไม่จำเป็นต้องเป็น 0 หรือ 1 เสมอไป ขึ้นอยู่กับตัว measurement แต่ในขั้นต้นให้เข้าใจกันแบบนี้ก็พอครับ

ทำทุกอย่างพร้อมกันในคราวเดียว

นักวิทยาศาสตร์คาดการณ์ไว้ว่าคุณสมบัติ superposition ของคิวบิตจะเป็นคุณสมบัติหนึ่งที่สามารถนำไปสร้างอัลกอริทึมสำหรับคอมพิวเตอร์ควอนตัม และจะช่วยให้ประมวลผลได้รวดเร็วขึ้นกว่าเดิม ลองดูสถานการณ์สมมติต่อไปนี้ประกอบ (หลังจากนี้จะใช้คำว่า “อัลกอริทึมควอนตัม” เรียกอัลกอริทึมสำหรับคอมพิวเตอร์ควอนตัม)

กระบวนการ quantum parallelism ของคอมพิวเตอร์ควอนตัม (บนขวา) เทียบกับ serial computing (บนซ้าย) และ parallel computing (ล่าง) ของคอมพิวเตอร์คลาสสิก (ที่มาภาพ: งานวิจัยตีพิมพ์ลง IEEE Access Journal)

สมมติว่าเราจะไขล็อก (เปรียบเสมือนฟังก์ชัน) โดยมีกุญแจ (เปรียบเสมือนข้อมูล input) มาให้ 8 ดอก และให้การปลดล็อกสำเร็จหรือไม่สำเร็จเป็น output ของฟังก์ชัน ในบรรดากุญแจทั้ง 8 ดอกนี้จะมีเพียงดอกเดียวเท่านั้นที่สามารถปลดล็อกได้สำเร็จ และการปลดล็อกสำเร็จคือ output ที่เราต้องการ

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

แต่สำหรับคอมพิวเตอร์ควอนตัมนั้น ตัวกุญแจสามารถสร้างสถานะ superposition เสมือนกับว่ามีอยู่ 8 ดอกพร้อมๆ กัน แล้วปลดล็อกพร้อมกันทีเดียวได้เลย กระบวนการในลักษณะนี้ถูกเรียกว่าการประมวลผลควอนตัมแบบขนาน (quantum parallelism)

กระบวนการ quantum parallelism เป็นจุดเริ่มต้นของกระบวนการในอัลกอริทึมควอนตัมหลายๆ ตัว แต่นั่นยังไม่ใช่หัวใจสำคัญของอัลกอริทึมควอนตัม เพราะถ้าเป้าหมายจริงๆ คือการหากุญแจดอกที่ปลดล็อกได้ กระบวนการนี้ก็ไม่ช่วยอะไร

อัลกอริทึมที่เร็วขึ้นจนต้องชายตามอง

Scott Aaronson ผู้ช่วยศาสตราจารย์ด้านวิทยาการคอมพิวเตอร์แห่ง MIT ผู้เขียนหนังสือ “Quantum Computing since Democritus” ให้สัมภาษณ์กับ The Washington Post ว่าแท้จริงแล้วหัวใจสำคัญของอัลกอริทึมควอนตัมคือการดัดแปลงสถานะ superposition ของคิวบิตเพื่อให้ได้คำตอบที่ต้องการ โดยอาจจะเพิ่มโอกาสของการวัดได้คำตอบที่ต้องการให้สูงขึ้น และลดโอกาสของการวัดได้คำตอบที่ผิดให้น้อยลง

เพื่อให้เห็นภาพมากขึ้น ผมจะขอพูดถึงอัลกอริทึมควอนตัม 2 ตัวด้วยกัน ได้แก่ Grover’s search algorithm และ Shor’s algorithm

Grover’s search algorithm: อัลกอริทึมค้นหาข้อมูลที่เร็วทะลุขีดจำกัด

อัลกอริทึมบนคอมพิวเตอร์คลาสสิกสำหรับค้นหาข้อมูลแบบ unstructured (ไม่มีระเบียบ ไม่มีการจัดเรียงหรือทำอะไรมาก่อน) ที่เร็วที่สุดแล้วคือ linear search คือไล่หาไปเรื่อยๆ จนกว่าจะเจอนั่นเอง ดังนั้น ถ้าข้อมูลดังกล่าวมีจำนวน 1,000,000 ชุด เหตุการณ์เลวร้ายที่สุดคือเราจะหาข้อมูลที่ต้องการเจอในรอบที่หนึ่งล้าน

แต่อัลกอริทึมควอนตัมของ Lov Grover นั้นสามารถค้นหาข้อมูลแบบ unstructured ได้ เลวร้ายสุดๆ ก็ใช้เวลาเพียงประมาณ 1,000 รอบเท่านั้น แล้วมันทำได้อย่างไร ขอให้สังเกตกราฟด้านล่างนี้ประกอบ

กราฟแสดงความน่าจะเป็นของการวัดข้อมูลคิวบิตแล้วได้ผลลัพธ์เป็นสถานะ 00, 01, 10, 11 ตามลำดับ ที่เปลี่ยนไปเมื่อผ่านอัลกอริทึมของ Grover (ที่มาภาพ: Vinayak Bhatt บน Quora)

สมมติว่ามีข้อมูลอยู่ 4 ชุด ได้แก่ ข้อมูลที่ตำแหน่ง 00, 01, 10, 11 ตามลำดับ โดยข้อมูลที่เราต้องการอยู่ที่ตำแหน่ง 10 ซึ่งกราฟแท่งจะถูกไฮไลต์ด้วยสีแดง เราจะต้องเตรียมคิวบิตไว้ทั้งหมด 4 สถานะ คือสถานะ 00, 01, 10, และ 11 ตามตำแหน่งของข้อมูล

อัลกอริทึมของ Grover จะมีกระบวนการดังนี้

  1. เตรียมสถานะ superposition ของคิวบิต ให้ความน่าจะเป็นของการวัดคิวบิตแล้วได้สถานะต่างๆ นั้นมีค่าเท่ากัน กราฟซ้ายบน จะเห็นได้ว่าคิวบิตมีความน่าจะเป็น (amplitude) ของการวัดแล้วได้สถานะต่างๆ เท่ากัน
  2. ทำการกลับเครื่องหมายความน่าจะเป็นของการวัดคิวบิตแล้วได้ตำแหน่งของข้อมูลที่ต้องการค้นหา จากบวกให้กลายเป็นลบ กราฟขวาบน จะเห็นได้ว่ากราฟแท่งสีแดงจะโตกลับข้างจากกราฟแท่งสีม่วง
  3. หาค่าเฉลี่ยของความน่าจะเป็นของการวัดคิวบิตแล้วได้สถานะต่างๆ ทุกสถานะ (สมมติให้เท่ากับ A) กราฟซ้ายล่าง เส้นประแสดงปริมาณค่าเฉลี่ยเทียบกับ amplitude ของแต่ละสถานะ
  4. คำนวณความน่าจะเป็นของสถานะข้อมูลทุกๆ สถานะเสียใหม่ ให้แต่ละสถานะมีค่าเท่ากับ 2A - ai (เมื่อ ai แทนค่าความน่าจะเป็นของการวัดคิวบิตแล้วได้สถานะ i) เนื่องจากความน่าจะเป็นของสถานะ 10 มีค่าเป็นลบ ดังนั้น สูตรการคำนวณดังกล่าวจะไปเพิ่มค่าความน่าจะเป็นให้สถานะ 10 มีโอกาสถูกวัดเจอได้มากขึ้น [2A - (-a10) = 2A + a10] ในขณะที่สถานะอื่นๆ จะมีโอกาสวัดเจอน้อยลง
  5. กลับเครื่องหมายความน่าจะเป็นของการวัดคิวบิตแล้วได้สถานะที่ต้องการค้นหา จากลบให้กลับมาเป็นบวก กราฟขวาล่าง แสดงความน่าจะเป็นของสถานะข้อมูลเมื่อผ่านขั้นตอนนี้

นักวิทยาศาสตร์พิสูจน์มาแล้วว่า หากนำคิวบิตวนเข้ากระบวนการข้างต้นตั้งแต่ข้อ 2–5 ซ้ำไปเรื่อยๆ ประมาณ sqrt(N) รอบ เมื่อ N แทนจำนวนชุดข้อมูล ก็จะทำให้มีโอกาสวัดคิวบิตแล้วได้ตำแหน่งของข้อมูลที่เราต้องการสูงสุด

*** ถ้ายังงงๆ อยู่ ผมเขียนอธิบายอัลกอริทึมแบบละเอียดไว้ในคอมเมนต์ครับ

Shor’s algorithm: อัลกอริทึมหาตัวประกอบเฉพาะของจำนวนเต็มขนาดใหญ่

ตัวประกอบเฉพาะของจำนวนเต็มขนาดใหญ่ (เช่น 3233 = 53 × 61 แต่ในความเป็นจริงใช้ตัวเลขใหญ่กว่านี้มาก) ต้องใช้เวลานานมาก อาจนานนับร้อยปีกว่าจะหาเจอ นั่นทำให้กระบวนการเข้ารหัสทั้งหลายที่นิยมใช้กันในปัจจุบัน เช่น กระบวนการเข้ารหัส RSA พึ่งความยากของปัญหานี้ในการเข้ารหัสข้อมูล แต่ในปี 1994 Peter Shor คิดอัลกอริทึมควอนตัมเพื่อแก้ปัญหานี้ได้สำเร็จโดยเทียบกันแล้วอาจใช้เวลาเพียงไม่กี่ปีเท่านั้น (สำหรับผู้เรียนวิทยาการคอมพิวเตอร์ ดูการเทียบ time complexity และ big O notation ของแต่ละอัลกอริทึมใน Wikipedia)

Peter Shor นักคณิตศาสตร์ประยุกต์ ศาสตราจารย์ประจำ MIT (ที่มาภาพ: Heidelberg Laureate Forum)

หลักการอัลกอริทึมของ Shor จะอาศัยการลดรูปปัญหา (problem reduction) โดยเอาวิธีการหาคาบของฟังก์ชัน f(x) = ax mod M (เมื่อ M แทนจำนวนเต็มบวกที่จะแยกตัวประกอบ และ a คือจำนวนเต็มบวกที่น้อยกว่า M) มาหาตัวประกอบเฉพาะของจำนวนเต็มแทน พูดง่ายๆ คือ ถ้าเราหาคาบของฟังก์ชันนี้ได้ เราก็จะสามารถหาตัวประกอบเฉพาะของจำนวนเต็มได้

ในการหาคาบของฟังก์ชันนั้นจะใช้คอมพิวเตอร์ควอนตัม แต่เนื่องจากกระบวนการมีความซับซ้อนมาก… (ก.ไก่ ล้านตัว) จึงขอบอกเพียงแค่ว่าในขั้นตอนหนึ่ง คิวบิตสถานะ superposition ที่ผ่านการคำนวณฟังก์ชันแล้ว จะถูกนำเข้าสู่กระบวนการ quantum Fourier transform ซึ่งจะทำให้มีโอกาสสูงที่วัดคิวบิตแล้ว จะได้ตัวเลขที่สามารถนำไปคำนวณต่อเพื่อหาคาบของฟังก์ชันต่อไป และพอได้คาบของฟังก์ชันแล้ว เราก็เอาตัวเลขนี้ไปคำนวณกลับให้ได้ตัวประกอบเฉพาะตัวหนึ่งของจำนวนเต็มนั่นเอง

อัลกอริทึมของ Shor สร้างผลกระทบต่อวิทยาการเข้ารหัสอย่างมหาศาล หากมีคนที่สามารถสร้างคอมพิวเตอร์ควอนตัมขนาดใหญ่ขึ้นมาได้แล้วละก็ ข้อมูลเข้ารหัสทั้งหมดจะตกอยู่ในความเสี่ยงทันที (แต่ไม่ต้องกังวลไปครับ นักวิทยาศาสตร์ได้เตรียมวิธีการเข้ารหัสแบบอื่นๆ เพื่อหลีกเลี่ยงปัญหานี้ไว้บ้างแล้ว แต่เราจะไม่พูดถึงในบทความนี้)

อัลกอริทึมทั้งสองตัวอย่างที่ยกมานั้น เป็นเพียงอัลกอริทึมในเชิงทฤษฎีที่ยังต้องมีการทดสอบรันบนคอมพิวเตอร์ควอนตัมจริงๆ อย่างเมื่อเดือนเมษายนที่ผ่านมา ก็มีคนทดสอบแยกตัวประกอบของ 200099 ด้วยอัลกอริทึมของ Shor โดยใช้คอมพิวเตอร์ควอนตัมได้แล้ว

อย่างไรก็ตาม การสร้างเครื่องคอมพิวเตอร์ควอนตัมให้ใช้งานได้จริงนั้นเป็นไปยากมาก เนื่องจากคอมพิวเตอร์จะต้องรักษาสถานะ superposition ของคิวบิตที่มีความเสถียรต่ำไว้ให้ได้

Superposition ก็มีวันสูญสลาย อุปสรรคสำคัญของการสร้างคอมพิวเตอร์ควอนตัม

เนื่องจากคิวบิตเป็นอนุภาคเล็ก และอยู่ท่ามกลางอนุภาคอื่นๆ รายล้อมนับพัน จึงมีโอกาสสูงมากที่จะถูกอนุภาคในสภาพแวดล้อมเข้าไปรบกวนจนสถานะเปลี่ยนแปลงไป ทำให้ข้อมูลในสถานะ superposition สูญเสียไปด้วย เหตุการณ์ทั้งหมดนี้เกิดขึ้นเพียงแค่เสี้ยววินาทีเท่านั้น นอกจากนี้ ในทฤษฎี no-cloning บอกอีกว่า เราไม่สามารถคัดลอกสถานะของคิวบิตที่ไม่ทราบสถานะตัวหนึ่งไปยังคิวบิตอีกตัวหนึ่งได้ ทำให้การคัดลอกคิวบิตเพื่อสำรองข้อมูลเป็นไปไม่ได้ด้วย

คอมพิวเตอร์ควอนตัมจึงต้องถูกออกแบบขึ้นโดยปกป้องคิวบิตไม่ให้ถูกสภาพแวดล้อมรบกวน เพื่อให้คิวบิตคงสถานะ superposition ให้ได้นานที่สุดจนกว่าการคำนวณจะเสร็จสิ้น สิ่งเหล่านี้ เป็นอุปสรรคที่ทำให้เครื่องคอมพิวเตอร์ควอนตัมขนาดใหญ่ไม่สามารถสร้างขึ้นมาได้โดยง่ายนัก นักวิทยาศาสตร์จึงต้องหาเทคนิคอื่นๆ เสริมเพื่อสร้างเครื่องคอมพิวเตอร์ควอนตัมที่สามารถใช้งานได้จริง

การสร้างคอมพิวเตอร์ควอนตัมที่คงทนต่อสภาพแวดล้อมภายนอก ถือเป็นหลักเกณฑ์สำคัญข้อหนึ่งในการสร้างคอมพิวเตอร์ควอนตัมซึ่งตั้งขึ้นโดยนักฟิสิกส์ทฤษฎีนาม David DiVincenzo เรียกว่า DiVincenzo’s criteria มีทั้งหมด 5 หัวข้อ ดังนี้

  1. สมบัติทางกายภาพที่แทนสถานะ 0, 1, และ superposition ของคิวบิต และการขยายระบบด้วยการเพิ่มจำนวนคิวบิต
  2. สถานะเริ่มต้นของคิวบิตก่อนใช้คำนวณ
  3. ระบบที่คงทนต่อสภาพแวดล้อมภายนอก และการรักษาสถานะของคิวบิตตลอดการคำนวณ
  4. เกตควอนตัมแบบ universal ในระบบ (เหมือนกับเกต NAND หรือเกต NOR บนคอมพิวเตอร์คลาสสิก)
  5. กระบวนการวัดคิวบิตภายหลังการคำนวณ
  6. กรณีที่จะสร้างคอมพิวเตอร์ควอนตัมสำหรับการสื่อสาร จะมีหลักเกณฑ์เพิ่มอีก 2 หัวข้อ คือ

  7. สมบัติทางกายภาพคิวบิตที่ใช้สื่อสารระหว่างระบบ (flying qubits) ที่อาจจะแตกต่างจากคิวบิตในระบบ (stationary qubits) และการแปลงข้อมูลคิวบิตแต่ละชนิดระหว่างกัน
  8. การส่งผ่าน (transmit) คิวบิตระหว่างระบบในระยะไกล

David DiVincenzo นักฟิสิกส์ทฤษฎี ผู้อำนวยการสถาบันนาโนอิเล็กทรอนิกส์ทฤษฎีแห่งสถาบัน Peter Grünberg ใน Jülich ประเทศเยอรมัน และศาสตราจารย์ประจำสถาบันสารสนเทศควอนตัมแห่งมหาวิทยาลัย RWTH Aachen ประเทศเยอรมัน (ที่มาภาพ: ศูนย์วิจัย Forschungszentrum Jülich)

เราไปถึงไหนกันแล้ว

ปัจจุบัน หลายๆ สถาบันทั่วโลกทั้งภาครัฐ ภาคเอกชน และมหาวิทยาลัย ต่างก็เร่งมือให้การสนับสนุนและผลิตงานวิจัยด้านการประมวลผลควอนตัมกันมากขึ้นเรื่อยๆ จนเรียกได้ว่าเป็นยุคทองของการวิจัยด้านนี้ โดยส่วนใหญ่แล้วจะมุ่งสร้างคอมพิวเตอร์ควอนตัมให้รองรับคิวบิตจำนวนมาก เพราะยิ่งมีคิวบิตในระบบมาก นักวิจัยก็จะสามารถใช้ทดลองรันอัลกอริทึมที่ซับซ้อน หรือรันด้วย input ขนาดใหญ่เพื่อทดสอบประสิทธิภาพของมันได้

เป้าหมายสูงสุดของการวิจัยอย่างหนึ่ง คือการสร้างคอมพิวเตอร์ที่สามารถรันอัลกอริทึมใดๆ ก็ได้ นักวิทยาศาสตร์เรียกคอมพิวเตอร์ควอนตัมประเภทนี้ว่าเป็น universal ซึ่ง IBM คาดการณ์ไว้ว่าอาจจะต้องใช้คิวบิตมากกว่าหนึ่งแสนตัวเลยทีเดียว การสร้างคอมพิวเตอร์สเกลใหญ่และมีความซับซ้อนแบบนี้อาจต้องรอกันอีกนาน เพราะเรายังต้องหาองค์ความรู้ที่เกี่ยวข้องกับการจัดการคิวบิตในปริมาณมากๆ ทั้งกระบวนการตรวจสอบและแก้ไขข้อผิดพลาด วัสดุทางกายภาพอื่นๆ ที่ใช้แทนคิวบิต จนไปถึงสถาปัตยกรรมต่างๆ ของคอมพิวเตอร์ควอนตัม

อย่างไรก็ตาม วิทยาการต่างๆ ที่วิจัยกันออกมานั้นก็ทำให้การสร้างคอมพิวเตอร์ควอนตัมสเกลใหญ่เข้าใกล้ความจริงมากขึ้นเรื่อยๆ บทความนี้จะพูดถึงงานวิจัยจากสองสถาบัน ได้แก่ IBM และกูเกิล

IBM: เจ้าพ่อแห่งวงการคอมพิวเตอร์ควอนตัม

IBM มีประวัติในด้านการสนับสนุนงานวิจัยด้านคอมพิวเตอร์ควอนตัมมาตั้งแต่ช่วงถือกำเนิดของศาสตร์นี้แล้ว ที่มา - IBM Quantum Computing

ปี 1981 IBM ร่วมกับ MIT จัดงานประชุมทางวิชาการ (conference) ครั้งแรก ในหัวข้อ “The Physics of Computation” ปรากฏว่าในงานนี้ Richard Feynman นักฟิสิกส์ทฤษฎี ได้ไปเสนอไอเดียเกี่ยวกับการสร้างเครื่องคอมพิวเตอร์ควอนตัมเพื่อจำลองระบบควอนตัมไว้ (quantum simulation) ถือว่าเป็นการบุกเบิกศาสตร์การประมวลผลควอนตัมครั้งแรกๆ ในประวัติศาสตร์

ปี 1984 Charles Bennett นักวิทยาศาสตร์จาก IBM Research และ Gilles Brassard นักวิจัยจาก Université de Montréal ประเทศแคนาดา เสนอไอเดียการเข้ารหัสข้อมูลด้วยหลักการฟิสิกส์ควอนตัมในนาม “โปรโตคอล BB84” ถือเป็นโปรโตคอลการเข้ารหัสข้อมูลควอนตัมตัวแรกของโลก และในปี 1993 Bennett, Brassard และคณะก็เป็นกลุ่มแรกที่นำเสนอกระบวนการ quantum teleportation ซึ่งเป็นการส่งข้อมูลคิวบิตระยะไกลโดยใช้หลักการของ quantum entanglement

ปี 1996 David DiVincenzo ซึ่งทำงานที่ IBM ในสมัยนั้น นำเสนอหลักเกณฑ์ของการสร้างคอมพิวเตอร์ควอนตัม 7 ข้อ ในนาม DiVincenzo’s criteria หลักเกณฑ์นี้ก็ถูกนำไปใช้ในการสร้างเครื่องคอมพิวเตอร์ควอนตัมในช่วงเวลาต่อมา

ปี 2001 IBM ประสบความสำเร็จในการแยกตัวประกอบเฉพาะของ 15 (= 3 × 5) ด้วยการรันอัลกอริทึมของ Shor บนคอมพิวเตอร์ควอนตัมประเภท NMR (nuclear magnetic resonance)

ปี 2012 IBM พบเทคนิคการสร้างคิวบิตที่สามารถรักษาสถานะ superposition ของคิวบิตไว้ได้นานถึง 100 ไมโครวินาที มากขึ้นเป็น 2–4 เท่าจากเดิม

ปี 2015 IBM พัฒนาเทคนิคการตรวจจับและแก้ไขความผิดพลาดของข้อมูลคิวบิต ทั้งความผิดพลาดแบบ bit-flip และความผิดพลาดแบบ phase-flip และพัฒนาเทคนิคการตรวจสอบความผิดพลาดของคิวบิตระหว่างกันด้วยการเรียงคิวบิตเป็นสี่เหลี่ยมจัตุรัส ข่าวเก่า - IBM ประกาศความสำเร็จด้านการวิจัยควอนตัมคอมพิวเตอร์

และเมื่อเดือนพฤษภาคมที่ผ่านมา IBM เปิดตัวคลาวด์ประมวลผลควอนตัมชื่อว่า IBM Quantum Experience โดยเปิดโอกาสให้นักวิจัย นักศึกษา และบุคคลทั่วไป สามารถเข้าไปทดลองใช้คอมพิวเตอร์ควอนตัมแบบ universal จำนวน 5 คิวบิต IBM กล่าวเพิ่มเติมว่าในทศวรรษหน้าจะสร้างคอมพิวเตอร์ควอนตัมแบบ universal ที่มีจำนวนคิวบิต 50–100 ตัว ข่าวเก่า - IBM เปิดตัวคลาวด์ทดลองใช้งานคอมพิวเตอร์ควอนตัมสำหรับนักวิจัย

คลิปนำเสนอ IBM Quantum Experience

กูเกิล: คอมพิวเตอร์ควอนตัมสำหรับงานด้าน AI

ปี 2013 กูเกิลจัดตั้ง Quantum Artificial Intelligence Lab (QuAIL) โดยได้รับความร่วมมือจากศูนย์วิจัย NASA Ames และ USRA (Universities Space Research Association) โดยซื้อเครื่องคอมพิวเตอร์ควอนตัมจากบริษัท D-Wave Systems แม้ว่าคอมพิวเตอร์ D-Wave Two ที่ซื้อมาในสมัยนั้นจะมีคิวบิตมากถึง 512 ตัว แต่ก็ไม่ได้เป็นคอมพิวเตอร์แบบ universal

วัตถุประสงค์หลักในการจัดตั้งแล็บของกูเกิล คือเพื่อศึกษาความเป็นไปได้ในการนำคอมพิวเตอร์ควอนตัมมาใช้ในงานด้าน machine learning โดยโฟกัสไปที่ปัญหาประเภท optimization นั่นคือปัญหาการเลือกสิ่งที่ดีที่สุดภายใต้เงื่อนไขและทรัพยากรจำกัด ที่มา - Google Research Blog

ปี 2014 กูเกิลขยายไปทำวิจัยด้านโปรเซสเซอร์สำหรับคอมพิวเตอร์ควอนตัมเพิ่มเติม โดยได้ทีมวิจัย Martinis Group จากมหาวิทยาลัย UC Santa Barbara มาช่วยเสริมทัพอีกแรง ที่มา - Google Research Blog

ปี 2015 กูเกิลเผยผลการวิจัยคอมพิวเตอร์ควอนตัม D-Wave ว่าสามารถแก้โจทย์ปัญหาได้เร็วกว่าอัลกอริทึมแบบเดิม ทั้ง simulated annealing และ quantum Monte Carlo มากถึง 108 เท่าเลยทีเดียว หลังจากที่ผ่านมา คอมพิวเตอร์ D-Wave เคยถูกตั้งข้อครหาถึงประสิทธิภาพของมัน ข่าวเก่า - กูเกิลเผยผลการวิจัยควอนตัมคอมพิวเตอร์ D-Wave แก้ปัญหาได้เร็วขึ้น 10^8 เท่า

และเมื่อเดือนมิถุนายนที่ผ่านมา กูเกิลก็เผยความสำเร็จในการสร้างชิพคอมพิวเตอร์ควอนตัมขนาด 9 คิวบิต สามารถทำงานแบบ universal ได้ และมีระบบตรวจสอบและแก้ไขความผิดพลาดของคิวบิต (quantum error correction) ทำให้ในอนาคต นักวิจัยจะสามารถสร้างชิพที่มีจำนวนคิวบิตมากขึ้นเพื่อนำไปสร้างเป็นคอมพิวเตอร์ควอนตัมขนาดใหญ่ได้ ข่าวเก่า - นักวิจัยกูเกิลสร้างคอมพิวเตอร์ควอนตัมแบบ “ลูกผสม” เข้าใกล้สู่การสร้างเพื่อใช้งานทั่วไป

คลิปเปิดตัว Quantum Artificial Intelligence Lab ของกูเกิล

บทสรุป

บทความนี้อาจจะข้ามเนื้อหาบางส่วนเกี่ยวกับคอมพิวเตอร์ควอนตัมไปบ้าง (เช่น quantum entanglement, quantum simulation) แต่ก็เป็นการนำเสนอข้อมูลเกี่ยวกับคอมพิวเตอร์ควอนตัมในเบื้องต้น ซึ่งผมคิดว่าเพียงพอที่จะทำให้เห็นภาพได้ว่ามันคืออะไร มีดีกว่าคอมพิวเตอร์ที่เราใช้กันอยู่อย่างไร จะขอสรุปเพื่อเก็บประเด็นต่างๆ อีกสักรอบ

  • คอมพิวเตอร์ควอนตัมคือคอมพิวเตอร์ที่ประมวลผลด้วยหลักการของฟิสิกส์ควอนตัม
  • ด้วยความพิเศษของสถานะ superposition บนคิวบิต ทำให้มีการคิดค้นอัลกอริทึมควอนตัมบางตัวที่เร็วกว่าอัลกอริทึมบนคอมพิวเตอร์ทั่วๆ ไป เช่น อัลกอริทึมของ Grover ช่วยค้นหาข้อมูลได้เร็วขึ้น อัลกอริทึมของ Shor สามารถแยกตัวประกอบได้เร็วขึ้น
  • หากสร้างคอมพิวเตอร์ควอนตัมขึ้นมาสำเร็จ ระบบการเข้ารหัสข้อมูลทั่วโลกจะตกอยู่ในความเสี่ยงทันที แต่นักวิทยาศาสตร์ได้เตรียมหาทางหนีทีไล่ไว้แล้ว
  • คอมพิวเตอร์ควอนตัมไม่ได้สร้างกันได้ง่ายๆ เพราะสถานะทางควอนตัมของคิวบิตนั้นเปราะบางต่อสภาพแวดล้อมมาก
  • ปัจจุบัน ทั่วโลกกำลังวิจัยเพื่อสร้างคอมพิวเตอร์ควอนตัม และค้นหาขีดความสามารถของมันต่อไป

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

ยินดีต้อนรับสู่ยุคทองของการวิจัยคอมพิวเตอร์ควอนตัมครับ :)

แหล่งข้อมูลอ้างอิง

  • Quantum Computing: A Gentle Introduction โดย Eleanor Rieffel และ Wolfgang Polak ผมใช้หนังสือเล่มนี้เป็นแหล่งอ้างอิงหลัก อันที่จริงผมอ่านแล้วมันไม่ค่อย gentle เท่าไหร่แฮะ
  • A Brief History of Quantum Computing โดย Simon Bone และ Matias Castro
  • A tale of two qubits: how quantum computers work โดย Joseph B. Altepeter ผ่านทาง Ars Technica
  • Grover’s Quantum Search Algorithm โดย Craig Gidney อธิบายอัลกอริทึมของ Grover ด้วยภาพกราฟฟิกของสถานะคิวบิต
  • Shor, I’ll do it โดย Scott Aaronson อธิบายอัลกอริทึมของ Shor โดยไม่พูดถึงคณิตศาสตร์ระดับสูงแต่อย่างใด
  • Quantum Algorithm Zoo โดย Stephen Jordan แหล่งรวบรวมข้อมูลเกี่ยวกับอัลกอริทึมควอนตัม

แก้ไขครั้งที่ 1: เพิ่มคำอธิบายเกี่ยวกับอัลกอริทึม Grover ไว้ในคอมเมนต์ใต้บทความ
แก้ไขครั้งที่ 2: เพิ่มคลิปอธิบายสถานะ quantum superposition ของอนุภาค

Blognone Jobs Premium