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

พวกเราคงจำข่าวที่ 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 บนควอนตัมคอมพิวเตอร์ และ การเร่งวงจรบนควอนตัมคอมพิวเตอร์)

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

หลักสูตรคอมพิวเตอร์ในเมืองไทย (ปรับปรุงใหม่)

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

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

ผมสรุปแล้ว (สรุปเอง) ว่าเราสามารถจัดหลักสูตรคอมพิวเตอร์ในเมืองไทยได้ 10 หลักสูตรใน 4 วุฒิการศึกษาครับ ตามรายการด้านล่างนี้

วุฒิวิทยาศาสตร์

  • วิทยาการคอมพิวเตอร์ (Computer Science) มุ่งเน้นการเรียนรู้ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์ และ ทฤษฎีการประมวลผลสารสนเทศ
  • วิศวกรรมซอฟต์แวร์ (Software Engineering) มุ่งเน้นการเรียนรู้ทฤษฎีการพัฒนาซอฟต์แวร์ และกระบวนการพัฒนาซอฟต์แวร์อย่างเป็นระบบ
  • เทคโนโลยีสารสนเทศ (Information Technology) มุ่งเน้นการประยุกต์ทฤษฎีทางคอมพิวเตอร์ให้เกิดประโยชน์และใช้ได้จริง
  • ระบบสารสนเทศเพื่อการจัดการ (Management Information System) มุ่งเน้นการเรียนรู้ทฤษฎีการค้นหา วิเคราะห์ สังเคราะห์ข้อมูลด้วยคอมพิวเตอร์ เพื่อสกัดสารสนเทศและตกผลึกสารสนเทศ สำหรับนำเสนอ ตัดสินใจ และบริหารจัดการ
  • เทคโนโลยีมัลติมีเดียและแอนิเมชั่น (Multimedia Technology and Animation) มุ่งเน้นการเรียนรู้การใช้คอมพิวเตอร์เพื่อประมวลผลสัญญาณภาพดิจิทัล ผสานสื่อผสม สร้างเกมคอมพิวเตอร์ และประสานงานด้านนิเทศศาสตร์
  • เทคโนโลยีคอมพิวเตอร์อุตสาหกรรม (Industrial Computer Technology) มุ่งเน้นการประยุกต์ใช้คอมพิวเตอร์ เพื่อตอบสนองต่องานช่างอุตสาหกรรม และพัฒนาระบบในงานอุตสาหกรรม

วุฒิวิศวกรรมศาสตร์

  • วิศวกรรมคอมพิวเตอร์ (Computer Engineering) มุ่งเน้นการเรียนรู้กระบวนวิธีเพื่อสั่งการคอมพิวเตอร์ในระดับล่างเชิงลึก และการสั่งการฮาร์ดแวร์ที่ต่อเชื่อมกับคอมพิวเตอร์ การสั่งการระบบฝังตัวและระบบไมโครคอนโทรลเลอร์
  • วิศวกรรมข้อมูลขนาดใหญ่ (Big Data Engineering) มุ่งเน้นการเรียนรู้ทฤษฎีการบริหารจัดการข้อมูลขนาดใหญ่ การเรียนรู้โดยเครื่องจักร และการสกัดความรู้จากข้อมูลขนาดใหญ่

วุฒิบริหารธุรกิจ

  • คอมพิวเตอร์ธุรกิจ (Business Computer) มุ่งเน้นเรียนรู้การประยุกต์ใช้คอมพิวเตอร์ในด้านฐานข้อมูล สินค้าคงคลัง ค้าปลีก ค้าส่ง การเงิน บัญชี ทรัพยากรบุคคล เพื่อตอบสนองทางธุรกิจ

วุฒิครุศาสตร์อุตสาหกรรม

  • เทคโนโลยีคอมพิวเตอร์ (Computer Technology) มุ่งเน้นเรียนรู้เทคโนโลยีทางคอมพิวเตอร์ และเรียนรู้ขั้นตอนวิธีการถ่ายทอดความรู้ เพื่อเป็นผู้ถ่ายทอดความรู้ทางคอมพิวเตอร์ให้ผู้อื่นอย่างเป็นระบบ

คอมพิวเตอร์

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

ถ้าใครอยากรู้ว่าวิศวกรรมข้อมูลขนาดใหญ่ มันมีความสำคัญยังไงต่ออนาคต อยากให้ไปลองอ่านหัวข้อ Data Science คืออะไร และ Data Scientist คืออะไร ที่ผมเคยเขียนไว้ครับ เพื่อจะได้เข้าใจว่าปฐมบทแห่งวิศวกรรมข้อมูลขนาดใหญ่ มันมีต้นกำเนิดมาจากอะไร

เครื่องจักรโง่ เครื่องจักรฉลาด เครื่องจักรปัญญาประดิษฐ์

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

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

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

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

ยุคที่หนึ่ง มนุษย์ทำเอง

มนุษย์ทำ
มนุษย์ทำ

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

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

ยุคที่สอง มนุษย์คุม เครื่องมือทำ

มนุษย์คุม เครื่องมือทำ
มนุษย์คุม เครื่องมือทำ

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

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

ถึงแม้จะมีเครื่องมือแล้ว แต่ปัญหาในเรื่องของประสิทธิภาพยังมีอยู่ เพราะเครื่องมือมันมีการส่งกำลังที่จำกัด ดังนั้น มนุษย์จึงเริ่มคิดค้นสิ่งที่เรียกว่า “เครื่องจักร” ขึ้นมา

ยุคที่สาม มนุษย์คุม เครื่องจักรโง่ทำ

มนุษย์คุม เครื่องจักรโง่ทำ
มนุษย์คุม เครื่องจักรโง่ทำ

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

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

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

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

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

ยุคที่สี่ เครื่องจักรฉลาดคุม เครื่องจักรโง่ทำ

เครื่องจักรฉลาดคุมเครื่องจักรโง่
เครื่องจักรฉลาดคุมเครื่องจักรโง่

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

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

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

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

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

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

เอาเป็นสถิติของปี พ.ศ. 2558 (ค.ศ. 2015) แล้วกัน

ประเทศจีน

สินค้าส่งออก 10 รายการของประเทศจีน ค.ศ. 2015
สินค้าส่งออก 10 รายการของประเทศจีน ค.ศ. 2015

ประเทศสหรัฐอเมริกา

สินค้าส่งออก 10 รายการของประเทศสหรัฐอเมริกา ค.ศ. 2015
สินค้าส่งออก 10 รายการของประเทศสหรัฐอเมริกา ค.ศ. 2015

ประเทศสหราชอาณาจักร

สินค้าส่งออก 10 รายการของประเทศสหราชอาณาจักร ค.ศ. 2015
สินค้าส่งออก 10 รายการของประเทศสหราชอาณาจักร ค.ศ. 2015

ประเทศเยอรมัน

สินค้าส่งออก 10 รายการของประเทศเยอรมัน ค.ศ. 2015
สินค้าส่งออก 10 รายการของประเทศเยอรมัน ค.ศ. 2015

ประเทศญี่ปุ่น

สินค้าส่งออก 10 รายการของประเทศญี่ปุ่น ค.ศ. 2015
สินค้าส่งออก 10 รายการของประเทศญี่ปุ่น ค.ศ. 2015

ประเทศเกาหลีใต้

สินค้าส่งออก 10 รายการของประเทศเกาหลีใต้ ค.ศ. 2015
สินค้าส่งออก 10 รายการของประเทศเกาหลีใต้ ค.ศ. 2015

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

ยุคที่ห้า เครื่องจักรอัจฉริยะควบคุมเครื่องจักรฉลาด

เครื่องจักรปัญญาประดิษฐ์คุมเครื่องจักรฉลาด
เครื่องจักรปัญญาประดิษฐ์คุมเครื่องจักรฉลาด

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

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

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

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

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

วิธีค้นหาคำตอบที่ดีที่สุดโดยคอมพิวเตอร์

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

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

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

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

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

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

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

1.  การค้นหาด้วยเทคนิคปรกติ

การค้นหาด้วยเทคนิคปรกติ ก็คือการค้นหาตามหลักการพื้น ๆ ในทางคอมพิวเตอร์ทั่วไป ไม่ว่าจะเป็น

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

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

2.  การค้นหาด้วยเทคนิคการเดาอย่างมีเหตุผล

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

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

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

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

3.  การค้นหาโดยเทคนิคให้คอมพิวเตอร์เรียนรู้

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

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

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

คงอีกนานครับกว่าคอมพิวเตอร์มันจะมีชีวิตจิตใจขึ้นมาได้

ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์และทฤษฎีการประมวลผลสารสนเทศ