อะไรเอ่ย .. ปัญญาประดิษฐ์ ?

หลายคนคงเคยได้ยินคำถามว่าคนกับคอมพิวเตอร์ใครฉลาดกว่ากัน บางคนบอก..”แหม..มันต้องคนอยู่แล้ว..ก็คนเป็นคนคิดเครื่องคอมฯ มา..ให้มันเป็นทาสเราจะฉลาดกว่าเราได้ยังไง” อีกคนก็เลยเถียงว่า “งั้นลองแข่งแก้โจทย์ differential equations กะมันดิ” . (- -”) อ้าว..จ๋อย…ถึงกระนั้นก็ยังมีคนตั้งคำถามประเภทนี้อยู่ ทุกวันนี้ก็ยังมีการพิสูจน์ความสามารถทางปัญญาระหว่างคนกับเครื่องอยู่บ่อยๆ เช่นการแข่งหมากรุกไงครับ เรียกว่าเอามาแข่งกับแชมป์โลกเลย แต่โดยสรุปแล้ว มนุษย์เก่งที่การเรียนรู้ที่ไม่รู้จบ การคิดวางแผนอย่างรอบคอบ การรู้จำ (cognitive) .. เรียกว่ามี “ปัญญา” แต่คิดช้าและลืมง่ายโดยเฉพาะคนไทย..ส่วนคอมพิวเตอร์ดีที่คำนวณเร็ว จำแม่น (memorize) เก่งไม่เก่งขึ้นกับโปรแกรมเป็นหลัก อันนี้คงรู้กันดี..

แต่ ก็นั่นแหละ..ถึงแม้ว่าคอมพิวเตอร์ถูกสร้างมาเพื่อให้คำนวณและทำงานตาม โปรแกรม (ซึ่งทั่วๆ ไปก็ยังคงเป็นโปรแกรมในการคำนวณอะไรซักอย่าง) แต่นักวิทยาศาสตร์ก็ไม่พอใจแค่เรื่องการคำนวณที่เร็วเท่านั้น แต่อยากให้คอมพิวเตอร์คิดและเรียนรู้ได้อย่างมนุษย์.. ทีนี้จะทำให้เจ้าหน้าจอเหลี่ยมๆ นี่มันคิดได้อย่างมนุษย์ได้ยังไง… ก็.. เขียนโปรแกรมมันให้คิดหรือมีความฉลาด มีปัญญาเหมือนมนุษย์สิ .. แต่..เอ..ความฉลาดหรือปัญญาของคอมพิวเตอร์เป็นสิ่งที่มนุษย์สร้างมันขึ้นมา งั้นก็เรียกมันว่าเป็น Artificial Intelligence ละกัน .. ส่วนคำไทยๆ ก็กลายเป็น “ปัญญาประดิษฐ์” นั่นเอง .. แต่นั้นมาก็เลยเกิดสาขาทางคอมพิวเตอร์อันนึงที่เรียก AI

สาขาทาง AI ค่อนข้างจะกว้างเอาซะมากๆ .. เราอาจจะเทียบกับมนุษย์ก็ได้ จะรู้ว่าปัญญา ความฉลาดของมนุษย์ เป็นสิ่งที่แทบจะไร้ขีดจำกัด แถมมีวิวัฒนาการไปได้เรื่อยๆ อีก อย่างไรก็ตาม เพื่อเป็นการแยกย่อยสาขาให้แคบลง AI จึงถูกแบ่งเป็นสองส่วน คือ ศาสตร์ด้านการรู้จำ (Cognitive sciences) เพื่อสอนให้คอมพิวเตอร์สามารถ “เห็นบ้านแล้วบอกได้ว่าเป็นบ้าน” และ ระบบผู้เชี่ยวชาญ (Expert Systems) เพื่อให้คอมพิวเตอร์สามารถวิเคราะห์และวางแผนเป็นเหมือนมนุษย์..

มาดูรายละเอียดทีละสาขานะครับ

Cognitive Sciences

เคย สงสัยกันมั้ยครับว่าทำไมเราถึงมองบ้านแล้วสามารถบอกได้ว่ามันเป็นบ้าน ? ส่วนนึงเพราะประสบการณ์สอนเราให้รู้จักรูปร่างของบ้าน แต่สิ่งที่เหนือไปกว่านั้นคือ ไม่ว่าบ้านจะมีรูปร่างต่างกันยังไง ไม่ว่าจะเป็นแค่กระต๊อบ ทาวน์เฮ้าส์ บ้านเดี่ยว บ้านแฝด ไฟฟ้า ประปา ถนนคอนกรีต ฯลฯ .. เอ ไม่ใช่โฆษณาขายบ้านนี้หว่า .. ย้อนกลับมาก่อนนะครับ (- –) แต่เราสามารถระบุได้ในเวลาแค่พริบตาว่านั่นคือ “บ้าน” แม้จะมีรูปแบบที่ต่างกัน ทาสีคนละสี ทรงยุโรป ทรงไทย .. คำตอบคือ มันมีสิ่งพิเศษอันนึง เป็นคุณลักษณะที่ทำให้เราเรียกสิ่งที่เห็นว่า “บ้าน” .. ที่แปลกคือ มนุษย์เราไม่ได้รู้หรอกครับว่าคุณลักษณะพิเศษที่ว่านั้นคืออะไรแน่ แต่เราสามารถรับรู้ สามารถสัมผัสด้วยประสาทสัมผัสของเราได้ .. ดูจะไสยศาสตร์ยังไงชอบกลนะครับ – – .. ลองนึกถึงอีกเหตุการณ์นึง หลายๆ คนคงเคยเห็นเงาของใครซักคนแล้วบอกได้ว่าเงานั้นเป็นของใคร หรือ เห็นท่าทางเดิน ได้ยินเสียง บางทีแค่เสียงก้าวเท้าก็บอกได้แล้ว .. โห.. แล้วคอมพิวเตอร์จะทำอย่างมนุษย์ได้มั้ยเนี่ย ?? .. แปลกนะครับ พอลองมาพิจารณาแบบนี้เราจะรู้สึกได้ว่า “เฮ้ย.. เรานี่ก็เป็นสิ่งมหัศจรรย์เหมือนกันนะ” .. และเจ้า Cognitive sciences นี่ก็คือการเรียนรู้ ทำความเข้าใจตัวเราในส่วนการรู้จำนี้ เพื่อนำมาใส่ลงในคอมพิวเตอร์

Cognitive sciences มีทฤษฎีมากมาย อย่างเช่น การนำสถิติมาใช้..อย่างเวลาลุ้นไพ่ เกาจิ้งมาเอง “..หัวแหลมมาแล้ว.นี่ๆ มีขาสองขา ขีดตรงกลาง เนี่ย A ชัวร์”..หารู้ไม่ว่ามันเป็น A เท้าสะเอว (เลขสี่) แต่ที่เด่นๆ .. การนำหลักสถิติมาใช้เกิดในช่วงแรกๆ ในการพัฒนา Cognitive sciences เนื่องจากเหตุผลที่ว่า มันเป็นคณิตศาสตร์อันเดียวที่นำมาใช้ได้ในด้านนี้ แต่ในที่สุดแล้วเราก็พบว่า สถิติมีขีดจำกัดค่อนข้างมากในการเลียนแบบการรู้จำของมนุษย์ เพราะสมอง ปัญญา ความฉลาด ไม่ใช่เรื่องของสถิติ .. จึงมีคนนำแนวความคิดในการจำลองการทำงานของสมองมาใช้ในการรู้จำ นั่นก็คือ (Artificial) Neural Networks .. หลักการคร่าวๆ ของ Neural Networks คือการจำลองรูปแบบการทำงานของเซลสมองที่เรียกว่า “neurons” .. สมองมนุษย์ประกอบด้วย neurons นับล้านๆ เชื่อมกันเป็นเครือข่าย

เป็น การจำลองหน่วยที่เล็กที่สุดในสมอง นั่นคือ neuron มาลงในคอมพิวเตอร์ สมองก็คือเครือข่ายของ แต่ละเซลประกอบด้วยปลายในการรับกระแสประสาท เรียกว่า “เดนไดรท์” (Dendrite) ซึ่งเป็น input และปลายในการส่งกระแสประสาทเรียกว่า “แอคซอน” (Axon) ซึ่งเป็นเหมือน output ของเซล เซลเหล่านี้ทำงานด้วยปฏิกิริยาไฟฟ้าเคมี เมื่อมีการกระตุ้นด้วยสิ่งเร้าภายนอก หรือกระตุ้นด้วยเซลด้วยกัน กระแสประสาทจะวิ่งผ่านเดนไดรท์เข้าสู่นิวเคลียสซึ่งจะเป็นตัวตัดสินว่าต้อง กระตุ้นเซลอื่นๆ ต่อหรือไม่ ถ้ากระแสประสาทแรงพอ นิวเคลียสก็จะกระตุ้นเซลอื่นๆ ต่อไปผ่านทางแอคซอนของมัน นักวิทยาศาสตร์เชื่อกันว่าผลการกระตุ้นด้วยสิ่งเร้าที่เหมือนหรือมีลักษณะ พิเศษบางอย่างเหมือนกัน จะให้ผลลัพธ์สุดท้ายเป็นค่าที่ค่อนข้างแน่นอน เราจึงสามารถรู้จำ และแยกแยะสิ่งต่างๆ ได้..

Model ของ Neuron ในสมองModel ของ Neuron ในคอมพิวเตอร์

 

สำหรับ ในคอมพิวเตอร์ neurons ประกอบด้วย input และ output เหมือนกัน โดยจำลองให้ input แต่ละอันมี weight เป็นตัวกำหนดน้ำหนักของ input .. neuron แต่ละหน่วยจะมีค่า threshold เป็นตัวกำหนดว่าน้ำหนักรวมของ input ต้องมากขนาดไหนถึงจะส่ง output ไปยัง neurons ตัวอื่น .. เมื่อนำ neuron แต่ละหน่วยมาต่อกันให้ทำงานร่วมกันการทำงานนี้ในทางตรรกแล้วก็จะเหมือนกับ ปฏิกิริยาเคมีที่เกิดในสมอง เพียงแต่ในคอมพิวเตอร์ทุกอย่างเป็นตัวเลขเท่านั้นเอง .. การทำงานของ neural networks ง่ายมากๆ เมื่อมี input เข้ามายัง network ก็เอา input มาคูณกับ weight ของแต่ละขา ผลที่ได้จาก input ทุกๆ ขาของ neuron จะเอามารวมกันแล้วก็เอามาเทียบกับ threshold ที่กำหนดไว้ ถ้าผลรวมมีค่ามากกว่า threshold neuron ก็จะส่ง output ออกไป output นี้ก็จะถูกส่งไปยัง input ของ neuron อื่นๆ ที่เชื่อมกันใน network ถ้าค่าน้อยกว่า threshold ก็จะไม่เกิด output .. ง่ายมากๆ เลย if (sum(input * weight) > threshold) then output เท่านั้นเอง .. สิ่งสำคัญคือเราต้องรู้ค่า weight และ threshold สำหรับสิ่งที่เราต้องการให้คอมพิวเตอร์รู้จำ ซึ่งเราไม่รู้ว่ามันมีค่าเท่าไหร่แน่ แต่เราสามารถกำหนดให้คอมพิวเตอร์ปรับค่าเหล่านั้นได้โดยการสอนให้มันรู้จัก pattern ของสิ่งที่เราต้องการให้มันรู้จำ เรียกว่า “back propagation” ซึ่งเป็นกระบวนการย้อนกลับของการรู้จำ .. หลักการคือเรากำหนด ค่า output ที่ถูกต้องให้กับ pattern ของสิ่งที่เราต้องการให้มันรู้จำหลายๆ แบบ แล้วคำนวณหา error ของ output ที่ได้จากการคำนวณด้วยคอมพิวเตอร์เทียบกับ output ที่ถูกต้อง แล้วนำค่า error ไปปรับ weight / threshold .. การสอนต้องทำซ้ำๆ หลายครั้ง และจำเป็นต้องสอนให้คอมพิวเตอร์รู้จัก pattern หลายๆ แบบของสิ่งๆ เดียว (ถ้าเป็นบ้านก็คือ ให้มันรู้จักบ้านหลายๆ แบบ หลายๆ ทรง) ยิ่งสอนมากเท่าไหร่ weight และ threshold ก็จะมีความถูกต้องมากขึ้น

อย่างเช่นจะรู้จำรูปสามเหลี่ยม กับรูปสี่เหลี่ยม เราอาจแบ่ง input เป็น 9 ตัวคือเป็นตาราง 3×3 ถ้าวาดรูปสี่เหลี่ยมหรือสามเหลี่ยมให้เต็มกรอบ 3×3 พอดี สี่เหลี่ยมจะมีส่วนของขอบอยู่ในช่อง 1,2,3,4,6,7,8,9 มากกว่าใช่มั้ย ..อ้า..งั้นเราก็ให้น้ำหนักตรงช่องเหล่านี้มากๆ หน่อย ถ้ามีเส้นขีดผ่านก็เอามาคูณกับน้ำหนักแล้วก็เอามารวมกัน ตั้งค่าให้พอเหมาะก็จะสามารถแยกแยะระหว่างสี่เหลี่ยมกับสามเหลี่ยมได้..อัน นี้คือหลักการของ neural network

Cognitive Sciences ไม่ได้พูดกันแต่เรื่องของภาพ แต่จะรวมทั้งเสียง ลักษณะที่เป็น pattern อื่นๆ รวมทั้งการรับรู้ภาษาของมนุษย์ด้วย งานที่นำ Cognitive Science ไปประยุกต์ก็มีพวก Voice Recognition, Optical Character Recognition (OCR) หรือ Handwriting Recognition

Expert System

ทีนี้ มาเรื่อง Expert System กันบ้าง .. เป้าหมายตัวนี้เป็นเรื่องการทำให้คอมพิวเตอร์ฉลาดได้..ทำให้มันเรียนรู้เอง (Self-learning) ได้ เอาเรื่องทฤษฎีซักเล็กน้อยนะครับ ถ้าเราแบ่งระดับของความรู้ (knowledge) ตามความลึกหรือความซับซ้อนจะแบ่งออกได้ 3 ระดับ คือ “Deep Knowledge” เป็นความรู้พื้นฐานที่ถือว่าลึกที่สุด ได้จากการศึกษาข้อเท็จจริง กฏ และ ทฤษฎีต่างๆ เช่นการที่เราคำนวณเลขเป็น บวก ลบ คูณ หารได้ การที่เราคำนวณตามกฏของนิวตันได้ อันนี้เกิดจาก deep knowledge ซึ่งหาได้จากการศึกษาในตำรา และห้องเรียนเป็นส่วนใหญ่ อันที่สองคือ “Domain Knowledge” เป็นความรู้ระดับกลางๆ ในเรื่องของวิธีการและการปฏิบัติเฉพาะทาง ส่วนสุดท้ายคือ “Surface Knowledge” หรือ “Shallow Knowledge” เป็นความรู้ที่ได้จากประสบการณ์ อันที่สามนี่แหละที่สำคัญ เพราะสองอันแรกที่มันสามารถจะถ่ายทอดได้ง่ายและรับรู้ได้ง่าย deep และ domain knowledge จะเป็นพื้นฐานในการรองรับเรื่องของประสบการณ์และเหตุผล ซึ่งเราสามารถจะใส่หรือ encode ลงไปในเครื่องคอมพิวเตอร์ได้ง่าย แต่สิ่งที่ทำให้คนกับคอมพิวเตอร์ต่างกันคือตัว surface knowledge เพราะว่าคอมพิวเตอร์มันทำงานตามที่เราโปรแกรมเท่านั้น มันเก็บประสบการณ์เองไม่เป็น อันนี้คือจุดที่ทำให้เกิด Expert Systems ขึ้นมา.. หลายคนอาจสงสัยว่าทำไมถึงเรียกว่า Expert System ทั้งที่เราจะใช้ knowledge ที่อยู่ตื้นที่สุด ? …คำตอบก็มาจากเรื่องของประสบการณ์นั้นแหละครับ คือผู้ที่มี surface knowledge อยู่มากกว่า หรือมีประสบการณ์มากกว่า คือผู้ที่สามารถแก้ปัญหาเฉพาะทางได้ดีกว่าคนที่ไม่มี ยกตัวอย่างเช่น คนที่เป็นหมอ เริ่มต้นการเรียนหมอคือการใส่ deep และ domain knowledge ให้ผู้เรียน แต่ละโรคเป็นยังไง เชื้อโรคไหนทำให้เป็นอะไร อันนี้คือ deep และ domain knowledge แต่พอเรียนไปเค้าต้องฝึกให้เอา deep และ domain knowledge มาใช้ ซึ่งก็คือการฝึกประสบการณ์ให้เกิด surface knowledge นั่นเอง.. อันนี้เป็นเหตุผลที่ว่าทำไมหมออายุน้อยๆ กับหมออายุมากๆ มีความเชี่ยวชาญต่างกันทั้งที่เรียนหนังสือเล่มเดียวกัน หรือเราอาจเปรียนเทียบให้ใกล้ตัวขึ้นนะ เป็นการเขียนโปรแกรมภาษา C/C++ ที่คุณเรียนในห้องเรียนเป็นวิธีการโปรแกรมนั้นคือ deep และ domain knowledge แต่เรียนในห้องเรียนอย่างเดียวจะเขียนโปรแกรมเก่งมั้ยล่ะครับ.. ก็คงยากหน่อย .. อยากเขียนเป็น เขียนเก่งก็ต้องฝึกเขียนกันใช่มั้ยครับ ? .. ยิ่งเขียนมากมีประสบการณ์มากก็เขียนได้ดี และเก่งขึ้น อันนี้คือการเป็นผู้เชี่ยวชาญ

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

จึงเรียกอีกอย่างว่า “Knowledge-Based System” และทฤษฎีที่เป็นตัวรองรับ Expert system ก็เรียกว่า “Knowledge Engineering” …อุวะ..ชื่อเท่ห์ชะมัด

อย่างไร ก็ตาม การเก็บประสบการณ์ (Knowledge Acquisition) ไม่ใช่เรื่องง่ายๆ เหมือนการบันทึกข้อมูลทั่วไป เพราะประสบการณ์มีการเก็บในตัวคนอย่างซับซ้อนมาก การดึงเอาออกมาก็เป็นการยากแล้ว ผมยกตัวอย่างแบบนี้ สมมติเราจะข้ามถนนที่มีรถกำลังวิ่งใกล้เข้ามา.. เราต้องวัดระยะว่ารถอยู่ห่างกี่เมตรรึเปล่า ? ต้องคำนวณมั้ยว่ารถเร็วเท่านี้ ถนนกว้างขนาดนี้ เราวิ่งได้เร็วสุดเท่านี้ จะข้ามทันมัย ?? .. เราคงไม่ได้ทำแบบนี้ใช่มั้ยครับ (หรือมีใครทำ ??) .. แล้วทำไมเราถึงข้ามถนนได้โดยปลอดภัย ? ทั้งที่การข้ามถนนเป็นเรื่องออกจะคอขาดบาดตาย ทำไมเราไม่คิดหรือคำนวณให้มั่นใจ ? .. คำตอบ.. เพราะเราเรียนรู้จากประสบการณ์ไงครับ.. เราฝึกข้ามถนนตั้งแต่เด็ก ตั้งแต่ถูกจูงมือข้ามถนน ซ้ำๆ ไม่รู้กี่ร้อยหน จนมันฝังในหัวไปแล้ว .. แต่เราอธิบายได้มั้ยครับว่าทำไมถึงตัดสินใจข้าม หรือไม่ข้ามถนน ? เพราะอะไรกันแน่ ? เราแก้ปัญหาได้ แต่กลับบอกไม่ได้ว่าทำไม .. มหัศจรรย์อีกแล้ว ไม่รู้รอดจากรถชนได้ไง (- -”) .. เพราะว่าเราหาเหตุผลที่แท้จริงไม่ได้นั่นล่ะครับคือความยากใน Knowledge Acquisition

ปัจจุบันใน Knowledge Engineering นิยมที่จะเก็บข้อมูลนี้เป็นกฏ(rules) ในรูปของ IF-THEN ..”ถ้า .. แล้ว… ” เพราะมัน encode ได้ง่าย อย่างหมอวิเคราะห์โรคเพื่อรักษา เค้าจะดูอาการที่ปรากฏเป็นหลัก เพราะไม่สามารถจะระบุได้ 100% ว่าผู้ป่วยเป็นโรคอะไร แต่ “ถ้ามีอาการ X ก็น่าจะเป็นโรค Y นะ อ้อถ้าเป็นโรค Y ก็กินยา Z นะ ” อันนี้คือประสบการณ์เหมือนกัน เพราะถ้าอ่านแต่ตำราก็จะไม่มีทางจะยืนยันได้หรอกว่าผู้ป่วยเป็นอาการ X อยู่ตอนนี้ คนที่เคยเห็นเคยประสบจริงๆ ถึงจะบอกได้..คนที่ตรวจบ่อยๆ ฟังเสียงลมหายใจในปอดคนป่วยบ่อยๆ หรือคลำหาก้อนเนื้อที่ผิดปกติบ่อยๆ ถึงจะชี้ชัดถึงอาการได้ถูกต้องมากกว่า หรือข้ามถนนก็เหมือนกัน ถ้าถนนกว้างประมาณนี้ รถวิ่งประมาณนี้ งั้นข้ามได้ ประสบการณ์เท่านั้นที่จะบอกว่า “ประมาณนี้” คือเท่าไหร่ .. ในการแก้ปัญหาจริงๆ แล้วอาจจะมี IF-THEN นี่เป็นหลายร้อยหลายพันอันเลย ..อย่างระบบ common sense ของมนุษย์มีการวิจัยกันว่ามี IF-THEN ไม่น้อยกว่า 2 ล้านอัน…เค้าเรียก IF-THEN แต่ละอันว่าเป็น กฏ (Rule) และเรียก X, Y, Z ว่าเป็นข้อเท็จจริง (facts) เมื่อข้อเท็จจริงปรากฏขึ้นในกฏใดก็จะทำให้เกิดผลลัพธ์ออกมาตามที่กฏนั้นระบุ ไว้ และนั่นก็คือคำตอบของปัญหา

Expert system ในปัจจุบันนี้ที่ใช้งานกันแล้วก็มีเรื่องของหมอนี่แหละครับ เห็นทำเป็น CD ขายกันเลยนะ ใส่อาการที่เห็นเข้าไปแล้วมันจะวิเคราะห์ว่าเป็นโรคอะไร ต้องกินยาอะไรได้ อีกอันนึงก็คือการทำให้คอมฯ เข้าใจภาษามนุษย์…อ้อ มีอีกอันที่ดังๆ ก็คือ Deep Blue เครื่อง IBM RISC/6000 ที่ออกแบบมาแข่งหมากรุกกับ Garry Kasparov แชมป์โลกหมากรุกหลายสมัย Deep Blue เก็บฐานข้อมูลการเดินหมากจากการแข่งขันหมากรุกจำนวนมหาศาลไว้ และอาศัยการ search และวิเคราะห์ทางสถิติเป็นหลัก ผลก็คือ Deep Blue แพ้ Kasparov ราบคาบ .. ปีต่อมาหลังจากแพ้ Kasparov ทีม Deep Blue พัฒนาระบบใหม่ในชื่อ Deeper Blue ทำเป็น Expert System เลย โดยมีนักเล่นหมากรุกระดับ Grand Master (เก่งโคตรๆ) มาเป็นผู้ช่วย ผลก็คือ Deeper Blue เอาชนะแชมป์โลกที่เป็นมนุษย์ได้ .. Deeper Blue วิเคราะห์การเดินหมากในกระดานสุดท้ายของ Kasparov แล้วให้คำตอบได้ว่า จากฐานข้อมูลการเดินหมากที่เก็บใน Deeper Blue มีเพียง 3 กระดานเท่านั้นที่เดินเหมือนกับหมากที่ Kasparov เดินพลาด ทั้งสามกระดานก็แพ้หมด .. ทีม Deeper Blue มองอนาคตไว้ว่าถ้าสามารถทำให้คอมพิวเตอร์คำนวณได้เร็วพอ ดึง knowledge ได้เร็วพอ อีกหน่อยไปหาหมอ..หมอจะตรวจดูอาการ แล้วคีย์เข้าคอมพิวเตอร์ จากนั้นคอมพิวเตอร์จะหาส่วนผสมของตัวยาในการรักษาอาการที่เกิดขึ้นทั้งหมด ที่คีย์ไป พร้อมทั้งผลิตออกเป็นยาใส่ขวดให้เสร็จสรรพ ผู้ป่วยก็จะได้ยาในการรักษาอาการนั้นๆ อย่างถูกต้องตรงเป๊ะตามอาการและไม่เกิดผลข้างเคียง…อะไรจะปานนั้น

ก่อน จะจบ..แถมเรื่องการ implement ของ AI …สำหรับ Cognitive Science จะเป็นภาษาทั่วไป เช่น C/C++ ทำนองนี้.. เท่าที่รู้ยังไม่มีภาษาที่เป็นภาษาเฉพาะครับ แต่ Expert System มีมากมายหลายภาษา เช่น LISP, PROLOG, CLIPS นอกจากภาษายังมีตัวช่วยสร้างระบบอีกต่างหากเรียกว่าเป็น Expert System Shell เช่น ExSys, KPWin, VPExpert มีเวอร์ชันบน Windows ด้วย พวก shell นี่ใช้ง่ายแล้วทำงานได้ไม่เลว หน้าจอก็จัดได้ตามใจเรา ทำเสร็จก็กลายเป็น Expert System Application ได้เลยทีเดียว …ถ้าสนใจก็ลองหา download มาใช้ดูก็ได้ ผมเคยเอาภาษา LISP, PROLOG, CLIPS และ ExSys เก็บไว้อยู่แถวๆ ที่ภาควิชาฯ นั่นล่ะ .. แต่โปรแกรมยังไง..อันนี้ไปหา deep/domain knowledge กันเอาเอง…หึหึหึ


References

  1. Dentcho N. Batanov, Assoc. Prof., Developement of Knowledge-Based System, Lecture notes, Asian Institute of Technology, Sep. 1997
  2. Wilas Wuwongse, Assoc. Prof., Knowledge Engineering, Lecture notes, Asian Institute of Technology, Sep. 1997
  3. R. Sadananda, Prof., Artificial Intelligence, Lecture notes, Asian Institute of Technology, Jan. 1998
  4. Kevin Knight, Artificial Intelligence, McGraw Hill