คลังเก็บหมวดหมู่: Quantum Computer

โม้เกี่ยวกับเทคโนโลยี Quantum Computer

ความเร็วของควอนตัมคอมพิวเตอร์

พวกเราคงจำข่าวที่ Google ทดสอบประสิทธิภาพของควอนตัมคอมพิวเตอร์ยี่ห้อ D-Wave X2 แล้วได้ผลว่ามันทำงานได้เร็วกว่าดิจิทัลคอมพิวเตอร์ทั่วไปเป็น 100 ล้านเท่ากันได้

และผมก็คิดว่าพวกเราคงรู้กันแล้วล่ะ ว่าเบื้องหลังความเร็วของควอนตัมคอมพิวเตอร์ เกิดจากการประยุกต์ใช้สภาวะ Superposition ของคิวบิต

ทีนี้ ผมเลยอยากจะช่วยขยายความเพิ่มลงในระดับของทฤษฎีความซับซ้อนในการคำนวณนิดนึง เพื่อให้พวกเราเห็นภาพมากขึ้นว่าทำไมควอนตัมคอมพิวเตอร์จึงเร็ว

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

ด้วยข้อเท็จจริงแบบนี้ จึงทำให้ดิจิทัลคอมพิวเตอร์ ต้องเผชิญกับปัญหาความซับซ้อนในการคำนวณหลายระดับ ทั้งระดับชั้น Polynomial, Exponential หรือ Factorial

ซึ่งโดยพื้นฐานแล้ว …

  • ปัญหาระดับชั้น Polynomial ก็ต้องแก้ในเวลา Polynomial
  • ปัญหาระดับชั้น Exponential ก็ต้องแก้ในเวลา Exponential
  • ปัญหาระดับชั้น Factorial ก็ต้องแก้ในเวลา Factorial

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

ซึ่งจะเห็นว่า ดิจิทัลคอมพิวเตอร์มันมีขีดจำกัดของความซับซ้อนในการคำนวณ มันเหมือนกับตัวละคร Iron Man ในภาพยนต์เรื่อง The Avengers ที่โดยพื้นฐานมีกำลังและความสามารถเหมือนมนุษย์ (แก้ปัญหาระดับชั้น Polynomial ในเวลา Polynomial) แต่พอใส่ชุดเกราะเพิ่มพลังก็กลายเป็นยอดมนุษย์ทันที (แก้ปัญหาระดับชั้น Exponential ในเวลา Polynomial หรือ แก้ปัญหาระดับชั้น Factorial ในเวลา Exponential)

เปรียบเทียบความเร็วของดิจิทัลคอมพิวเตอร์กับควอนตัมคอมพิวเตอร์
เปรียบเทียบความเร็วของดิจิทัลคอมพิวเตอร์กับควอนตัมคอมพิวเตอร์

แต่ในอีกด้านหนึ่ง ควอนตัมคอมพิวเตอร์กลับเหมือนกับตัวละคร Thor ในภาพยนต์เรื่อง The Avengers ที่โดยพื้นฐานก็เป็นเผ่าพันธุ์ต่างดาวสมมติเทพ ที่มีกำลังและความสามารถเหนือมนุษย์ตั้งแต่ต้น (แก้ปัญหาระดับชั้น Polynomial, Exponential และ Factorial ได้ในเวลา Polynomial แบบชิว ๆ)

การเป็นยอดมนุษย์ตั้งแต่เกิด มันต่างกับการเปลี่ยนมาเป็นยอดมนุษย์ภายหลังจากเกิดเยอะเลยครับ และการที่ควอนตัมคอมพิวเตอร์มันเร็วกว่าดิจิทัลคอมพิวเตอร์ ก็เพราะมันเร็วกว่าดิจิทัลคอมพิวเตอร์มาตั้งแต่เกิดนั่นเอง

งานวิจัยทางด้านควอนตัมคอมพิวเตอร์

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

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

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

3.  กลุ่มลงมือทำ คือ กลุ่มที่ทำวิจัยด้านควอนตัมคอมพิวเตอร์โดยตรง คนพวกนี้รู้ทุกอย่างที่คนกลุ่มที่ 1 และ 2 รู้ และพวกเขาก็ไม่หยุดที่จะลงมือทำ

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

สมมติว่าผมชวนให้พวกเรามาเป็นคนกลุ่มที่ 3 กลุ่มคนที่คิดจะทำวิจัยด้านควอนตัมคอมพิวเตอร์ งั้นเราก็ต้องมาหาช่องว่างกัน ว่ามันมีช่องว่างเล็ก ๆ ตรงไหนบ้างที่พวกเราจะไปเติมเต็มได้ ซึ่งผมก็คงต้องชี้แจงก่อนว่า ตอนนี้งานวิจัยทางด้านควอนตัมคอมพิวเตอร์ มันมีขอบเขตแค่ไหน โดยขออ้างอิงจากบทความของ Rodney Van Meter และ Clare Horsman เรื่อง A Blueprint for Building a Quantum Computer ซึ่งตีพิมพ์ใน Communication of the ACM ฉบับที่ 56 ลำดับที่ 10 ประจำเดือนตุลาคม ค.ศ. 2013 นะครับ

A blueprint for building a quantum computer
A blueprint for building a quantum computer

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

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

ปัจจุบัน ผมเริ่มเห็นมหาวิทยาลัยชั้นนำของเมืองไทย บรรจุวิชา Quantum Computing ในหลักสูตรปริญญาบัตรและบัณฑิตศึกษากันบ้างแล้ว และเริ่มเห็นว่าคนไทยเราก็เริ่มทำวิจัยในระดับของทฤษฎีการคำนวณทางควอนตัมแล้วเช่นกัน (ลองอ่านงานวิจัย การลดรูปของ Genetic Algorithm บนควอนตัมคอมพิวเตอร์ และ การเร่งวงจรบนควอนตัมคอมพิวเตอร์)

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

ยกตัวอย่าง ทฤษฎีบทของเบย์

ทฤษฎีบทของเบย์เป็นทฤษฎีความน่าจะเป็นเชิงอนุมานที่ถูกใช้กันอย่างกว้างขวางในงานคอมพิวเตอร์ชั้นสูงครับ ไม่ว่าจะเป็นการรู้จำแบบมีผู้สอนเชิงเส้นด้วย Naive Bayes หรือ การรู้จำเสียงพูดด้วย Hidden Markov Model หรือ การคำนวณสภาวะ Superposition ของคิวบิตในควอนตัมคอมพิวเตอร์ ก็ล้วนตั้งอยู่บนหลักการของทฤษฎีบทของเบย์ทั้งนั้น

โดยหน้าตาของสมการตามทฤษฎีบทของเบย์ก็เป็นแบบข้างล่างนี้

ทฤษฎีบทของเบย์
ทฤษฎีบทของเบย์

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

ซึ่งถ้าจะคำนวณความน่าจะเป็นของลำดับถัดไปโดยขึ้นกับความน่าจะเป็นของลำดับก่อนหน้า ก็สามารถทำได้ง่าย ๆ ตามสมการข้างล่างนี้ครับ

การคำนวณความน่าจะเป็นแบบมีเงื่อนไข
การคำนวณความน่าจะเป็นแบบมีเงื่อนไข

แล้วในเมื่อมันมีสมการง่าย ๆ อยู่ก่อนแล้ว ทำไมเรายังต้องคำนวณโดยใช้ทฤษฎีบทของเบย์อีก???

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

ก่อนอื่น ยกตัวอย่างข้อมูลให้ดูแล้วกันครับ ตามตารางด้านล่างนี้ เป็นข้อมูลคุณสมบัติของบุคคลที่มีเพียง 5 คนเท่านั้น โดยคุณสมบัติของคนเหล่านั้นก็คือ หน้าตา รูปร่าง เส้นเสียง การแสดง และ อาชีพ ครับ

ตัวอย่างข้อมูลเพื่อคำนวณตามทฤษฎีบทของเบย์
ตัวอย่างข้อมูลเพื่อคำนวณตามทฤษฎีบทของเบย์

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

ตัวอย่างสมการแบบความน่าจะเป็นแบบมีเงื่อนไข
ตัวอย่างสมการแบบความน่าจะเป็นแบบมีเงื่อนไข

คำตอบคือ 1 ส่วน 2 ซึ่งแบบข้างบนนี้ตรงไปตรงมา แต่ถ้าหาโดยใช้ทฤษฎีบทของเบย์บ้างล่ะจะเป็นยังไง? ซึ่งก็เป็นไปตามด้านล่างนี้

ตัวอย่างสมการตามทฤษฎีบทของเบย์
ตัวอย่างสมการตามทฤษฎีบทของเบย์

จะเห็นว่าคำตอบที่คำนวณได้ตามทฤษฎีบทของเบย์ มันก็เหมือน ๆ กับคำตอบที่คำนวณได้ตามทฤษฎีความน่าจะเป็นแบบมีเงื่อนไขนั่นแหล่ะครับ แล้วในเมื่อคำตอบมันเหมือนกัน แล้วเราจะไปใช้ทฤษฎีบทของเบย์ทำไมอีก???

คำตอบก็เพราะว่า ในสถานการณ์จริง เราอาจไม่สามารถหาความน่าจะเป็นแบบมีเงื่อนไขอย่างตรงไปตรงมาได้ครับ บางครั้งมันยอกย้อน มันต้องอ้างอิงกลับไปกลับมาถึงจะหาคำตอบได้ ดังนั้น ด้วยคุณสมบัติของทฤษฎีบทของเบย์ ก็เลยทำให้มันกลายเป็นเครื่องมือที่นิยม สำหรับงาน Machine Learning, Data Mining หรือ Quantum Computing ไปโดยปริยายนั่นเอง

การหยั่งรู้ล่วงหน้า

การหยั่งรู้ล่วงหน้าแบ่งได้เป็น 2 แบบ แบบแรกคือเรารู้ได้ด้วยตัวเราเอง เพราะเรามีญาณทิพย์ ญาณวิเศษ ที่เกิดจากกสินที่บริกรรม สมาธิที่ก่อกำเนิด วิปัสสะนาที่เข้าฌาณ สิ่งศักดิ์สิทธิ์ดลใจ หรือของจากชาติที่แล้ว

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

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

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

ถ้าใช้ดิจิทอลคอมพิวเตอร์ในปัจจุบันก็จะทำได้ในระดับหนึ่ง โดยการคิดค้นอัลกอริทึมที่ลดเวลาในการประมวลผลจาก Factorial หรือ Exponential ให้กลายเป็น Polynomial หรือให้กลายเป็น Iterative

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

ผมคิดว่าแขนงวิชาหยั่งรู้ล่วงหน้าจะเกิดและเติบโตขึ้นแน่ เมื่อเรานำควอนตัมคอมพิวเตอร์มาใช้กันอย่างกว้างขวางในอนาคตครับ

จดหมายเหตุควอนตัมคอมพิวเตอร์

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

เอาเป็นว่าเริ่มเลยก็แล้วกันนะครับ …

บทนำ

ปัจจุบันโลกยังอยู่ในยุคของสถาปัตยกรรมดิจิทัลคอมพิวเตอร์ ซึ่งเป็นสถาปัตยกรรมที่พึ่งพาปรากฎการณ์ทางด้านอิเลกทรอนิกส์ในการขับเคลื่อน นั่นคือ ยังคงประมวลผลโดยพึ่งพาสัญญาณไฟฟ้ากระแสตรงแบบ 0 และ 1 ซึ่งทิศทางของสัญญาณไฟฟ้าเกิดจากการที่อิเล็กตรอนกระโดดออกจากอะตอมหนึ่งข้ามไปยังอีกอะตอมหนึ่งในทิศทางตรงข้ามกัน ในขณะเดียวกัน ปริมาณของทรานซิสเตอร์บนวงจรรวม ก็เพิ่มขึ้นเป็นเท่าตัวประมาณทุก ๆ สองปี ตามกฎของ Gordon E.  Moore

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

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

อ่านเพิ่มเติม จดหมายเหตุควอนตัมคอมพิวเตอร์