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

จินตนาการในเรื่องทางคอมพิวเตอร์ ที่ไม่รู้จะจัดเข้าพวกไหนดี

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

พวกเราคงจำข่าวที่ 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 แบบชิว ๆ)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

มีผู้นิยามความหมายของ “เครื่องจักร” เอาไว้ว่า มันคือเครื่องมือที่ประกอบกันตั้งแต่ 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.  การค้นหาโดยเทคนิคให้คอมพิวเตอร์เรียนรู้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การแก้ปัญหาภาษาไทยบนระบบคอมพิวเตอร์

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

การเกิดขึ้นของ CU Writer ซึ่งเป็นโปรแกรมพิมพ์เอกสารที่ทำงานโดยการเปิดโหมดกราฟิก หรือการเกิดขึ้นของโปรแกรม VThai ซึ่งเป็นโปรแกรมฝังตัวที่ใช้การ Interrupt MS-DOS เพื่อยึดการควบคุมแล้วแสดงผลแบบกราฟิกเพื่อสนับสนุนภาษาไทย ถือเป็นกิจกรรมที่ช่วยแก้ปัญหาเรื่องภาษาไทยบนคอมพิวเตอร์ให้กับคนไทยได้อย่างตรงวัตถุประสงค์

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

ปัญหาของคนไทย ก็ต้องให้คนไทยแก้ถูกมั้ย? เพราะไม่มีคนชาติไหนจะแก้ปัญหาให้คนไทยได้ นอกจากคนไทยที่ควรจะเข้าใจตัวเองที่สุด!!!

microsoft-80659_640

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

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

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

man-141052_640

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

ตอนนี้พอมองภาพกันออกแล้วใช่มั้ยครับ ว่าการแก้ปัญหาภาษาไทยบนระบบคอมพิวเตอร์ ถ้าจะไม่ให้เสียเวลาในการแก้ปัญหา เราต้องพิจารณาจากสิ่งใด?