Ai

April 6, 2018 | Author: Anonymous | Category: Documents
Report this link


Description

1. หน้า : 1 Week1 : The Intelligent Computer บทที่ 1 คอมพิวเตอร์อัจฉริยะ(The Intelligent Computer)หัวข้อ (Topic)1.1 ความหมายของปัญญาประดิษฐ์ (Artificial Intelligent: AI)1.2 เป้าหมายของ AI1.3 ความสาคัญของ AI1.4 ประโยชน์ของ AI1.5 ข้อจากัดของ AI1.6 สาขาของ AI1.7 แนวคิดและเทคโนโลยีปัญญาประดิษฐ์1.8 การประยุกต์ใช้ AI1.9 การวิจัยด้าน AIวัตถุประสงค์การเรียนรู้ (Learning Objective)1. บอกคาจากัดความของปัญญาประดิษฐ์ (Artificial Intelligent: AI) ได้2. บอกถึงเป้าหมายและวัตถุประสงค์หลักของ AI ได้3. แสดงให้เห็นความสาคัญของ AI ได้4. บอกประโยชน์และข้อจากัดของ AI ได้5. จาแนกความแตกต่างระหว่างการทางานของมนุษย์ และเครื่องคอมพิวเตอร์ที่ใช้แนวคิดของ AI ตลอดจนเปรียบเทียบความแตกต่างกับเครื่องคอมพิวเตอร์แบบปกติได้6. ยกตัวอย่างการประยุกต์ใช้ AI สาหรับการแก้ปัญหากับโลกแห่งความเป็นจริงได้7. แนะนาแนวคิดและจินตนาการการใช้แนวคิด AI ในอนาคตได้ในบทนี้เราจะทาความรู้จักกับปัญญาประดิษฐ์ (Artificial Intelligent: AI) เรียนรู้ว่า AI คืออะไร ทาไม AI จึงมีความสาคัญ และเราจะสามารถประยุกต์ใช้แนวคิดของ AI ได้อย่างไรบ้าง ซึ่งประเด็นเหล่านี้เป็นพื้นฐานที่ผู้เรียนควรทาความเข้าใจ ก่อนเริ่มก้าวเข้าสู่การใช้แนวคิด หรือ Algorithmต่าง ๆ ของ AI 2. หน้า : 2 Week1 : The Intelligent Computer1.1 ความหมายของปัญญาประดิษฐ์ (Artificial Intelligent: AI)มีคาจาจัดความของปัญญาประดิษฐ์ (ซึ่งในที่นี้จะขอใช้คาว่า AI) มากมายซึ่งผู้รู้และผู้ที่เกี่ยวข้องทางด้านปัญญาประดิษฐ์ได้ให้ความหมายไว้ ซึ่งพอสรุปได้ดังนี้AI คือ : การศึกษาเกี่ยวกับการคานวณที่มีความเป็นไปได้โดยใช้วิธีการสังเกต การให้เหตุผลและการกระทาเลียนแบบความฉลาดหรือการใช้สติปัญญาของมนุษย์ พยายามแทนที่ความฉลาดของมนุษย์นั้นลงในเครื่องคอมพิวเตอร์หรือเครื่องจักรกลเพื่อให้ สิ่งประดิษฐ์นั้นสามารถทางานเลียนแบบความฉลาดของมนุษย์ได้ - AI มีความแตกต่างจากด้านจิตวิทยา (Psychology) ตรงที่ AI จะเน้นในเรื่องการคานวณ และ - AI มีความแตกต่างจากด้านวิทยาการคอมพิวเตอร์ (Computer Science) ตรงที่ AI เน้นในเรื่องการเข้าใจ การมองเห็น ความรู้สึกสัมผัส การให้เหตุผล และการกระทา นอกจากนี้ยังมีผู้ให้ความหมายและคาจากัดความอื่น ๆ อีก เช่น1. AI คือ เครื่องจักรอัจฉริยะที่สร้างจากความรู้ทางด้าน วิทยาศาสตร์ และวิศวกรรมศาสตร์โดยเฉพาะอย่างยิ่ง ความฉลาดทางด้านโปรแกรมคอมพิวเตอร์ซึ่งเป็นในลักษณะการสร้างคอมพิวเตอร์ให้เรียนรู้และเข้าใจความสามารถของมนุษย์2. ความฉลาด (Intelligent) คือ ความคิดในการคานวณ เพื่อให้สามารถทางานบรรลุผลสู่เป้าหมาย ซึ่งสามารถพบความฉลาดได้ใน คน สัตว์ และเครื่องจักรบางชนิด เราไม่สามารถกาหนดรูปแบบมาตรฐาน ของรูปแบบการคานวณได้อย่างชัดเจนว่า เป็นความฉลาดหรือไม่ แต่เราจะเข้าใจเพียงบางส่วนเท่านั้น3. AI จะสามารถค้นพบวิธีในการแก้ไขปัญหาด้วยตนเอง ซึ่งโปรแกรมที่มีประสิทธิภาพสูงๆจะถูกโปรแกรมให้เป็นเพียงแค่ “ส่วนหนึ่งของความฉลาดเท่านั้น”4. AI เป็น “แบบจาลองความฉลาดของมนุษย์” แต่การทางานบางอย่างของ AI นั้นบางครั้งไม่สามารถทาได้ดีเท่ากับมนุษย์ หรือสัตว์5. รูปแบบการแก้ปัญหาของ AI ไม่สามารถวัดเป็นค่า IQ (Import Quota) ได้ เนื่องจาก IQเป็นค่าที่วัดได้จากอัตราส่วนระหว่างอายุกับเด็ก เพื่อตรวจสอบถึงความฉลาดของเด็กต่อ ช่วงอายุ เพื่อดูความเหมาะสมของการเจริญเติบโต เพื่อใช้เป็นค่าเปรียบเทียบในการวัดถึง การประสบความสาเร็จในการดารงชีวิต ซึ่งนามาใช้เป็นเกณฑ์วัดกับคอมพิวเตอร์ไม่ได้เนื่องจากรูปแบบในการดาเนินการไม่เหมือนกัน 3. หน้า : 3 Week1 : The Intelligent Computer6. โปรแกรมคอมพิวเตอร์มีคุณสมบัติด้านความเร็ว (speed) และหน่วยความจา (memory)ความจุสูง ซึ่งความสามารถของโปรแกรมจะมากหรือน้อยนั้นขึ้นอยู่กับความสามารถของโปรแกรมเมอร์ว่ามีแนวคิดในการออกแบบมากน้อยเพียงใด ซึ่งแนวคิดที่ซับซ้อนนี้จะเกิดได้เมื่อมีวัยวุฒิในระดับหนึ่งแล้ว1.2 เป้าหมายของ AIAI มีเป้าหมายหลัก (AI Goal) 2 ประการ ดังนี้1. Engineering goal : เป้าหมายทางด้านวิศวกรรมศาสตร์เป้าหมายของ AI ในด้านนี้จะมุ่งหวังสาหรับพัฒนาแนวคิดของ AI สาหรับใช้แก้ปัญหาในโลกแห่งความเป็นจริง (real-world problems) โดยพัฒนาเป็นเครื่องมือหรืออุปกรณ์ติดตั้งต่าง ๆ ใช้แนวคิดในการแทนค่า หรือจัดรูปแบบองค์ความรู้ (representing knowledge) และใช้ความรู้นั้นในการประกอบกันขึ้นเป็นระบบ (เน้นประดิษฐ์ ด้านอุปกรณ์ : ผลิตเครื่องจักรอัจฉริยะ)2. Scientific goal : เป้าหมายทางด้านวิทยาศาสตร์เป็นการใช้แนวคิดของการแทนความรู้หรือจัดรูปแบบความรู้ (representing knowledge) ซึ่งเป็นการใช้ความรู้ประกอบกันขึ้นเป็นระบบ เพื่อใช้ในการอธิบายความหลากหลายในการจัดลาดับความฉลาด(เน้นประดิษฐ์ ด้านโปรแกรมเพื่อแทนความฉลาดของคนที่มีหลากหลาย : ผลิตซอฟต์แวร์อัจฉริยะ)วัตถุประสงค์ของ AI1. เพื่อการประดิษฐ์เครื่องจักรกลให้สามารถทางานได้เทียบเท่ากับระดับสติปัญญาของมนุษย์โดยสามารถแก้ปัญหาได้ดีเท่ากับหรือมากกว่ามนุษย์ ด้วยวิธีการเขียนโปรแกรมที่มีความซับซ้อน2. เพื่อสามารถสร้างแบบจาลองการทางานได้ในคอมพิวเตอร์ เมื่อปริมาณงานเพิ่มมากขึ้นความเร็วของซีพียู จะเพียงพอหรือไม่ ? เทคโนโลยีความเร็วของซีพียู ในเวลานั้นๆ จะสามารถรองรับการทางานของโปรแกรมที่สร้างขึ้น ในเวลานั้นๆ ได้ เมื่อต้องการเพิ่มความเร็วในการประมวลผลก็สามารถทาได้อีกวิธีหนึ่ง คือ การทาการประมวลผลแบบคู่ขนาน (Parallel Processing) ซึ่งจะทาให้ประสิทธิภาพในการทางานดีขึ้นได้ 4. หน้า : 4Week1 : The Intelligent Computer1.3 ความสาคัญของ AI ทาไม AI จึงมีความสาคัญ (why AI is important) 1. To make use of AI, ในการพัฒนาแนวคิดของ AI ขึ้นมาใช้งานนั้น จาเป็นต้องมีพื้นฐานความเข้าใจเกี่ยวกับองค์ความรู้ ว่าความรู้ที่มีอยู่นั้นเราจะใช้มันอย่างไร? สามารถจัดรูปแบบองค์ความรู้ด้วยสัญลักษณ์ หรือจัดรูปแบบความรู้ด้วยวิธีการใดได้บ้าง 2. AI Helps us to Become More Intelligent : AI จะช่วยให้เรามีความฉลาดมากขึ้น องค์ความรู้ด้านจิตวิทยา ที่มนุษย์ใช้ประมวลผลข่าวสารนั้น มันสามารถที่จะช่วยนามาพัฒนาระบบคอมพิวเตอร์ ให้เป็นคอมพิวเตอร์ที่ชาญฉลาด และให้คอมพิวเตอร์คิดอย่างมีเหตุผลเหมือนคนได้1.4 ประโยชน์ของ AI 1. แก้ปัญหาได้รวดเร็ว และสามารถแก้ปัญหาแบบกึ่งโครงสร้างได้ ซึ่งอาจจะใช้ข่าวสารประกอบการแก้ปัญหาเพียงแค่บางส่วน หรือมีข้อมูลไม่สมบูรณ์ ไม่เพียงพอ 2. ช่วยในการค้นหา วิเคราะห์ สรุปผล และให้คาแนะนาได้ 3. ช่วยให้เราทางานได้มากขึ้น ในเวลาที่กระชับ 4. เทคโนโลยีของ AI จะช่วยให้ใช้งานคอมพิวเตอร์ได้ง่ายขึ้น สะดวกขึ้น ส่งผลดีต่อผู้ที่มีความรู้ด้านคอมพิวเตอร์น้อยนอกจากประโยชน์ข้างต้นนี้แล้ว AI ยังมีความสามารถในด้านต่าง ๆ ดังนี้1. สามารถเรียนรู้จากองค์ความรู้เดิมที่มีอยู่ในระบบ และสร้างองค์ความรู้ใหม่ได้ด้วยตัวเองหรือเรียนรู้จากประสบการณ์ ( Unsupervise Learning) 2. แปลผลข้อมูลที่คลุมเครือ ข้อมูลที่ขาดความชัดเจนได้3. ใช้เหตุผลในการแก้ปัญหา ในรูปแบบของกฎ (Rule Base) และให้คาแนะนาแก่ผู้ใช้ระบบได้4. แก้ปัญหาที่มีความซับซ้อนสูงได้5. วินิจฉัยหาข้อสรุปด้วยเหตุผลได้1.5 ข้อจากัดของ AIAI มีข้อดีมากมายที่นอกเหนือจากที่กล่าวมาข้างต้น แต่ก็ยังมีข้อจากัดเล็กน้อยดังนี้ 5. หน้า : 5 Week1 : The Intelligent Computer ตาราง: เปรียบเทียบการทางานของมนุษย์ กับ เทคโนโลยีการประดิษฐ์ของ AIรายการมนุษย์AI1. ความคงทนของความรู้สูญหายไปกับบุคคลนั้น คงคนถาวร หรือลืมเลือนได้2. การเผยแพร่ยาก มีค่าใช้จ่ายในการ เผยแพร่ได้ง่าย รวดเร็ว ดาเนินการ ส่วนใหญ่ผู้รู้ ค่าใช้จ่ายต่า มักจะไม่แบ่งปันความรู้3. การจัดทาคู่มือ/ เอกสารยากและลาบาก เพราะผู้รู้ ทาได้ง่ายและรวดเร็ว มักจะคิดว่ารู้อยู่แล้ว, จา สามารถสังพิมพ์ (print out) ได้ ,ไม่ต้องทา, ไม่จาเป็น เอกสารได้4. ค่าใช้จ่ายในการจัดเก็บสูง เนื่องจากต้องเก็บจาก ค่าใช้จ่ายไม่สูงองค์ความรู้หลายแหล่ง อาศัย ผ้เชี่ยวชาญหรือผู้รู้ในแต่ ละด้านมากมาย และบาง ความรู้ต้องสะสมมาเป็น ระยะเวลาหลายสิบปี5. ความเป็นกลาง/ยุติธรรม มีความลาเอียงและอาจมี มีความเที่ยงตรง ไม่เอนและเป็นมาตรฐาน อคติ (Bias) ได้ เพราะเอียง มนุษย์มีจิตใจและมี สภาวะทางอารมณ์6. การนาประสบการณ์ ใช้ได้ทันที ตัดสินใจเป็น ต้องนาประสบการณ์ไปออกมาใช้ แบบอัตโนมัติ ผ่านกระบวนการแปลความก่อน(แปลคาสั่ง,แปลภาษา)แล้วจึงจะสามารถใช้งานหรือตอบกลับได้7. สร้างสรรค์มีความคิดสร้างสรรค์ไม่มี8. การให้เหตุผลประกอบการ ต้องอาศัยประสบการณ์ ให้เหตุผลได้ในเฉพาะบางตัดสินใจเหตุการณ์เท่านั้น 6. หน้า : 6Week1 : The Intelligent Computer จากการที่เราพยายามที่จะใช้แนวคิดของ AI พัฒนาเทคโนโลยีใหม่ เพื่อเลียนแบบความฉลาดของมนุษย์นั้น ปัจจุบันพบว่า เทคโนโลยีปัญญาประดิษฐ์ของ AI นั้น ยังมีผู้พัฒนาน้อยและยังมีความฉลาดไม่เท่าเทียมกับมนุษย์ แต่ AI ก็มีแนวคิด (Algorithm) ที่จะทาให้คอมพิวเตอร์ทางานเลียนแบบสมองของมนุษย์ได้ ซึ่งสมองของมนุษย์มีการทางานแบบคู่ขนาน (Parallel Processing)นอกจากความสามารถของมนุษย์กับเครื่องคอมพิวเตอร์ที่ใช้เทคนิคของ AI แล้ว เรามาดูการเปรียบเทียบอีกกรณีหนึ่งตาราง: เปรียบเทียบการทางานคอมพิวเตอร์ธรรมดา กับ คอมพิวเตอร์ AIคอมพิวเตอร์ธรรมดาคอมพิวเตอร์ AI 1. ทางานตามแนวคิด (Algorithm) ที่ถูก 1. มีแนวคิด (Algorithm) ที่แตกต่างจาก โปรแกรมไว้ ปกติ คือใช้การจัดรูปแบบองค์ความรู้(Representation:Symbolic Processing) 2. ใช้สูตรทางคณิตศาสตร์ ทางาน2. สามารถประมวลความรู้ใหม่ได้ด้วย ตามลาดับขั้นตอนตัวเอง 3. ใช้แก้ปัญหาแบบมีโครงสร้าง 3. แก้ปัญหาแบบกึ่งโครงสร้าง และไม่มีโครงสร้างได้ 4. ระบบโต้ตอบ (Interface) มาตรฐาน คือ 4. ใช้ระบบโต้ตอบ (Interface) แบบ การรับข้อมูลเข้าโดยผ่านอุปกรณ์นาเข้า ภาษาธรรมชาติ (Natural Language) ได้ (input) มาตรฐาน เช่น keyboard, mouse ซึ่งจาเป็นต้องใช้อุปกณ์เพิ่มเติม มากกว่า และแสดงผลทางจอภาพ (monitor)อุปกรณ์มาตรฐาน1.6 สาขาของ AI AI ได้ถูกนาไปใช้งานในสาขาวิชาต่าง ๆ ดังนี้ 1. วิศวกรรมศาสตร์ - หุ่นยนต์ (Robotics) - การประมวลผลรูปภาพ (Image Processing) - การรู้จารูปแบบ (Pattern Recognition) 2. วิยาการคอมพิวเตอร์ - ระบบปรับตัวอัตโนมัติ (Adaptive System) 7. หน้า : 7Week1 : The Intelligent Computer- ระบบการบริหารจัดการ (Management)- การวิจัยเชิงปฏิบัติการ (Operation Research)- ด้านชีววิทยา (Biology)3. ปรัชญา- ปรัชญา/หลักการด้านภาษา (Philosophy of Language)- ตรรกะ (Logic) เน้นการหาเหตุผลจริง /เท็จ- หลักปรัชญาและจริยศาสตร์ (Philosophy)4. จิตวิทยา- จิตวิทยาด้านกระบวนการคิด (Cognitive Psychology)5. ภาษาศาสตร์ - ความสัมพันธ์ของภาษา / ลักษณะพฤติกรรมของผู้พูด (Psycholinguistics) - ด้านสังคม (Sociolinguistics) - การคานวณด้านภาษา (Computational Linguistics)6. การบริหารจัดการ - ด้านคณิตศาสตร์และสถิติ (Mathematics / Statistics) - ด้านการบริหารจัดการสารสนเทศ (Management Information Systems)1.7 แนวคิดและเทคโนโลยีปัญญาประดิษฐ์แนวคิดเชิง AI ประกอบด้วยแนวคิดดังต่อไปนี้1. Logical AI คือ โปรแกรมที่มีรูปแบบการตัดสินใจ มีการสรุปการกระทาที่แน่นอนว่าเป็นจริงหรือเท็จ (True / False) ซึ่งโปรแกรมจะต้องรู้เกี่ยวกับธรรมชาติของความจริง ในสถานการณ์จาเพาะที่มันปฏิบัติงานอยู่ มีรูปแบบการพิสูจน์เป็นประโยคทางคณิตศาสตร์ (พิสูจน์ประโยคคณิตศาสตร์ ว่าเป็นจริง หรือเท็จ)2. Search คือ โปรแกรมด้านการค้นหา อาจใช้พิสูจน์ทฤษฎีในเกมหมากรุกเพื่อค้นหาเส้นทางการเดินหมาก หรือการค้นหาระยะทางสั้นที่สุดหรือยาวที่สุด เพื่อให้เกิดประสิทธิภาพ3. Pattern recognition คือ โปรแกรมจดจา รู้จาและเปรียบเทียบรูปแบบ โดยโปรแกรมจะสังเกตรูปแบบที่ถูกใช้บ่อย ๆ ทาการจดจาและนามาเปรียบเทียบ เช่น โปรแกรมวิเคราะห์คุณลักษณะทางกายภาพ โดยให้คอมพิวเตอร์วิเคราะห์ใบหน้า ว่าใบหน้าที่เห็นนี้ใช่เพื่อนเราหรือไม่ โปรแกรม 8. หน้า : 8 Week1 : The Intelligent Computerจะต้องมีข้อมูล หรือมีความรู้จัดเก็บไว้ในหน่วยความจา (Memory) อยู่ก่อนแล้ว แล้วทาการวิเคราะห์รูปแบบ (Pattern) ตั้งแต่รูปหน้า โครงจมูก ปาก เพื่อเปรียบเทียบและวิเคราะห์การรู้จารูปแบบ(Pattern recognition) มีรูปแบบการทางานที่สลับซับซ้อนมาก 4. Representation คือ การแทนหรือการจัดรูปแบบองค์ความรู้ ด้วยสัญลักษณ์ต่าง ๆ เพื่อใช้สรุปความและนาไปใช้เพื่อการอธิบายเหตุผล5. Heuristics คือ การโปรแกรมเพื่อหาคาตอบที่ดีที่สุด 6. Genetic programming คือ โปรแกรมเชิงพันธุกรรม ใช้หลักการในการเลือกโครโมโซมพ่อและ โครโมโซมแม่ นามาผสมโครโมโซมกัน เพื่อให้เกิดยีนส์รุ่นลูก เพื่อแก้ปัญหาข้อปกพร่องของพันธุ์กรรมที่พ่อกับแม่นั้นพกพร่อง เพื่อคัดแต่สิ่งที่ดีมาที่ลูก 7. Game playing เช่น โปรแกรมหมากรุก ต่าง ๆ 8. Speech recognition เช่น โปรแกรมการรู้จาเสียงพูดด้วยคอมพิวเตอร์ 9. Computer vision คือ ส่วนมากใช้กับการวิเคราะห์ภาพ หรือวัตถุต่าง ๆ เช่น การปรับข้อมูล2 มิติ ให้เป็น 3 มิติ ด้วยคอมพิวเตอร์ การปรับความคมชัดของภาพ หรือแม้แต่การสร้างภาพ (ใช้แนวคิดนี้ในโปรแกรม Photoshop) 10. Robotic : หุ่นยนต์11. Expert System(ES) : ระบบผู้เชี่ยวชาญ ระบบผู้เชี่ยวชาญเก็บองค์ความรู้เฉพาะด้านของผู้เชี่ยวชาญไว้ในหน่วยความจา (Memory) ของคอมพิวเตอร์ และโปรแกรมให้คอมพิวเตอร์ทางานเหมือนเป็นผู้เชี่ยวชาญนั้นเอง 12. Natural Language Processing (NLP) : การประมวลผลด้วยภาษาธรรมชาติการเข้าใจภาษาธรรมชาติ และสามารถโต้ตอบได้ 13. Fuzzy Logic : ตรรกะคลุมเครือ เช่น การวัดระดับอุณหภูมิ อาจใช้กับระบบผ้าม่านอัจฉริยะ 14. Intelligent Agent : ตัวแทนความฉลาด หรือตัวแทนปัญญา เช่น ระบบรับ – ตอบ e-Mailอัจฉริยะ 15. Virtual Reality Systems : ระบบเสมือนจริง เช่น การจาลองการขับรถยนต์ 16. Intelligent Tutoring Systems : ระบบช่วยสอนอันชาญฉลาด 17. Neural Computing : คอมพิวเตอร์โครงข่ายใยประสาท 9. หน้า : 9 Week1 : The Intelligent Computer1.8 การประยุกต์ใช้ AIถ้ามีคาถามว่าเราจะสามารถประยุกต์ใช้งาน AI ได้อย่างไร(how AI is applied) และ AI นั้นสามารถทาอะไรได้บ้าง (What Artificial Intelligence Can do) ในที่นี้จะขอยกตัวอย่างการประยุกต์ใช้ดังต่อไปนี้ระบบชาญฉลาด (Intelligent Systems) ช่วยในด้านต่อไปนี้1. Intelligent Systems : สามารถช่วยผู้เชี่ยวชาญแก้ปัญหาในการวิเคราะห์ที่มีความยุ่งยากซับซ้อน โดยใช้แนวคิดของ “Computer-vision methods “ การหาความคมชัดของภาพ ซึ่งเป็นการประยุกต์ใช้ในการศึกษาการเคลื่อนที่ของดาว (star motion) เพื่อใช้ประโยชน์กับนักดาราศาสตร์ โดยใช้องค์ความรู้ด้านคณิตศาสตร์ สร้างจุดการเคลื่อนที่ของดาว(plot produced) วิเคราะห์สมการได้อย่างแน่นอน แม่นยา โปรแกรมนี้พัฒนาโดย Kenneth M.Yip (KAM program) 2. Intelligent Systems : ช่วยผู้เชี่ยวชาญออกแบบอุปกรณ์ใหม่ด้านการบิน เป็นการใช้ประโยชน์จากโปรแกรมอัจฉริยะ (intelligence programs) ในศาสตร์ด้านวิทยาศาสตร์และวิศวกรรมศาสตร์(science and engineering) โดยทาการออกแบบอุปกรณ์อย่างง่ายสาหรับลดต้นทุน และลดส่วนประกอบของชิ้นส่วนอุปกรณ์วัดแรงกดอากาศ เมื่อเครื่องบินเคลื่อนต่าลงแรงกดอากาศจะเพิ่มขึ้นโดยโปรแกรมของ Karl Ulrich จะทางานแบ่งเป็น 2 ขั้นตอน คือ โปรแกรมจะทาการออกแบบอุปกรณ์เมื่ออัตราเครื่องบินเคลื่อนต่าลงและทาการรวบรวมส่วนประกอบที่เป็นไปได้ในการทางาน หลังจากนั้น ก็จะลดจานวนส่วนประกอบตามต้องการStep 1:- อากาศเพิ่มขึ้นอย่างรวดเร็วเมื่อลูกสูบเคลื่อนตาแหน่งไปด้านขวา และเพิ่มความกดอากาศ- อากาศที่อยู่ด้านหลังของลูกสูบจะซึมออกผ่านกลับไปยังท่อนาส่ง และมันก็จะกลับไปเริ่มที่ ตาแหน่ง 0 เขาจึงออกแบบอุปกรณ์เกี่ยวกับการลดแรงกดอากาศStep 2:- ให้ชิ้นส่วนทางานได้หลาย ๆ หน้าที่ (Function) ทาให้ลดจานวนชิ้นส่วนได้ 3. Intelligent Systems : ช่วยในการเรียนรู้จากตัวอย่าง - เรียนรู้จากประสบการณ์และข้อมูลต้นแบบ - เป้าหมายหลักของงาน คือ การพัฒนาโปรแกรมเชิงปฏิบัติ ( practical programs) สามารถค้น ข้อมูลในฐานข้อมูล (database) ได้ 10. หน้า : 10 Week1 : The Intelligent Computer- โปรแกรมเรียนรู้จากข้อมูลต้นแบบ ( data-oriented learning program) รู้จักกันดีในชื่อ ID3 system พัฒนาโดย J. Ross Quinlan- ID3 สามารถขุดค้นข้อมูลจากฐานข้อมูล (database) นับพัน เพื่อสร้างเอกลักษณ์เฉพาะของ กฎ (Rule) สาหรับใช้ในการประเมินและวินิจฉัยโรค 4. Intelligent Systems : จัดเตรียมคาตอบจากประโยคคาถามภาษาอังกฤษ โดยใช้โครงสร้างข้อมูล (Structured Data) และข้อความอิสระ (Free Text) 5. Intelligent Systems : ระบบจัดสรรประตูเข้า-ออก ของสายการบิน (gate allocation) เป็นระบบ ที่ดูเหมือนไม่สาคัญ (เตะตาน้อย) แต่มันยังจาเป็นที่สุด ในการพัฒนาระบบ ARIS ซึ่งพัฒนาโดย Ascent Technology, Inc.,ใช้ใน Delta Airlines ช่วยในเรื่องการจัดสรรประตูในสยามบิน (airport gates) ในการมาถึงของเครื่องบิน (arriving flights) การจัดสรรประตูทาได้ยากมาก เนื่องจากมี ข้อจากัดมากมาย ทั้งการจราจรบนอากาศ ช่องประตู (gate) ที่จะลงจอด บางเที่ยวบินก็มีการ เปลี่ยนแปลงการเดินทาง เนื่องจากสภาพดินฟ้าอากาศ ระบบจะต้องหลีกเลี่ยงการจราจร (traffic jams) นอกไปจากนั้นผู้โดยสารต้องการให้ประตู (gate) เชื่อมต่อกับลานจอดรถ เพื่อที่จะเดินได้ ง่าย- วิธีการของ AI จะใช้การให้เหตุผลในเชิงกฎ (Rule-based reasoning) ในการพิจารณาข้อจากัด และวางแผนการจราจรบนอากาศ- การพัฒนาระบบและข้อจากัด ไม่ใช่เรื่องที่ท้าทาย แต่ความยากการจัดเตรียมคน ที่จะทาหน้าที่ ในการตัดสินใจ (human decision makers) ซึ่งจาเป็นจะต้องแลกเปลี่ยนข่าวสารกับเครื่อง , mainframe database ต้องกู้คืนระบบอย่างรวดเร็วเมื่อระบบล่ม (hardware failures) และยัง จาเป็นต้องกระจายข่าวสารไปยังผู้ที่มีหน้าที่รับผิดชอบในส่วนที่เกี่ยวข้อง เช่น ในส่วนของผู้จัด กระเป๋าเดินทาง (baggage), การจัดอาหาร (catering), การบริการผู้โดยสาร (passenger) และการจัด ตารางของกลุ่มคน (crew scheduling)โปรแกรม AI ในระยะเวลาอันใกล้ (Near-Term Application) จะช่วยสร้างโอกาสใหม่ต่อไปนี้1. ในด้านธุรกิจ (In business) : คอมพิวเตอร์จะช่วยค้นหาข่าวสารในการแก้ปัญหาได้อย่างตรงประเด็น สามารถจัดตารางงาน (schedule work) จัดสรรทรัพยากร (allocate 11. หน้า : 11Week1 : The Intelligent Computer resources) และค้นพบลักษณะเด่น (new pattern) ต่าง ๆ ในฐานข้อมูล (ใช้วิธีการของ Data mining)2. ในด้านวิศวกรรมศาสตร์ (In engineering) : คอมพิวเตอร์จะช่วยพัฒนาการควบคุมกลยุทธ์ ที่ได้ผล ทั้งในด้านการสร้างสรรค์ (create) และการออกแบบที่ดีกว่า (better designs) อธิบายการตัดสินใจในอดีตที่ผ่านมา เพื่อนามากาหนดความเสี่ยงในอนาคตโปรแกรม AI ในจินตนาการระยะยาว (Long-Term Application)1. ด้านเกษตร (farming) : ใช้คอมพิวเตอร์ควบคุมหุ่นยนต์ ให้หุ่นยนต์นั้นสามารถจัดการกับสัตว์ที่มารบกวนในฟาร์ม, ตัดกิ่งต้นไม้, เก็บเกี่ยวและเพาะปลูกพืชตามฤดูกาลได้2. ด้านการผลิต (manufacturing) : ใช้คอมพิวเตอร์ควบคุมหุ่นยนต์ ให้ทางานที่เสี่ยงอันตรายแทนคน เช่นการเจาะรู การประกอบชิ้นส่วนเครื่องจักร ทาการตรวจสอบและบารุงรักษาระบบงานต่าง ๆ3. ด้านการแพทย์ (medical care) : ใช้คอมพิวเตอร์ช่วยในการปฏิบัติงานของแพทย์หรือผู้ที่เกี่ยวข้อง เช่น การตรวจวินิจฉัยโรค การตรวจสอบเงื่อนไขของคนไข้ การจัดการดูแลรักษา และการจัดเตียงคนไข้4. ด้านงานบ้าน (household work) : ใช้คอมพิวเตอร์ในการให้คาแนะนาการปรุงอาหาร การซื้อของ (shopping) การทาความสะอาดพื้น การตัดหญ้า การซักผ้า ทางานบ้านอื่น ๆและดูแลบ้าน1.9 การวิจัยด้าน AI1. งานวิจัยด้านปัญญาประดิษฐ์ เกิดขึ้นหลังจากสงครามโลกครั้งที่ 2 มีจานวนประชากรทางานด้วยเครื่องจักรกลอัจฉริยะเพิ่มมากขึ้น นักคณิตศาสตร์ชาวอังกฤษชื่อ Alan Turing เป็นคนแรกทีเริ่มแนวคิด 2. ปี 1947 Alan Turing ได้ทาการบรรยาย โดยมีความคิดว่า ปัญญาประดิษฐ์คือทางที่ดีที่สุดสาหรับการโปรแกรมคอมพิวเตอร์ 12. หน้า : 12Week1 : The Intelligent Computer 3. ปี 1950 งานวิจัยที่เกี่ยวกับ ปัญญาประดิษฐ์ ได้เพิ่มขึ้นมากมาย โดยอ้างอิงพื้นฐานการเขียนโปรแกรมบนคอมพิวเตอร์ ซึ่งการทาเช่นนี้ทาให้เกิดคาถามว่า ปัญญาประดิษฐ์จะนาความเป็นมนุษย์มอบให้กับคอมพิวเตอร์หรือ ไม่? ซึ่งคงจะเป็นไปได้ยาก เนื่องจากมนุษย์มีความหลากหลายอยู่มาก Alan Turing ได้เสนอแนวคิดเกี่ยวกับความฉลาดของเครื่องกล โดยเขากล่าวว่า ถ้าหากเครื่องที่เลียนแบบความฉลาดของมนุษย์ได้ ก็ให้ถือว่าเป็น “ปัญญาประดิษฐ์” ซึ่งเป็นที่ยอมรับโดยทั่วไป แต่ก็ยังมีนักปรัชญา บางคนที่ไม่ยอมรับข้อคิดเห็นดังกล่าวปี ค.ศ. 1930 นักคณิตศาสตร์ ได้กล่าวไว้ว่าไม่มีแนวคิด (Algorithm) ใดที่ปรากฏออกมาให้เห็นว่าสามารถแก้ปัญหาของขอบข่ายทางคณิตศาสตร์ได้ จึงสรุปได้ว่า เมื่อมนุษย์เราใช้หลักการทางคณิตศาสตร์อยู่ตลอดทาให้เห็นว่าคอมพิวเตอร์ทาแบบคนไม่ได้แบบฝึกหัด (Exercises)จากหนังสือ Artificial Intelligence (Third Edition), Patrick Henry WinstonExercise 1.1 จงอธิบายประโยคต่อไปนี้ (P.627)Part 1 : AI เป็นสิ่งประดิษฐ์ที่มีการลอกเลียนแบบความฉลาดของมนุษย์Ans :Part 2 : AI เป็นสิ่งประดิษฐ์ที่พยายามให้ระบบ มีความเข้าใจความฉลาดของมนุษย์Ans :Part 3 : AI เป็นการฝึกฝนด้านวิศวกรรม ภายใต้สาขาวิทยาการคอมพิวเตอร์Ans :Exercise 1.4 : AI อาจนามาซึ่งภัยอันตราย หากผู้ใช้มีความทะเยอทะยาน ใช้แนวคิดของ AI ไปในเชิงทาลายAns : 13. หน้า : 1Week 2 : Expert System and Toolsบทที่ 2 ระบบผู้เชี่ยวชาญและเครื่องมือ(Expert System and Tools)หัวข้อ (Topic)2.1 ระบบผู้เชี่ยวชาญ (Expert System )2.2 เครื่องมือที่ใช้พัฒนาระบบผู้เชี่ยวชาญ (Tools)วัตถุประสงค์การเรียนรู้ (Objective)1. อธิบายแนวคิดของปัญญาประดิษฐ์ (AI) ที่มีความสัมพันธ์กับระบบผู้เชี่ยวชาญ (ES) ได้2. อธิบายคุณลักษณะของระบบผู้เชี่ยวชาญ (Expert System) ได้3. จาแนกความแตกต่างระหว่างระบบผู้เชี่ยวชาญ กับ ระบบสารสนเทศแบบอื่น ๆ ได้4. แนะนาแหล่งเครื่องมือ (Tools) ที่จะใช้ในการพัฒนาระบบ DSS และ ES ได้5. ยกตัวอย่างและอธิบายคุณลักษณะของ Tools บางชนิดได้2.3 ระบบผู้เชี่ยวชาญ (Expert System)ระบบผู้เชี่ยวชาญ (Expert Systems)1. ES เป็นระบบที่พยายามลอกเลียนแบบการใช้เหตุผลของมนุษย์ (มนุษย์ให้เหตุผลแก่คนอื่นโดยวิธีใด?) และการใช้องค์ความรู้ในการแก้ปัญหา2 ES เป็นการใช้แนวคิด AI ขั้นสูง (Advance AI) มีประโยชน์ คือ - เพิ่มผลผลิต (Enhance Productivity) - เป็นการขยายหรือผลักดันให้ได้งานเพิ่มขึ้น (Augment Work Forces)3 . ใช้แก้ปัญหาเฉพาะ ที่มีความซับซ้อน4. ES เป็นระบบที่ได้มีการจัดเตรียมความรู้ความชานาญ ของผู้เชี่ยวชาญ5. ES ไม่สามารถที่จะแทนที่ผู้เชี่ยวชาญ (Experts) ได้ แต่ผู้เชี่ยวชาญจะต้อง - จัดสร้างองค์ความรู้และประสบการณ์ของพวกเขา รวบรวมให้ได้มากที่สุดเพื่อจัดเก็บลงใน ES - เพื่อให้ ES ทางานได้ดีเทียบเท่ากับผู้เชี่ยวชาญ (experts) หรือทาได้ดีกว่า 14. หน้า : 2 Week 2 : Expert System and Toolsส่วนประกอบพื้นฐานของระบบผู้เชี่ยวชาญ (Expert Systems)หลักการพื้นฐานของระบบ ES จะเป็นการนาองค์ความรู้มาใช้ให้เกิดประโยชน์มากขึ้นเพื่อสร้างความได้เปรียบในเชิงธุรกิจ ซึ่งมีส่วนประกอบพื้นฐานของระบบ ES ดังนี้1. ความรู้ความชานาญหรือความเชี่ยวชาญ (Expertise)2. วิธีการถ่ายโอนความรู้จากผู้เชี่ยวชาญ หรืออาจเรียกว่าเป็นการส่งผ่านองค์ความรู้ (Transferring Experts)3. การสรุปความ (Inferencing)4. การสร้างกฎ (Rules )5. การอธิบายความ (Explanation Capability) คือ การให้เหตุผล1. ความรู้ความชานาญ หรือ ความเชี่ยวชาญ (Expertise) 1.1 ความรู้ความชานาญ หรือความเชี่ยวชาญ มีความหมายที่กว้าง โดยมากจะเน้นในเรื่องความถนัดในงานนั้น ๆ ของผู้เชี่ยวชาญ ซึ่งอาจเป็นองค์ความรู้เกี่ยวกับงาน ที่ได้จากการฝึกอบรมได้จากการอ่าน หรืออาจมาจากประสบการณ์ ผู้เชี่ยวชาญ (Experts) มักจะตัดสินใจได้ดีกว่าผู้ที่ไม่มีความเชี่ยวชาญ (NonExpert) และการที่เราจะรอให้ผู้ไม่มีความเชี่ยวชาญนั้นสั่งสมประสบการณ์และเรียนรู้เพื่อให้มีความสามารถเทียบเที่ยวกับผู้เชี่ยวชาญในปัจจุบัน อาจต้องใช้เวลานานหลายปีหรือไม่สามารถเรียนรู้และฝึกฝนได้เทียบเท่าก็ได้ เนื่องจากความแตกต่างด้านความสามารถเฉพาะบุคคล และ Skill เฉพาะด้านที่แตกต่างกัน ด้วยเหตุนี้จึงจาเป็นต้องมีการจัดเก็บความรู้ความชานาญจากผู้เชี่ยวชาญ เพื่อพัฒนา ES 1.2 ผู้เชี่ยวชาญ (experts) มีความสามารถดีกว่าและตัดสินใจได้เร็วกว่าผู้ที่ไม่มีความเชี่ยวชาญ (nonexperts)ข้อเท็จจริงบางอย่างเกี่ยวกับความเชี่ยวชาญ (Expertise) 1. ความเชี่ยวชาญ (Expertise) จะสัมพันธ์กับการใช้สติปัญญาในระดับสูง แต่ก็ไม่เสมอไปสาหรับบางคน (หมายถึง คนที่มีสติปัญญาดี มักจะมีความเชี่ยวชาญ : สามารถวัด IQ ได้) 2. ความเชี่ยวชาญ (Expertise) จะสัมพันธ์กับกับองค์ความรู้จานวนมาก 3. ผู้เชี่ยวชาญ (Experts) ได้จากการเรียนรู้จากความสาเร็จและความผิดพลาดของ ซึ่งเราเรียกว่าเป็นการสั่งสมประสบการณ์ 4. องค์ความรู้ของผู้เชี่ยวชาญ (Expert knowledge) สามารถจัดเก็บ บริหารจัดการ และเรียกใช้งานได้ทันทีที่ต้องการ 5. ผู้เชี่ยวชาญ (Experts) ต้องสามารถเรียกใช้ความชานาญของตนได้อย่างดีเยี่ยม 15. หน้า : 3Week 2 : Expert System and Toolsผู้เชี่ยวชาญ (Experts)ผู้เชี่ยวชาญ คือบุคคลที่มีความรู้ความชานาญเฉพาะด้าน อาจเป็นคน ๆ เดียว (Individualหรือกลุ่มผู้เชี่ยวชาญ (Group) , คุณสมบัติของผู้เชี่ยวชาญ มีดังนี้1. ผู้เชี่ยวชาญที่มีความรู้ความชานาญในระดับเดียวกัน2. ผู้ไม่มีความเชี่ยวชาญ (Nonexperts) จะมีจานวนมากกว่าผู้เชี่ยวชาญ (experts) ด้วยสัดส่วน 1 ต่อ 100 , จะเห็นว่าจานวนผู้เชี่ยวชาญมีน้อยมาก ดังนั้นจึงจาเป็นจะต้องมีการจัดเก็บองค์ความรู้ของผู้เชี่ยวชาญไว้อย่างคงทน ถาวร เพื่อกระจายและเผยแพร่ นาไปใช้ให้เกิดประโยชน์ต่อองค์กรลักษณะของผู้เชี่ยวชาญ (Human Expert Behaviors) มีดังนี้ 1. มีการวิเคราะห์และคิดอย่างเป็นระบบในการแก้ปัญหา (Recognize and formulate theproblem) 2. แก้ปัญหาได้อย่างรวดเร็ว ถูกต้องและเหมาะสม (Solve problems quickly and properly) 3. ชี้แจงเหตุผลสาหรับแนวทางแก้ไขปัญหานั้น ๆ ได้ (Explain the solution) 4. มีการเรียนรู้จากประสบการณ์ (Learn from experience) 5. มีการปรับโครงสร้างองค์ความรู้ใหม่ มีความคิดสร้างสรรค์ที่จะสร้างองค์ความรู้ใหม่ ๆ (Restructure knowledge) 6. สามารถเบี่ยงเบนกฎ หากจาเป็น ด้วยเหตุและผลหลายประการ (Break rules) 7. กาหนดแนวทางแก้ปัญหาได้อย่างตรงประเด็น (Determine relevance) 8. กระตือรือร้น สุขุม สามารถลดระดับตัวเองเพื่อทางานร่วมกับบุคคลที่อยู่ระดับล่างกว่าหรือสามารถทางานเป็นทีมได้ (Degrade gracefully)2. การถ่ายโอนความรู้จากผู้เชี่ยวชาญ หรือ การส่งผ่านองค์ความรู้ (Transferring Expertise ) 2.1 วัตถุประสงค์ของ ES (expert system objective) - ถ่ายโอนความชานาญจากผู้เชี่ยวชาญลงสู่ระบบคอมพิวเตอร์ - เพื่อให้คนที่ไม่มีความเชี่ยวชาญ (nonexperts) ได้ใช้ความรู้นั้น 2.2 กิจกรรม (Activities) : แนวทางปฏิบัติ - Knowledge acquisition : การได้มาซึ่งองค์ความรู้ คือขั้นตอนในการดึงเอาความรู้จากผู้เชี่ยวชาญ ก่อนจะนามาแปรสภาพ ซึ่งการดึงความรู้อาจใช้วิธี สัมภาษณ์ หรือให้ผู้เชี่ยวชาญนั้นทาเป็นรูปแบบรายงานสรุปผลกระบวนการทางานของเขาเอง ขั้นตอนการทาโครงการ การบริหารงานที่ประสบความสาเร็จ งานที่ล้มเหลว การเขียนรายงานอาจอยู่ในรูปของการสรุปผลโครงการ 16. หน้า : 4Week 2 : Expert System and Tools - Knowledge representation : การแทนองค์ความรู้หรือการจัดรูปแบบ คือ การแทนความรู้นั้นด้วยสัญลักษณ์ (Symbolic) หรือกาหนดความหมาย จัดรูปแบบให้กับองค์ความรู้ อาจนาเรื่องของกฎ (Rule-Base System) เข้ามาช่วยเพื่อจาแนกประเภทองค์ความรู้ - Knowledge inferencing : การสรุปความองค์ความรู้ - Knowledge transfer to the user : การถ่ายโอนองค์ความรู้ไปยังผู้ใช้2.3 องค์ความรู้จะเป็นการจัดเก็บไว้ในฐานความรู้ (Knowledge is stored in a knowledgebase)3. การสรุปความ (Inferencing ) คือ การอธิบายความหมายหรือแปลความ ของความรู้นั้น 1. การให้เหตุผล (Reasoning : Thinking) แสดงแนวทางในการคิด 2. คอมพิวเตอร์จะต้องถูกโปรแกรม (programmed) ตามความรู้ที่ได้สรุปความเอาไว้ 3. ใช้เครื่องมือสาหรับช่วยสรุปความ ได้แก่ กลไกการสรุปความ/กลไกการอนุมาน (Inference Engine)4. การสร้างกฎ (Rules) 1. รูปแบบของกฎ IF-THEN-ELSE (จะใช้กฎนี้กับ Image processing ไม่ได้) 2. การอธิบายความ (Explanation Capability ) - รวมไปถึงการอธิบายระบบย่อย (Sub-system)5. การอธิบายความ (Explanation Capability) เป็นการอธิบายขีดความสามารถของ ES สาหรับใช้แนะนาแนวทางในการแก้ไขปัญหาซึ่งการอธิบายความนั้นต้องง่ายต่อการเข้าใจของผู้ที่ไม่มีความเชี่ยวชาญ (NonExperts)โครงสร้างของ ES (Structure of Expert Systems ) กลไกการทางานของระบบ ES ตามสภาพแวดล้อม 2 ส่วนได้แก่ 1. Development Environment : สภาพแวดล้อมในการพัฒนาระบบ ES เป็นส่วนที่ใช้สาหรับผู้พัฒนาระบบ ES (อาจเป็น programmer หรือ Analyst) ในการสร้าง function ต่างภายในระบบ รวมถึงการนาเอาองค์ความรู้มาจัดเก็บไว้ในฐานความรู้ (knowledge-base) 2. Consultation (Runtime) Environment : สภาพแวดล้อมในการให้คาปรึกษาของระบบES ส่วนนี้จะใช้สาหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญ (NonExpert) ในการดึงเอาองค์ความรู้และข้อแนะนาของผู้เชี่ยวชาญออกมาใช้งาน 17. หน้า : 5 Week 2 : Expert System and Toolsองค์ประกอบหลัก 3 ส่วน ของ ES 1. Knowledge Base : ฐานองค์ความรู้ 2. Inference Engine : กลไกการสรุปความ 3. User Interface : การโต้ตอบกับผู้ใช้ Three Major ES Componentsรูปที่ 2.1องค์ประกอบทั้งหมดของ ES 1. Knowledge Acquisition Subsystem : การดึงองค์ความรู้ / การได้มาซึ่งองค์ความรู้- เป็นการสะสมองค์ความรู้ โยกย้ายถ่ายโอนและแปรสภาพความเชี่ยวชาญในการแก้ปัญหาจากผู้เชี่ยวชาญ หรืออาจจะดึงความรู้ต่าง ๆ จากแหล่งเอกสารไปเก็บไว้ในคอมพิวเตอร์และเตรียมพัฒนาเป็นโปรแกรม เพื่ออธิบายความรู้นั้น- ต้องใช้วิศวกรองค์ความรู้ (Requires a knowledge engineer) เป็นทาหน้าที่เป็นสื่อกลางกับผู้เชี่ยวชาญในการดึงความรู้จากผู้เชี่ยวชาญและจากแหล่งความรู้ต่าง ๆ และประสานงาน เลือกใช้ Tools ต่าง ๆ สาหรับเตรียมพัฒนาระบบ ES (knowledge engineer บางครั้งอาจเรียกได้ว่าเป็นการปรับแต่งองค์ความรู้ ) 2. Knowledge Base : ฐานองค์ความรู้- นาองค์ความรู้ที่ดึงมาได้ มาทาการจัดเก็บซึ่งจะเก็บองค์ความรู้ที่จาเป็น สามารถเข้าใจได้ ,กาหนดเป็นสูตร และแนวทางการใช้องค์ความรู้สาหรับแก้ปัญหามี Knowledge พื้นฐาน 2 รูปแบบ คือ 18. หน้า : 6Week 2 : Expert System and Tools-Facts : ข้อเท็จจริง คือ เหตุการณ์ต่าง ๆ ที่เกิดขึ้น อาจใช้สมมติฐานเป็นแนวทางแก้ปัญหา-Rules : คือกฎ หรือเป็นการรับรู้จากจิตใต้สานึก (Heuristic)ที่ตั้งขึ้นมา ซึ่งเป็นการนาองค์ความรู้ที่มีอยู่มาช่วยแก้ปัญหาเฉพาะด้านได้โดยตรง3. Inference Engine : กลไกการสรุปความ เหมือนกับเป็นตัวแปรกฎ (Rule Interpreter) ซึ่งถือเป็นส่วนสาคัญของ ES ซึ่งใช้คอมพิวเตอร์ในการประมวลผล หน้าที่ของ Inference Engine - เป็นเหมือนกับสมองของระบบ ES (The brain of the ES ) - ควบคุมโครงสร้างของระบบ หรือทาหน้าที่แปลกฎ (The control structure (ruleinterpreter)) - เตรียมวิธีการในการอธิบายเหตุผลที่เหมาะสม ( Provides methodology forreasoning)4. User Interface : การโต้ตอบกับผู้ใช้ เป็นสื่อกลางในการประสานระหว่าง ES กับผู้ใช้งานลักษณะของ User Interface- มีการประมวลผลภาษาที่ง่ายและอานวยความสะดวกต่อผู้ใช้ , ขจัดปัญหาเรื่องการสื่อสารระหว่างผู้ใช้กับระบบ ES- อาจมีการโต้ตอบโดยใช้ภาษาธรรมชาติ (NLP) หรือใช้ระบบเมนู (menus) หรือแสดงผลด้วยกราฟฟิก (graphics )5. Blackboard (Workplace) : พื้นที่ทางาน- เป็นส่วนของหน่วยความจาที่เก็บองค์ความรู้ปัจจุบัน ชั่วขณะ (Area of workingmemory to) ต้องสามารถอธิบายปัญหาปัจจุบันได้ (Describe the current problem)- บันทึกสมมติฐานและแนวทางสนับสนุนการตัดสินใจได้แบ่งออกเป็น 3 ส่วน- Plan : แผนงาน สาหรับวางแผนรองรับปัญหาที่จะเกิดขึ้น- Agenda : ระเบียบการ ใช้กาหนดวาระ ของแนวทางดาเนินงานแต่ละขั้น- Solution : แนวทางแก้ปัญหา ใช้สาหรับพิจารณาแนวทางเลือก (Choice) ในการแก้ปัญหา 19. หน้า : 7 Week 2 : Expert System and Tools6. Explanation Subsystem (Justifier) : การอธิบายความ เป็นการขยายความของข้อสรุปหรือคาตอบที่ได้จากกลไกการสรุปความ (Inference Engine) เพื่อนาไปแสดงผลต่อผู้ใช้ จะต้องอธิบายความรู้ ได้อย่างตรงประเด็น และถ่ายทอดอย่างเหมาะสม การอธิบายความได้ดีนั้นจะขึ้นอยู่กับความชานาญของผู้เชี่ยวชาญ ว่าจะสามารถอธิบายข้อสรุป สมมติฐาน และแนวทางแก้ไขปัญหาได้อย่างชัดเจนมากน้อยเพียงใดสิ่งที่ต้องกระทาในการอธิบายความ(Explanation Subsystem)ติดตามภาระหน้าที่ ความรับผิดชอบ และอธิบายการกระทาให้กับระบบ ES โดยจะต้องมีคาตอบสาหรับคาถามต่อไปนี้ -Why? -How? -What? -(Where? When? Who?)7. Knowledge Refining System : การกลั่นกรององค์ความรู้ ใช้ในการประเมินการทางานของ ES เพื่อต้องการให้องค์ความรู้ที่จะนาเข้าสู่ระบบ ES นั้นมีคุณภาพ เพราะถ้าหากองค์ความรู้ไม่มีประสิทธิภาพแล้ว ก็จะนามาซึ่งความล้มเหลวของระบบ8. User : ผู้ใช้งานระบบเกี่ยวกับผู้ใช้งานระบบ (The User ) 1. อาจเป็นไปได้ที่จะระดับของผู้ใช้ หรือจัดกลุ่มผู้ใช้งาน เช่น - ผู้ที่ไม่มีความเชี่ยวชาญ (non-expert) สามารถเข้าไปค้นหาคาแนะนาจากผู้เชี่ยวชาญได้ในระบบ ES - นักเรียน (student) สามารถเรียนกับผู้สอน (Instructor) ผ่านระบบคอมพิวเตอร์ได้ - การพัฒนาระบบ ES จะช่วยในการปรับปรุงและเพิ่มองค์ความรู้ระหว่างกันและกัน (Partner) มากขึ้น 2. ผู้เชี่ยวชาญ (Expert) และวิศวกรองค์ความรู้ (Knowledge Engineer) ควรจะคาดเดาความจาเป็นของผู้ใช้ (Users Needs) และข้อจากัดในการในระบบ ES* ส่วนใหญ่แล้วระบบ ES จะไม่มีองค์ประกอบในส่วนของ การกลั่นกรององค์ความรู้(Knowledge Refinement)บุคคลที่เกี่ยวข้องกับระบบ ES (The Human Element in Expert Systems ) 20. หน้า : 8Week 2 : Expert System and Tools1. Expert2. Knowledge Engineer3. User4. Others: เป็นบุคคลที่เกี่ยวข้องกับผู้เชี่ยวชาญ เช่น- System Engineer : ทาหน้าที่ support Knowledge Engineer- Support Staff : ทาหน้าที่ support บริการและเทคนิค- Tools Builder : ทาหน้าที่ support การใช้ Tools และโปรแกรม เพื่อช่วย Knowledge Engineer ในการพัฒนาระบบ ES- Vendors : ผู้จัดจาหน่าย Software จะต้องเตรียม Tools และ โปรแกรมให้ตรง ตามความต้องการในการพัฒนาระบบ ES- Expert Systems Owner : ผู้ที่เป็นเจ้าของระบบ ES เองบุคคลอื่นที่มีส่วนร่วมในการพัฒนาระบบ ES (Other Participants ) 1. System Builder 2. Systems Analyst 3. Tool Builder 4. Vendors 5. Support Staff 6. Network Expertประโยชน์ของระบบ ES (Expert Systems Benefits)1. Increased Output and Productivity : เพิ่มผลผลิต ES จะทางานได้เร็วกว่าวิธีการแบบปกติ เช่น การแนะนาและเปรียบเทียบการซื้อรถยนต์มือสองบน web site จะทาให้ผู้ซื้อตัดสินใจได้เร็วขึ้น และสามารถสั่งซื้อได้ง่ายขึ้น2. Decreased Decision Making Time : ลดเวลาในการตัดสินใจ ทาให้สามารถตัดสินใจได้รวดเร็วขึ้น ในเวลาอันสั้น3. Increased Process and Product Quality : เพิ่มแนวทางปฏิบัติงานและประสิทธิภาพของผลิตภัณฑ์ การปฏิบัติงานจะมีประสิทธิภาพเนื่องจากระบบ ES จะมีข้อแนะนาให้ เสมือนเป็นข้อแนะนาจากผู้เชี่ยวชาญ4. Reduced Downtime : ลดระยะเวลาในการทางาน สามารถตอบสนองได้อย่างทันเวลา5. Capture Scarce Expertise : ลดการขาดแคลนความเชี่ยวชาญ 21. หน้า : 9 Week 2 : Expert System and Tools 6. Flexibility : มีความยืดหยุ่น มีขีดความสามารถในการบันทึก จัดเก็บ และรองรับองค์ความรู้ต่าง ๆ ไว้ได้จานวนมาก สามารถ update องค์ความรู้และดึงออกมาใช้ได้อย่างรวดเร็ว มีประสิทธิภาพ 7. Easier Equipment Operation : ง่ายต่อการใช้อุปกรณ์ 8. Elimination of Expensive Equipment : ตัดอุปกรณ์ราคาแพงออก จะทาให้องค์กรลดต้นทุนได้- Operation in Hazardous Environments : สภาพแวดล้อมในการทางานที่เต็มไปด้วยอันตราย สามารถนา ES มาช่วยลดความเสี่ยงได้ โดยพัฒนาระบบให้คาแนะนาและแจ้งเตือน เช่น ระบบเดือนภัยในโรงงานนิวเคลียร์ ระบบเตือนภัยอันเกิดจากสารเคมีในห้องทดลอง- Accessibility to Knowledge and Help Desks : เข้าถึงองค์ความรู้ได้ง่ายและใช้ เป็นระบบ Help Desks- Integration of Several Experts Opinions : เป็นระบบที่รวมข้อคิดเห็น ทัศนะคติ ข้อเสนอแนะ และข้อวินิจฉัย หลาย ๆ ด้านของผู้เชี่ยวชาญ- Can Work with Incomplete or Uncertain Information : สามารถทางานได้กับข่าวสารบางส่วน ที่ถึงแม้จะไม่สมบูรณ์ หรือมีความไม่แน่นอน- Provide Training : ใช้เป็นระบบฝึกอบรมได้- Enhancement of Problem Solving and Decision Making : ยกระดับของการ ตัดสินใจแก้ปัญหาได้ดีขึ้น- Improved Decision Making Processes : ปรับปรุงกระบวนการตัดสินใจ- Improved Decision Quality : ปรับปรุงประสิทธิภาพในการตัดสินใจ- Ability to Solve Complex Problems : สามารถแก้ปัญหาที่มีความซับซ้อนได้- Knowledge Transfer to Remote Locations : ถ่ายโอนองค์ความรู้ไปยังสถานที่ที่ อยู่ห่างไกลได้ ไม่จากัดสถานที่และระยะทาง- Enhancement of Other MIS : มีความสามารถสูงกว่าระบบ MISจากประโยชน์ของระบบ ES นี้จะส่งผลดีต่อ (Lead to)1. Improved decision making : ปรับปรุงการตัดสินใจ2. Improved products and customer service : ปรับปรุงผลิตภัณฑ์และบริการ3. Sustainable strategic advantage : สนับสนุนการสร้างความในเปรียบในเชิงกลยุทธ์ 22. หน้า : 10Week 2 : Expert System and Tools * May enhance organization’s image : ซึ่งทั้งหมดนี้ระบบ ES จะยกระดับภาพลักษณ์ขององค์กรให้ดูดีขึ้นปัญหาและข้อจากัดของระบบ ES (Problems and Limitations of Expert Systems ) 1. Knowledge is not always readily available : การจัดหา หรือเตรียมองค์ความรู้ที่เหมาะสม เป็นเรื่องที่ยาก 2. Expertise can be hard to extract from humans : การสกัดหรือดึงเอาความรู้ ความเชี่ยวชาญจาก ผู้เชี่ยวชาญนั้นเป็นเรื่องยาก 3. Each expert’s approach may be different, yet correct : การประเมินความเชี่ยวชาญของExpert แต่ละคนนั้นเป็นเรื่องที่ยาก และมีความแตกต่างกัน อาจแยกแยะได้ไม่ถูกต้อง 4. Hard, even for a highly skilled expert, to work under time pressure : หากทางานภายใต้ความกดดันเรื่องเวลา อาจส่งผลต่ออารมณ์และความรู้สึกของผู้เชี่ยวชาญ องค์ความรู้ที่ได้อาจเบี่ยงเบนไป 5. Expert system users have natural cognitive limits : มีข้อจากัดเกี่ยวกับการรับรู้ของผู้ใช้ 6. ES work well only in a narrow domain of knowledge : ทางานได้ดีกับปัญหาในวงแคบ ๆ - Most experts have no independent means to validate their conclusions :ผู้เชี่ยวชาญมักมีวิธีการตรวจสอบข้อสรุปหรือวินิจฉัยในเชิงเหตุผลที่แตกต่างกัน - Experts’ vocabulary often limited and highly technical : ศัพท์เทคนิคที่ ผู้เชี่ยวชาญใช้ อาจยากต่อการเข้าใจของ user เช่น ผู้เชี่ยวชาญที่เป็นแพทย์ ก็จะมีศัพท์เฉพาะ ทางการแพทย์ - Knowledge engineers are rare and expensive : ผู้ที่จะคอยช่วยเหลือหรือให้คาแนะนาแก่ User เมื่อมีปัญหาเกิดขึ้น จะยังคงหาได้ยาก และ มีค่าใช้จ่ายเกี่ยวกับExpert, Knowledge engineers, System engineers สูงมาก - Lack of trust by end-users : ขาดความน่าเชื่อถือและความไม่ไว้วางใจแก่ user , user อาจกังวลว่า หาก user ใช้ระบบ ES แล้วเกิดข้อผิดพลาดในการทางาน (ไม่ถนัดใน การใช้ระบบ ) อาจส่งผลต่อหน้าที่การงานของ user - Knowledge transfer subject to a host of perceptual and judgmental biases : การส่งผ่านองค์ความรู้จากผู้เชี่ยวชาญ อาจมีอคติแฝงอยู่ - ES may not be able to arrive at valid conclusions : การสรุปความของ ES อาจจะไม่ถูกต้อง 23. หน้า : 11Week 2 : Expert System and Tools - ES sometimes produce incorrect recommendations : บางครั้งระบบอาจให้คาแนะนาที่ไม่ถูกต้องปัจจัยสู่ความสาเร็จของระบบ ES (Expert System Success Factors)1. Most Critical Factors : เป็นมุมมองในด้านการบริหาร และด้านผู้ใช้- Champion in Management : คัดเลือกบุคคลที่จะเป็น Champion ที่จะนาพาระบบ ESไปสู่ความสาเร็จ กล่าวคือ Champion ควรเป็นบุคคลที่ไม่เกี่ยวกับหน้าฝ่ายงานคอมพิวเตอร์อาจจะมีความรู้คอมพิวเตอร์น้อย หรือไม่มีเลย และฝึกอบรมให้บุคคลนั้นสามารถใช้ระบบ ES ได้เพื่อเป็นการแสดงให้ผู้ใช้คนอื่น ๆ เห็นว่าการใช้ระบบ ES ไม่ใช่เรื่องยาก แม้แต่ผู้ที่ไม่มีความรู้ด้านคอมพิวเตอร์เลย ก็ยังสามารถใช้ระบบ ES ได้- User Involvement and Training : การฝึกอบรมผู้ใช้ เพื่อให้มีศักยภาพ สามารถทางานได้2. ปัจจัยความสาเร็จอื่น ๆ- The level of knowledge must be sufficiently high : ระดับขององค์ความรู้จะต้องมีคุณภาพสูงเพียงพอ- There must be one cooperative expert : เรื่องที่ชานาญ อย่างน้อยต้องได้รับการประสานงานและเห็นชอบโดยผู้เชี่ยวชาญ- The problem to be solved must be qualitative (fuzzy), not quantitative : ปัญหาที่ได้แก้ไขไปแล้วนั้นจะต้องได้คุณภาพ ไม่ใช่ได้เพียงแต่ปริมาณ- The problem must be sufficiently narrow in scope : ขอบเขตของปัญหาต้องชัดเจนไม่กว้างเกินไป- The ES shell must be high quality, and naturally store and manipulate the knowledge :เครื่องมือในการสร้างและพัฒนาระบบจะต้องมีคุณภาพสูง สามารถจัดเก็บและจัดการองค์ความรู้ได้อย่างมีประสิทธิภาพ - A friendly user interface : สะดวกต่อการใช้งานของ user - The problem must be important and difficult enough : ปัญหาที่มีความยากและมีความสาคัญเร่งเด่นในการแก้ไข เมื่อมันได้ถูกแก้ไข (Solve) แล้ว ก็ไม่ได้หมายความว่าระบบ ES ของเราประสบความสาเร็จ - Need knowledgeable and high quality system developers with good peopleskills : ทักษะของผู้ใช้ ES จะต้องมีความใกล้เคียงกัน เช่น หมอกับพยาบาล เป็นต้น - The impact of ES as a source of end-users’ job improvement must befavorable. End user attitudes and expectations must be considered :การใช้ระบบ ESอาจส่งผลกระทบต่อความมั่นคงด้านการงานของ user 24. หน้า : 12Week 2 : Expert System and Tools- Management support must be cultivated : ผู้บริหารที่ support โครงการ ESจะต้องมีความรู้ ความเข้าใจระบบงานเพียงพอ3. Need end-user training programs : จาเป็นต้องจัดโปรแกรมฝึกอบรมผู้ใช้4. Organizational environment should favor new technology adoption (freedom to fail) : องค์กรควรมีการนาเทคโนโลยีใหม่ ๆ เข้ามาใช้เพื่อเอื้อให้ระบบประสบผลสาเร็จอายุของการใช้ระบบ ES ในธุรกิจ (Longevity of Commercial) 1. Only about one-third survived five years : มีอายุอยู่ได้ 1-3 ปี หรืออาจจะรอดถึง 5 ปี 2. Generally ES Failed Due to Managerial Issues : ES จะล้มเหลวเมื่อการบริหารจัดการนั้นล้มเหลว เช่น - Lack of system acceptance by users : ผู้ใช้ไม่ยอมรับระบบ - Inability to retain developers : ผู้พัฒนาระบบขาดความสามารถ - Problems in transitioning from development to maintenance : มีปัญหาในการ บริหารจัดการระหว่างการส่งมอบระบบที่พัฒนาเสร็จแล้ว กับ การบารุงรักษาระบบ - Shifts in organizational priorities : การโยกย้ายตาแหน่งงานในองค์การ 3. การบริหารจัดการที่เหมาะสมของการพัฒนา ES จะทาให้ทุกอย่างลงตัวประเภทของระบบ ES (Expert Systems Types)Expert Systems แตกต่างจาก Knowledge-based Systems อย่างไร1. Expert Systems : เป็นระบบที่นาเอาองค์ความรู้มาวิเคราะห์และตีความหมาย เพื่อให้แก้ปัญหาและตัดสินใจ โดยระบบจะมีคาแนะนาแก่ผู้ใช้ ส่วน Knowledge-based Systems เป็นการจัดเก็บองค์ความรู้ทั้งหมดขององค์กร หรือความรู้จากผู้เชี่ยวชาญ ไว้เป็นศูนย์กลาง เพื่อป้องกันการสูญหายและเก็บอย่างคงทนถาวร เพื่อนาไปประยุกต์ใช้ หรือเป็นพื้นฐานในการพัฒนาระบบต่าง ๆ 2. Rule-based Expert Systems : เป็น ES ที่ทางานในรูปแบบของกฎ 3. Frame-based Systems : เป็น Tools ที่ใช้พัฒนาระบบ ES ในรูปแบบของเฟรม อาศัยวิธีการเขียนโปรแกรมเชิงวัตถุ (OOP) (เหมือนโปรแกรม Flash) 4. Hybrid Systems : ระบบลูกผสม เป็นการพัฒนาระบบ ES ที่ใช้มากกว่า 1 หลักการ เช่นใช้ Rule-Base ร่วมกับ Frame 5. Model-based Systems : เป็น Tools พัฒนาระบบ ES โดยอาศัยแบบจาลอง 6. Ready-made (Off-the-Shelf) Systems : เป็น Tools ที่ผู้พัฒนาสร้างขึ้นมาเอง หรืออาจจะเป็นโปรแกรมสาเร็จรูป (Package) 25. หน้า : 13Week 2 : Expert System and Tools7. Real-time Expert Systems : ระบบที่ทางานแบบทันทีทันใด ส่วนมากจะทางานบนเว็บ(web) เช่น การวิเคราะห์การลงทุนบนเว็บ * ทุก ๆ ระบบES จะต้องมีคาแนะนาให้กับผู้ใช้เสมอ (suggestion) จึงจะถือได้ว่าระบบนั้นเป็นระบบ ESExpert Systems และ Web/Internet/Intranets1. ได้มีการใช้ระบบ ES บนอินเตอร์เน็ต (Use of ES on the Net)2. อินเตอร์เน็ตจึงเป็นสื่อชนิดหนึ่งที่สนับสนุนการทางานของระบบ ES (Support ES :andother AI methods)การใช้ระบบ ES บนเว็บ (Using ES on the Web)1. Provide knowledge and advice : เป็นระบบ ES ที่คอยให้คาปรึกษา ให้คาแนะนา2. Help desks : เป็นระบบงานด้านบริการและลูกค้าสัมพันธ์3. Knowledge acquisition : ใช้เป็นแหล่งที่ได้มาซึ่งองค์ความรู้4. Spread of multimedia-based expert systems (Intelimedia systems) : ใช้สื่อ multimediaในระบบ ES* Internet/Intranet เป็นเทคโนโลยีที่ใช้สนับสนุนการทางานของ ES และแนวคิดอื่น ๆด้าน AI2.2 Tools เครื่องมือในการพัฒนาระบบโปรแกรมเชิง AI ระบบ DSS และ ระบบ ES ประกอบด้วย ลาดับชื่อเครื่องมือ คุณลักษณะ URL 1. Acquire- สร้างกฎการเรียนรู้ www.aiinc.ca/products/es.html (production Rules) ใน 26. หน้า : 14 Week 2 : Expert System and Tools รูปแบบตาราง (Pattern- Based Action Tables) - ใช้แก้ปัญหาตามแต่ สถานการณ์ (Case-Based Reasoning) - ใช้วิธีกฎการสังเกต อัตโนมัติ (Automated Rule Induction2. Blaze Advisor -production Rules ในwww.blazesoft.com/index รูปแบบเชิงวัตถุ (OO) -มีระบบให้คาปรึกษา 2 แบบ 1. แบบ Wizard มีการ สร้าง fn การทางานด้วยภาษา Java 2. ส่วนกลไกการสรุป ความรู้ที่มีประสิทธิภาพสูง -ลาลองและเผยแพร่องค์ ความรู้ได้แบบ Dynamic3. Exsys Corvid-ทรงพลัง ทางานบนwww.exsys.com Windows ได้ดี -เปลี่ยนรูปองค์ความรู้ให้อยู่ ในรูปของ Web Page ได้ -ใช้โครงสร้างการเขียน โปรแกรมด้วย VB -Rule-Base แบบ Forward Chaining และ Backward Chaining4. Flex-จัดรูปแบบองความรู้แบบwww.lpa.co.uk/ Frame-Base -Rule-Base (If..then..) แบบ Forward Chaining5. G2-จัดรูปแบบองค์ความรู้แบบwww.gensym.com/products/G2.htm 27. หน้า : 15 Week 2 : Expert System and Toolsเชิงวัตถุ (OO)-Rule-Base แบบ ForwardChaining และ BackwardChaining-รองรับการทางานแบบ RealTime6.GuguProduction Rulewww.mdbs.com/html/guru.html-Fuzzy Logic-การกาหนดค่าความน่าเชื่อถือ (CertaintyFactors)-OO+SQL7.Intellix-Neural Network+ ESwww.intellix.com-Production Rule-Pattern Matching-Inference Engine :กลไกสรุปความหรือกลไกอนุมาน-รองรับการทางานแบบ RealTime8.Jess- Java language ที่ตัดแปลง http://herzberg.ca.sandia.gov/jessมาจาก CLIPS- Rule-Base แบบ BackwardChaining-Any Platform9.Kappa-PC-Rule-Base แบบ Forward www.intellicorp.comChaining และ BackwardChaining-ใช้ Frame ในรูปแบบเชิงOO-ทางานร่วมกับฐานข้อมูลSpreadsheet10. Level5 Object -ใช้ Frame ในรูปแบบเชิงwww.rulemachines.com 28. หน้า : 16Week 2 : Expert System and ToolsOO- แสดงความสัมพันธ์ของผลกระทบเชิงเหตุผล (Cause-and-Effect Relationship)- ทางานร่วมกับฐานข้อมูลเชิงวัตถุ (Object-OrientedDatabase)11. M.4 -Rule-Base แบบ Forwardwww.teknowledge.comChaining และ BackwardChaining- ทางานในรูปแบบ OO- กาหนดความน่าเชื่อถือของความไม่แน่นอน (CertaintyFactors)12. XpertRule -Rule-Basewww.attar.com-Fuzzy Logic-Decision Tree-Decision Table13. Expert System -Rule-Basewww.optsol.at/default.htmlCreator -Decision Tree-Decision Table-Decision Frame- แสดงผลแบบกราฟิก- ใช้ file ร่วมกับ CLIP และJess14. Intelligent Agent - เครื่องมือและข้อมูล www.cs.umbc.edu/kqml/เกี่ยวกับตัวแทนปัญญา15. Knowledge - เครื่องมือและระเบียบวิธีwww.issco.unige.ch/ewg95/node103.htmlDevelopment ปฏิบัติเกี่ยวกับการพัฒนาhttp://ksi.cpsc.ucalgary.ca/KAW/KAW96องค์ความร้/coelho/node2.html16. NeuroXL Predictor -Artificial Neural Networkwww.neuroxl.com:ANN + Spreadsheet 29. หน้า : 17Week 2 : Expert System and Tools -Add-in ใน Excel 17. โปรแกรมแปลภาษา- เครื่องมือประยุกต์ใช้ AI ใน www.freetranslation.com อัตโนมัติ การแปลภาษา 18. Virtual Reality Sys.- ผลิตภัณฑ์ระบบเสมือนจริง www.cybertown.com 19. ExpertChoice-พัฒนา DSSwww.expertchoice.com -ใช้ Model AHP: Analytical Hierarchy Process สาหรับ เปรียบเทียบคุณสมบัติ -สนับสนุนการตัดสินใจแบบ กลุ่มตารางที่ 1แหล่งเครื่องมืออื่น ๆ 1. www.cs.cofc.edu/~manaris/ai-education-respository/expert-systems-tools.html 2. www.aic.nrl.navy.mil/~aha/research/machine-learning.html 3. www.ics.uci.edu/%7Emlearn/MLRepository.html 4. www.ai.univie.ac.at/oefai/ml/ml-resources.html 5. www.mlnet.orgโปรแกรมประยุกต์ : การให้เหตุผลเชิงกรณีศึกษา (Case-Based Reasoning: CBR) ลาดับ ผู้จัดจาหน่าย (Software Venders) URL 1.AcknoSoft-KATEwww.acknosoft.com 2.Atlantis Aerospace Corporation-spotLightwww.atlantis.com 3.Brightware Inc. –ART * Enterprise www.brightware.com 4.Case Bank Support Systems Inc. - Spotlightwww.casebank.com 30. หน้า : 18Week 2 : Expert System and Tools 5. Cognitive Systems Inc. – ReMindwww.cognitive.com 6. Esteem Software Inc. – ESTEEMwww.esteem.com 7. Inductive Solutions Inc. – CasePower www.inductive.com 8. Inference Corporation – k – commerce (formerly calledwww.inference.comCBR3 orCBR Express, CasePoint, Generator & WebServer 9. IET-Intelligent Electronics – TechMate www.ietusa.com 10.Intellix-KnowMan www.intellix.com 11.Isoft-ReCall www.isoft.fr/html/prod_recall.html 12.Sententia Software Inc. –CASE Advisor & Case Advisor www.sc.sfu.ca/~isa/isaresearch.html#Webserversystems 13.ServiceSoft-Knowledge Builer & Web Adviser www.servicesoft.com 14.Teclnno GmbH-CBR-Works and Inference’s k-www.tecinno.comcommerce 15.TreeTools-HELPDESK-3 www.treetools.com.br 16.The Haley Enterprise Inc, - The Easy Reasoner, CPR&www.heley.comHelp! CPR 17.Webpresence Technology – The RapidReasoner www.webpresence.comตารางที่ 2ภาษาที่ใช้ในการพัฒนาโปรแกรมเชิง AI1. C2. C++3. LISP4. PROLOG5. CLIPS6. ExSys 31. หน้า : 19 Week 2 : Expert System and Tools7. KPWin8. VPExpertลักษณะของโปรแกรมภาษา Lisp1. ภาษา Lisp (LIST Processing) เป็นภาษาที่นับได้ว่าเก่าแก่พอๆ กับภาษา ฟอร์แทรน พัฒนาในปี 1960 โดย จอห์น แมคคาร์ธี (John McCarthy) สถาบันเทคโนโลยีแห่งแมสสาชเสตต์ สาหรับงานเขียนโปรแกรมเกี่ยวกับ Link list ของ data Structure นั้นให้ง่ายขึ้น2. เหมาะสมกับงานประมวลสัญลักษณ์ ใช้งานปัญญาประดิษฐ์ เช่น การพิสูจน์ทฤษฏี การค้นหาข้อมูล ที่จัดโครงสร้างแบบต้นไม้ เป็นต้น ภาษานี้มีโปรแกรมย่อย ในรูปของฟังก์ชัน ที่มีลักษณะเป็นเอกเทศ สามารถนามาทาเป็นคลังฟังก์ชันขนาดใหญ่ได้ และเป็นการเน้นหลักการ ด้านการนากลับมา(recursion) ใช้ใหม่ได้เป็นอย่างดี ปัจจุบันมีการนามาใช้ในการสร้าง ระบบผู้เชี่ยวชาญกันมาก เพราะลักษณะของภาษา เอื้ออานวยต่อการใช้ระบุความจริง กฎเกณฑ์ และการอนุมานต่างๆอันจาเป็นต่องานระบบอิงฐานความรู้3. เป็นโปรแกรมที่ใช้งานด้าน function model ได้ดีกว่าภาษาอื่น ๆ4. Lisp เป็นภาษาที่ชื่นชอบและได้รับความนิยมในงานวิจัย สาหรับบุคคลที่อยู่ใน field AISource : http://www.nectec.or.th/courseware/computer/comp-using/0074.html บทความ : เรียนรู้ที่จะเขียนโปรแกรมแน่นอนที่สุด นี่คือพื้นฐานของการแฮค ถ้าคุณไม่รู้วิธีการเขียนโปรแกรมคอมพิวเตอร์ ผมแนะนาให้คุณเริ่มจากภาษา Python มันถูกออกแบบมาอย่างดี มีเอกสารแนะนาที่สมบูรณ์ และ ง่ายสาหรับการเรียนรู้สาหรับผู้เริ่มต้น และถึงแม้ว่ามันจะเป็นภาษาที่เรียนรู้ได้ง่าย ๆ แต่มันก็สามารถทางานใหญ่ ๆได้เช่นกัน มันเต็มไปด้วยความสามารถต่าง ๆ และ ยืดหยุ่นพอที่จะใช้ในงานใหญ่ ๆ ผมเคยเขียนแนะนาเกี่ยวกับ Python เอาไว้ และยังมี บทแนะนาสาหรับผู้เริ่มต้น ที่ website ของ Python อีกด้วย 32. หน้า : 20Week 2 : Expert System and ToolsJava ก็เป็นภาษาที่ดีสาหรับการหัดเขียนโปรแกรม มันยากกว่า Python แต่ว่าจะสร้างโปรแกรมที่ทางานได้เร็วกว่า Python และผมคิดว่ามันเป็นภาษาที่ดีสาหรับการเรียนรู้เป็นภาษาที่สองแต่สิ่งสาคัญคือ คุณไม่อาจจะเป็นแฮคเกอร์ได้หรอก หรือแม้แต่จะเป็นโปรแกรมเมอร์ ถ้าคุณรู้แค่ภาษาเดียว หรือว่าสองภาษา -- คุณต้องเรียนรู้ที่จะคิดแก้ปัญหาในการเขียนโปรแกรมในแบบที่ไม่ผูกติดกับภาษาใด ๆ เพื่อที่จะเป็นแฮคเกอร์ที่แท้จริง คุณ จะต้องสามารถที่จะเรียนรู้ภาษาใหม่ได้ในช่วงข้ามคืน โดยใช้ความรู้ที่คุณมีเพื่อที่จะเข้าใจในสิ่งที่หนังสือคู่มืออธิบาย นั่นหมายถึงว่า คุณควรจะรู้หลาย ๆ ภาษานั่นเองถ้าคุณมุ่งมั่นในการเขียนโปรแกรมอย่างจริงจัง คุณควรจะเรียนภาษา C ซึ่งเป็นภาษาหลักของระบบปฏิบัติการ Unix. ภาษาที่ใกล้เคียงกับภาษา C ก็คือ C++ ซึ่งถ้าคุณรู้ภาษาใดถาษาหนึ่ง คุณก็จะเรียนรู้อีกภาษาหนึ่งได้ไม่ยาก แต่อย่างไรก็ตาม ทั้งสองภาษาไม่ใช่ภาษาที่ควรจะเรียนเป็นภาษาแรกและที่จริงแล้ว คุณควรจะหลีกเลี่ยงการเขียนโปรแกรมในภาษา C ถ้าคุณต้องการจะทางานได้อย่างมีประสิทธิผลC เป็นภาษาที่ทางานได้อย่างมีประสิทธิภาพ และใช้ทรัพยากรของเครื่องได้อย่างเหมาะสม แต่น่าเสียดายที่ประสิทธิภาพที่ได้นั้น ต้องอาศัยการเขียนโปรแกรมในระดับล่าง ๆ เพื่อจัดการทรัพยากรด้วยตัวคุณเอง ซึ่งการเขียนโปรแกรมในระดับล่างนั้นเป็นสิ่งที่ซับซ้อนและผิดผลาดได้ง่าย และคุณจะต้องใช้เวลานานมาก ในการหาข้อผิดพลาดเหล่านั้น และด้วยประสิทธิภาพของเครื่องคอมพิวเตอร์ในปัจจุบัน มันคงดีกว่าถ้ายอมเสียสละข้อดีของภาษา C เหล่านั้นไป และมันคงจะเป็นการฉลาดกว่า ถ้าใช้ภาษาที่มีประสิทธิภาพต่ากว่า แต่ว่าทาให้คุณใช้เวลาของคุณได้ดีกว่า ดังนั้น ใช้Python เถอะภาษาอื่น ๆ ที่น่าสนใจสาหรับแฮคเกอร์ก็เช่น Perl และ LISP สาหรับ Perl นั้น เหมาะกับการเรียนรู้เพื่อใช้งานจริง เพราะว่ามันถูกใช้อย่างแพร่หลายใน Web page ต่าง ๆ และโดยผู้ดูแลระบบ ดังนั้นถึงแม้ว่าคุณจะไม่เคยเขียน Perl เลยก็ตาม คุณก็ควรที่จะเรียนที่จะอ่านมันให้รู้เรื่อง มีคนจานวนมากใช้ Perl ในแบบที่ผมแนะนาคุณให้ใช้ Python เพื่อหลีกเลี่ยงการเขียนโปรแกรมในภาษา C สาหรับงานที่ไม่ต้องการประสิทธิภาพที่จะได้จากการเขียนภาษา C และคุณก็จาเป็นที่จะต้องเข้าใจโปรแกรมที่พวกเขาเหล่านั้นเขียนLISP เป็นภาษาที่ควรจะเรียนรู้ ด้วยเหตุผลที่ต่างออกไป, นั่นคือประสบการณ์การรู้แจ้งที่คุณจะได้เมื่อคุณเข้าใจมัน ในที่สุด และด้วยประสบการณ์นี้ จะทาให้คุณเป็นโปรแกรมเมอร์ที่ดีกว่าเดิมไปชั่วชีวิต แม้ว่าคุณจะไม่เคยใช้ LISP เลยก็ตาม 33. หน้า : 21Week 2 : Expert System and Toolsมันจะดีที่สุด ถ้าคุณเรียนทั้งห้าภาษานี้(Python, Java, C/C++, Perl และ LISP) นอกจากจะเป็นภาษาสาคัญในการแฮคแล้ว มันยังใช้วิธีการที่แตกต่างกันในการเขียนโปรแกรม ซึ่งจะฝึกฝนความสามารถของคุณในหลากหลายรูปแบบผมไม่สามารถแนะนาวิธีเขียนโปรแกรมในแต่ละภาษาที่นี่ได้ มันเป็นสิ่งที่ซับซ้อน แต่ผมบอกคุณได้อย่างหนึ่งว่า การอ่านหนังสือ หรือว่าการเข้าเรียน ไม่ได้ช่วยอะไรSource :http://opensource.thai.net/modules.php?op=modload&name=phpWiki&file=index&pagename=HowToBecomeAHacker%3ABasicHackingSkillsแบบฝึกหัด (Exercises)1. Search Tools : จากตารางที่ 1 และตารางที่ 2 ข้างต้น ให้นักศึกษาเข้าไปยัง Web Site ของ Toolsจานวน 2 Tools และยกตัวอย่างระบบงานที่พัฒนาโดยใช้ Tools เหล่านั้นAns :Tools 1 : ……………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….Tools 2 : ……………………………………………………………………………………….…………………………………………………………………………………………………. 34. หน้า : 22 Week 2 : Expert System and Tools………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….2. จงอธิบายแนวคิดของ AI เกี่ยวข้องหรือมีความสัมพันธ์อย่างไรกับระบบผู้เชี่ยวชาญ (ES)Ans : …………………………………………………………………………………………..………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….3. จงเปรียบเทียบให้เห็นความแตกต่างระหว่างระบบผู้เชี่ยวชาญ กับ ระบบสารสนเทศแบบอื่น ๆAns : …………………………………………………………………………………………..………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….………………………………………………………………………………………………….…………………………………………………………………………………………………. 35. หน้า : 1 Week 3 :Nets and Basic Searchบทที่ 3 Nets and Basic Searchหัวข้อ (Topic)Basic Search Procedures3.1 Blind Methods (Blind procedures)3.1.1 Depth-first search3.1.2 Breadth-first search3.1.3 Nondeterministic search3.2 Heuristically Informed Methods (Heuristically informed procedures)3.2.1 Hill climbing3.2.2 Beam search3.2.3 Best-first searchวัตถุประสงค์การเรียนรู้ (Learning Objective)1. บอกข้อดีของเสียของ Search Procedures แต่ละวิธีได้2. เปรียบเทียบความแตกต่าง ของ Search Procedures แต่ละแบบได้3. แสดงวิธีการค้นหาเส้นตามตามวิธีต่าง ๆ ของ Search Procedures ได้4. แนะนาแนวทางในการประยุกต์ใช้งาน Search Procedures ได้5. บอกประโยชน์ของการ search ได้ ในบทนี้เราจะเรียนรู้เกี่ยวกับวิธีการการค้นหาพื้นฐาน(Basic search methods) ซึ่งได้แก่depth-first search ซึ่งจะใช้ในการจัดลาดับการทางานของโปรแกรม การวางแผนเส้นทางของให้หุ่นยนต์(Robot) สาหรับจัดเตรียมการใช้ภาษาธรรมชาติ (natural-language) ในการเข้าถึงข่าวสารในฐานข้อมูลอาจจะมีหลากหลายคาถามว่าเราใช้search method เพื่ออะไร - เพื่อค้นหาเส้นทางที่ดีที่สุด ในการแก้ปัญหา - เพื่อเป็นวิธีการค้นหา สาหรับใช้แก้ปัญหา - เพื่อเพิ่มประสิทธิภาพในการแก้ปัญหา 36. หน้า : 2Week 3 :Nets and Basic Search Basic search problem:ในการค้นหาเส้นทางจาก node S ไปยัง node G ในเครือข่าย Net ซึ่งแต่ละเส้นทางนั้น เชื่อมต่อได้ถึงกันเป็นแบบวนรอบ (Loop) ตัวอย่าง : การค้นหาข้อมูลจาก search netซ้าย4 43 A B CS5 54 G32 4D E Fขวารูปที่ 3.1 ทาการเปลี่ยนจาก search net ให้เป็น search tree (semantic tree)- ทาการหมุน net (Rotate) โดย node ที่มี weight น้อยจะอยู่ด้านซ้ายของ Tree3 S4A D24 55EB D Aซ้าย4 5 2 4 54 ขวาFC E E B B2 5 34 5 4 4 4 4D F B F C E A C G3 4 3 4CG G F นาข้อมูล Plot ลง3 ใน MetricGรูปที่ 3.2 37. หน้า : 3 Week 3 :Nets and Basic Search Basic search procedures สามารถแบ่งส่วนของ search family ได้ดังนี้ 3.1 Blind Methods - มีการคานวณระยะทาง (finding a path) - ตัด loop ออก (เปลี่ยนจาก net ให้เป็น tree) - ทาการค้นหาใน tree (search tree) ซึ่งเราเรียกว่า semantic tree3.1 Blind procedures Depth-first search (DFS) เป็นการค้นหาตามแนวลึก คือ เดินจากจุดเริ่มต้นแล้วดิ่งลงตามแนวลึกตัวอย่าง : Algorithm โดยการใช้ Queue 1. ตาแหน่งแรกด้านบนคือ root node ซึ่ง root node จะมีความยาวของเส้นทางเป็น0 (zero-length) 2. เปรียบเทียบระยะทางระหว่าง branch ทั้งข้าง ,เลือกเดินตามเส้นทางที่มีระยะทางน้อย 3. ใส่ข้อมูลตาแหน่งเริ่มต้นด้านหัว Queue 4. เมื่อเดินตามเส้นทางของ branch ที่เลือกตามแนวลึกแล้วพบกับ node ตาย (ทางตัน) ให้เดินย้อนถอยหลังกลับไปทีละ level จนกว่าจะเจอเส้นทางใหม่ แต่ขณะเดินถอยหลังกลับนั้นจะต้อง remove ข้อมูล ณ. จุดที่ถอยไปนั้นออกจาก Queue 5. เดินไปจนกระทั่งพบจุดหมาย 6. ถ้าพบจุดหมายแล้ว ประกาศความสาเร็จ หรืออาจจะประกาศความล้มเหลว ในการค้นหาตัวอย่าง 1 : โจทย์125 34 8 6 7รูปที่ 3.3 38. หน้า : 4Week 3 :Nets and Basic Search จากรูปให้แสดงการเดินจากจาก node ที่ 1 ไปยัง nod ที่ 8 (ตัวเลขภายใน node สมมติให้เป็นระยะทาง)Solve:1 1ใส่ข้อมูลลงที่หัว Queue2 213 32 1 4 ไม่มีที่ไปเพราะ เพราะ 2 ไปมาแล้ว DQ 44 43 21ออก5 32 1 3 ไปมาแล้ว ถอยกลับมาที่ 2 และ DQ 3 ออก6 217 52 1 เดินทางไปยังเส้นทางหมายเลข 58 65 219 76 521 7 ไม่มีที่ไป DQ 7 ออก 10 65 21 11 86 521 8 ไปที่ 5 ไม่ได้เพราะไปมาแล้ว DQ 8 ออก 12 65 216 ไปมาแล้ว DQ 6 ออก 13 52 1 14 21 DQ 2 15 1จะได้ผลลัพธ์เท่ากับจุดเริ่มต้นตารางที่ 3.1 แสดงผลลัพธ์ของลาดับการเดินทาง 1 114 6 2 5 1325 12 7 334 4108 6119 87 รูปที่ 3.4 39. หน้า : 5 Week 3 :Nets and Basic Searchการเก็บ Graph ลงในคอมพิวเตอร์ 1 2 3 4567 8 1 0 1 0 0 100 0 2 1 0 1 1 100 0 3 0 1 0 1 000 0 4 0 1 1 0 000 0 5 1 1 0 0 010 1 6 0 0 0 0 101 1 7 0 0 0 010 0 8 0 0 0 0 110 0 ตารางที่ 3.2- เมื่อพับครึ่งแล้ว 2 ด้านจะเท่ากันตัวอย่าง 2 : จากรูป 3.1 จงแสดงวิธีการค้นหาแบบ depth-first search (เป้าหมายจาก S -- > G) - ทาการแปลง net ในรูป 3.1 ให้เป็น Tree จะได้ในรูปที่ 3.2 - เปรียบเทียบ Branch ทั้ง 2 ข้าง เลือก Branch ที่ให้ระยะทางน้อย แล้วเลือกเดินตาม เส้นทางนั้นตามแนวลึก จนกว่าจะพบจุดหมาย* เลือกเดินทางจากระยะทางน้อยสุดก่อน จากนั้นเปรียบเทียบว่าพบเป้าหมายหรือยัง 3S 4 1A D 4 5 2 B 4 D 4 525 3 C E E7 2 4 548 6 D F BF343 9 G C Gรูปที่ 3.5 40. หน้า : 6 Week 3 :Nets and Basic Search- ประกาศผลสาเร็จเมื่อพบเป้าหมาย Gจากรูปหมายถึง ลาดับการเดิน จะเห็นว่าเมื่อเปรียบเทียบ branch ทั้ง 2 ข้างระหว่าง 1node A กับ D , node A ให้ระยะทางน้อยกว่า จึงเลือกเดินตามเส้นทางของ node Aข้อดีและข้อเสียของ depth-first searchข้อดี- เหมาะสาหรับการค้นหา Graph ต้นไม้ที่ไม่ลึกมากนัก- ใช้ประยุกต์ในการออกแบบรถวิ่งแบบ One-Way ได้ข้อเสีย- บางครั้งที่เส้นทางลึกมาก ๆ เมื่อเจอ node ตาย (node ตัน) ทั้งที่เรายังไม่พบจุดหมาย จะทาให้เสียเวลาในการย้อนกลับ แบบฝึกหัด1. จากตัวอย่างที่ 2 ให้แสดงลาดับการใส่ข้อมูลลงไปใน Queue ลาดับ Queueคาอธิบาย 1 2 3 4 5 6 7 8 91011121314151617181920 41. หน้า : 7Week 3 :Nets and Basic Search2. จากรูปต่อไปนี้จงแสดงวิธีการค้นหาแบบ depth-first searchstartซ้าย2A 4B 62 FI1 8 1C 3 3 EH End97D ขวารูปที่ 3.6Solve: Step 1: วาดภาพแสดงลาดับการเดิน ทีละขั้นตอน 42. หน้า : 8Week 3 :Nets and Basic SearchStep 2: แสดงลาดับการใส่ข้อมูลลงไปใน QueueลาดับQueueคาอธิบาย123456789 10 11 12 13 14 15Breadth-first search (BFS)เป็นวิธีการค้นหาโดยเดินจากจุดเริ่มต้นตามแนวกว้าง Algorithm โดยการใช้ Queue - Algorithm คล้ายกับ depth-first search แตกต่างตรงที่เพิ่มเส้นทางใหม่ไว้ท้าย Queue - เดินจากซ้ายไปขวา (branch ซ้ายของ tree จะมีค่าน้อยกว่า branch ขวา)ตัวอย่าง 1 : โจทย์1 23 4 5 6 78 91011 12 13 รูปที่ 3.7* ถ้า graph ที่แปลงเป็น tree ไม่ได้จัดลาดับตัวเลขน้อย – มาก ก็ให้สลับลาดับใหม่ 43. หน้า : 9Week 3 :Nets and Basic Searchแสดงลาดับการเดินโดยใส่ข้อมูลใน Queue ได้ดังนี้ ลาดับQueueคาอธิบาย 11ใส่ข้อมูลลงที่ท้าย Queue 21 2ขึ้น level ที่ 2 31 2 3 4 12 3 4เดินครบจานวนใน level ที่ 2 DQ 1 ออก 5 23 4 5ขึ้น level ที่ 3 node 5,6 คือลูกของ 2 เมื่อเดินครบให้ตัดแม่ออก DQ 6 2 34 5 62 7 34 5 6 8 3 45 6 7 9 3 4 56 7 8 node 7,8,9 คือลูกของ 3 เมื่อเดินครบให้ตัดแม่ออก10 3 4 5 67 8 9DQ 311 4 5 67 8 912 4 5 6 78 910node 10,11 คือลูกของ 4 เมื่อเดินครบให้ตัดแม่ออก1345 6 7 89 10 11 DQ 414 5 6 7 89 10 11 DQ 5 เพื่อขึ้น level ใหม่15 6 7 89 10 11 DQ 6 เพื่อขึ้น level ใหม่16 7 89 10 11 DQ 7 เพื่อขึ้น level ใหม่17 89 10 11 DQ 8 เพื่อขึ้น level ใหม่189 10 11 node 9 ยังมีลูกอีก 2 node คือ 12,1319 9 10 111220 9 1011 12 13 node 13 คือ เป้าหมาย ประกาศความสาเร็จ เมื่อครบแล้วสามารถ DQ เหมือนขั้นตอนที่ผ่าน ๆ มาตารางที่ 3.3 44. หน้า : 10Week 3 :Nets and Basic Searchแสดงภาพผลลัพธ์ของลาดับการเดิน11 223 3 485 678 9101145 6791012131112 รูปที่ 3.8หมายถึง ลาดับการเดิน1ตัวอย่าง 2 : จากรูปที่ 3.1 จงแสดงลาดับการค้นหาจาก node S ไปยัง node G โดยใช้วิธีแบบbreadth-first search - แปลงเป็น tree แล้วได้รูป 3.2 เพื่อใช้ปฏิบัติการ 3 S41A 2 D2455E63 B4 D 5A 44 5245 F127 C 8 E9 E 10 B11 B2 5345 44 4 4 19 17 18 13 D 14F 15 B 16FC E A20 CG 2134 34GC GF3G รูปที่ 3.9 45. หน้า : 11 Week 3 :Nets and Basic Search- เมื่อพบเป้าหมาย ให้ประกาศความสาเร็จ node ใน level ที่เหลือจะไม่ถูกเดินอีก แบบฝึกหัด1. จากตัวอย่างที่ 2 จงแสดงวิธีการใส่ข้อมูลลงใน Queue ด้วยวิธี breadth-first searchลาดับQueueคาอธิบาย123456789 10 11 12 13 14 15 16 17 18 19 20ข้อดีและข้อเสียของ Breadth-first searchข้อดี- เหมาะสาหรับต้นไม้เล็ก ที่ไม่อ้วนมาก เพราะวิธีตอบสนองจะเร็วกว่าแบบ Depth-firstsearchข้อเสีย 46. หน้า : 12Week 3 :Nets and Basic Search - ถ้าต้นไม้กว้างมาก ก็จะเสียเวลาวิ่งตามความกว้างจนจบ กว่าที่จะลงมาใน level ล่างข้างNondeterministic search - เป็นการผสมกันของแบบ Depth-first search (DFS) และ แบบ Breadth-first search เมื่อเราไม่ทราบว่าต้นไม้นั้นจะสูงหรือจะกว้าง จะเลือกใช้วิธีการแบบ Nondeterministic search - การเลือกเส้นทางในการเดินนั้นจะใช้วิธีการ Random เข้าไปใน Queue 2. Heuristically informed procedures เป็นวิธีการ search ที่มีประสิทธิภาพ เพื่อค้นหาคาตอบที่เป็นที่น่าพอใจHill Climbing - ใช้ heuristic ในการวัดประสิทธิภาพ (heuristic measurement)ตัวอย่าง : การใช้ Hill climbing ที่เป็นแบบ depth-first search ในแบบของ heuristic measurement Algorithm - เหมือนกับ Depth-first search แตกต่างตรงที่ - สร้างตัววัดที่ทาให้เส้นทางดีขึ้น (estimated distance) ระหว่าง terminates nodes และ goalnode - จัดลาดับเส้นทางใหม่โดยใช้ estimated distanceตัวอย่าง : พิจารณารูปต่อไปนี้ เส้นตรงจะบอกระยะทางของเมือง เชื่อมต่อกับเมืองเป้าหมาย คือเมือง G AB C6.710.44.0 startS11.0G end 8.9 D6.9 3.0EF รูปที่ 3.10 47. หน้า : 13Week 3 :Nets and Basic Searchขั้นตอนของ Hill climbing เพื่อแก้ปัญหาบน map-traversal problem โดยใช้ as-the crow-flies(ระยะทางของรายการที่เลือก) ถ้าโจทย์ต้องการเดินทางจากเมือง S ไปยังเมือ G แสดงให้เห็นการทางานดังนี้ 1. เปรียบเทียบ D กับ A, node D ใกล้เป้าหมายมากกว่า node A ,ฉะนั้น node ลูกของ D จะ ถูกพิจารณาก่อนเป็นลาดับแรก 2. เปรียบเทียบ E กับ A, จะเห็นว่า E ให้ระยะทางใกล้เป้าหมายมากกว่า A , ฉะนั้นลูกของ node E จะถูกพิจารณาตามมา 3. จากความสอดคล้องนี้, ลูกของ node E (F) ก็จะนารับการพิจาณา 4. เปรียบเทียบ F กับ B ซึ่งให้ระยะทางใกล้เป้าหมายใกล้มากกว่า B 5. ข้างล่าง node F จะมีเพียง node เดียวเท่านั้นคือ node G ซึ่งเป็น node เป้าหมาย สรุปได้ว่า กระบวนการของ Hill Climbing จะแตกต่างจาก Depth-first search ในเรื่องของรายละเอียด จากตัวอย่างข้างต้น แสดงให้เห็นลาดับการเดินของ Hill Climbing ดังนี้ (รูปจาก 3.10) S 10.4AD 8.9 compare A and D, =D 6.9 compare E and A, =E AE10.4 6.7 B F 3.0 compare F and B, =F G รูปที่ 3.11* Hill Climbing ถ้ามีตัววัดจากจุดปัจจุบัน ถึงจุดปลายทางที่ดี ก็จะทางานได้ดีด้วย 48. หน้า : 14Week 3 :Nets and Basic SearchBeam Search - Algorithm จะคล้ายกับ Breadth-first search (BFS) ตรงที่เดินไปข้างหน้าโดยยึดตามlevel แตกต่างตรงที่ - เปรียบเทียบทั้ง 2 branch พร้อม ๆ กัน และเลือกเดินทางตามเส้นทางที่มีระยะทางน้อยของทั้ง 2 branch - Node อื่นให้เพิกเฉย (Ignored) - เลือกคาตอบที่เป็นเป้าหมาย และประกาศความสาเร็จ หรือล้มเหลวตัวอย่าง 1: จากรูปที่ 3.10 ต้องการเดินทางจากเมือง S ไปยังเมือง G แต่เขียนภาพใหม่เพื่อให้เห็นลาดับของของ Parent และ Child เพื่อให้เข้าใจมากขึ้นก่อนเริ่มกระบวนการแบบ BeamSearch SADcmpB E childs DCFright branchleft branchรูปที่ 3.12 สาหรับวิธีของ Beam search จาเป็นต้องใช้ลูก ๆ (Child) ของแต่ละ Branch เข้าเปรียบเทียบ เพื่อเดินทางให้ถึงจุดหมาย แสดงให้เห็นลาดับขั้นตอนการเดิน ดังต่อไปนี้Step 1 : (เปรียบเทียบทั้งฝั่งพร้อมกัน) S10.4 AD8.9 A,D is candidate cmp. childs A with node8.9 10.4 cmp. childs D with node6.76.9 in same parent level BDA E in same parent level cut long path (Reject) 49. หน้า : 15 Week 3 :Nets and Basic Searchรูปที่ 3.13Step 2 :S 10.4AD 8.9 A,D is candidatecmp. childs A with node8.9 10.4 cmp. childs D with node 6.7 6.9in same parent level BDA E in same parent levelcut long path (Reject) 4.0C E 6.96.7 B F3.0F and C ,is Terminatenode,cmp and choose F Dead end G Goal nodeรูปที่ 3.14ตัวอย่าง 2 : จงแสดงวิธีการ Search จากกราฟต่อไปนี้ (ต้องแปลงกราฟให้เป็น Tree ก่อน)B cmp DC cmp E443A B CS 5 5 G 4 324 D E FE cmp AF cmp B รูปที่ 3.15* เมื่อทาไปหมุนเป็น tree จะใช้ตัวเลขระยะทางรวม 50. หน้า : 16Week 3 :Nets and Basic Searchแสดงให้เห็นผลลัพธ์ ดังนี้S4 3A D 8 7 69 4E cmp AB cmp DD B EAB is Child of A E is Child of D11 121110 C cmp E C E F B F cmp BC is Child of B F is Child of EDead End G Goal รูปที่ 3.16* ระยะทางที่ใช้เป็นระยะทางรวม- node ใดเคยไปมาแล้ว จะไม่ไปซ้าอีก (ไม่เดินถอยหลัง)- เลือกเส้นทางที่ดีที่สุด โดยอาจจะเลือกระยะทางน้อย และตัดระยะทางมากทิ้งไป- ต้องบวกเพิ่มระยะทาง หมายถึงเส้นทางที่ถูกเลือก เนื่องจากให้ระยะทางดีที่สุด (น้อย)* Beam Search ต้องเลือกตัววัดที่ดี และเหมาะในแต่ละระดับ (Level) Best-first search Algorithm 1. เคลื่อนไปข้างหน้าตลอด ไม่มีย้อนกลับ โดยเลือก node ที่ให้เส้นทางดีที่สุด 2. เมื่อการเคลื่อนที่ไปข้างหน้าถูก block จาเป็นต้องใช้ Hill Climbing เข้ามาช่วย* Best-first search ต้องเลือกตัววัดที่ดี และเหมาะในแต่ละระดับ (Level) เหมือนกับ Beam Search 51. หน้า : 17 Week 3 :Nets and Basic Searchแบบฝึกหัด (Exercises)จากหนังสือ Artificial Intelligence (Third Edition), Patrick Henry Winston1. ให้สรุป Summary (P.78)Summary : ……… ………………………………………………………………………………..………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………Exercise 4.1 : ………………………………………………………………………………………………………………………………………………………………………………………………Solve : 52. หน้า : 18Week 3 :Nets and Basic SearchExercise 4.2 : ………………………………………………………………………………………………………………………………………………………………………………………………Solve :Exercise 4.3 : ………………………………………………………………………………………………………………………………………………………………………………………………Solve : 53. หน้า : 1Week 4 :Optimal Searchบทที่ 4Optimal Searchหัวข้อ (Topic)- The Best path 1. Branch-and-Bound- Redundant Pathsวัตถุประสงค์การเรียนรู้ (Learning Objective)1. อธิบายหลักการของ Branch-and-Bound ได้2. แสดงวิธีการค้นหาเส้นทางตามวิธีการของ Branch-and-Bound ได้ ในบทนี้เราจะเรียนรู้ถึงวิธีการค้นหา (Search Method) แต่จะเน้นไปที่วิธีการหาเส้นทางที่ดีที่สุด (Best path) เพื่อให้ถึงจุดเป้าหมาย เป็นวิธีการที่เหมาะกับทุกเส้นทาง วิธีการ (Method) นั้นจะประกอบไปด้วย Branch-and-Bound, discrete dynamic programming, และ A*- The Best pathใช้สาหรับแก้ปัญหา map-traversal problem เช่นเดียวกับ Nets and Basic Search ซึ่งจะสนใจความยาวของเส้นทาง ซึ่งตามวิธีของ breadth–first-search และ depth-first-search ที่เราเรียนผ่านมานั้น ส่วนมากจะใช้กับต้นไม้ที่มีขนาดไม่ใหญ่ (Tree are small) ถ้าต้นไม้ใหญ่เมื่อใหญ่จะพบปัญหาตามมาอย่างแน่นอน ซึ่งในความเป็นจริง ต้นไม้มักมีขนาดใหญ่1. Branch-and-Boundเป็นแนวทางหนึ่งของ Optimal path (หาเส้นทางที่ดีที่สุด) ซึ่งทางานได้เร็วกว่า Depth และBreadth โดยมีแนวคิดพื้นฐานสาหรับการแก้ปัญหาที่ดีที่สุด (Optimal solution) จากตัวอย่างการแก้ปัญหา Highway map ถ้าสมมติคาทานายบอกว่า เส้นทาง S-D-E-F-G เป็น Optimal solutionคุณอาจจะไม่ต้องเชื่อตามนั้นก็ได้ 54. หน้า : 2Week 4 :Optimal Search 4 4 3A B C S5 5 4 G 32 4 D E F รูปที่ 4.1ถึงแม้คุณรู้ว่าเส้นทาง S-D-E-F-G = 13 คุณสามารถขจัดงานบางอย่างที่คุณมีอานาจที่จะทาได้ ดังตัวอย่างรูปที่ 4.2 travel S-->G path: S-D-E-F-G =13S 3 4 D6 9 AE13 1110path: S-D-A-B =13BF(same as) if extend :more than 1313 total cost no need to pursue: longer complete pathGcomplete path รูปที่ 4.2จากรูปอธิบายได้ดังนี้1. คุณไม่จาเป็นต้องพิจารณาเส้นทาง S-D-A-B เพราะว่าความยาวของระยะทาง = 132. branch-and-bound scheme จะเก็บรอยทางเดินที่มีโอกาสเป็นคู่แข่งขันไว้เสมอ3. path ที่ให้ระยะทางสั้น(shortest) จะได้รับการถูกขยายเป็นอันดับแรก เพื่อสร้างเส้นทางใหม่ (node ใดน้อยให้ขยายลูก ๆ ของ node นั้นก่อน) 55. หน้า : 3Week 4 :Optimal Search4. พิจารณาเส้นทางใหม่ ตามมาด้วยเส้นทางเก่าที่ยังคงเหลือค้างอยู่ และถ้าพบว่าเส้นทางเก่าตัวใดให้ระยะทางน้อยก็ขยายอีก จะทาเช่นนี้ซ้าเรื่อย ๆ จนกระทั่งบรรลุเป้าหมาย (อย่าลืมว่ามองที่shortest path ก่อนเสมอ แล้วค่อย extension)5. เส้นทางแรกที่นาเราไปสู่เป้าหมายจะเป็นเส้นทางที่ดีที่สุด (optimal path)branch-and-bound Algorithm 1. นา root node ใส่ลงใน Queue 2. เดินทางจนกระทั่งเส้นทางแรกใน queue นั้น terminate ที่ goal node หรือ queue นั้นว่าง 2.1 ลบเส้นทางแรกออกจาก queue; สร้างเส้นทางใหม่ โดยขยายเส้นทางแรกไปยังเส้นทาง ที่อยู่ข้าง ๆ ของ terminate node 3. ปฏิเสธเส้นทางใหม่ที่ทาให้เกิด loop 4. เพิ่มเส้นทางคงเหลือ เข้ามาใน queue 5. จัดลาดับ queue ทั้งหมดโดยดูจากความยาวของระยะทาง นาเส้นทางที่ให้ระยะทางน้อยใส่ ไว้ด้านหน้าของ queue (ข้อ 4-5 เป็น Alg ที่แตกต่างจาก Basic search) 6. ถ้าถึง node เป้าหมาย (goal node) ให้ประกาศความสาเร็จ หรือถ้าไม่ก็จะประกาศความ ล้มเหลวตัวอย่าง: ในรูปที่ 4.3 แสดงลาดับการเดินแบบ Branch-and-bound search (ด้วยวิธีการแบบ OptimalSearch) โดยพิจารณาเส้นทาง S-D-E-F-G เป็นเส้นทางที่ดีที่สุด (Optimal) จานวน node ข้างเคียงจะมีการบวกสะสมระยะทางขึ้นเรื่อย ๆ และ การค้นหาในแต่ละเส้นทางนั้นจะสิ้นสุดเมื่อ ทุกส่วนของเส้นทางนั้น (ลูก ๆ ของ branch นั้นทั้งหมด) มีระยะทางรวมที่มากกว่า Complete path (S-D-E-F-G=13) ใช้โจทย์ในรูป 4.11. S-A = 3 S-D = 4ฉะนั้นเลือก S- A เพราะให้ระยะทางน้อยกว่า (Expansion S-A) ดังรูปด้านล่าง (Branch-and-bound search : Optimal Search) 56. หน้า : 4Week 4 :Optimal Search S 4 3 A Dexpansion S ADBD 78output of expansion รูปที่ 4.32. ทาการพิจารณา node เก่าที่เหลือ นั่นก็คือ S-D ซึ่งให้ระยะทางเท่ากับ 4 ให้ทาการขาย (expanded) และจากผลลัพธ์ของการขยายเส้นทาง ได้ผลลัพธ์ 4 เส้นทางให้พิจารณา และพบว่า E (S-D-E) ให้ระยะทางสั้นสุด ฉะนั้นให้ขยาย ES A Doutput of Ds expansion B D AE 7 8 6 cmp: 4 path E is 9shortest S A DB DAEoutput of Es expansion 7 8 9 3 node: next consider B F 11 10 รูปที่ 4.3 (ต่อ) 57. หน้า : 5 Week 4 :Optimal Search3. พิจารณา 3 node เก่าที่ยังคงเหลืออยู่ ได้แก่ B, D, A ตามลาดับ ได้ผลลัพธ์ดังนี้ S A D1 23output of expansion B, D, A B D A EB F C EE B 11 10 11 121013not consider : cost = complete pathรูปที่ 4.3 (ต่อ)4. ผลลัพธ์พบว่า มี 4 เส้นทางให้พิจารณา โดย E ,F ให้ระยะทางน้อยสุด เท่ากับ 10 ฉะนั้น E กับ Fจะได้รับการขยายก่อน (expansion) ผลลัพธ์ดังรูปด้านล่าง SADoutput of expansion E ,F B D AE2 1BFC EEB 11111213 G goal nodeBF 13 path is the shortest one, but if15 14you wish to be absolutely sure more than complete pathรูปที่ 4.3 (ต่อ) 58. หน้า : 6 Week 4 :Optimal Search5. พิจารณา node เก่าคงเหลือก่อนหน้านี้ ได้แก่ C, E, B แต่เลือกขยาย C กับ B ก่อน เนื่องจากให้ระยะทางน้อยกว่า E ดังรูปด้านล่าง SA DBD AE2 13BFoutput of expansion C ,B, EC EE B 1113 GBF 13 Dead End 151515 14 ACmore than complete path 14 D F 16 more than complete pathรูปที่ 4.3 (ต่อ)6. สรุปได้ว่า เส้นทาง S-D-E-F-G = 13 เป็นเส้นทางที่ดีที่สุด (Optimal path)Branch and Bound with Underestimatesปกติในการเดินจากจากจุดเริ่มต้นไปถึงเป้าหมาย ระยะทางจะเพิ่มสะสมขึ้นเรื่อย ๆ แต่สาหรับวิธีการแบบ Underestimates จะเป็นการประมาณยะทางคงเหลือที่จะทาให้ถึงจุดเป้าหมายซึ่งระยะทางจะลดน้อยลงเรื่อย ๆ จากระยะทางที่เราเคยเดินผ่านมาUnderestimate เป็นอีกวิธีการหนึ่งที่จะดัดแปลง Branch-and-Bound ให้มีประสิทธิภาพดียิ่งขึ้น โดยวิธีประมาณการณ์ระยะทาง 59. หน้า : 7Week 4 :Optimal SearchAlgorithm Estimate1. คาดคะเนระยะทางโดยu(total path length) = d(already traveled) + u(distance remaining)ระยะทางรวมโดยประมาณ = จุดที่เราเดินทางอยู่ + ระทางคงเหลือโดยประมาณ(คาดคะเนโดย make sense)2. การประมาณ distance remaining จะต้องน้อยกว่า total path lengthมันยากที่จะประมาณระยะทางด้วยวิธีนี้ให้ perfect, และมันจะเป็นเส้นทางที่แย่หากประมาณระยะสูงไป(overestimate) และวิธีนี้จะแตกต่างจาก Optimal search โดยสิ้นเชิงตัวอย่าง : จากรูป 4.1 แสดงวิธีการด้วยวิธี Branch and Bound with Underestimates ได้ดังนี้S 1 value underestimate, less than 13.4 12.9total path length A D10.2 2 If this pointu(total path length) of 19.4 u(distance remaining) =? S-A,may be A E ~ 10.2 (guess)more than S-D 3 17.7 8.8BF 13 u(total path length) ofS-D-E-F-G G รูปที่ 4.4จากรูป 4.1 ถ้าเป็นวิธีการแบบเดิมที่ผ่านมา เส้นทาง S-A จะได้รับการพิจารณาก่อนเนื่องจากให้ระยะทางเท่ากับ 3 ส่วนเส้นทาง S-D ให้ระยะทางมากกว่าคือ 4 ดังนั้นจะได้รับการพิจารณาเป็นลาดับหลัง แต่สาหรับ Underestimate จะใช้วิธีการประมาณระยะทางรวม และหักออกจากระยะทาง ณ. จุดที่เราอยู่ แล้วทาการพิจาณาว่า ถ้าเรายืนอยู่ ณ. จุดนี้ แล้วเหลือระยะทางอีกเท่าไหร่เราถึงจะเดินไปถึงจุดหมายจากรูป 4.4 จะเห็นว่า เส้นทาง S-D จะให้ระยะทางประมาณการที่ต่ากว่า (Underestimate) เส้นทางD-A ฉะนั้นจึงได้รับการพิจารณาและขยายเส้นทาง 60. หน้า : 8Week 4 :Optimal SearchRedundant Pathsเป็นการดัดแปลงBranch-and-Bound ให้มีประสิทธิภาพดี ใช้แก้ปัญหา map-traversalproblem ซึ่งวิธีการนี้บางเส้นทางจะถูกทาลายไป เนื่องจากเกิดความซ้าซ้อนของเส้นทาง ซึ่งRedundant Paths จะใช้หลักการของ Dynamic programmingBranch-and-Bound with Dynamic programmingจากรูปที่ 4.1 : - วิธีการแปลงกราฟเป็น tree จะไม่เดินย้อนหลัง (ตัดเส้นข้างหลังของ nodeทิ้งไป และแสดงให้เห็นวิธีการเดินทาง ด้วย Redundant Paths ตามรูป 4.5Branch-and-Bound search เพิ่มสะสมระยะทางโดย dynamic programmingS1 43A D expansion A and D and start A first,less than1 S 24A D7 82 BD Redundantand more thanSA D expand D37 8 96B D AE 61. หน้า : 9 Week 4 :Optimal Search S4 AD189 expand E,B BDAE211 1211 10CE B F S5 AD89expand F,C BDAE212111 C E B FDead End 13 Bgoal nodeรูปที่ 4.5 อธิบายรูป 4.5 1. node S เป็น root node ทาการขยาย A,D ได้เส้นทาง S-A , S-D เป็นการแตก branch 2branch ด้วยกัน ซึ่งในการทางานเราจะไม่นา underestimate เข้ามาใช้กับ node A และ node D ฉะนั้นA และ D มีสิทธิ์ขยายลูกของตัวเองได้ 2. แต่การขยายก่อนนั้นพบว่าS-A ให้ระยะทางสั้นกว่า S-D จะมีสิทธิ์ถูกขยายก่อนเป็นอันดับแรก ได้ผลลัพธ์เป็น S-A-B และ S-A-D 3. ทาการพิจารณาระยะทาง S-A-B , S-A-D และ S-D พบว่า S-D จะถูกขยายเนื่องจากให้ระยะทางสั้นกว่า (shortest length) 4. แล้วจะเกิดอะไรขึ้นกับเส้นทาง S-A-D ง่ายที่สุดคือ มันถูกยกเลิกไปอย่างถาวรเนื่องจากซ้าซ้อนกับอีกเส้นทาง และมันให้ระยะทางที่มากกว่า 62. หน้า : 10 Week 4 :Optimal SearchUnderestimate and Dynamic Programming Improve Branch-and-Bound Search- เป็นอีกวิธีการหนึ่งของการค้นแบบแบบ Branch-and-Bound ซึ่งใช้ Algorithm แบบUnderestimate และแบบ Dynamic Programming รวมเข้าด้วยกัน- ได้เป็น Algorithm ใหม่เรียกว่า A* procedure- Underestimate จะเน้นในเรื่อง การประมาณระยะทางคงเหลือที่จะไปถึงเป้าหมาย- Dynamic Programming จะเน้นในเรื่องการตัดเส้นทางที่ซ้าซ้อน (Redundant path) และค้นไปไปทั้ง 2 branch พร้อม ๆ กัน โดยตัดระยะทางมากทิ้ง รวมทั้งระยะทางที่เท่ากับระยะทางเป้าหมาย แต่ยังไม่ถึงเป้าหมาย ถ้าหากขยายระยะทางนั้นอีก จะมีการสะสมระยะทางมากกว่าเป้าหมายแน่นอน จึงไม่จาเป็นต้องขยาย และตัดทิ้งได้- A* procedure เป็นวิธีการแก้ปัญหาที่ดีที่สุด (Optimal solutions)A* Algorithm 1. เริ่มเดินจาก root node 2. เดินทางจนกระทั่งเส้นทางแรก (first path) ทาให้ queue terminate ที่เป้าหมายหรือทาให้queue ว่าง2.1 ลบ first path ออกจาก queue ; สร้างเส้นทางใหม่ (new path) และขยาย first path (ขยายลูกของ first path) และขยาย node ที่อยู่ข้างๆ (neighbors node) ทั้งหมดที่อยู่ปลาย nodeterminal node2.2 ปฏิเสธเส้นทางใหม่ทุกเส้นทาง ที่จะทาให้เกิดการเดินวนซ้า (loops)2.3 ถ้ามี 2 เส้นทางหรือหลายเส้นทางไปถึง node ร่วมกัน, ให้ delete ทุกเส้นทาง ,ยกเว้นไว้ 1 เส้นทางที่ minimum cost.2.4 จัดลาดับ queue ทั้งหมด โดยผลรวมของระยะทาง (sum of the path length) และการ ประมาณระยะทางคงเหลือน้อย (lower-bound estimate), ใช้ระยะทางน้อยสุดเป็นเส้นทางนา 3. ถ้าพบ node เป้าหมาย ให้ประกาศความสาเร็จ , หรือถ้าไม่ใช่ ให้ประกาศความล้มเหลว 63. หน้า : 11Week 4 :Optimal SearchTrees and Adversarial Search ในเรื่องนี้จะเรียนรู้เกี่ยวกับ การเขียนเกมส์สามารถเล่นเกมส์กระดานได้อย่างไร (playboard games) เช่น เกมส์ทาเครื่องหมายบนกระดานและเกมส์หมากรุก (checkers and chess) ซึ่งเป็นวิธีการสร้างเกมส์ด้วยวิธีการของ Tree ในเรื่องของ Trees and Adversarial Search เราจะเรียนรู้เกี่ยวกับ- Minimax search ซึ่งเป็นวิธีการพื้นฐาน เพื่อให้เราเข้าใจว่าอะไรคือสิ่งที่เราต้องตกลงใน การทา สาหรับการเขียนเกมส์- Alpha-beta pruning เป็นแนวคิดที่สาคัญในการลดการค้นหาโดย stopping work on guaranteed losers- Progressive deepening and heuristic continuation เป็นแนวคิดที่จะช่วยให้โปรแกรม จัดสรรความพยายามในการค้นหาได้อย่างมีประสิทธิภาพAlgorithmic methods - เรียนรู้สถานการณ์ของเกมส์ ที่จะแทนลงไปใน Tree - Tree สามารถค้นหาเพื่อสร้างแนวทางในการเดินของเกมส์ Original board situation New board situation New board situationรูปที่ 4.6จากรูป 4.6- game tree เป็นชนิดพิเศษของ semantic tree- จากรูป node ใน game tree จะแทนด้วยตาแหน่งการเดินบนกระดานหมากรุก- และ branch ก็ชี้ให้เห็นว่า ในการเดินนั้นมันจะเชื่อมต่อทางเดินอย่างไร- Ply ของ game tree (p) คือ จานวน level ใน tree ประกอบด้วย : เริ่มนับตั้งแต่ Root level, ความลึกของ tree (depth) เขียนแทนด้วย d หาได้จาก p = d+1 64. หน้า : 12Week 4 :Optimal SearchMinimax procedure-สามารถใช้ในการประยุกต์เขียนเกมส์ได้ เช่น เกมส์ OX2 maximize2 1 minimize2 7 18maximize ถ้าเราเป็นคนเริ่มเล่นเกมส์ ก่อน เราจะต้องเลือก เส้นทางที่ให้คะแนนมาก คือ 2 เพราะถ้าเราเลือก 1 มันก็จะบีบให้เราได้คะแนน แค่ 1 คะแนน รูปที่ 4.6 - maximize looks for a move that leads to a length positive number - minimize will try to force the play toward static evaluations 65. หน้า : 1 Week -5 : Knowledge Acquisition and Validation บทที่ 5 การได้มาซึ่งองค์ความรู้และการตรวจสอบความถูกต้อง(Knowledge Acquisition and Validation)หัวข้อ (Topic)1. วิศวกรรมองค์ความรู้ (Knowledge Engineering)2. ขอบเขตขององค์ความรู้ (Scope of Knowledge)3. ความยากในการได้มาซึ่งองค์ความรู้ (Knowledge Acquisition Difficulties)4. วิธีการได้มาซึ่งองค์ความรู้ (Knowledge Acquisition Methods: An Overview)วัตถุประสงค์การเรียนรู้ (Learning Objective)1. อธิบายความหมายและบอกหน้าที่ของวิศวกรรมองค์ความรู้ (Knowledge Engineering) ได้2. บอกถึงความสาคัญของขอบเขตขององค์ความรู้ (Scope of Knowledge) ได้3. อธิบายถึงความยากในการได้มาซึ่งองค์ความรู้ (Knowledge Acquisition Difficulties) และ เสนอแนะแนวทางในการแก้ไขได้4. วิเคราะห์ความแตกต่างของวิธีการได้มาซึ่งองค์ความรู้ (Knowledge Acquisition Methods: An Overview) แต่ละวิธี และสามารถแนะนาวิธีที่เหมาะสมกับสถานการณ์ได้Knowledge Engineering :วิศวกรรมองค์ความรู้วิศวกรรมองค์ความรู้ (Knowledge Engineering) คือ กรรมวิธีที่จะทาให้ได้มาซึ่งองค์ความรู้ซึ่งผู้ที่ทาหน้าที่นี้ได้แก่ วิศวกรองค์ความรู้ (Knowledge Engineer) ซึ่งทาหน้าที่เป็นคนกลาง1. จะต้องเป็นบุคคลที่มีศิลปของการใช้เครื่องมือ AI (tools of AI) เพื่อรองรับปัญหาที่ยากมาก ในการได้มาซึ่งองค์ความรู้จากผู้เชี่ยวชาญ2. มีเทคนิคในการดึงเอาองค์ความรู้ การแทนองค์ความรู้(การจัดรูปแบบ) ได้อย่างเหมาะสม และสร้างคาอธิบายความ ของเหตุผลนั้น 3. มีศิลป/มีฝีมือ ในการใช้ชุดคาสั่งโปรแกรมที่มีความซับซ้อนในการแทนแหตุผล ขององค์ความรู้ที่ได้ ได้สอดคล้องกับโลกแห่งความจริง(Feigenbaum and McCorduck [1983])4 Narrow perspective: ภาพมุมมองในด้านแคบ ของวิศวกรรมองค์ความรู้วิศวกรรมองค์ความรู้ (knowledge engineering :KE) จะจัดการกับการได้มาซึ่งองค์ความรู้ (knowledge acquisition) การแทนองค์ความรู้ (representation) การตรวจสอบความถูกต้อง 66. หน้า : 2 Week -5 : Knowledge Acquisition and Validation (validation) การสรุปความ(inferencing) การอธิบายความและบารุงรักษา (explanation and maintenance)5 .Wide perspective: ภาพมุมมองในด้านกว้าง ของวิศวกรองค์ความรู้วิศวกรรมองค์ความรู้ (knowledge engineering :KE) จะอธิบายกระบวนการทั้งหมดของ การพัฒนา และการบารุงรักษาระบบ AI6. ในที่นี้เราจะใช้คานิยามความหมายในทางแคบ (We use the Narrow Definition)ซึ่งหมายถึงการทางานต่อไปนี้- การประสานงานกับผู้เชี่ยวชาญ (Involves the cooperation of human experts)- การจัดการผลกระทบที่จะเกิดขึ้นจากการทางานร่วมกัน (Synergistic effect) Knowledge Engineering (KE) Process Activities : ขั้นตอนของวิศวกรรมองค์ความรู้มีกระบวนการในการปฏิบัติงานของ KE ดังต่อไปนี้ (5 กระบวนการ) 1. Knowledge Acquisition: การดึงองค์ความรู้ / การได้มาซึ่งองค์ความรู้เป็นการดึงความรู้จากแหล่งต่าง ๆ ทั้งความรู้จากบุคคลและไม่ใช่ตัวบุคคล อาทิเช่นเอกสาร สื่อ สิ่งพิมพ์ Web Page เป็นต้น ซึ่งองค์ความรู้ที่ดึงมาส่วนมากจะมีอยู่ 2 ด้านคือ องค์ความรู้ขององค์กร และองค์ความรู้ทางด้านธุรกิจ 2. Knowledge Validation: การตรวจสอบความถูกต้องขององค์ความรู้เป็นการตรวจสอบความถูกต้องขององค์ความรู้ที่ดึงหรือเก็บรวบรวมมาได้ เพื่อจะไปสู่ คุณภาพขององค์ความรู้ในลาดับถัดไป 3. Knowledge Representation: การแทนองค์ความ / การจัดรูปแบบ/ การแสดงองค์ความรู้นาความรู้ที่ได้มาแทนด้วยสัญลักษณ์ต่าง ๆ (Symbolic) หรืออาจแทนความรู้ด้วยตัวเลข (Numberic) แผนที่ (Map) กรณี (Case) เป็นต้น 4. Inferencing: การสรุปความเป็นการสรุปความหมายขององค์ความรู้ เพื่อนาไปสร้างเป็นผลลัพธ์ ซึ่งขั้นตอนนี้ จะต้องมีการออกแบบโปรแกรม เพื่อให้คอมพิวเตอร์สามารถสรุปความหมายและนาเสนอต่อ user 5. Explanation and Justification: การอธิบายความและการให้เหตุผล เป็นการอธิบายเหตุผล ตามที่เราได้สรุปความมา ว่าความหมายเช่นนี้ จะให้เหตุผลประกอบอย่างไร ซึ่งในการอธิบายความและให้เหตุผลนั้น การออกแบบโปรแกรมจะต้อง Designให้ user ตอบคาถามประเภท Why? ( ทาไม) หรือคาถามแบบ How? (อย่างไร) ถ้ามีคาถามเช่นนี้ระบบจะต้องมีการอธิบายเหตุผลของคาตอบ 67. หน้า : 3 Week -5 : Knowledge Acquisition and ValidationKnowledge Engineering Processรูปที่ 5.1Scope of Knowledge : ขอบเขตขององค์ความรู้ มาพิจารณาว่าเราจะสามารถกาหนดขอบเขตขององค์ความรู้ได้อย่างไร Size ขนาดไหนถึงจะเพียงพอ1. Knowledge acquisition : การได้มาซึ่งองค์ความรู้คือการสกัดเอาองค์ความรู้ในด้าน ความรู้ ความชานาญ จากแหล่งต่าง ๆ แล้วทาการถ่ายโอนไปจัดเก็บยังฐานองค์ความรู้ (knowledge base) บางครั้งการได้มาซึ่งองค์ความรู้นั้นจะต้องอาศัยเครื่องมือกลไกอนุมาน / กลไกสรุปความ ( inference engine)2. Knowledge : องค์ความรู้คือ การสะสม เก็บรวบรวมของ specialized facts, กระบวนการ (procedures) และกฎในการตัดสิน (judgment rules)Knowledge Sources : แหล่งขององค์ความรู้สามารถขุดค้นหรือดึงองค์ความรู้ได้จากแหล่งต่อไปนี้ 68. หน้า : 4 Week -5 : Knowledge Acquisition and Validation 1. จากเอกสาร(Documented) เช่น หนังสือ (books) หรือคู่มือ (manuals) 2. จากสิ่งที่ไม่ใช่เอกสาร (Undocumented) เช่นจากบุคคล (people) หรือจากเครื่องจักร(machines) 3. จากฐานข้อมูล (Databases) 4. จากอินเตอร์เน็ต (Via the Internet)Knowledge Levels : ระดับขององค์ความรู้แบ่งเป็น 2 ระดับ ดังนี้1. .Shallow knowledge (surface) : องค์ความรู้ในระดับผิวเผิน2. Deep knowledge : องค์ความรู้ในเชิงลึก- เราสามารถพัฒนาโปรแกรมคอมพิวเตอร์ให้แทนองค์ความรู้ในเชิงลึกได้ดีกว่าการแทนองค์ความรู้ระดับผิวเผิน- วิธีการแทนองค์ความรู้แบบพิเศษ ได้แก่ การใช้ semantic networks และ framesสามารถให้เหตุผลในเชิงลึก(abstraction and analogy) ซึ่งการให้เหตุผลในเชิงลึกจัดเป็นกิจกรรมอันสาคัญของผู้เชี่ยวชาญMajor Categories of Knowledge : การจาแนกประเภท/จัดหมวดหมู่ขององค์ความรู้ เราอาจจะเรียกลาดับชั้นหลักขององค์ความรู้ นี้ได้ว่าเป็นประเภทขององค์ความรู้ ซึ่งจาแนกได้ 3 ประเภทดังต่อไปนี้1. Declarative Knowledge : องค์ความรู้เชิงประกาศ เป็นประโยคที่ใช้บรรยายแสดงข้อเท็จจริง เช่น ป้ายประกาศเตือน ป้ายชี้แจงกฎเกณฑ์ เป็นองค์ความรู้แบบผิวเผินเป็นพื้นฐานสาคัญแรกเริ่มของการได้มาซึ่งองค์ความรู้ Descriptive knowledge จะมีความสัมพันธ์กับวัตถุประสงค์ที่เจาะจง (specific object)รวมไปถึง สิ่งที่เกี่ยวข้องกับความหมายของข่าวสาร บทบาท/หน้าที่ในการทางาน(roles)สภาพแวดล้อม (environment) ทรัพยากร (resources) กิจกรรม (activities) และความสัมพันธ์ของผลลัพธ์ที่ได้ตามวัตถุประสงค์ 2. Procedural Knowledge : องค์ความรู้เชิงระเบียบวิธี หรือเชิงกระบวนการ1. เป็นบรรยายถึงการกระทา กิจกรรมในการทางานภายใต้สถานการณ์ที่แตกต่าง กัน ซึ่งประกอบด้วย - ลาดับการทางานอย่างเป็นขั้นเป็นตอน (step-by-step sequences) และผลลัพธ์ที่ได้ของการกระทาแต่ละประเภท เช่น การจัดทาแผนงาน/แผนโครงการ 69. หน้า : 5Week -5 : Knowledge Acquisition and Validationมีการใช้ทรัพยากรอะไรบ้าง ใครมีหน้าที่อะไร เป้าหมายของผลลัพธ์คืออะไรจะต้องมีการอธิบายขั้นตอนในแต่ละกิจกรรมว่ามีแนวทางปฏิบัติ (Action) อย่างไรและแต่ละขั้นตอนของแผนนั้นได้ผลลัพธ์อะไร - มีการอธิบายความ (explanations)- มีการตอบกลับอย่างอัตโนมัติต่อสิ่งเร้า (automatic response to stimuli)- อาจจะรวมไปถึงการบอกวิธีการใช้ประกาศใช้ความรู้และวิธีปฏิบัติProcedural knowledge มีความสัมพันธ์กับกระบวนการจัดจ้าง (procedures employed) ในกระบวนการแก้ไขปัญหา (problem-solving process)3. Metaknowledge : องค์ความรู้เชิงเมต้า Metaknowledge หมายถึง องค์ความรู้ขององค์ความรู้ (Knowledge aboutKnowledge) ตัวอย่างจะคล้าย ๆ กับความหมายของ MataData ซึ่งหมายถึง ข้อมูลของข้อมูล (Dataof Data) ตัวอย่างของ Data of Data ก็อย่างเช่น Data Dictionay ในระบบ ES, Metaknowledge จะอ้างอิงถึงองค์ความรู้ที่เป็นการกระทา (operation) ของระบบฐานองค์ความรู้ (knowledge-based systems) ซึ่งมันก็คือปริมาณที่บรรจุเหตุผลขององค์ความรู้นั้น ๆ (Its reasoning capabilities) ใช้องค์ความรู้ประเภทนี้สาหรับ Support และรองรับการแก้ไขปัญหาKnowledge Acquisition Difficulties : ความยากในการได้มาซึ่งองค์ความรู้ การได้มาซึ่งองค์ความรู้นั้น จัดได้ว่าเป็นสิ่งที่ยากมาก และมีปัญหามากมายกว่าที่จะได้ความรู้ ความชานาญนั้นมาจัดเก็บไว้ในฐานองค์ความรู้ ในที่นี้ขอกล่าวถึงปัญหาในการส่งผ่านองค์ความรู้ หรือการถ่ายโอนองค์ความรู้ (Problems in Transferring Knowledge) มักจะประสบกับปัญหาต่อไปนี้ 1. Expressing Knowledge : การตีความองค์ความรู้/ การแสดงองค์ความรู้ การที่วิศวกรองค์ความรู้จะไปทาการเก็บรวบรวมความรู้ ความชานาญจากผู้เชี่ยวชาญทั้งหลาย นับว่าเป็นสิ่งที่ยากมาก เนื่องจากผู้เชี่ยวชาญนั้นมีวิธีการรับรู้ที่แตกต่างกัน เช่น - รับรู้จากความทรงจา หรือปฏิสัมพันธ์รอบ ๆ ตัว - รับรู้จากอานาจของตน ความเชื่อ ความศรัทธา - รับรู้จากจิตสานึก สัญชาติญาณ ทัศนคติ และประสบการณ์ - รับรู้ทางวิทยาศาสตร์ 70. หน้า : 6 Week -5 : Knowledge Acquisition and Validationผู้เชี่ยวชาญมีความรู้ที่แตกต่างกัน อาจจะมีการเหนี่ยวนา(Inductive) และหักล้าง(Deductive) ความรู้ซึ่งกันและกัน ฉะนั้นจึงเป็นเรื่องยากในการแสดงหรือตีความองค์ความรู้(Expressing Knowledge)2. Transfer to a Machine : การถ่ายโอน / ส่งผ่านองค์ความรู้ด้วยกระบวนการทางคอมพิวเตอร์ในการเก็บรวบรวมองค์ความรู้ในฐานองค์ความรู้ (Knowledge base) จะเป็นการนาเข้า (Input) องค์ความรู้นั้นจัดเก็บในคอมพิวเตอร์ (Store) และผ่านกระบวนการประมวลผลหรือกลั่นกรอง (Process) เพื่อให้ได้ผลลัพธ์ (Output) ตามต้องการ ซึ่งต้องอาศัยฝีมือหรือศิลปะในการใช้งานโปรแกรม ตลอดจนการออกแบบระบบ Interface ที่มีความยุ่งยากซับซ้อน มีขั้นตอนการทางานมาก การถ่ายโอนความรู้จากเครื่องคอมพิวเตอร์สู่คน ถ้าออกแบบไม่ดีก็อาจจะล้มเหลว3. Number of Participants : จานวนผู้ร่วมกระทา หรือผู้ที่เกี่ยวข้องการพัฒนาฐานองค์ความรู้ มีบุคคลจานวนมากที่เกี่ยวข้องในการพัฒนาระบบงานนี้ให้สาเร็จผล ไม่ได้มีเฉพาะผู้รับ-ผู้ส่ง องค์ความรู้เท่านั้น แต่ทั้งระบบอาจประกอบด้วยบุคคลอื่นที่เกี่ยวข้อง เช่น วิศวกรองค์ความรู้ ผู้เชี่ยวชาญ วิศวกรระบบ ผู้สนับสนุน ตัวแทนจาหน่ายเป็นต้น จะพบว่า เมื่อมีผู้เกี่ยวข้องกับระบบมากเท่าใด ก็จะส่งผลต่อการทางานมากขึ้น ทั้งในเรื่องของการประสานงาน ปัญหาความขัดแย้ง และการบริหารต่าง ๆ ต้องใช้ศิลปะในการบริหารและจัดการ4. Structuring Knowledge : การจัดโครงสร้างขององค์ความรู้จะต้องมีการจัดรูปแบบโครงสร้างองค์ความรู้ที่มีความชัดเจน เช่น องค์ความรู้นั้นจะนาไปใช้พัฒนาเป็นระบบ ES ก็อาจจัดโครงใช้ให้อยู่ในรูปแบบของ Rule-Baseเหตุผลอื่น ๆ ที่ทาให้ยาก (Other Reasons) 1 ผู้เชี่ยวชาญมีเวลาน้อยหรืออาจจะไม่ให้ความร่วมมือ 2. การทดสอบและสกัด กลั่นกรององค์ความรู้เป็นเรื่องที่ยุ่งยาก 3. Poorly defined methods for knowledge elicitation : การกาหนดวิธีการล้วงเอาความรู้จากผู้เชี่ยวชาญออกมานั้น อาจจะยังไม่ดีพอ 4.: ผู้พัฒนาระบบตั้งใจจะรวบรวมองค์ความรู้จากแหล่งหนึ่ง แต่องค์ความรู้ที่เกี่ย วข้องอาจไปปรากฏอยู่ ณ แหล่งอื่น ทาให้ความรู้นั้นกระจัดกระจาย ยากต่อการเก็บรวบรวม 5. ผู้พัฒนาระบบอาจเน้นการเก็บรวบรวมองค์ความรู้จากเอกสารมากกว่า ที่จะสนใจดึงเอาองค์ความรู้จากผู้เชี่ยวชาญ 6 . ความรู้ที่รวบรวมได้อาจจะไม่สมบูรณ์ 71. หน้า : 7 Week -5 : Knowledge Acquisition and Validation7. องค์ความรู้เฉพาะด้าน (องค์ความรู้เจาะจง ) จะยากต่อการแยกแยะ หากมันผสมผสานกับข้อมูลอื่นที่ไม่เกี่ยวข้อง8. ผู้เชี่ยวชาญปรับเปลี่ยนพฤติกรรม กิริยาท่าทาง ในขณะที่ถูกสังเกตหรือถูกสัมภาษณ์อยู่ ,ทาให้ยากต่อการเข้าใจ9. การสื่อสารซึ่งเกี่ยวกับความสัมพันธ์ระหว่างบุคคล หรือมีปัญหาระหว่างวิศวกรความรู้และผู้เชี่ยวชาญOvercoming the Difficulties : การเอาชนะความยากลาบาก เป็นแนวทางในการเอาชนะ หรือแนวทางในการแก้ปัญหา การได้มาซึ่งองค์ความรู้ มีแนวทางดังนี้ 1. มีการวิจัยและพัฒนาเครื่องมือสาหรับอานวยความสะดวกในการนาเสนอองค์ความรู้ที่เหมาะสมในรูปแบบของชุดโปรแกรมสาเร็จรูป , เครื่องมือนี้จะลดการแทนองค์ความรู้ที่ไม่ถูกต้องระหว่างผู้เชี่ยวและโปรแกรม 2. ทาให้ syntax ของกฎง่ายขึ้น 3. การใช้ภาษาธรรมชาติในการแปลความองค์ความรู้ จะสามารถแทนองค์ความรู้ได้อย่างเจาะจง และง่ายต่อการเข้าใจ เช่น การใช้ภาษาพูดด้วยเสียง 4. ผลกระทบโดยบทบาทของคน 3 คนที่เป็นผู้ร่วมกระทาหลัก.- Knowledge Engineer : จัดโครงสร้างองค์ความรู้ เครื่องมือ(Tools) ผู้สนับสนุน ผู้เชี่ยวชาญ และประสานงาน บริหารจัดการลดความขัดแย้ง- Expert : มีบทบาทในการสร้างฐานองค์ความรู้ (Knowledge Base)- End user : ผู้ใช้ระบบ 5. Critical- The ability and personality of the knowledge engineer- Must develop a positive relationship with the expert- The knowledge engineer must create the right impression 6. Computer-aided knowledge acquisition tools : ใช้คอมพิวเตอร์เป็นเครื่องมือในการ ได้มาซึ่งองค์ความรู้ 7. Extensive integration of the acquisition efforts : ใช้หลาย ๆ วิธีรวมกัน ในการได้มาซึ่ง องค์ความรู้Required Knowledge Engineer Skills :ทักษะของวิศวกรองค์ความรู้ วิศวกรองค์ความรู้ต้องมีทักษะของดังต่อไปนี้ 72. หน้า : 8 Week -5 : Knowledge Acquisition and Validation 1. Computer skills : มีความชานาญในการใช้คอมพิวเตอร์ และโปรแกรม 2. Tolerance and ambivalence : มีความอดทน ใจกว้าง 3. Effective communication abilities : มีความสามารถด้านการสื่อสาร เจรจา 4. Broad educational background : มีพื้นหลังการศึกษากว้าง พื้นฐานการศึกษาดี รอบรู้ในหลาย ๆ ด้าน 5. Advanced, socially sophisticated verbal skills : เป็นนักเจรจา และนักต่อรองที่ดี มีทักษะและศิลปะการพู เข้าสมาคมได้ดี 6. Fast-learning capabilities (of different domains) : เรียนรู้ได้เร็ว 7. Must understand organizations and individuals : เข้าใจวัฒนธรรมองค์กรและบุคคลในองค์กรได้ดี 8. Wide experience in knowledge engineering : มีประสบการด้านวิศวกรรมองค์ความรู้อย่างกว้างพอสมควร 9. Intelligence : มีสติปัญญาที่ฉลาด 10. Empathy and patience : อดทนและเอาใจใส่ในการทางาน 11. Persistence : มีความเพียรพยายาม ต่อเนื่องในการทางาน (ความทนทานในการทางาน) 12. Logical thinking : คิดอย่างมีหลักการ 13. Versatility and inventiveness : ปรับตัวได้ง่ายและมีภาวะเกี่ยวกับการประดิษฐ์ คิดริเริ่มสร้างสรรค์ 14. Self-confidence : มีความเชื่อมั่นในตนเองKnowledge Acquisition Methods: An Overview :วิธีการได้มาซึ่งองค์ความรู้ 1. Manual :วิธีการคิดค้นและจัดทาขึ้นเองManual Methods - Structured Around Interviews เป็นวิธีการที่เริ่มจากการสัมภาษณ์ ทั้งแบบมีโครงสร้าง กึ่งโครงสร้างและไม่มีโครงสร้าง - Interviewing : ใช้วิธีการสัมภาษณ์ - Tracking the Reasoning Process :ติดตาม แกะรอยการให้เหตุผลของกระบวนการ - Observing : ใช้วิธีการสังเกต - Manual methods: slow, expensive and sometimes inaccurate : วิธีนี้จะช้า และมีค่าใช้จ่ายสูง เนื่องจากเกี่ยวข้องกับคนหลายส่วน และความรู้ที่ได้อาจไม่มีความเที่ยงตรง 73. หน้า : 9 Week -5 : Knowledge Acquisition and ValidationManual Methods of Knowledge Acquisition 2. Semiautomatic : วิธีกึ่งอัตโนมัติ วิธีการกึ่งอัตโนมัติ (Semiautomatic Methods ) ได้แก่ 1. Help Knowledge Engineers : ใช้คอมพิวเตอร์เข้ามาช่วยวิศวกรรมองค์ความรู้บางส่วน3. Automatic (Computer Aided) : วิธีอัตโนมัติวิธีอัตโนมัติ (Automatic Methods) ได้แก่1. Expert’s and/or the knowledge engineer’s roles are minimized (or eliminated) :บทบาทของผู้เชี่ยวชาญ หรือวิศวกรองค์ความรู้จะลดน้อยลง หรืออาจถูกขจัดออกไปโดยสิ้นเชิงและแทนที่ด้วยการเก็บหรือดึงองค์ความรู้ด้วยระบบคอมพิวเตอร์Induction-Driven Knowledge Acquisition : การขับเคลื่อนการเหนี่ยวนาที่ได้มาซึ่งองค์ความรู้ 74. หน้า : 10Week -5 : Knowledge Acquisition and Validation รูปที่Knowledge ModelingThe knowledge model views knowledge acquisition as the construction of a model of problem-solving behavior-- a model in terms of knowledge instead of representations :knowledge model จะแสดงการได้มาซึ่งองค์ความรู้เป็นการสร้างแบบจาลองของการแก้ปัญหาเชิงพฤติกรรม ในการแทนที่องค์ความรู้ของการจัดรูปแบบองค์ความรู้Can reuse models across applications : สามารถนาโมเดลกลับมาใช้ใหม่ได้อีกInterviews1. Most Common Knowledge Acquisition: Face-to-face interviews : เป็นวิธีการทั่วไปที่ใช้สาหรับการที่จะได้มาซึ่งองค์ความรู้ โดยวิธีการสัมภาษณ์และเผชิญหน้ากับผู้เชี่ยวชาญ2. ชนิดของการสัมภาษณ์ (Interview Types ) ได้แก่1. Unstructured (informal) : การสัมภาษณ์แบบไม่เป็นทางการ เช่น การพูดคุยการสอน การถ่ายทอด- การเล่าประสบการณ์ภาพรวมของ Unstructured Interviews1. Most Common Variations : มีรูปแบบที่เปลี่ยนแปลง แปรผันได้ เช่น- Talkthrough : การพูดคุยสนทนา- Teachthrough : การสอน- Readthrough : การอ่าน 2. The knowledge engineer slowly learns about the problem : สาหรับวิธีการนี้วิศวกรองค์ความรู้ จะเรียนรู้เกี่ย วกับปัญหาได้ยาก 3. Then can build a representation of the knowledge : ดังนั้นสามารถสร้างรูปแบบในการแทนองค์ความรู้ หรือรูปแบบในการจัดรูปแบบองค์ความรู้ 4. Knowledge acquisition involves : องค์ความรู้ที่ได้มาจะ 75. หน้า : 11 Week -5 : Knowledge Acquisition and Validation - Uncovering important problem attributes : ไม่ครอบคลุมคุณสมบัติที่สาคัญในการแก้ปัญหา - Making explicit the expert’s thought process : แต่มันทาให้เห็นความคิด ของผู้เชี่ยวชาญUnstructured InterviewsSeldom provides complete or well-organized descriptions of cognitive processes because : วิธีนี้จะใช้ไม่บ่อยนักในองค์กร เนื่องจาก- The domains are generally complex : มีความซับซ้อน- The experts usually find it very difficult to express some more importantknowledge : มันยากที่จะทาให้ผู้เชี่ยวชาญแสดงองค์ความรู้บางอย่างที่สาคัญออกมา- Domain experts may interpret the lack of structure as requiring littlepreparation : ยากต่อการแปลความรู้ที่จากการการสัมภาษณ์ไม่เป็นทางการให้อยู่ในรูปแบบที่มีโครงสร้าง- Data acquired are often unrelated, exist at varying levels of complexity, and aredifficult for the knowledge engineer to review, interpret and integrate : ข้อมูลที่เราได้มาบ่อยครั้งมันไม่เกี่ยวข้องกับที่ต้องการ และยากสาหรับวิศวกรองความรู้ที่จะเขียนวิจารณ์ ,แปลความและรวมองค์ความรู้เข้าด้วยกัน- Few knowledge engineers can conduct an efficient unstructured interview : มีวิศวกรองค์ความรู้จานวนน้อยมาก ที่สามารถสัมภาษณ์ผู้เชี่ยวชาญแบบไม่เป็นทางการนี้ได้สาเร็จ และมีประสิทธิภาพ2. Semi-structured : การสัมภาษณ์แบบกึ่งทางการ3. Structured : การสัมภาษณ์แบบทางการ มีการวางแผนและเตรียมประเด็นในการสัมภาษณ์ เช่น การกาหนดเป้าหมายก่อนล่วงหน้า การจัดรูปแบบของคาถามStructured Interviews1. Systematic goal-oriented process : วิศวกรองค์ความรู้ต้องมีกระบวนการและเป้าหมายที่ชัดเจน2. Forces an organized communication between the knowledge engineer and theexpert : มีการสื่อสารอย่างเป็นระบบที่ดีระหว่างวิศวกรความรู้และผู้เชี่ยวชาญ 76. หน้า : 12 Week -5 : Knowledge Acquisition and Validation 3. Procedural Issues in Structuring an Interview : ต้องกาหนดหัวข้อ และกระบวนการในการสัมภาษณ์ เช่น การทาแบบสอบถาม, การแยกประเภทของคาถามระดับของคาถาม , เตรียมแผนงานก่อนการสัมภาษณ์ และ การควบคุมสถานการณ์ระหว่างสัมภาษณ์ 4. Interpersonal communication and analytical skills are important : การสื่อสารซึ่งเกี่ยวกับความสัมพันธ์ระหว่างบุคคลและทักษะวิเคราะห์ถือเป็นสิ่งสาคัญInterviews – Summary : สรุปเกี่ยวกับการสัมภาษณ์ 1. Are important techniques : เป็นเทคนิคที่สาคัญ 2. Must be planned carefully : ต้องเอาใจใส่ในเรื่องการวางแผน 3. Results must be verified and validated : ผลลัพท์ต้องนามาพิสูจน์และทาให้มีเหตุผล 4. Are sometimes replaced by tracking methods : บางครั้งอาจแทนด้วยวิธีการติดตามและแกะรอย ซึ่ง tracking methods เป็นอีกวิธีหนึ่งในการค้นหาองค์ความรู้ สรุปความคิดและเหตุผลของผู้เชี่ยวชาญ เพื่อให้ได้มาซึ่งข้อสรุปทั้งที่เป็นทางการและไม่เป็นทางการ 5. Can supplement tracking or other knowledge acquisition methods : วิธี tracking หรือวิธีการอื่นที่ทาให้ได้มาซึ่งองค์ความรู้ นั้นสามารถทาให้สมบูรณ์ขึ้นRecommendation : ข้อแนะนาในการสัมภาษณ์Before a knowledge engineer interviews the expert : ก่อนที่วิศกรองค์ความรู้จะเริ่มสัมภาษณ์ผู้เชี่ยวชาญ ต้องเตรียมตัวดังนี้ 1. Interview a less knowledgeable (minor) expert : ควรเป็นผู้ด้อยอาวุโสกว่าผู้เชี่ยวชาญ 2. Helps the knowledge engineer : ต้องมีผู้ช่วยวิศวกรองค์ความรู้ 3. Learn about the problem : เรียนรู้เกี่ยวกับปัญหา 4. Learn its significance : เรียนรู้เกี่ยวกับความสาคัญและผลที่จะตามมา 5. Learn about the expert(s) : เรียนรู้เกี่ยวกับตัวผู้เชี่ยวชาญ 6. Learn who the users will be : เรียนรู้ว่าใครจะเป็นผู้ใช้ระบบ 7. Understand the basic terminology : เข้าใจในเทคโนโลยีพื้นฐาน 8.Identify readable sources : แหล่งข้อมูลอ่านเข้าใจได้ง่าย 9. Next read about the problem : อ่านเกี่ยวกับปัญหาถัดไป 10. Then, interview the expert(s) (much more effectively) : การสัมภาษณ์ผู้เชี่ยวชาญจะได้ผลอย่างมาก 77. หน้า : 13 Week -5 : Knowledge Acquisition and ValidationTracking Methods :วิธีการแกะรอย , วิธีการติดตามผล1.Techniques that attempt to track the reasoning process of an expert : เป็นเทคนิคซึ่งพยายามตามรอยกระบวนการการให้เหตุผลของผู้เชี่ยวชาญ2. Form cognitive psychology : เข้าใจหลักการด้านจิตวิทยา3. Most common formal method: วิธีที่เป็นทางการที่ใช้ในการ Tracking คือจะใช้วิธีProtocol AnalysisProtocol Analysis :การวิเคราะห์อย่างเป็นขั้นตอนProtocol Analysis : การวิเคราะห์อย่างเป็นขั้นตอน1 .Protocol: a record or documentation of the experts step-by-step informationprocessing and decision-making behavior : ติดตาม Record หรือเอกสารของผู้เชี่ยวชาญทุกขั้นตอนในการประมวลผลข่าวสารของผู้เชี่ยวชาญ และพฤติกรรมในการตัดสินใจของผู้เชี่ยวชาญ2. The expert performs a real task and verbalizes his/her thought process (think aloud) :การทางานจริงของผู้เชี่ยวชาญและ วิเคราะห์คาพูดและกระบวนการคิดของผู้เชี่ยวชาญObservations and Other Manual Methods วิธีการสังเกตและเทคนิคอื่น ๆObservations - Observe the Expert Work : สังเกตุงานของผู้เชี่ยวชาญ เป็นการจับตา สอดส่องดูพฤติกรรมการทางานของผู้เชี่ยวชาญ ภายใต้สถานการณ์ต่าง ๆ สิ่งที่ควรจับตา เช่น- Movement : การเคลื่อนไหวของผู้เชี่ยวชาญ เช่น การเดิน , การพูด , Action ต่างๆOther Manual Methods 1. Case analysis : การวิเคราะห์จากกรณีศึกษา 2. Critical incident analysis : การวิเคราะห์เหตุการณ์วิกฤติ 3. Discussions with the users : วิเคราะห์จากข้ออภิปรายของผู้ใช้ 4. Commentaries : วิเคราะห์จากการวิจารณ์ 5. Conceptual graphs and models : การใช้เรื่องราวในแบบจาลองและแผนภูมิ 6. Brainstorming : การระดมสมอง 7. Prototyping : ต้นแบบ 8. Multidimensional scaling : การวัดขนาดของมิติชนิดหลายมุมมอง 78. หน้า : 14Week -5 : Knowledge Acquisition and Validation9. Johnsons hierarchical clustering : การวัดขนาดขององค์ประกอบองค์ความรู้10. Performance review : การทบทวน ปรับปรุงประสิทธิภาพการทางานExpert-driven Methods : วิธีการขับเคลื่อนโดยผู้เชี่ยวชาญเนื่องจากในการประสานงานระหว่างวิศวกรองค์ความรู้กับผู้เชี่ยวชาญ ยังมีปัญหาอยู่มากและจานวนของวิศวกรองค์ความรู้ก็มีจานวนน้อย ฉะนั้นเพื่อลดปัญหาในการประสานงานและปัญหาอื่น ๆ สาหรับคนที่จะทาหน้าที่เป็นตัวกลาง ควรนาตัวผู้เชี่ยวชาญมาทาหน้าที่วิศวกรองค์ความรู้เสียเอง ซึ่งเราเรียกว่า (Expert-driven) สรุปเกี่ยวกับวิศกรองค์ความรู้ ดังนี้ 1. Knowledge Engineers Typically : เกี่ยวกับผู้เชี่ยวชาญ- Lack Knowledge About the Domain : ขาดความรู้เกี่ยวกับ Domain- Are Expensive : มีค่าใช้จ่ายสูงในการทางาน- May Have Problems Communicating With Experts : อาจมีปัญหาในการสื่อสาร กับผู้เชี่ยวชาญ 2. Knowledge Acquisition May be Slow, Expensive and Unreliable : การได้มาซึ่งองค์ความรู้ ช้าและอาจจะไม่น่าเชื่อถือ 3. Can Experts Be Their Own Knowledge Engineers? : ผู้เชี่ยวชาญสามารถทาหน้าที่เป็นKnowledge EngineersApproaches to Expert-Driven Systems : วิธีการของ Expert-Drivenเป็นเทคนิคของผู้เชี่ยวชาญในการที่จะดึงเอาองค์ความรู้ สามารถทาได้ 2 วิธีหลัก ๆ1. Manual : การคิดและจัดทาขึ้นเอง วิธีการที่ผู้เชี่ยวชาญคิดรูปแบบในการจัดเก็บองค์ความรู้ขึ้นมาด้วยตนเอง โดยไม่ต่องพึ่งพึง หรืออาศัยเทคโนโลยีคอมพิวเตอร์2. Computer-Aided (Semiautomatic) : ใช้คอมพิวเตอร์ช่วยManual Method: Experts Self-reportsProblems with Experts’ Reports and Questionnairesการใช้รายงานปัญหาและแบบสอบถาม : คือตัวผู้เชี่ยวชาญเองจัดทารายงานเกี่ยวกับปัญหาต่าง ๆในการปฏิบัติงานของตน หรือการจัดทาแบบสอบถามเพื่อจัดเก็บข้อมูลหากผู้เชี่ยวชาญทาหน้าที่แทนวิศวกรองค์ความรู้เสียเอง อาจพบข้อเสียดังนี้1. Requires the expert to act as knowledge engineer : ต้องการผู้เชี่ยวชาญที่มีความรู้ความสามารถในระดับเดียวกับวิศวกรองค์ความรู้ 79. หน้า : 15Week -5 : Knowledge Acquisition and Validation2. Reports are biased : รายงานที่ผู้เชี่ยวชาญจัดทาขึ้น อาจเติมอคติลงไปด้วย ทาให้ความรู้ที่ได้มีการเบี่ยงเบน จากสิ่งที่ควรจะเป็น3. Experts often describe new and untested ideas and strategies : บ่อยครั้งที่ผู้เชี่ยวชาญอาจจะนาความคิด ความรู้ความชานาญ กลยุทธ์ มารวมเป็นเรื่องราวใหม่ที่ยังไม่มีการตรวจสอบความถูกต้อง4. Experts lose interest rapidly : ผู้ชานาญหมดความสนใจอย่างเร็ว ในสิ่งที่ต้องทาซ้าฉะนั้นหาให้ผู้เชี่ยวชาญต้องเขียน Report เอง ซึ่งต้องใช้เวลานาน ผู้เชี่ยวชาญอาจจะเบื่อ ทาให้หมดความสนใจ และทางานนั้นได้ไม่ดี5. Experts must be proficient in flowcharting : ผู้เชี่ยวชาญต้องมีความสามารถในการเขียนflowchart6. Experts may forget certain knowledge : ผู้เชี่ยวชาญอาจจะลืมความรู้ซึ่งเป็นสาระสาคัญและอาจทาให้ได้องค์ความรู้ไม่ครบองค์ประกอบ ไม่ครบถ้วนสมบูรณ์7. Experts are likely to be vague: เป็นไปได้ที่ผู้เชี่ยวชาญจะมีความคลุมเคลือ ลังเล ไม่ชัดเจนในการเชื่อมโยงความรู้ต่าง ๆ เข้าด้วยกัน อย่างที่ควรจะเป็นBenefits : ประโยชน์1. May provide useful preliminary knowledge discovery and acquisition : เป็นประโยชน์ในการค้นพบองค์ความรู้ในเบื้องต้นและการได้มาซึ่งองค์ความรู้2. Computer support can eliminate some limitations : หากนาคอมพิวเตอร์เข้ามา supportจะช่วยขจัดข้อจากัดบางอย่างได้Computer-aided Approaches : วิธีการทางคอมพิวเตอร์ การนาคอมพิวเตอร์เข้ามาช่วยในการจัดเก็บรวบรวมองค์ความรู้ เพื่อลดข้อจากัดบางอย่างที่เกิดขึ้น เพราะคอมพิวเตอร์มี Tools และ โปรแกรมต่าง ๆ มากมายที่มีประสิทธิภาพ1. To reduce or eliminate the potential problems : ขจัดปัญหาที่ซ่อนเร้นอยู่2. Other : แนวทางอื่น ๆ - Visual modeling techniques : เทคนิคแบบจาลอง Visual - New machine learning methods to induce decision trees and rules : การใช้กลไกแห่งการเรียนรู้ที่จะนาไปสู่แผนภาพต้นไม้การตัดสินใจ (decision trees) และกฎการตัดสินใจ (rules) - Tools based on repertory grid analysis : การวิเคราะห์ตารางคลังความรู้ (RGA) 80. หน้า : 16Week -5 : Knowledge Acquisition and ValidationRepertory Grid Analysis (RGA) ; การวิเคราะห์ตารางคลังความรู้ ในการเก็บรวบรวมองค์ความรู้ ที่ทาการจัดเก็บ และผู้ให้องค์ความรู้ ความชานาญ ควรทาใจให้เป็นกลาง การใช้เทคนิคการวิเคราะห์ตารางคลังความรู้ หรือ ตารางวิเคราห์ปัญหา (RGA)ก็สามารถ ช่วยได้1. Techniques, derived from psychology : กลวิธี,มีต้นกาเนิดมาจากจิตวิทยา2. Use the classification interview : ใช้การสัมภาษณ์การแบ่งเป็นหมวดหมู่3. Fairly structured : สร้างอย่างยุติธรรม4. Primary Method: วิธีการซึ่งปฐมภูมิHow RGA Works : ขั้นตอนการทางานใน RGA 1. The expert identifies the important objects in the domain of expertise (interview) :ผู้เชี่ยวชาญต้องกาหนดวัตถุประสงค์ของขอบเขตให้ชัดเจน เช่น ขอบเขตด้านความสามารถของระบบ 2. The expert identifies the important attributes : กาหนด attributes ที่สาคัญที่จะใช้เป็นเงื่อนไข เช่น ความยุ่งยากในการใช้ระบบ , ระยะเวลาในการฝึกอบรม, หรือกาหนดขอบเขตในการเลือกใช้โปรแกรมในการพัฒนา 3. For each attribute, the expert is asked to establish a bipolar scale with distinguishablecharacteristics (traits) and their opposites : กาหนดเกณฑ์ตามคุณสมบัติ (attribute) ซึ่งแบ่งเกณฑ์เป็น 2 ด้าน - ด้านattribute ที่โดดเด่น (traits) เช่น เงื่อนไขระยะเวลาในการฝึกอบรม ( TrainingTime) กาหนดไว้ “สูง “ - ด้าน attribute ที่ตรงกันข้าม (opposites) เงื่อนไขระยะเวลาในการฝึกอบรม ( TrainingTime) กาหนดไว้ “ต่า “4. The interviewer picks any three of the objects and asks: What attributes and traits distinguishany two of these objects from the third? Translate answers on a scale of 1-3 (or 1-5) ต้องวัดประเมินเครื่องมือแต่ละตัวและทาการเลือกเครื่องมือที่เหมาะสม ดูดังอย่างดังรูป 81. หน้า : 17 Week -5 : Knowledge Acquisition and Validationรูปที่จากขั้นตอนที่ 4 แสดงคาตอบในตาราง Gridจากตัวอย่าง กาหนดขอบเขตในการเลือกโปรแกรมพัฒนาระบบ Knowledge Base, Es 4โปรแกรม มีเงื่อนไขในการพิจารณาเลือกอยู่ 4 เงื่อนไข 1. Orientation : การปรับตัว เข้ากับลักษณะงาน 82. หน้า : 18 Week -5 : Knowledge Acquisition and Validation 2. Ease of programming : ความง่ายของโปรแกรม 3. Training Time : ใช้เวลาในการฝึกฝน 4. Availability : ความสามารถของโปรแกรมSum LISP 3 3 1 1 8 PROLOG 3 2 2 1 8 C++3 2 2 310COBOL 1 2 1 3 7* เลือก C++ ในการพัฒนาระบบ เนื่องจากมีคะแนนรวมสูงสุดRGA in Expert Systems – Toolsเครื่องมือRGA เป็น SW สาเร็จรูปในการพัฒนา Knowledge Base หรือ ES ประกอบด้วยโปรแกรมต่อไปนี้ 1. AQUINAS- Including the Expertise Transfer System (ETS) 2. KRITONOther RGA Tools 1. PCGRID (PC-based) 2. WebGrid 3. CircumgridsKnowledge Engineer Support : เครื่องมือที่ช่วยสนับสนุนการทางานของวิศวกรองค์ความรู้โปรแกรมในการช่วยเหลือ หรือสนับสนุนการทางานของวิศวกรองค์ความรู้ (KnowledgeAcquisition Aids) มีดังนี้1. Special Languages : โปรแกรมภาษาชนิดพิเศษ เป็นเครื่องมือตัวหนึ่งใช้ดึงองค์ความรู้มาจัดเก็บไว้ใน Knowledge Base , ภาษาประเภทนี้จะแตกต่างจากภาษาเขียนโปรแกรมทั่ว ๆ ไป อย่าง C , Pascal ,Prolog ตัวอย่างของภาษาชนิดนี้ได้แก่ 83. หน้า : 19Week -5 : Knowledge Acquisition and Validation - ภาษา KARL (Knowledge Acquisition and Representation Language) ซึ่งเป็นภาษาที่มีการรวมความสามารถในดึงองค์ความรู้ และแทนองค์ความรู้ด้วยสัญลักษณ์ หรือตัวเลข มีความสามารถในการดึงข้อมูลที่หลากหลาย ต่างประเภท ต่างชนิดกันได้ - ภาษาเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) เป็นภาษาที่มีมุมมองในการมองภาพการเขียนโปรแกรมกับแห่งแห่งความเป็นจริง ที่เต็มไปด้วยวัตถุ สิ่งสาคัญในการเขียนโปรแกรมแบบ OOP คือ การสร้าง Class และ Object และสามารถทางานกับข้อมูลแบบ Multimedia ได้ ตัวอย่างของภาษาประเภทนี้ได้แก่ C++, C#, Java , VB , Delphi เป็นต้น 2. Editors and Interfaces : หน้าต่างในการสร้าง / แก้ไข และสร้างการโต้ตอบกับโปรแกรม เป็น Editor ในการเขียนโปรแกรมแปรรูปองค์ความรู้ที่จัดเก็บและดึงมาได้นั้น ให้อยู่ในKnowledge Base เครื่องมือประเภทนี้จะมีการใช้งานที่ไม่ยากนัก มี Function พิเศษ ในการทางานสามารถสร้าง Interface โต้ตอบกับผู้ใช้ได้ดี ตัวอย่าง เช่น- โปรแกรม Exsys Corvid ซึ่งมีความสามารถในการจัดการกับกฎ (Rule) ในการตัดสินใจได้ดี 3. Explanation Facility : Function อานวยความสะดวกในการอธิบายความเมื่อเราดึงองค์ความรู้จากผู้เชี่ยวชาญ , มาผ่านกระบวนการแทนองค์ความรู้ สรุปความ เพื่อให้ความหมายขององค์ความรู้นั้น ๆ , แล้วเราจะต้องมีการอธิบายความ เพื่อให้เข้าใจในความหมายขององค์ความรู้นั้นได้กระจ่าง และชัดเจนขึ้น , Sw บางประเภทจะมี function ที่ช่วยในการอธิบายความรวมอยู่ด้วย 4. Revision of the Knowledge Base : Function ในการแก้ไขปรับปรุงฐานองค์ความรู้เป็นเครื่องมือที่ช่วยแก้ไขข้อผิดพลาดต่าง ๆ ในการจัดการฐานองค์ความรู้ และแก้ไขให้อัตโนมัติ เช่น การตรวจสอบคาผิด คล้ายกับ Spelling , แก้ไข Bug และแก้ไข node ของข้อมูล 5. Pictorial Knowledge Acquisition (PIKA) : Function ในการทางานกับองค์ความรู้ที่เป็นแผนภาพเป็นเครื่องมือในการดึงองค์ความรู้ต่าง ๆ ที่มีความสัมพันธ์เกี่ยวข้องกันในฐานองค์ความรู้ มาประกอบเป็นภาพหรือวัตถุ เพื่อนาเสนอได้ 6. Integrated Knowledge Acquisition Aids : Fucntion ในการรวมองค์ความรู้ องค์ความรู้ที่ดึงมาได้จานวนมาก อาจมีความรู้บางกลุ่มที่มีความสัมพันธ์กันสามารถ link ความสัมพันธ์ระหว่างกันเพื่อสร้างเป็นกลุ่ม ฉะนั้นในการรวมกลุ่มองค์ความรู้ หรือการประสานกัน จาเป็นจะต้องมีการเขียนโปรแกรมและใช้ Function ในการรวม , Function ใน 84. หน้า : 20Week -5 : Knowledge Acquisition and Validationการรวมจะทาให้การทางานนั้นง่ายขึ้น ตัวอย่างของโปรแกรมที่มีความสามารถของ functionเหล่านี้ได้แก่- PROTÉGÉ-II- KSM- ACQUIRE- KADS (Knowledge Acquisition and Documentation System) 7. Front-end Tools :- Knowledge Analysis Tool (KAT)- NEXTRA (in Nexpert Object)Machine Learning: กลไกแห่งการเรียนรู้เครื่องมือ Machine Learning สามารถสร้าง (Rule) และประเมินทางเลือกในการตัดสินใจตามกฎแต่ละข้อ เป็นเครื่องมือตัวหนึ่งที่จะทาให้ได้มาซึ่งองค์ความรู้ และยังสามารถสร้างInovation ใหม่ ๆ ทางด้าน IT ได้ , Machine Learning ประกอบด้วยการเหนี่ยวนาของกฎ (Rule Induction), การอธิบายเหตุผลด้วยกรณีศึกษา (Case-based Reasoning) ,คอมพิวเตอร์เครือข่ายระบบประสาท (Neural Computing), และตัวแทนปัญญา (Intelligent Agents) - Manual and semiautomatic elicitation methods: slow and expensive : วิธีการแบบManual หรือแบบกึ่งอัตโนมัติ ที่เราใช้ในการดึงองค์ความรู้นั้น จะทาให้ได้องค์ความรู้มาช้า ใช้เวลานาน อีกทั้งยังมีค่าใช้จ่ายในการดาเนินการสูง - Other Deficiencies : และยังเกิดสภาวะที่ขาดแคลนอื่น ๆ อีก อาทิเช่น1. Frequently weak correlation between verbal reports and mental behavior : บ่อยครั้งที่มักจะมีความสัมพันธ์ที่อ่อนแอ ระหว่างการรายงานเป็นคาพูดกับพฤติกรรมที่ เกี่ยวข้องทางด้านจิตใจ2. Sometimes experts cannot describe their decision making process : บางครั้ง ผู้เชี่ยวชาญไม่ได้อธิบายการบวนการตัดสินใจ3. System quality depends too much on the quality of the expert and the knowledge engineer : คุณภาพของระบบขึ้นอยุ่กับคุณภาพของผู้เชี่ยวชาญและวิศวกรองค์ ความรู้4. The expert does not understand ES technology : ผู้เชี่ยวชาญไม่เข้าใจ เทคโนโลยีที่เกี่ยวกับระบบ ES เลย 85. หน้า : 21 Week -5 : Knowledge Acquisition and Validation 5. The knowledge engineer may not understand the business problem : วิศวกรองค์ความรู้ไม่เข้าใจปัญหาทางธุรกิจ 6. Can be difficult to validate acquired knowledge : มักยากมากที่องค์ความรู้ที่ได้มานั้นจะมีความถูกต้องComputer-aided Knowledge Acquisition, or Automated Knowledge Acquisition Objectivesวัตถุประสงค์ในการนาคอมพิวเตอร์เข้ามาช่วย ในการได้มาซึ่งองค์ความรู้ 1. Increase the productivity of knowledge engineering : เพิ่มผลผลิตให้กับวิศวกรองค์ความรู้ 2. Reduce the required knowledge engineer’s skill level : ลดระดับความชานาญของวิศวกรองค์ความรู้ 3. Eliminate (mostly) the need for an expert : กาจัด(โดยมาก)ความจาเป็นสาหรับผู้เชี่ยวชาญที่จะต้องมาเผชิญหน้ากัน Eliminate (mostly) the need for a knowledge engineer : กาจัด(โดยมาก)ความจาเป็นสาหรับวิศวกรองค์ความรู้ที่จะต้องมาเผชิญหน้ากัน 4. Increase the quality of the acquired knowledge : เพิ่มประสิทธิภาพในการได้มาซึ่งองค์ความรู้Automated Knowledge Acquisition (Machine Learning) : การได้มาซึ่งองค์ความรู้โดยวิธีอัตโนมัติ1. Rule Induction2. Case-based Reasoning3. Neural Computing4. Intelligent AgentsMachine Learning : กลไกการเรียนรู้ 1. Knowledge Discovery and Data Mining : ทาให้ค้นพบองค์ความรู้ใหม่และ การทาเหมืองข้อมูล เพื่อสกัดหา pattern ของข้อมูลที่ซ่อนอยู่ภายในฐานข้อมูล 2. Include Methods for Reading Documents and Inducing Knowledge (Rules) : วิธีการนั้นอาจจะอ่านจากเอกสาร และการเหนี่ยวนาองค์ความรู้ (Rules) 3. Other Knowledge Sources (Databases) : แหล่งองค์ความรู้อื่นที่นอกเหนือจากตัวผู้เชี่ยวชาญ ก็คือ ฐานข้อมูล 86. หน้า : 22 Week -5 : Knowledge Acquisition and Validation4. Tools : ใช้เครื่องมือหรือ Sw ทางคอมพิวเตอร์ช่วยในการทางาน อาทิเช่น เครื่องมือ - KATE-Induction - CN-2Automated Rule Induction :การเหนี่ยวนากฎอัตโนมัติหรืออาจเรียกว่าได้ว่าเป็นกฎการอุปนัยอัตโนมัติ ซึ่งมีลักษณะดังนี้ 1. Induction: Process of Reasoning from Specific to General : เป็นกระบวนการให้เหตุผลจากเรื่องราวเฉพาะ ไปสู่ เรื่องราวทั่วไป 2. In ES: Rules Generated by a Computer Program from Cases : ในความหมายของระบบผู้เชี่ยวชาญ กฎจะถูกสร้างโดยโปรแกรมคอมพิวเตอร์จากการใช้กรณีศึกษา โดยมีวิธีการนาผลของCase Study ไปแปลงให้อยู่ในรูปของ Rule-Base 3. Interactive Induction : มีการเหนี่ยวนาการส่งถ่ายองค์ความรู้ระหว่างกันตารางการเหนี่ยวนาจากตารางนี้ข้อมูลลูกค้าที่ขอสินค้ากับทางธนาคาร ประกอบด้วย รายชื่อผู้สมัครทุกปี (Annual Applicant) , ในตารางจะแสดงรายได้ (Income) , ทรัพย์สิน (Assets),อายุ (Age), ผู้อาศัยในครอบครัวที่เป็นภาระ (Dependents), การตัดสินใจอนุมัติสินเชื่อ (Decision) 87. หน้า : 23 Week -5 : Knowledge Acquisition and Validationจะต้องกาหนดกฎ (Rule-Base) ในการตัดสินใจ เช่นR1 : IF income > = 50, 000Then Yes.R2: IF (income >= 30,000) and (age >= 40) and (assets >=200,000) and (dependents = 0) Then YesR3: IF (income >= 30,000 and income = 100,000) ThenYesถามว่า : การการสมัครขอสินค้า ลูกค้าแต่ละคนเข้ากฎข้อใดบ้างคาตอบคือ :R1 : Mr.White, Ms. GreenR2: Ms.RichR3: Mr. White , Ms.Rish*และคุณสมบัติของผู้ที่ไม่ผ่านกฎเลย คือ Mr.SmithCase-based Reasoning (CBR) : การให้เหตุผลตามสถานการณ์1. For Building ES by Accessing Problem-solving Experiences for Inferring Solutions forSolving Future Problems : เป็นแนวทางสร้างระบบ ES อีกแนวทางหนึ่ง โดยนาประสบการณ์ในการแก้ปัญหาในอดีต มาสรุปเป็นแนวทางเพื่อที่จะใช้อีกในอนาคต2. Cases and Resolutions Constitute a Knowledge Base : ใช้กรณีศึกษาและการแก้ปัญหาในการสร้างเป็นฐานองค์ความรู้Neural Computing : การประมวลผลเชิงระบบประสาท 1. Fairly Narrow Domains with Pattern Recognition : ขอบเขตของปัญหาจะไม่กว้าง ใช้วิธีการเปรียบเทียบรูปแบบของปัญหา เน้นการรู้จารูปแบบ 2. Requires a Large Volume of Historical Cases : นาปัญหาเก่ามาใช้เป็นแนวทางในการแก้ปัญหาใหม่ จึงจาเป็นที่จะต้องการจานวนของรูปแบบการแก้ปัญหาในอดีตที่ผ่านมาจานวนมาก 88. หน้า : 24 Week -5 : Knowledge Acquisition and ValidationIntelligent Agents for Knowledge Acquisition : ตัวแทนปัญหาสาหรับการได้มาซึ่งองค์ความรู้Led to : นาไปสู่KQML (Knowledge Query and Manipulation Language) for Knowledge Sharing : นา IA มาใช้ในการสืบค้นและเข้าถึงองค์ความรู้และนาไปสู่ภาษาสาหรับจัดการองค์ความรู้ , KQML ใช้ในการแลกเปลี่ยนข่าวสารและองค์ความรู้ และใช้ในการทางานร่วมกับระบบอื่นKIF, Knowledge Interchange Format (Among Disparate Programs) ทางานผ่าน web และ shareองค์ความรู้ที่มี format แตกต่างกันได้Selecting an Appropriate Knowledge Acquisition Method : การเลือกใช้วิธีการได้มาซึ่งองค์ความรู้ที่เหมาะสม 1. Ideal Knowledge Acquisition System Objectives : มีเป้าหมาย่ของระบบเพื่อการได้มาซึ่งองค์ความรู้ที่ดีเลิศ.–Direct interaction with the expert without a knowledge engineer: ระบบจะต้องโต้ตอบโดยตรงกับผู้เชี่ยวชาญได้อย่างสัมพันธ์กัน โดยปราศจากการแทรกแทรงจากวิศวกรองค์ความรู้–Applicability to virtually unlimited problem domains : ระบบรองรับปัญหาต่างๆ ได้อย่างไม่จากัดจานวนปัญหา–Tutorial capabilities : มีเครื่องมือช่วยสอน เพื่อเพิ่มทักษะในการเรียนได้อย่างรวดเร็ว ในเวลาอันสั้น–Ability to analyze work in progress to detect inconsistencies and gaps inknowledge : สามารถวิเคราะห์และติดตามข้อผิดพลาดต่าง ๆ ได้ถูกต้องแม่นยา–Ability to incorporate multiple knowledge sources : รองรับและสนับสนุนการทางานร่วมกับแหล่งข้อมูลต่าง ๆ ได้เป็นอย่างดี–A user friendly interface : การออกแบบหน้าจอและการโต้ตอบ ง่ายต่อการใช้งาน–Easy interface with different expert system tools : ปรับแต่งหน้าจอได้ตามความต้องการของผู้เชี่ยวชาญ แต่ละคน หรือสอดคล้องกับรูปแบบปัญหา 89. หน้า : 25 Week -5 : Knowledge Acquisition and Validation 2. Hybrid Acquisition - Another Approach : เป็นการผสมผสานวิธีการได้มาซึ่งองค์ความรู้มากกว่า 1 วิธี เพราะการเก็บข้อมูลเพียง 1 วิธีอาจไม่ใช่วิธีที่ดีเยี่ยม สามารถใช้วิธีที่วิศวกรองค์ความรู้คิดขึ้นเอง (Manual Knowledge Acquisition) ร่วมกับวิธีแบบอัตโนมัติที่ใช้คอมพิวเตอร์เข้ามาช่วย (Automatic Knowledge Acquistion) ก็จะทาให้มีประสิทธิภาพมากขึ้นKnowledge Acquisition from Multiple Experts : การได้มาซึ่งองค์ความรู้จากหลายหลายผู้เชี่ยวชาญ1. Major Purposes of Using Multiple Experts : วัตถุประสงค์หลักในการใช้จานวนผู้เชี่ยวชาญที่หลากหลาย –Better understand the knowledge domain: เพิ่มความเข้าใจขอบเขตปัญหาได้ดี ยิ่งขึ้น –Improve knowledge base validity, consistency, completeness, accuracy and relevancy : ปรับปรุงฐานองค์ความรู้ให้มีความถูกต้อง ไม่ซ้าซ้อน แม่นยา ตรง ประเด็น สมบูรณ์มากยิ่งขึ้น –Provide better productivity : ช่วยเพิ่มผลิตผลได้ดียิ่งขึ้น –Identify incorrect results more easily : ระบุถึงข้อจะช่วยแก้ปัญหาได้ดีขึ้น –Address broader domains : กาหนดขอบเขตของปัญหาได้กว้างขึ้น –To handle more complex problems and combine the strengths of different reasoning approaches : รองรับปัญหาที่มีความซับซ้อนและยากยิ่งขึ้น2. Benefits And Problems With Multiple Experts : การใช้ผู้เชี่ยวชาญหลายคน มีทั้งประโยชน์และมีทั้งปัญหา เพราะอาจเกิดความขัดแย้งขึ้นระหว่างการทางานของผู้เชี่ยวชาญเนื่องจากความคิดเห็นอาจไม่ลงรอยกัน ควรหลีกเลี่ยงการเผชิญหน้าของผู้เชี่ยวชาญ และนาระบบอัตโนมัติเข้ามาช่วยHandling Multiple Expertise : การจัดการความชานาญหลากหลาย 1. Blend several lines of reasoning through consensus methods: มีวิธีการในการผสมผสานองค์ความรู้ที่ได้จากผู้เชี่ยวชาญแต่ละคน 2. Use an analytical approach (group probability) : ใช้วิธีการวิเคราะห์(ความน่าจะเป็นกลุ่ม) 3. Select one of several distinct lines of reasoning : เลือกหนึ่งวิธีจากหลาย ๆ วิธี 4. Automate the process : ทากระบวนการโดยอัตโนมัติ 90. หน้า : 26 Week -5 : Knowledge Acquisition and Validation5. Decompose the knowledge acquired into specialized knowledge sources : สลายองค์ความรู้ที่ได้มาไปจัดเก็บยงแหล่งองค์ความรู้ผู้เชี่ยวชาญพิเศษValidation and Verification of the Knowledge Base : การตรวจสอบและยืนยันความถูกต้องของฐานองค์ความรู้Quality Control : ใช้การควบคุมคุณภาพ 3 อย่างคือ1. Evaluation2. Validation3. Verification1. Evaluation : การประเมินผล– Assess an expert systems overall value : ประเมินค่าการทางานทั้งหมดของระบบ ผู้เชี่ยวชาญ– Analyze whether the system would be usable, efficient and cost-effective : วิเคราะห์ทั้งในแง่การทางาน,ประสิทธิภาพ และราคา เทียบประสิทธิภาพกับความ คุ้มค่าในการลงทุน2. Validation : การตรวจสอบความถูกต้อง – Deals with the performance of the system (compared to the experts) :เปรียบเทียบประสิทธิภาพในการทางานของระบบผู้เชี่ยวชาญ – Was the “right” system built (acceptable level of accuracy?) : โดยตรวจสอบดูว่าระบบที่สร้างขึ้นมีการทางานได้อย่างถูกต้อง มากน้อยเพียงไร (ในระดับที่จะเป็นที่ยอมรับได้ในความแม่นยาของระบบผู้เชี่ยวชาญ)3. Verification : การยืนยันความถูกต้อง – Was the system built "right"? : ระบบสร้างได้อย่างถูกต้องหรือไม่ เป็นการยืนยันความสมบูรณ์ของระบบผู้เชี่ยวชาญ – Was the system correctly implemented to specifications? : ระบบสร้างและพัฒนาตามรายละเอียดข้อกาหนดทางเทคนิคทุกประการหรือไม่ 91. หน้า : 27Week -5 : Knowledge Acquisition and ValidationAnalyzing, Coding, Documenting, and Diagramming Method of Acquisition andRepresentation : การวิเคราะห์, การเขียนโปรแกรม, การจัดทาเอกสาร การทาแผนภาพ , วิธีได้มาซึ่งองค์ความรู้และการแทนองค์ความรู้ 1. Transcription : การบันทึก เป็นการบันทึกคาพูด รายงาน คาพูดในการสนทนาระหว่างผู้เชี่ยวชาญและวิศวกรองค์ความรู้ 2. Phrase Indexing : การจัดทาดัชนี นาคาพูดที่ได้จากการสัมภาษณ์ผู้เชี่ยวชาญมาสรุปเป็นวลี เพื่อใช้อ้างอิงและตีความคาพูดนั้น และทาดัชนีตัวเลขบ่งชี้ 3. Knowledge Coding : การเขียนโปรแกรมลงรหัสองค์ความรู้ ทาการแยกประเภทองค์ความรู้ ทั้งประเภทเชิงประกาศ ( Declarative) และเชิงระเบียบวิธี (Procedural) ทาการเปลี่ยนรูปองค์ความรู้ เพื่อ Coding ตามประเภทที่จาแนกไว้ 4. Documentation : การจัดทาเอกสาร เอกสารประกอบด้วย 4 ส่วน- ขอบเขตของปัญหา- องค์ความรู้เชิงประกาศ ( Declarative)- องค์ความรู้เชิงระเบียบวิธี ( Procedural)- อภิธานศัพท์(Glossary)(Wolfram et al. [1987])Knowledge Diagramming : การเขียนแผนภาพองค์ความรู้1. Graphical, hierarchical, top-down description of the knowledge that describes factsand reasoning strategies in ES : เป็นการปรับปรุงกระบวนการที่ได้มาซึ่งองค์ความรู้นาเสนอในรูปแบบกราฟิก, โครงสร้างแบบลาดับชั้น , หรืออธิบายองค์ความรู้แบบบนลงล่าง, ซึ่งเป็นการอธิบายเหตุผลและข้อเท็จจริงในการแก้ปัญหาในระบบ ES2. Types : ส่วนประกอบประเภทอื่น ๆ ที่ใช้อธิบายหรือนาเสนอองค์ความรู้ –Objects : วัตถุ –Events : เหตุการณ์ –Performance : ประสิทธิภาพ –Metaknowledge : องค์ความรู้เชิงเมต้า3. Describes the linkages and interactions among knowledge types : การเขียนแผนภาพองค์ความรู้ (Knowledge Diagramming) จะเป็นการบรรยายถึงความสัมพันธ์ที่ได้มีการเชื่อมโยงระหว่างกันระหว่างองค์ความรู้แต่ละชนิด 92. หน้า : 28Week -5 : Knowledge Acquisition and Validation 4. Supports the analysis and planning of subsequent acquisitions : ช่วยสนับสนุนการวิเคราะห์และวางแผนงานได้อย่างสะดวกรวดเร็ว เพิ่มผลผลิตและประสิทธิภาพของระบบให้มากขึ้น 5. Called conceptual graphs (CG) : เราจะเรียกวิธี Knowledge Diagramming นี้ว่ากราฟเกี่ยวกับแนวคิด 6. Useful in analyzing acquired knowledge : เป็นประโยชน์ในการวิเคราะห์ การได้มาซึ่งองค์ความรู้Numeric and Documented Knowledge Acquisition : การได้มาซึ่งองค์ความรู้ในรูปแบบตัวเลขและเอกสาร 1. Acquisition of Numeric Knowledge : องค์ความรู้ที่เป็นตัวเลข –Special approach needed to capture numeric knowledge : จาเป็นต้องใช้วิธีการ การแบบพิเศษที่จะจับเอาองค์ความรู้แบบตัวเลข เนื่องจากองค์ความรู้แบบดั้งเดิม เป็นอยู่ในรูปของสัญลักษณ์ องค์ความรู้ชนิดตัวเลข อาจหมายถึง จานวนตัวเลขที่ เกี่ยวกับการนับ หรือการแจกแจงจานวนนับ , ชุดข้อมูลทางสถิติ เช่นNomianl Scale : สเกลนามจากัด เช่น การลงรหัสเกี่ยวกับคานาหน้าชื่อ 1 อาจหมายถึง นาย 2 อาจหมายถึง นาง 3 อาจหมายถึงนางสาวOrdinal Scale : สเกลอันดับ ใช้บอกลาดับในสิ่งที่นามาเปรียบเทียบInterval Scale : สเกลอันตรภาค ใช้เรียงช่วงอันดับ เช่น 1ปรับปรุง 2 ปานกลาง 3 ดี 4 ดีมากRatio Scale : สเกลอัตราส่วน บอกสัดส่วนเทียบกัน เช่น 1000: 1สัดส่วน 1000 ตารางกิโลเมตร : 1 ตารางนิ้ว 2. Acquisition of Documented Knowledge : องค์ความรู้ที่เป็นเอกสาร –Major Advantage: No Expert : อาจเป็นความรู้ที่มาจากแหล่งต่าง ๆ อาจจะไม่ได้ มาจากผู้เชี่ยวชาญโดยตรง –To Handle a Large or Complex Amount of Information : วิธีการขุดค้นจาก เอกสารจะสามารถดึงความรู้ได้มหาศาล หรือได้ความรู้ที่มีความซับซ้อน –New Field: New Methods That Interpret Meaning to Determine : หลายองค์กร พยายามเก็บความรู้ หรือข้อมูลต่าง ๆ ในรูปแบบที่เป็นลายลักษณ์อักษร เก็บเป็น เอกสาร เพื่อสามารถอ้างอิง และเผยแพร่ได้ องค์กรจะต้องมีวิธีการใหม่ ๆ ที่จะ 93. หน้า : 29 Week -5 : Knowledge Acquisition and Validation แปลความองค์ความรู้ที่อยู่ในรูปของเอกสาร และมีวิธีการปรับปรุงกระบวนการ ค้นหาข้อมูลที่อยู่ในเอกสาร มีการจัดเก็บที่มีประสิทธิภาพ หรือจัดเก็บให้อยู่ในรูป ของเอกสาร Electronic และนาไปสร้างเป็นระบบ ES ใช้ IA และ NLP เข้ามาช่วย* นอกจากนี้แล้วยังมีการได้มาซึ่งองค์ความรู้ผ่านทางอินเตอร์เน็ตและอินทราเน็ต (KnowledgeAcquisition and the Internet/Intranet)สรุป (Summary): 1. Knowledge Engineer : วิศวกรองค์ความรู้ เป็นบุคคลที่เป็นตัวกลางที่จะทาให้ได้มาซึ่งองค์ความรู้จากผู้เชี่ยวชาญ และนาองค์ความรู้ หรือความรู้ความชานาญที่ได้มานั้นไปทาการแปรสภาพเพื่อจัดเก็บไว้ในฐานความรู้ (Knowledge Base) 2. Knowledge Engineer จะมีขั้นตอนในการทางาน 5 ขั้นตอ1. Knowledge Acquisition : การดึงองค์ความรู้2. Knowledge Validation : การตรวจสอบความถูกต้องขององค์ความรู้3. Knowledge Representation : การแทนองค์ความ4. Inferencing : การสรุปความ5. Explanation and Justifications : การอธิบายความและการให้เหตุผล 3. Knowledge Engineer มีหน้าที่คอย Support ผู้เชี่ยวชาญ (Expert) 4. Tools : เป็นเครื่องเมือในการพัฒนาระบบองค์ความรู้ การเลือกใช้ Tools ที่มีประสิทธิภาพและเหมาะสมกับชนิดของงาน จะทาให้งานนั้นประสบผลสาเร็จ 5. Knowledge Base : ฐานองค์ความรู้ เป็นแหล่งในการจัดเก็บความรู้ทั้งที่มาจากผู้เชี่ยวชาญและมาจากแหล่งต่าง ๆ ความรู้ที่เก็บใน Knowledge Base นั้นจะต้องผ่านกลไกอนุมาน หรือกลไกสรุปความ (Inference Engine) ,ฐานองค์ความรู้ จะเก็บข้อเท็จจริง (Fact) และระเบียบวิธีต่าง ๆ ในการแก้ไขปัญหา (Procedure) รวมทั้งกฎ (Rule) 6. Knowledge Base : เก็บความรู้ทั้งที่เป็นเอกสาร (Document) และที่ไม่ใช่เอกสาร (Non-Document) เช่น ประสบการณ์ สัญชาติญาณ วิจารณญาณต่าง ๆ 7. Knowledge Acquisition : การได้มาซึ่งองค์ความรู้ ความยากในการได้มาซึ่งองค์ความรู้นั้นขึ้นอยู่กับแหล่งขององค์ความรู้ (Source) เช่น ผู้เชี่ยวชาญ , เอกสาร, Internet, Intranet, Extranet , อีกทั้งสภาพแวดล้อมก็ผลกระทบต่อการได้มาซึ่งองค์ความรู้ , ความกดดัน , อารมณ์, อคติ ล้วนแล้วแต่มีผลกระทบต่อองค์ความรู้ที่จะได้มาทั้งสิ้น 94. หน้า : 30Week -5 : Knowledge Acquisition and Validation 8. Type of Knowledge : ประเภทขององค์ความรู้ จาแนกได้ 3 ประเภทหลัก ๆ1. Declarative Knowledge : องค์ความรู้เชิงประกาศ2. Procedural Knowledge : องค์ความรู้เชิงระเบียบวิธี3. Meta Knowledge : องค์ความรู้เชิง Meta 9. การถ่ายโอนองค์ความรู้ : ในการโยกย้ายถ่ายโอน หรือส่งผ่านองค์ความรู้จากคนหนึ่งไปสู่อีกคนหนึ่ง เป็นเรื่องที่ยุ่งยาก เพระต้องอาศัยความสามารถในการติดต่อสื่อสาร, Tools , หรือโปรแกรมที่จะช่วยที่เหมาะสม , ตลอดจนต้องการประสิทธิภาพในการฝึกอบรม (Train) 10. วิธีการดึงเอาความรู้จากผู้เชี่ยวชาญ : Knowledge Engineer สามารถดึงความรู้ได้ 3 วิธีดังนี้1. Manual Method : คิดค้นแบบดึงข้อมูลขึ้นมาเอง มีค่าใช้จ่ายสูงและล่าช้า2. Semiautomatic Method : แบบกึ่งอัตโนมัติ คือมีการใช้คอมพิวเตอร์ช่วย(Computer-Aided Method) ยังคงมีค่าใช้จ่ายสูงและล่าช้า เพราะคอมพิวเตอร์ช่วยงานบางส่วน3. Automatic Method : แบบอัตโนมัติการนาแนวทางที่ 1, 3 มาผสมผสานกันจะทาให้การพัฒนาระบบฐานองค์ความรู้ มีประสิทธิภาพ (Hybrid Acquisition) 11. วิธีการดึงเอาความรู้จากผู้เชี่ยวชาญ: การสัมภาษณ์ (Interview) เป็นวิธีที่ง่ายที่สุด แต่ต้องระวังในเรื่องการติดต่อสื่อสาร การเจรจา การใช้คาพูด การประสานงาน และการทางานร่วมกัน 12. วิธีการดึงเอาความรู้จากผู้เชี่ยวชาญ: มีค่าใช้จ่ายสูง 13. วิธีการดึงเอาความรู้จากผู้เชี่ยวชาญ : เพื่อขจัดปัญหาในเรื่องต่าง ๆ ควรนาเอาผู้เชี่ยวชาญ (Expert) มาทาหน้าที่เป็นวิศวกรองค์ความรู้ ( Knowledge Engineer) เพื่อขับเคลื่อนระบบ (Expert-Driven Method) ให้ประสบความสาเร็จ 14. การใช้คอมพิวเตอร์ในการช่วยดึงองค์ความรู้ : เครื่องต้องมีสมรรถนะสูงพอที่จะทางานแบบกราฟิกได้ มีกลไกแห่งการเรียนรู้ (Machine Learning) 15. Knowledge Acquisition Tools : เป็นเครื่องมือที่นามาใช้ในการดึงองค์ความรู้ , Toolsชนิดนี้มักจะมีอยู่ในโปรแกรมพัฒนาระบบ ES 16. ผู้เชี่ยวชาญ (Expert) : เป็นองค์ประกอบหลักในการพัฒนาระบบ ES , ซึ่งระบบ ESหนึ่งระบบมักจะใช้จานวนผู้เชี่ยวชาญมากกว่า 1 คน 17. ในการทางานร่วมกัน: ควรหลีกเลี่ยงการเผชิญหน้ากันของผู้เชี่ยวชาญ เนื่องจากอาจเกิดความขัดแย้งขึ้นได้ เพราะผู้เชี่ยวชาญมักจะมั่นใจ และเชื่อมั่นในตนเองสูง , การ Merge องค์ความรู้ของแต่ละผู้เชี่ยวชาญเข้าด้วยกันนั้น ต้องใช้กลยุทธ์ในการประนีประนอมข้อขัดแย้งและข้อแตกต่างด้านเทคโนโลยี 95. หน้า : 31Week -5 : Knowledge Acquisition and Validation 18. Type of Experts : ประเภทของผู้เชี่ยวชาญ จาแนกได้ 4 ประเภท1. Individual Expert : ผู้เชี่ยวชาญหนึ่งคน เป็นผู้เชี่ยวชาญอิสระ2. Primary and Secondary Experts : ผู้เชี่ยวชาญปฐมภูมิและทุติยภูมิ3. Small Group : กลุ่มผู้เชี่ยวชาญกลุ่มเล็ก4. Panels : คณะผู้เชี่ยวชาญ ประกอบด้วยผู้เชี่ยวชาญหลากหลายด้าน 19. Delphi Technique : เป็นอีกหนึ่งเทคนิคในการสารวจความคิดเห็นจากผู้เชี่ยวชาญ คล้ายกับการประชุมโต๊ะกลม แต่ผู้เชี่ยวชาญอาจอยู่ต่างสถานที่ต่างเวลากันก็ได้ โดยใช้ GDSS เข้ามาช่วยเพื่อให้สามารถตัดสินใจร่วมกันเป็นทีม จะได้เลือกแนวทางแก้ปัญหาที่เหมาะสม 20. การควบคุมคุณภาพของฐานองค์ความรู้ : จะต้องมีการประเมินผลองค์ความรู้ที่ดึงมาได้ (Evaluation) , มีการตรวจสอบความถูกต้อง (Validation) และยืนยันความถูกต้อง (Verification) 21. การกระทากับองค์ความรู้ก่อนจะเก็บในฐานองค์ความรู้ :1. Analysis : วิเคราะห์2. Coding : เขียนโปรแกรม3. Documentation : จัดทาเอกสาร4. Transcription : การคัดลอกสาเนา5. Phrase Indexing : การจัดทาดัชนี6. Knowledge Coding : การลงรหัสองค์ความรู้7. Knowledge Diagramming : จัดทาแผนภาพองค์ความรู้ 22. Web Page : เป็นแหล่งความรู้มหาศาล พร้อมจะให้สืบค้น (Search), เราสามารถได้มาซึ่งองค์ความรู้ผ่านทาง Internet , Tools ต่าง ๆ ที่ใช้อยู่บน Internet จะมีการ Update อยู่ตลอดเวลาโดยเฉพาะ Tools ประเภท Search Engine ซึ่งล้วนแล้วแต่เป็นการทา AI มาประยุกต์ใช้ในการบริหารจัดการองค์ความรู้ ทั้งสิ้น 96. หน้า : 1Week 6 : Knowledge Representation บทที่ 6การแทนองค์ความรู้(Knowledge Representation) การแทนองค์ความรู้ (Knowledge Representation ) เป็นการนาองค์ความรู้ที่ได้มามาทาการจัดระเบียบก่อนการใช้งาน (organized for use) หรืออาจกล่าวได้ว่า การแทนองค์ความรู้คือ กระบวนการในการจัดรูปแบบองค์ความรู้หรือแทนค่าขององค์ความรู้ที่จัดหามาได้ จัดเก็บลงในหน่วยความจาของเครื่องคอมพิวเตอร์ อาจจะด้วยวิธีการเขียนโปรแกรม หรืออาจใช้วิธีอธิบายเหตุผลข้อสรุปของข้อเท็จจริงที่ได้หัวข้อ (Topic)6.1 ความหมายการแทนองค์ความรู้6.2 วิธีการแทนองค์ความรู้ด้วยตรรกะ6.3 เทคนิคอื่นในการแทนองค์ความรู้วัตถุประสงค์การเรียนรู้ (Learning Objective)1. อธิบายความหมายและชี้ให้เห็นถึงความสาคัญของการแทนองค์ความรู้ได้2.. เปรียบเทียบความแตกต่างของวิธีการการแทนความรู้แต่ละวิธีได้6.1 ความหมายการแทนองค์ความรู้1. A good knowledge representation naturally represents the problem domain : การแทนหรือแสดงองค์ความรู้ที่ดีจะต้องสามารถแทนปัญหาโดยธรรมชาติได้ เพื่อให้สามารถนาองค์ความรู้ไปใช้ได้อย่างถูกต้อง เหมาะสมและตรงประเด็น อธิบายขอบเขตของปัญหา (problem domain) ได้อย่างครบถ้วน เพื่อใช้ในการแก้ปัญหานั้น2. An unintelligible knowledge representation is wrong : ต้องไม่แทนองค์ความรู้แบบผิดๆ หรือทาให้เข้าใจได้ผิด.3. Most artificial intelligence systems consist of: ส่วนใหญ่ใน AI จะประกอบด้วย–Knowledge Base : ฐานองค์ความรู้ จะบรรจุโครงสร้างข้อมูลต่าง ๆ ขององค์ความรู้เอาไว้ เพื่อนามาประมวลผล 97. หน้า : 2Week 6 : Knowledge Representation–Inference Mechanism (Engine) : กลไกการอนุมาน (กลไกการสรุปความ) เป็นเครื่องมือที่จะช่วยจัดการและกาหนดสภาพแวดล้อมในฐานองค์ความรู้ กลไกอนุมานจะช่วยค้นหาองค์ความรู้ในฐานองค์ความรู้ เปรียบเทียบรูปแบบ เพื่อให้ได้ผลลัพธ์ของคาตอบ 4. Knowledge Base : ฐานองค์ความรู้–Forms the systems intelligence source : เป็นแหล่งที่จะใช้สร้างสติปัญญาให้กับองค์กร–Inference mechanism uses to reason and draw conclusions : กลไกอนุมานจะใช้ในการอธิบายเหตุผลและวาดภาพข้อสรุปต่าง ๆ 5. Inference mechanism: Examines the knowledge base to answer questions, solveproblems or make decisions within the domain : กลไกอนุมาน จะมีการตรวจสอบจากฐานองค์ความรู้เพื่อค้นหาคาตอบของคาถาม,แก้ไขปัญหาหรือทาการตัดสินใจภายในขอบเขตของปัญหา 6. Many knowledge representation schemes : มีแบบแผนวิธีการแทนองค์ความรู้หลากหลายวิธี ยกตัวอย่างการแทน 2 แบบ–Can be programmed and stored in memory : เขียนโปรแกรมและจัดเก็บลงในหน่วยความจาของเครื่องคอมพิวเตอร์–Are designed for use in reasoning : ออกแบบสาหรับใช้อธิบายเหตุผลขององค์ความรู้นั้น ๆ 7. Major knowledge representation schemas: รูปการหลักในการแทนองค์ความรู้–Production rules : กฎแห่งการผลิต–Frames : เฟรม6.2 Representation in Logic and Other Schemas : วิธีการแทนองค์ความรู้ด้วยตรรกะและการแทนด้วยรูปการอื่น ๆ 1. General form of any logical process : วิธีการแทนองค์ความรู้ทั่วไปจะใช้กระบวนการทางตรรกะ 2. Inputs (Premises) : โดยเริ่มจากการป้อนข่าวสารที่สร้างขึ้นจากวลี (Word) หรือข้อบันทึกในรูปแบบของข้อตกลงที่เป็นจริงทุกกรณี (Premises :สมมติฐาน) 3. Premises used by the logical process to create the output, consisting of conclusions(inferences) : นา (Premises) เข้าสู่กระบวนการทางตรรกะ (Logic) เพื่อสร้างผลลัพธ์ของข้อสรุป(inferences) 98. หน้า : 3Week 6 : Knowledge Representation4. Facts known true can be used to derive new facts that are true : ในขณะเดียวกันก็นาข้อเท็จจริง (Fact) ที่เราทราบแล้วว่าเป็นจริง มาใช้สร้างเป็นข้อเท็จจริงใหม่5 .Symbolic logic: System of rules and procedures that permits the drawing of inferencesfrom various premises : ตรรกะเชิงสัญลักษณ์ เป็นการสร้างเหตุผลด้วยกระบวนการทางตรรกะโดยใช้คอมพิวเตอร์ โดยอาศัยหลักการแปลงวลี (Word ) หรือแปลงประโยค (Statement) หรือกระบวนการให้เหตุผล (Reasoning Process) ในรูปแบบการทางานที่เหมาะสมกับคอมพิวเตอร์ ซึ่งเทคนิคของ Symbolic logic จะเป็นเทคนิคหนึ่งที่มีการใช้กฎ (Rule) และระเบียบวิธี (Procedures)ในการเรียบเรียงข้อสรุปจากหลักฐานต่าง ๆ6. Basic Forms of Computational Logic : รูปแบบพื้นฐานของการคานวณทางตรรกะในระบบคอมพิวเตอร์ 2 ลักษณะ–Propositional logic (or propositional calculus) : ตรรกะนิพจน์–Predicate logic (or predicate calculus) : ตรรกะกริยาPropositional Logic : ตรรกะนิพจน์ 1. A proposition is a statement that is either true or false : คือ นิพจน์ ซึ่งเป็นประโยคที่มีค่าความจริง (Truth) ซึ่งอาจจะมีค่าเป็นจริงหรือเท็จ (True/False) ก็ได้ 2. Once known, it becomes a premise that can be used to derive new propositions orinferences : มันจะกลายเป็นหลักฐานที่สามารถใช้เป็นนิพจนใหม่หรือการสรุปข้อเท็จจริงใหม่ 3. Rules are used to determine the truth (T) or falsity (F) of the new proposition : กฎที่ใช้คือจริงกับเท็จ 4. Symbols represent propositions, premises or conclusions : ใช้สัญลักษณ์ในการแทนค่านิพจน์ ซึ่งในการสรุปความจะต้องทราบค่าของนิพจน์แรกก่อน แล้วจริงเปรียบเทียบกับนิพจน์อื่นๆ เพื่อทาการหาข้อสรุป ประโยคและสัญลักษณ์ที่ใช้แทนค่า จะใช้ประโยคภาษาอังกฤษStatement: A = The mail carrier comes Monday through Friday. ผู้ส่งจดหมายมา วันจันทร์ถึงวันศุกร์.Statement: B = Today is Sunday.Conclusion: C = The mail carrier will not come today. : ผู้ส่งจดหมายจะไม่มา วันนี้ 5. Propositional logic: limited in representing real-world knowledge : ตรรกะนิพจน์ จะมีข้อจากัดในการแทนปัญหาแห่งโลกความเป็นจริง เพราะ Propositional logic (ตรรกะนิพจน์) มักจะใช้แทนปัญหาที่ไม่มีความซับซ้อน แต่สาหรับโลกแห่งความเป็นจริงแล้วหากต้องใช้นิพจน์ 99. หน้า : 4Week 6 : Knowledge Representationประโยชน์ภาษาอังกฤษในการแทนแต่ละปัญหา ก็จะต้องใช้นิพจน์จานวนมากมาย และจะมีความซับซ้อนขึ้นตัวอย่าง : Pq pq pq 1111 1001 0101 0000Predicate Calculus : ตรรกะกริยา 1. Predicate logic breaks a statement down into component parts, an object, objectcharacteristic or some object assertion : ตรรกะกริยา (Predicate calculus) จะเป็นการพิจารณาประโยค โดยแยกส่วนประกอบของประโยค ตามลักษณะและหน้าที่ของส่วนประกอบนั้น ๆ ซึ่งเป็นแนวคิดพื้นฐานของ AI 2. Predicate calculus uses variables and functions of variables in a symbolic logicstatement : ตรรกะกริยา (Predicate calculus) จะใช้ตัวแปรและ fn ของตัวแปรในรูปแบบของประโยคตรรกะสัญลักษณ์ (symbolic logic) 3. Predicate calculus is the basis for Prolog (PROgramming in LOGic) : ตรรกะกริยา(Predicate calculus) เป็นพื้นฐานสาหรับ Prolog หมายถึง คากริยาในประโยค ซึ่งเป็นพื้นฐานของAI ที่มีการกาหนดการกระทา (Action) หรือความสัมพันธ์ระหว่างส่วนต่าง ๆ เอาไว้ 4. Prolog Statement Examples : ตัวอย่างของ คากริยาในประโยค–comes_on(mail_carrier, monday).–likes(jay, chocolate).(Note - the period “.” is part of the statement)ตัวอย่าง : ประโยคตรรกะกริยา All dogs are animals(x) (if x is a dog -> x is an animal) 100. หน้า : 5 Week 6 : Knowledge Representation6.3 เทคนิคอื่นในการแทนองค์ความรู้1. Scripts : สคริปต์Knowledge Representation Scheme Describing a Sequence of Events : เป็นรูปแบบการแทนองค์ความรู้โดยการอธิบายลาดับของเหตุการณ์1. Elements include : มีส่วนประกอบที่สาคัญดังต่อไปนี้ (5 ส่วน) –Entry Conditions : ส่วนของการกาหนดเงื่อนไข เป็นการอธิบายสถานการณ์ที่ พึงพอใจ ก่อนที่เหตุการณ์นั้นจะเกิดขึ้น หรือใช้งานได้จริง –Props : ส่วนขยาย เป็น Object ที่ใช้สร้างลาดับเหตุการณ์ที่เกิดขึ้น –Roles : บทบาท เป็นส่วนของผู้ที่เกี่ยวข้องกับการทางานภายในระบบ –Tracks : การแกะรอย การติดตาม เป็นการติดตามค่าตัวแปรในส่วนที่มีการ เรียกใช้งาน –Scenes : ฉาก เป็นส่วนของการอธิบายลาดับเหตุการณ์ที่เกิดขึ้นจริง2. Lists : การแจกแจงรายการWritten Series of Related Items : เป็นการเขียนลาดับความสาพันธ์ของกลุ่มข้อมูล โดยจะบอกรายละเอียดของสิ่งต่าง ๆ1. Normally used to represent hierarchical knowledge where objects are grouped,categorized or graded according to : โดยปกติแล้วการแทนองค์ความรู้ด้วยวิธี List จะแสดงถึงความสัมพันธ์กันขององค์ความรู้เป็นแบบลาดับชั้น (Hierarchy) , แสดงกลุ่มของ Object , การจัดหมวดหมู่ของ Object ซึ่งส่วนประกอบหลัก ๆ จะประกอบด้วย –Rank : การจัดลาดับที่อยู่สูงกว่า หรือ –Relationship : ความสัมพันธ์ระหว่างกัน3. Decision Tables (Induction Table) : ตารางการตัดสินใจKnowledge Organized in a Spreadsheet Format : เป็นการจัดระเบียบองค์ความรู้ในรูปแบบของตาราง ซึ่งประกอบด้วย 1. Attribute List : รายการของคุณลักษณะ (Attribute) หรือ field, หรือ Column 2. Conclusion List : รายการของข้อสรุป 3. Different attribute configurations are matched against the conclusion : ในการคานวณค่าเพื่อสรุปผลตามเงื่อนไข attribute ที่แตกต่าง ขัดแย้งต่อการนาไปปฏิบัติจริง จะถูกตัดทิ้งไป 101. หน้า : 6Week 6 : Knowledge Representationเช่นขายสินค้า >= 20,00 บาท ( 8/2 = 4 ) Y YYYNN N Nชาระด้วยเช็ค( 4/2 = 2 )Y YNNYY N Nชาระด้วยบัตรเครดิต ( 2/2 = 1 ) Y NYNYN Y Nการขายจากพนักงานขายตรงตัด  ตัด ตัด ตัดตรวจสอบบัตรเครดิตจากสานักงานตัด  ตัด ตัด ตัดใหญ่ลูกค้าเลือกหยิบสินค้าด้วยตนเองตัด ตัด ตัด  ตัดตรวจสอบบัตรเครดิตของธนาคารอื่นตัด ตัด ตัดตัด4. Decision Trees : ต้นไม้การตัดสินใจ1. Related to tables : มีลักษณะคล้ายกับตารางการตัดสินใจ2. Similar to decision trees in decision theory : ใช้ทฤษฎีคล้าย ๆ กัน กับตารางการตัดสินใจ3. Can simplify the knowledge acquisition process : เป็นกระบวนการในการแทนองค์ความรู้อย่างง่าย4. Knowledge diagramming - very natural : แผนภาพองค์ความรู้ที่เป็นธรรมชาติมาก ๆคือ O-A-V Triplet5. Objects, Attributes and Values มีส่วนประกอบหลักที่สาคัญ คือ Objects, Attributesและ Values6. O-A-V Triplet ( Tree สามารถแทนด้วย 3 อย่างนี้)7. Objects may be physical or conceptual : แนวคิดเชิงกายภาพ (สามารถสัมผัสได้ ) หรืออาจเป็นมโนภาพ (Imagine ได้) เช่น Object รถยนต์8. Attributes are the characteristics of the objects : คุณลักษณะของ Object เช่น Attributeสีของรถยนต์9. Values are specific measures of the attributes : ค่าของ Attibute ที่สามารถวัดได้ เช่นValue ของ Attribute สี ได้แก่ น้าเงิน 102. หน้า : 7Week 6 : Knowledge Representation รูปที่ 6.1เช่นIncome > 70,000NoYes Job > 5 ปีMarriedNo NoYes camryMustang Volvo Wagon Porsche5. Semantic Networks : เครือข่ายเกี่ยวกับความหมายของคา1. Graphic Depiction of Knowledge : เป็นอีกรูปแบบหนึ่งที่ใช้แทนองค์ความรู้ โดยวาดให้เห็นเป็นภาพกราฟิก2. Nodes and Links Showing Hierarchical Relationships Between Objects : ประกอบด้วยNode และเส้น Link โดยจะแสดงความสัมพันธ์แบบลาดับชั้นของแต่ละ Object3. Nodes: Objects : Node จะแสดงรายละเอียดของ Object 103. หน้า : 8Week 6 : Knowledge Representation4. Arcs: Relationships : เส้นหรือเส้นโค้ง จะแสดงความสัมพันธ์ระหว่าง Object ,ซึ่งใช้คากริยาในการอธิบายความสัมพันธ์ - is-a –has-a5. Semantic networks can show inheritance : สามารถแสดงลาดับของการสืบทอดจากได้6 .Semantic Nets - visual representation of relationships : จะทาให้เรามองเห็นความสัมพันธ์ที่เกิดขึ้น - Can be combined with other representation methods : เราสามารถใช้วิธีของSemantic Nets ประยุกต์รวมเข้ากับวิธีการแทนความรู้รูปแบบอื่น ๆรูปที่ 6.26. Production Rules : กฎการผลิต 1. Condition-Action Pairs : กฏแห่งการผลิตจะใช้หลักการของการจับคู่ระหว่างเงื่อนไขของของการกระทา มาปฏิสัมพันธ์กัน 104. หน้า : 9Week 6 : Knowledge Representation–IF this condition (or premise or antecedent) occurs, IF เป็นเงื่อนไขหรือข้อตกลง–THEN some action (or result, or conclusion, or consequence) will (or should)occur THEN ดังนั้น ได้ผลลัพธ์ หรือข้อสรุป–IF the stop light is red AND you have stopped, THEN a right turn is OKวิธีนี้ กฎแต่ละข้อจะมีความความเป็นอิสระ จึงสามารถปรับปรุงแก้ไขกฎได้ง่าย แต่อย่างไรก็ต้องคานึงด้วยว่า ถ้ามีการแก้ไขกฎบางข้อ จะกระทบหรือขัดแย้งกับกฎข้ออื่นด้วยหรือไม่ถึงแม้ว่า การใช้กฎ กับการทางานของคอมพิวเตอร์จะดูง่าย และมีลักษณะคล้ายกับกระบวนการตัดสินใจของมนุษญ์ แต่กฎ ก็ยังมีข้อจากัดอยู่มาก ในเรื่องการใช้งาน อาทิเช่น รูปแบบของความรู้ที่นามาใช้ วิธีการแก้ไข การตรวจสอบ ต่าง ๆForms of Rules : รูปแบบของกฎ1. IF premise, THEN conclusion –IF your income is high, THEN your chance of being audited by the IRS is high ถ้า คุณมีรายได้สูง ดังนั้น คุณมีโอกาสสูงที่จะถูกตรวจสอบภาษี2. Conclusion, IF premise –Your chance of being audited is high, IF your income is high คุณมีโอกาสสูงที่จะถูกตรวจสอบภาษี ถ้า คุณมีรายได้สูงInclusion of ELSE : การรวมกันของ Else–IF your income is high, OR your deductions are unusual, THEN your chance of beingaudited by the IRS is high, OR ELSE your chance of being audited is lowถ้ารายได้คุณสูง หรือ ค่าลดหย่อนของคุณผิดปกติ ดังนั้น คุณมีโอกาสสูงที่จะถูกตรวจสอบภาษี หรือถ้ารายได้คุณไม่สูง โอกาสถูกตรวจสอบภาษีก็จะน้อยลงMore Complex Rules : กฎที่มีความซับซ้อน–IF credit rating is high AND salary is more than $30,000, OR assets are more than$75,000, AND pay history is not "poor," THEN approve a loan up to $10,000, and listthe loan in category "B.”–Action part may have more information: THEN "approve the loan" and "refer to anagent" 105. หน้า : 10Week 6 : Knowledge Representationถ้าคุณมีเครดิตสูง และ คุณมีเงินเดือนมากกว่า 30,000 หรือ สินทรัพย์ค้าประกันมากกว่า 75,000 บาทและ ไม่มีประวัติเสีย ดังนั้น อนุมัติวงเงินกู้ได้ไม่เกิน 10,000 บาท ตามเงื่อนไข B ที่ระบุไว้ โดยดูจากบุคคลค้าประกันที่ระบุไว้ในใบสมัครKnowledge and Inference Rules : องค์ความรู้และกฎการสรุปความCommon Types of Rules : กฏที่ใช้ใน AI จะพบอยู่ 2 แบบ คือ 1. Knowledge rules, or declarative rules, state all the facts and relationships about aproblem : กฎขององค์ความรู้ หรือเรียกได้อีกชื่อคือ กฎเชิงประกาศ (Declarative Rule) เป็นการระบุข้อเท็จจริงและความสัมพันธ์ที่เกี่ยวข้องกับปัญหาทั้งหมด 2. Inference rules, or procedural rules, advise on how to solve a problem, given thatcertain facts are known : กฎของการสรุปความ เรียกอีกชื่อหนึ่งว่า กฎเชิงระเบียบวิธี (ProceduralRule) เป็นการแนะนาวีการหรือขั้นตอนการแก้ไขปัญหา โดยใช้ข้อเท็จจริง (Fact) ภายใต้สถานการณ์ที่แน่นอน - Inference rules contain rules about rules (metarules) : กฎการสรุปความจะจัดเก็บกฎของกฎ กล่าวได้คือ จะบรรจุกฎที่เกี่ยวข้องกับกฎนั้น ๆ เรียกอีกชื่อว่า เมต้ารูลส์ (metarules) ซึ่งในการทางานวิศวกรองค์ความรู้จะต้องมีการแยกจัดเก็บกฎ Knowledge rules และ Inference rulesออกจากกัน - Knowledge rules are stored in the knowledge base : กฎขององค์ความรู้ จะถูกจัดเก็บไว้ในฐานองค์ความรู้ - Inference rules become part of the inference engine : กฎในการสรุปความ จะกลายเป็นส่วนหนึ่งของกลไกการสรุปความ (กลไกการอนุมาน)Advantages of Rules : ข้อดีของกฎ1.Easy to understand (natural form of knowledge) : ง่ายต่อการเข้าใจเป็นรูปแบบองค์ความรู้โดยธรรมชาติ อาจเป็นภาษาธรรมชาติที่ใช้ติดต่อสื่อสารกัน2. Easy to derive inference and explanations : ง่ายต่อการสรุปความและอธิบายความ3. Easy to modify and maintain : ง่ายต่อการปรับปรุงและรักษาคุณลักษณะของความสัมพันธ์4. Easy to combine with uncertainty : ง่ายต่อการรวมกฎ หรือผสานกฎต่าง ๆ เข้าด้วยกันแม้การทางานนั้นจะอยู่ภายใต้สถานการณ์ที่ไม่แน่นอน5. Rules are frequently independent : กฎแต่ละข้อมีความเป็นอิสระต่อกัน ไม่ขึ้นต่อกัน 106. หน้า : 11Week 6 : Knowledge RepresentationLimitations of Rules : ข้อจากัดของกฎ1. Complex knowledge requires many rules : องค์ความรู้มีความซับซ้อน อาจต้องใช้กฎจานวนมากมาย ซึ่งจะทาให้ยากต่อการใช้งานและดูแลรักษาลาบาก2. Builders like rules (hammer syndrome) : ผู้สร้างหรือผู้พัฒนาระบบ มักจะจัดรูปแบบองค์ความรู้ในรูปแบบของกฎ ซึ่งบางทีมันอาจขัดแย้งกับความเป็นจริง หรือดูไม่เหมาะสมนัก3. Search limitations in systems with many rules : ระบบที่มีการใช้กฎจานวนมาก จะมีอุปสรรคในการค้นหาองค์ความรู้ ทาให้ยากต่อการควบคุมการทางานและยากต่อการประเมินผลลัพธ์ 107. หน้า : 12Week 6 : Knowledge Representation7. Frames : การแทนองค์ความรู้ด้วยวิธีเฟรมDefinitions and Overview :คานิยามและภาพรวมของวิธีเฟรม 1. Frame: Data structure that includes all the knowledge about a particular object : เฟรมเป็นโครงสร้างข้อมูลแบบลาดับชั้น มีการจาแนกและจัดการกับองค์ความรู้โดยใช้รูปแบบของวัตถุ(Object) 2. Knowledge organized in a hierarchy for diagnosis of knowledge independence : การจัดระเบียบองค์ความรู้แบบลาดับชั้นคล้ายโครงสร้าง Tree สามารถสรุปหรือวินิจฉัยองค์ความรู้ได้อย่างอิสระ 3. Form of object-oriented programming for AI and ES. : เป็นรากฐานของการเขียนโปรแกรมเชิงวัตถุสาหรับใช้ใน AI และ ES 4. Each Frame Describes One Object : แต่ละเฟรมจะใช้อธิบายหนึ่ง Object ซึ่งจะบ่งบอกถึงองค์ความรู้เชิงวัตถุ 5. Special Terminology : เป็นวิธีที่มีรูปแบบเฉพาะ แตกต่างไปจากวิธีอื่น วิธีนี้จะทาให้อธิบายความหมายและจัดการกับองค์ความรู้ที่อยู่ในเฟรมได้ง่ายขึ้น 108. หน้า : 13 Week 6 : Knowledge RepresentationFrame จะเก็บองค์ความรู้ไว้ใน Slot (คาอธิบายคุณลักษณะ) ซึ่งภายใน Slot ประกอบด้วย Facet (ค่าในด้านต่าง ๆ ) ซึ่งค่า Facet มีหลากหลายรูปแบบ ได้แก่ 1. Default ค่าปริยาย 2. Demon ชื่อframe หลัก 3. Facet ชื่อObject 4. Hierarchy of frameลาดับชั้นของ frame 5. if addเป็นค่าอ้างอิงองค์ความรู้ 6. if need คือค่าที่ใช้กรณีไม่ได้ระบุไว้ในslot และสามารถนาค่านี้มาใช้ใน การคานวณได้ และนาค่าไปใช้เมื่อจาเป็นกฎที่นามาใช้กับเฟรมจะต้องมีรูปแบบไม่ตายตัว มีความยืดหยุ่น เพื่อจะได้สามารถใช้งานภายในเฟรมได้อย่างเหมาะสม ตัวอย่างตามรูป (Frame Terminology) ข้อมูลที่อยู่ภายในรูป คือ การกาหนดคุณลักษณะเฉพาะ (Attribute) ของเฟรม และทาให้เราอธิบายความหมายได้ดีขึ้น และจัดการได้ดีขึ้น , Attribute กับค่าที่เรากาหนดให้กับแต่ละ Attribute จะถูกรวมเป็น Object เดียวกันและ Object ก็จะถูกซ้อนอยู่ในในเฟรมอีกชั้นหนึ่ง- Concise, natural, structural representation of knowledge : เฟรมจะแทนองค์ความรู้ได้อย่างกะทัดรัด เป็นธรรมชาติ และมีโครงสร้าง- Encompasses complex objects, entire situations or a management problem as a single entity: เฟรมคือ กรอบที่ใช้แทนองค์ความรู้ที่มีความซับซ้อน ตามแต่เหตุการณ์ทั้งหมดที่เกิดขึ้นหรือใช้แก้ปัญหาใดปัญหาหนึ่ง- Frame knowledge is partitioned into slots : องค์ความรู้ในเฟรมจะถูกแบ่งย่อยออกเป็นช่องเล็ก ๆ เรียกว่า slots หรือจะเรียกว่าเป็น Attribute ก็ได้ - Slot can describe declarative knowledge or procedural knowledge : slots จะมีไว้สาหรับอธิบายองค์ความรู้ในเชิงประกาศ (declarative knowledge) หรือองค์ความรู้ในเชิงระเบียบวิธี(procedural knowledge)-Major Capabilities of Frames : frame เป็นวิธีที่มีประสิทธิภาพ ที่วิธีอื่นไม่สามารถทาได้- Typical frame describing an automobile : ตัวอย่างโครงสร้างของเฟรมอธิบายให้เห็นในตัวอย่างเฟรมยานพาหนะ 109. หน้า : 14 Week 6 : Knowledge Representation ชื่อเฟรม (Automobile) ยานพาหนะ ชื่อคลาส (Transportation) การขนส่งslot (คาอธิบายคุณลักษณะ) facet (ค่า)ชื่อผู้ผลิต ................แหล่งผลิต ................รุ่น................ประเภทรถ................น้าหนัก ................จานวนประตู................ระบบขับเคลื่อน................จานวนล้อ................เครื่องยนต์-ประเภท ................- จานวนสูบ................อัตราเร่ง- ความเร็วที่ 0-60 ไมล์ต่อ ชม.................- ระยะทาง 0.25 ไมล์ ................การใช้พลังงาน ................ ชื่อเฟรม ................ ชื่อคลาส ................- Hierarchy of Frames: Inheritance ลาดับชั้นของเฟรม สามารถสืบทอดได้ 110. หน้า : 15 Week 6 : Knowledge Representationสรุป (Summary):1. Knowledge Representation : การแทนองค์ความรู้ คือการนาองค์ความรู้ที่ดึงมาได้มาแทนด้วยรูปของสัญลักษณ์ (Symbolic) เพื่อใช้ในการอ้างอิง อาจจะด้วยวิธีการเขียนโปรแกรม กิจกรรมที่เกี่ยวข้องกับ Knowledge Representation คือ 1. เขียนโปรแกรมเก็บองค์ความรู้ในMemory ของเครื่อง 2. ออกแบบคาอธิบายเหตุผลสาหรับใช้เป็นข้อสรุปที่ได้จากข้อเท็จจริง หรือสมมติฐาน โดยใช้กลไกอนุมาน หรือกลไกสรุปความ เป็นเทคนิคการค้นหาและเปรียบเทียบรูปแบบ เพื่อให้ได้คาตอบ หรือข้อสรุป2. Knowledge Representation : มีหลายวิธี เช่น1. Logic and Others Methods :แทนความรู้ด้วยวิธีเชิงตรรกะและเทคนิควิธีอื่น ๆ2. Semantic Network Method : แทนความรู้ด้วยโครงข่าย (Net) , Graph , Tree3. Production Rule Method : แทนความรู้ด้วยกฎแห่งการผลิต4. Frame Method : แทนความรู้ด้วยวิธีเฟรมแต่ละวิธีมีข้อดี – ข้อเสียแตกต่างกัน ต้องพิจารณาและเลือกใช้ให้ตรงกับวัตถุประสงค์, สามารถผสมผสานแต่ละวิธีเข้าด้วยกัน เพื่อประสิทธิภาพและความยืดหยุ่นในการทางาน 111. หน้า : 16 Week 6 : Knowledge Representation3. สภาพการณ์ตัดสินใจภายใต้ความไม่แน่นอน(Uncertainty) ควรเป็นปัจจัยหนึ่งที่จะนามาพิจารณาในการสร้างระบบด้วย เพื่อจะได้สรุปความ ให้เป็นไปตามกฎ (Rule) ได้อย่างครอบคลุม และจะทาให้ระบบทางานได้ใกล้เคียงกับความเป็นจริงมากขึ้น คล้ายกับการตัดสินใจของมนุษย์ 112. หน้า : 1 Week 7: Inference Techniques บทที่ 7 เทคนิคการสรุปความ (Inference Techniques)หัวข้อ (Topic)7.1 เทคนิคการสรุปความโดยการให้เหตุผลในเชิง AI7.2 การสรุปความด้วยเทคนิคต่าง ๆ 7.2.1 เทคนิคการใช้กฎ (Rule) 7.2.2 การใช้โครงสร้างต้นไม้ (Tree) 7.2.3 การใช้เฟรม (Frame) 7.2.4 การให้เหตุผลด้วยแบบจาลอง (Model-Base) 7.2.5 การให้เหตุผลด้วยกรณีศึกษา (Case-Base) 7.2.6 การอธิบายความและองค์ความรู้เชิงเมต้า (Explanation and Meta-Knowledge) 7.2.7 เทคนิคการสรุปความภายใต้สถานการณ์ความไม่แน่นอน (InferenceTechniques with Uncertainty) 7.2.8 การแทนค่าความไม่แน่นอน ( Representing Uncertainty) 7.2.9 การให้เหตุผลด้วยเทคนิคความน่าจะเป็นและวิธีที่เกี่ยวข้อง (Probabilities and Related Approach) 7.2.10 การให้เหตุผลด้วยเทคนิคความเชื่อมั่น (Certainty Factors)วัตถุประสงค์การเรียนรู้ (Learning Objective)7.1 อธิบายเทคนิคการสรุปความโดยการให้เหตุผลในเชิง AI ได้7.2 เปรียบเทียบความแตกต่างของการสรุปความด้วยเทคนิคต่าง ๆ ได้ ตามกระบวนการของการจัดการองค์ความรู้ เมื่อเราต้องการสร้างฐานองค์ความรู้ เราจะต้องมีการทางานตามขั้นตอน ซึ่งจะเริ่มตั้งแต่ การเก็บรวบรวมองค์ความรู้ซึ่งจะมีวิธีการได้มาซึ่งองค์ความรู้ (Knowledge Acquisition) หลากหลายวิธี ไม่ว่าจะเป็นวิธี Manual วิธีกึ่งอัตโนมัติ หรือวิธีอัตโนมัติ หลังจากนั้นนาองค์ความรู้ที่ได้มาทาการแทนค่าองค์ความรู้ หรือจัดรูปแบบองค์ความรู้(Knowledge Representation) ก่อนที่จะเก็บเก็บไว้ในฐานองค์ความรู้ (Knowlage Base) ซึ่งการแทนองค์ความรู้นั้นก็สามารถทาได้หลากหลายวิธีไม่ว่าจะเป็นการเขียนโปรแกรม หรือการอธิบายเหตุผล 113. หน้า : 2Week 7: Inference Techniquesหลังจากนั้นจะต้องความองค์ความรู้นั้นมาสรุปความ (Inference Techniques) ซึ่งเป็นการสรุปความหมาย ก่อนที่จะแปลความเป็นลาดับต่อไป7.1 เทคนิคการสรุปความโดยการให้เหตุผลใน AI (Reasoning in Artificial Intelligence) เมื่อเราเก็บรวมรวมองค์ความรู้ได้หลากแหล่งต่าง ๆ เป็นที่เรียบร้อยแล้ว ก่อนจะนาความรู้นั้นเก็บในในฐานองค์ความรู้ องค์ความรู้จะต้องผ่านกระบวนการให้เหตุผล (Knowledge must beprocessed (reasoned with)) ผ่านกระบวนการในการตรวจสอบความถูกต้อง เพื่อความสมบูรณ์ของข้อมูล และเมื่อเราจะมีการนาองค์ความรู้ที่จัดเก็บอยู่ในฐาน ไปใช้งานจะต้องอาศัย โปรแกรมคอมพิวเตอร์ในการเข้าถึงองค์ความรู้ เพื่อทาการสรุปความ องค์ความรู้นั้น ๆ (Computer programaccesses knowledge for inferencing) ซึ่งการใช้โปรแกรมในการเข้าถึงองค์ความรู้ เพื่อดึงความรู้ออกมานี้อาจเรียกได้ว่าเป็นกระบวนการของ การใช้กลไกอนุมานหรือการใช้โปรแกรมควบคุม(Inference engine or control program) และสาหรับระบบใดก็ตามที่ใช้ทิคนิคการสรุปความด้วยวิธีกฎแห่งการผลิต (Production Rule) เราจะเรียกวิธีนี้ว่า การแปลกฎ (Rule interpreter (in rule-basedsystems) กลไกอนุมาน (Inference engine) จัดได้ว่าเป็นเครื่องมือตัวหนึ่งที่เราใช้ในการค้นหาองค์ความรู้ในฐาน มีความสามารถในการเปรียบเทียบรูปแบบ (Pattern Matching) การสารวจ(Investigate) การขจัด(Eliminate) การจับคู่กฎ (Matching) เพื่อหาผลลัพธ์ที่ถูกต้องและเหมาะสมกลไกอนุมานจึงเป็นวิธีที่สามารถค้นหาองค์ความรู้จากฐานองค์ความรู้ได้โดยตรง (Directs searchthrough the knowledge base)มนุษย์มีการให้เหตุผลในการแก้ปัญหาอย่างไร? (How People Reason and Solve Problems)ในการใช้กลไกอนุมาน (Inference engine) หรือที่เรียกอีกชื่อหนึ่งว่ากลไกสรุปความ ในการค้นหาองค์ความรู้จากฐานนั้น วิศวกรองค์ความรู้ควรมีความเข้าใจเกี่ยวกับการให้เหตุผลในการแก้ปัญหาของมนุษย์เสียก่อน เนื่องจากวิธีการให้เหตุผลของ AI จะเป็นการลอกเลียนแบบการให้เหตุผลของมนุษย์ หรือเลียนแบบความฉลาดของมนุษย์นั่นเอง ซึ่งมุมมองหรือการให้เหตุผลในการแก้ปัญหาของมนุษย์ออกได้ 9 แบบ (Sources of Power) ดังนี้1. การแก้ปัญหาโดยการให้เหตุผลเชิงรูปแบบหรือเป็นการให้เหตุผลเชิงตรรก (Formalmethods (logical deduction) : เช่น ตรรกะนิพจน์ และตรรกะกริยา2. การแก้ปัญหาโดยการให้เหตุผลด้วยวิธีการฮิวริสติก (Heuristic reasoning) ในการเลือกคาตอบที่ดีที่สุด หรือใช้กฎแห่งการผลิต (Production Rule) ในรูปแบบของ IF-THEN rules3. การแก้ปัญหาโดยการให้เหตุผลด้วยสามัญสานึกหรือสัญชาติญาณต่อสิ่งที่คาดหวัง(Focus--common sense related toward more or less specific goals) 114. หน้า : 3Week 7: Inference Techniques4. การแก้ปัญหาโดยการให้เหตุผลแบบใช้หลักการแบ่งแยกและตัดสินใจเลือกแนวทางที่ดีที่สุด (Divide and conquer)5. การแก้ปัญหาโดยการให้เหตุผลแบบการทางานคู่ขนาน (Parallelism)6. การแก้ปัญหาโดยการให้เหตุผลแบบแทนค่าทางความคิด (Representation)7. การแก้ปัญหาโดยการให้เหตุผลแบบใช้การเทียบเคียง (Analogy)8. การแก้ปัญหาโดยการให้เหตุผลแบบใช้การมีส่วนร่วม (Synergy)9. การแก้ปัญหาโดยการให้เหตุผลแบบใช้เหตุบังเอิญ (Serendipity (Luck)จากคากล่าวของ Lenat (1982) ได้กล่าวไว้ว่า การแก้ปัญหาโดยการให้เหตุผลของมนุษย์ทั้ง 9 แบบ(Sources of power) สามารถนาไปประยุกต์ใช้กับการสรุปความของคอมพิวเตอร์ ได้ 6 วิธีดังนี้(translated to specific reasoning or inference methods)วิธีการให้เหตุผลเพื่อสรุปความที่ประยุกต์ใช้กับคอมพิวเตอร์ (Reasoning Methods) 1. การให้เหตุผลแบบอนุมาน (Deductive Reasoning) คือ การสรุปความแบบเฉพาะเจาะจงโดยตั้งสมมติฐาน (Premise) ตั้งแต่ 2 ข้อเป็นอย่างน้อย 2. การให้เหตุผลแบบเหนี่ยวนา (Inductive Reasoning) คือ การดึงข้อมูลเพียงบางส่วนจากข้อเท็จจริง (Facts) ที่มีอยู่ 3. การให้เหตุผลแบบการเทียบเคียง (Analogical Reasoning) คือ แยกปัญหาออกเป็นส่วนย่อย ๆ แล้วหาคาตอบของแต่ละปัญหานั้น นามาเทียบเคียงกันกับประสบการณ์ที่เคยเกิดขึ้นแล้วในอดีต 4. การให้เหตุผลแบบเชิงรูปแบบ (Formal Reasoning) คือ เป็นวิธีทางตรรกะ เช่น ตรรกะนิพจน์และตรรกะกริยา โดยทางานวิเคราะห์โครงสร้างประโยคของภาษาอังกฤษ หรือประโยคนิพจน์ทางตรรกะ เพื่อพิสูจน์ว่าประโยคหรือนิพจน์เหล่านั้นเป็นจริง (True) หรือไม่ 5. การให้เหตุผลแบบเชิงระเบียบวิธี (Procedural (Numeric) Reasoning) คือ ใช้แบบจาลองทางคณิตศาสตร์ หรือแบบจาลองสถานการณ์ 6. การให้เหตุผลเชิงเมต้า (Metalevel Reasoning) คือ ใช้องค์ความรู้ของความรู้ ในการให้เหตุผล มุ่งเน้นที่รายละเอียดขององค์ความรู้การสรุปความเพื่อให้เหตุผลเกี่ยวกับองค์ความรู้ มักจะเกี่ยวข้องกับวิธีทางตรรกะศาสตร์ดังต่อไปนี้ 115. หน้า : 4Week 7: Inference Techniquesการให้เหตุผลกับวิธีทางตรรกะศาสตร์ (Reasoning with Logic)มี 3 แนวทางสาหรับวิธีทางตรรกะศาสตร์1. วิธีโมดัส โพเน้นส์ (Modus Ponens) เป็นการประมวลผลตางตรรกะศาสตร์ (LogicalExpression) เพื่อสร้างนิพจน์ใหม่ ตัวอย่าง–If A, then Bหมายถึง ถ้า A เป็นจริง (True) และ B ย่อมเป็น True–[A AND (A  B)]  B หมายถึง เป็นตรรกะนิพจน์ (Proposition) โดยสามารถนาหลักการของ Modus Ponens มาใช้แทนค่า B แล้วสามารถสรุปความได้ว่าหาก B เป็น True นิพจน์ทั้ง 2 ก็จะเป็น True เช่น A and (A  B) are propositions in a knowledge base A เป็นนิพจน์และ (A  B) เป็นนิพจน์หรือไม่ถ้า สมมติฐาน (Premise) A : It is computer สมมติฐาน (Premise) B : Can calculateAB : IF It is computer , Then Can calculateถ้านิพจน์ A และ B เป็น จริง A  B (A imply B) ก็จะเป็นจริง (True) หรือเป็นนิพจน์(propositions)หมายเหตุ : สูตรของ A  B หมายถึง ~A  B (not A + B) มีค่าเท่ากับ 0+1 = 1 คาตอบคือเป็นจริง 2. โมดัส โทเล่นส์ (Modus Tollens): คือการที่ค่าของตัวแปรเป็นนิเสธ (Not) เช่น เมื่อค่า B เป็นเท็จ (when B is known to be false) ~B แต่ก็ทาให้ประโยคเป็นนิพจน์ได้เช่นกัน (เป็น True) เช่น A ~B จะมีค่าเท่ากับ ~A ~ B (not A + not B) มีค่าเท่ากับ 0+0 = 0 คาตอบคือ เป็น จริง 116. หน้า : 5 Week 7: Inference Techniques3. วิธีการกระจายนิพจน์ (Resolution) : เป็นการรวมวิธีแทนค่าโมดัส โพเน้นส์เข้ากับวิธีการอ้างเหตุผลในเชิงตรรกวิทยาวิธีอื่น ๆ ( combines substitution modus ponens, andother logical syllogisms)7.2 การสรุปความด้วยเทคนิคต่าง ๆการสรุปความด้วยเทคนิควิธีต่าง ๆ สามารถจาแนกได้ประมาณ 10 วิธี ดังนี้7.2.1 เทคนิคการใช้กฎ (Rule) จะมีความสัมพันธ์กับเทคนิคการสรุปความทางตรรกศาสตร์ (logic) เพราะรูปแบบของกฎจะเป็นการใช้ IF ..THEN (ลักษณะการทางานตามเงื่อนไขจริงเท็จ เช่นเดียวกัน) ซึ่งทุกกฎในฐานองค์ความรู้ จะต้องสามารถนาไปตรวจสอบกับสมมติฐานได้ (โดยการนาสมมติฐานไปผ่านกฎแต่ละข้อเพื่อหาคาตอบ) ซึ่งการใช้กฎในการสรุปความมีอยู่ 2 แบบ ได้แก่ การสรุปความไปข้างหน้า (Forward Chaining) และการสรุปความย้อนกลับ (Backward Chaining)การสรุปความด้วยกฎ : แบบไปข้างหน้าและแบบย้อนกลับ(Inferencing with Rules: Forward and Backward Chaining)- นับเป็นการจุดประกายให้กับกฎ (Firing a rule:) เมื่อสมมติฐานของกฎทั้งหมดสามารถนาไปสู่คาตอบได้ (When all of the rules hypotheses (the “if parts”) are satisfied)- สามารถตรวจสอบกฎทุกข้อได้จากฐานองค์ความรู้ด้วยวิธีการของ forward หรือbackward chaining (Can check every rule in the knowledge base in a forward orbackward direction)- ผ่านกระบวนการของกฎแต่ละข้ออย่างต่อเนื่องจนกว่าจะพบเป้าหมาย (Continues untilno more rules can fire, or until a goal is achieved)- การ Chaining จะเป็นการเชื่อมโยงกฎแต่และข้อเข้ากับปัญหา (Chaining: Linking a setof pertinent rules)- กระบวนการค้นหาคาตอบ จะทาการแปลกฎแต่ละข้อ (Search process: directed by a ruleinterpreter approach)การสรุปความไปข้างหน้า (Forward Chaining)•if the premise clauses match the situation, then the process attempts to assert the conclusion 117. หน้า : 6 Week 7: Inference Techniques(ถ้าประโยคของข้อสมมติฐานเป็นไปตามสถานการณ์ , ดังนั้นกระบวนการ จะนามาใช้ในการสรุปความ)-เป็นวิธีที่ใช้ข้อมูลเป็นตัวขับเคลื่อน (Data-driven) มุ่งค้นหาข่าวสารที่มีอยู่จากแนวคิดพื้นฐานเพื่อให้ได้ข้อสรุป (Start from available information as it becomes available, then try to drawconclusions)นั่นก็หมายความว่า Forward chaining จะเริ่มค้นหาคาตอบ โดยเริ่มจากจุดเริ่มต้น  จุดหมายปลายทาง (เป้าหมาย)การสรุปความแบบย้อนกลับ (Backward Chaining)•if the current goal is to determine the correct conclusion, then the process attempts to determinewhether the premise clauses (facts) match the situation(ถ้าเป้าหมายปัจจุบันเป็นข้อสรุปถูกต้อง , ดังนั้น กระบวนจะนามาใช้ในการระบุว่าข้อเท็จจริงนั้นเป็นไปตามสถานการณ์หรือไม่)-เป็นวิธีที่เน้นเป้าหมายเป็นตัวขับเคลื่อน (Goal-driven) โดยเริ่มต้นจากข้อสรุปที่คาดหวัง (Startfrom a potential conclusion (hypothesis)), แล้วค้นหาไปยังหลักฐานหรือปลายทาง ที่จะบ่งบอกไว้ว่าเป็นไปตามกฎนั้นหรือไม่ (then seek evidence that supports (or contradicts) it)นั่นก็หมายความว่า Backward chaining จะเริ่มค้นหาคาตอบ โดยเริ่มจากจุดหมายปลายทาง(เป้าหมาย) แล้วทาการค้นหาย้อนกลับไปถึงต้นทางวิธีการแบบ Backward chaining จะเหมาะสาหรับ- การวินิจฉัย (Ddiagnosis) เช่น การวินิจฉัยโรค- การมองเหตุการณ์จากปัจจุบันย้อนกลับไปอดีต (From Present to Past)- การทางานตามลาดับก่อนหลัง (Consequent to antecedent)- การมุ่งเน้นเป้าหมายเป็นหลัก (Goal Driven)- การค้นหาในเชิงลึกก่อน (Depth-First Search) 118. หน้า : 7 Week 7: Inference Techniquesตัวอย่าง 1 : ถ้ารถยนต์ Start ไม่ติด อาจสืบเนื่องมาจากหลายสาเหตุ เช่น น้ามันหมด เครื่องยนต์เสียหรืออาจด้วยสาเหตุอื่น เราต้องการค้นหาเป้าหมายของสาเหตุว่า “รถยนต์ Start ไม่ติดเพราะเหตุใด” จะใช้วิธีแบบ Backward Chaining เนื่องจากรถยนต์ Start ไม่ติด (เป็นข้อสรุป,ปลายทาง) ส่วนน้ามันหมด เครื่องยนต์เสีย หรืออาจด้วยสาเหตุอื่น (เป็นต้นเหตุ , ต้นทางที่จะนาไปสู่ข้อสรุป)ตัวอย่าง 2 : ต้องการเดินทางจากเขตบางเขนไป เขตบางนาด้วยรถเมย์ อยากทราบว่าสามารถเดินทางโดยรถเมย์สายใดบ้าง - เริ่มจากต้นทาง (เขตบางเขน) แล้วทาการค้นหาว่ารถเมย์สายใดที่จะไปถึงเขตบางนา บ้าง วิธีนี้เรียกว่า Forward chaining - เริ่มจากปลายทางหรือเป้าหมาย (เขตบางนา) แล้วทาการค้นหาว่ารถเมย์สายใดที่จะไป ถึงเขตบางเขน (ต้นทาง) บ้าง วิธีนี้เรียกว่า Backward Chainingในการใช้กฎเพื่อจะสรุปความได้อย่างเหมาะสม ต้องพิจารณากฎ (เงื่อนไขใน IF..Then) ที่เราเขียนขึ้นใด้ดีเสียก่อนว่ากฎนั้นแต่ละข้อไม่ขัดแย้งกัน เนื่องจากกฎจะส่งผลต่ออาการ (Symptom)ซึ่งเป็นข้อเท็จจริงที่เรากาหนดเอาไว้7.2.2 การใช้โครงสร้างต้นไม้ (The Inference Tree)การสรุปความด้วยวิธีนี้อาจอีกชื่อว่า Goal Tree หรือ Logical Tree ซึ่งเป็นการแสดงแผนภาพของกระบวนการสรุปความ (Schematic view of the inference process) มีลักษณะคล้ายกับต้นไม้การตัดสินใจ (Similar to a decision tree) ทาการสร้างกฎโดยกฎแต่ละข้อจะประกอบด้วยสมมติฐานและข้อสรุป จากนั้นสร้างการสรุปความโดยใช้ Tree โดยนากฎมาสร้างเป็น node แต่ละ node จะ link ถึงกัน (Inferencing: tree traversal) ซึ่งการสรุปความด้วยวิธีการของTree จะมีประโยชน์อย่างมากสาหรับการไขปริศนาที่อยู่ในรุปแบบคาถามที่ขึ้นต้นด้วย Why และHow (Advantage: Guide for the Why and How Explanations) 7.2.3 การใช้เฟรม (Inferencing with Frames ) การสรุปความโดยเฟรมจะมีความซับซ้อนกว่าวิธีกฎ (Much more complicatedthan reasoning with rules) เนื่องจากมีสล๊อตที่ใช้ในการเชื่อมโยงในลักษณะเชิงเหตุและผล หรือเราอาจเรียกวิธีการของเฟรมนี้ได้อีกอย่างว่า เป็นวิธี “ การประมวลผลที่เน้นความคาดหวังเป็นสาคัญ” (Slot provides for expectation-driven processing) และสาหรับสล๊อตที่ว่างสามารถจะใส่ข้อมูลต่าง ๆ ลงไปในระบบได้ (Empty slots can be filled with data that confirm expectations) 119. หน้า : 8 Week 7: Inference Techniquesกระบวนการให้เหตุผลของเฟรมจาเป็นต้องอาศัยการค้นหาเพื่อยืนยันค่าที่ได้ว่าเป็นไปตามที่คาดหวังไว้ (Look for confirmation of expectations) ซึ่งค่ามีอยู่จานวนมากต้องยืนยันได้อย่างสอดคล้องกับสถานการณ์ (Often involves filling in slot values) เฟรมมีคุณลักษระเชิงวัตถุ สามารถสืบทอดคุณลักษณะได้ จึงทาให้ง่ายต่อการสรุปความ และสามารถแบ่งเฟรมออกเป็นส่วนย่อย ๆและนากลับมาใช้ใหม่ อีกทั้งยังสามารถใช้กฎภายในเฟรมได้ (Can use rules in frames) เป็นวิธีการอธิบายเหตุผลและสรุปความได้ดีอีกวิธีหนึ่ง (Hierarchical reasoning )7.2.4 การให้เหตุผลด้วยแบบจาลอง (Model-based Reasoning) การให้เหตุผลโดยการใช้แบบจาลองจะอาศัญพื้นฐานโครงสร้างขององค์ความรู้(รูปแบบความรู้ที่แน่นอน)เพื่อเพิ่มประสิทธิภาพในการออกแบบการอธิบายความ (Based onknowledge of structure and behavior of the devices the system is designed to understand) ซึ่งเป็นประโยชน์อย่างยิ่งในการวิเคราะห์ปัญหาอุปกรณ์ ที่มีความซับซ้อน (Especially useful indiagnosing difficult equipment problems) เพราะการใช้แบบจาลองจะมีความความยืดหยุ่นมากกว่าการใช้กฎ (Can overcome some of the difficulties of rule-based ES)ตัวอย่าง : การวินิจฉัยหาข้อผิดพลาด ในการทางานของเครื่องคอมฯ โดยนาหลักการซ่อมเครื่อง มาเปรียบเทียบกับการใช้กฎ และการใช้แบบจาลอง เป็นดังนี้ - การใช้กฎ สังเกตวิธีการทางานของพนักงานซ่อมบารุง (ใช้ประสบการณ์ที่มี) ซึ่งมีขั้นตอนคือเริ่มวางแผนควบคุมเครื่อง ตรวจดูระบบไฟและการแจ้ง error บนหน้าจอ เมื่อพบข้อผิดพลาดจะไปที่เครื่อง แล้วทาการเปิดฝาครอบ และทาการแก้ไขซ่อมแซมชิ้นส่วนภายใน หลังจากนั้นเปิดเครื่องใหม่อีกครั้ง ซึ่งการวินิจฉัยเช่นนี้ สามารถนากฎของผู้เชี่ยวชาญมาประยุกต์ใช้ โดยนาองค์ความรู้จากพนักงานซ่อมบารุงมาจัดเก็บในฐานองค์ความรู้ เพื่อใช้ในการแก้ปัญหา - การใช้แบบจาลอง สังเกตการทางานของ พนักงานซ่อมบารุงมือใหม่ที่ยังขาดประสบการณ์ หากมีข้อผิดพลาดเกิดขึ้นกับตัวเครื่อง พนักงานจะเปิดตาราที่หาสาเหตุ เมื่ออ่านจบแล้ว จึงจะไปที่เครื่องแล้วทาการเปิดฝาครอบออก หลังจากนั้นทาการซ่อมบารุง และก็เปิดเครื่องใหม่อีกครั้ง ซึ่งก็เป็นวิธีการเดียวกันกับการใช้แบบจาลองที่จะต้องอาศัยองค์ความรู้จากโครงสร้างฐานความรู้ ที่มีรูปแบบแน่นอน ชัดเจน 120. หน้า : 9 Week 7: Inference Techniquesหากนาวิธีแบบจาลองและวิธีการใช้กฎของผู้เชี่ยวชาญมาผสมผสานในการใช้งานร่วมกันได้ จะทาให้การสรุปความมีประสิทธิภาพมากยิ่งขึ้น 7.2.5 การให้เหตุผลด้วยกรณีศึกษา (Case-based Reasoning:CBR) การให้เหตุผลด้วยวิธีกรณีศึกษานี้ เป็นการประยุกต์มาจากแนวคิดการใช้สัญชาติญาณในการแก้ปัญหาของมนุษย์ที่นาวิธีการแก้ปัญหาแบบเดิมในอดีต มาปรับใช้กับปัญหาใหม่ที่กาลังเกิดขึ้นอยู่ในปัจจุบัน (Adapt solutions used to solve old problems for new problems) สามารถนากฎเข้าไปซ้อนในเคสได้ (เหมือนกับ IF ซ้อนอยู่ในภายใน Case) และการค้นหาปัญหาจะถูกพิจาณาตามเงื่อนไขในแต่ละ Case หรือ Case ที่มีความใกล้เคียงกับปัญหาที่กาลังจะเกิดขึ้นจริงดัดแปลงวิธีการแก้ปัญหาให้เหมาะสมกับปัญหาใหม่ที่กาลังจะเกิดขึ้น (Finds cases that solvedproblems similar to the current one) และ บันทึกข้อแตกต่างระหว่างปัญหาเก่ากับปัญหาใหม่เพื่อจัดเก็บและนาไปใช้สาหรับแก้ปัญหาในโอกาสต่อไป ( and Adapts the previous solution orsolutions to fit the current problem, while considering any difference between the two situations)วิธีการค้นหาเคสที่เกี่ยวข้องมีดังนี้ (Finding Relevant Cases Involves) 1. นาปัญหาที่เป็นจัยนาเข้า, มากาหนดคุณลักษณะบางประการ (Characterizing the input problem, by assigning appropriate features to it) 2. เรียกใช้เคสที่กาหนดคุณลักษณะเฉพาะเอาไว้ในหน่วยความจา (Retrieving the cases with those features) 3. เลือกใช้เคสหรือทาการจับคู่เปรียบเทียบ ก่อนที่จะเลือกใช้เคสที่เหมาะสมที่สุด (Picking the case(s) that best match the input best) วิธีการให้เหตุผลเพื่อแก้ปัญหาโดยวิธีเคสจะมีประสิทธิภาพสาหรับปัญหาที่มีความซับซ้อน(Extremely effective in complex cases) แต่ก็ยังคงอาศัยแนวคิดหรือ logic ของมนุษย์ (Justification- Human thinking does not use logic (or reasoning from first principle)) และถ้าต้องการให้ผลลัพธ์หรือคาตอบที่ได้มีความถูกต้องและตรงประเด็นมากที่สุด และนาไปใช้งานได้ทันทีทันใด (Processthe right information retrieved at the right time) ก็อาจจาเป็นต้องใช้คาสั่ง Script เข้ามาช่วยในCase (Central problem - Identification of pertinent information whenever needed - use scripts)เพื่อจัดลาดับของเหตุการณ์ได้ดียิ่งขึ้น 121. หน้า : 10Week 7: Inference Techniquesเคสคืออะไร (What is a Case?)Case : เป็นการให้คาจากัดความของปัญหาโดยการบรรยายด้วยภาษาธรรมชาติ และคาตอบของคาถาม และเชื่อมความสัมพันธ์เข้ากับสถานการณ์ที่จะกระทา (Defines a problem in naturallanguage descriptions and answers to questions, and associates with each situation a properbusiness action)Scripts : ใช้อธิบายลาดับของเหตุการณ์ที่จะเกิดขึ้น (Describe a well-known sequence of events)โดยส่วนใหญ่แล้วเรามักจะประยุกต์ใช้วิธีการของ Scripts ในการให้เหตุผล (Often “reasoning isapplying scripts”) เพราะจาทาให้ลาดับเรื่องราวหรือเหตุการณ์ได้เป็นอย่างดี เหมือน Script ลาดับการพูดของพิธีกรการให้เหตุผลเชิงกรณีศึกษาด้วยกระบวนการทางคอมพิวเตอร์ (Case-based Reasoning Process) มีลาดับขั้นตอนดังนี้ 1. การกาหนดดัชนี (Assign Indexes) เป็นกิจกรรมที่กาหนดดัชนีให้กับเคสใหม่ โดย การป้อนปัญหาที่เป็นปัจจัยนาเข้า แล้วนามากาหนดดัชนี แล้วส่งต่อไปยังข้อ 2 2. การดึงข้อมูล (Retrieve) เป็นกิจกรรมที่ดึงเอาเคสที่เก็บไว้อยู่ภายในพื้นที่หน่วยความจาโดย ทาการดึงข้อมูลจาก case memory และดึงข้อมูลจากรายการจับคู่เปรียบเทียบ (similaritymetrics) แล้วนามาเปรียบเทียบกับปัจัยนาเข้าที่ได้จากข้อ 1 จะได้เป็นข้อมูลก่อนการแก้ปัญหา แล้วส่งต่อไปยังข้อ 3 3. การปรับแต่งและแก้ไขข้อมูล (Modify) เป็นกิจกรรมที่นาเอาเคสเก่ามาปรับแต่งให้สอดคล้องกับเคสใหม่ เพื่อให้ได้ผลลัพธ์ตรงกับวัตถุปรสงค์ที่วางไว้ โดย นาข้อมูลที่ส่งมาจากข้อ 2และดึงข้อมูลมาจากรายการปรับแต่งกฎ (Modification Rules) มาทางานร่วมกัน จะพบวัตถุประสงค์ในการแก้ปัญหา แล้วส่งต่อไปยังข้อ 4 4. การทดสอบ (Test) เป็นการพยายามที่จะดาเนินการทดสอบ เพ่อให้บรรลุวัตถุประสงค์ตามที่วางไว้ โดย รับข้อมูลมาจากข้อ 3 และดึงข้อมูลการซ่อมแซม (Repair) มาจากข้อ 6 เพื่อหาแนวทางในการแก้ปัญหาใหม่ แล้วนามาทางานร่วมกัน จากนั้นส่งข้อมูลที่ได้ เพื่อนาไปใช้ในการแก้ปัญหา ยังขั้นขั้นตอนที่ 5-6 5. การกาหนดดัชนีและจัดเก็บข้อมูล (Assign and Store) เป็นการหาแนวทางแก้ปัญหาของเคส ถ้าเคสนั้นประสบความสาเร็จก็จะนามากาหนดดัชนีใหม่ และนามาจัดเก็บในพื้นที่หน่วยความจา โดย รับข้อมูลมาจากข้อ 4 มากาหนดดัชนีและจัดเก็บไว้ใน case memory เพื่อพร้อมสาหรับส่งข้อมูลให้กับข้อ 2 122. หน้า : 11Week 7: Inference Techniques6. การอธิบายความ, การซ่อมแซมกฎและทดสอบ(Explain, Repair and Test) เป็นหากแนวทางแก้ปัญหาของเคสล้มเหลว การอธิบายความก็จะล้มเหลวด้วย จะต้องทาการซ่อมแซมและทดสอบข้อผิดพลาด ก่อนที่จะทาการทดสอบในขั้นตอนที่ 4 โดย ส่งข้อมูลที่ได้จากการอธิบายความไปยัง พื้นที่ของการกาหนดดัชนีให้กับกฎ (Indexing Rules) เพื่อส่งให้กับข้อ 1 และนาข้อมูลการวิเคราะห์อย่างง่ายส่งให้กับส่วนซ่อมแซมกฎ (ซึ่งเป็นกระบวนการย่อยในข้อชนิดของโครงสร้างองค์ความรู้(Types of Knowledge Structures (Ovals)) ชนิดของโครงสร้างองค์ความรู้ที่ใช้กับกระบวนการข้อ 1-6 ข้างต้นประกอบด้วย 5โครงสร้าง 1. การกาหนดดัชนีให้กับกฎ (Indexing Rules) เป็นการกาหนดดัชนีให้กฎเพื่อบ่งชี้คุณลักษณะของปัจจัยนาเข้า (input) ซึ่งต้องสอดคล้องกับดัชนีที่จัดเก็บไว้ใน case memory แล้วนามาพิจาณาความสาคัญของปัญหาว่ามีความหนักแน่นเพียงพอ 2. เคสในพื้นที่หน่วยความจา (Case Memory) เป็นส่วนหนึ่งของหน่วยความจา สาหรับใช้จัดเก็บเคสหรือประสบการณ์ไว้ในฐานองค์ความรู้ 3. จับคู่เหมือนเปรียบเทียบ (Similarity Metrics) เป็นการเปรียบเทียบคู่เคสที่มีความคล้ายกัน ระหว่างเคสเก่าและใหม่ที่อยู่ใน case memory ว่าเคสไหนมีความหมาะสมมากที่สุดก่อนที่จะนาไปใช้แก้ปัญหาต่อไป 4. การปรับแต่งกฎ (Modification Rules) หากพบว่าเคสเก่าไม่มีความใกล้เคียงกับเคสใหม่เลย ให้นาเคสเก่ามาปรับปรุงให้เกิดความเหมาะสม แต่ต้องรู้แน่ชัดว่าปัจจัยใดควรปรับเปลี่ยน และเปลี่ยนอย่างไร 5. การซ่อมแซมกฎ (Repair Rules) ภายหลังที่การทางานล้มเหลว จาเป็นต้องปรับเปลี่ยนแผนให้เหมาะสมกับสถานการณ์ใหม่ ซึ่ง กฎใดไม่เหมาะสมต้องปรับปรุงและแก้ไขก่อนทดสอบผลโปรแกรมประยุกต์ประเภท CBR (CBR Uses, Issues and Applications )โปรแกรมประยุกต์ด้าน CBR มีหลายประเภท แล้วแต่ลักษณะการใช้งาน ตัวอย่างตามลักษณะงานต่อไปนี้1. Tactical planning เป็นโปรแกรมที่ใช้เกี่ยวกับการวางแผนยุทธวิธี หรือเทคนิคต่าง ๆ ในการทางาน2. Political analysis เป็นโปรแกรมที่ใช้ เกี่ยวกับการวิเคราะห์การเมือง.3. Situation assessment เป็นโปรแกรมที่ใช้เกี่ยวกับการประเมินสถานการณ์. 123. หน้า : 12Week 7: Inference Techniques4. Legal planning เป็นโปรแกรมที่ใช้เกี่ยวกับการวางแผนด้านกฎหมาย5. Diagnosis เป็นโปรแกรมที่ใช้ ในการวินิจฉัย เช่น งานด้านการแพทย์ การแก้ไข ชิ้นส่วนและอุปกรณ์คอมพิวเตอร์6. Fraud detection เป็นโปรแกรมที่ใช้เกี่ยวกับการสืบหาการปลอมแปลง.7. Design/configuration เป็นโปรแกรมที่ใช้กับงานด้านออกแบบและกาหนดค่าต่าง ๆ ของระบบ8. Message classification เป็นโปรแกรมที่ใช้จาแนกแยกแยะ หรือจัดกลุ่มของ Messageปัญหาและอุปสรรคในการใช้ CBR (CBR Issues and Questions) วิธีการให้เหตุผลแบบ CBR เป็นวิธีที่ได้รับความนิยม แต่เมื่อนามาปฏิบัติจริงก็ยังพบปัญหาอาทิเช่น 1. เคสเหล่านี้เกิดขึ้นมาได้อย่างไร ? แล้วจะนาโปรแกรมและจัดเก็บเคสเหล่านี้ใน memoryของเครื่องอย่างไร (What is in a case? How can we represent case memory?) 2. การดัดแปลงกฎให้เหมาะสมได้โดยอัตโนมัติ ยังมีความซับซ้อนอยู่มาก (Automaticcase-adaptation rules can be very complex) 3. จะจัดการหน่วยความจาอย่างไร? แล้วจะจัดดัชนีให้กับกฎอย่างไร (How is memoryorganized? What are the indexing rules?) 4. คุณภาพของผลลัพธ์ที่ได้ขึ้นอยู่กับน้าหนักคะแนนที่ได้กาหนดไว้เป็นดัชนี (The qualityof the results is heavily dependent on the indexes used) 5. กาหนด fn งานในหน่วยความจาได้อย่างไร จึงจะสามารถแสดงเคสได้ตรงประเด็น(How does memory function in retrieval of relevant information? ) 6. จะค้นหาเคสได้อย่างไร จึงจะเกิดประสิทธิภาพสูงสุด (How can we perform efficientsearch (knowledge navigation) of the cases?) 7. How can we organize (cluster) the cases? จะจัดกลุ่มหรือจัดระเบียบเคสได้อย่างไร-How can we design the distributed storage of cases? จะออกแบบวิธีการจัดเก็บเคสอย่างไร 8. จะปรับปรุงเคสเก่าอย่างไร จึงจะสอดคล้องกับปัญหาใหม่ มีวิธีอย่างง่ายในการสืบค้นเคสในหน่วยความจาหรือไม่ แล้วการจับคู่กับการปรับแต่งกฎจะทาได้อย่างไร (How can we adaptold solutions to new problems? Can we simply adapt the memory for efficient query, dependingon context? What are the similarity metrics and the modification rules?) 9. จะจัดการกับข้อผิดพลาดที่เกิดจากเคสเก่าได้อย่างไร (How can we factor errors out ofthe original cases?) 124. หน้า : 13Week 7: Inference Techniques 10. หากเกิดความเข้าใจผิดที่คลาดเคลื่อนเกิดขึ้น จะทาอย่างไร? แล้วจะซ่อมแซม ปรับปรุงและแก้ไขเคสอย่างไร (How can we learn from mistakes? i.e., how do we repair/update the case-base?) 11. หากเคสจาเป็นต้องขยายขอบเขตของระบบงาน อาจส่งผลให้เกิดความล่าช้าได้ (Thecase base may need to be expanded as the domain model evolves, yet much analysis of thedomain may be postponed.) 12. จะนา CBR ไปใช้ร่วมกับวิธีการแทนความองค์รู้ และกลไกอนุมาน(กลไกสรุปความ)ได้อย่างไร (How can we integrate CBR with other knowledge representations and inferencingmechanisms? ) 13. วิธีการจับคู่เทียบที่ดีกว่าวิธีการที่ใช้อยู่หรือไม่ (Are there better pattern matchingmethods than the ones we currently use?) 14. มีระบบเรียกใช้ข้อมูลเพื่อแสดงผลอื่น ๆ ที่สอดคล้องและสามารถนามาใช้ร่วมกับโครงสร้างของ CBR หรือไม่ (Are there alternative retrieval systems that match the CBRschema?)โปรแกรมสาเร็จรูปประเภท CBR มีผู้จัดจาหน่าย (Vendor) ตามท้องตลาดต่อไปนี้ (CBR Construction) ซึ่งขอแนะนาตัวอย่างโปรแกรมที่เป็นเครื่องมือชนิดพิเศษ (Special Tools –Examples) 1. ART*Enterprise and CBR Express (Inference Corporation)  www.inference.com 2. KATE (Acknosoft)  www.acknosoft.com 3. ReMind (Cognitive Systems Inc.) www.cognitive.com 4. Code Advisor (Sentia Software Inc.) www.sc.sfu.ca/~isa/isaresearch.html#systems 7.2.6 การอธิบายความและองค์ความรู้เชิงเมต้า (Explanation and Metaknowledge) การอธิบายความ (Explanation ) มนุษย์ผู้มีความเชี่ยวชาญมักจะใช้วิธีการพิสูจน์ความถูกต้อง และวิธีการอธิบายความ ในการกระทาของเขา (Human experts justify and explain their actions ) เสมอ แต่สาหรับระบบผู้เช่วยชาญจะเป็นระบบที่พยายามเลียนแบบการตัดสินใจของมนุษย์ผู้เชี่ยวชาญ ดังนี้ระบบผู้เชี่ยวชาญจึงต้องมี (ES should also do so) การอธิบายความ โดยการให้เหตุผล ให้ข้อแนะนา หรือแม้แต่การตัดสินใจตามการกระทาอื่น ๆ ของคาถาม (Explanation: attempt by an ES to clarifyreasoning, recommendations, other actions (asking a question)) 125. หน้า : 14Week 7: Inference Techniquesวัตถุประสงค์ของการอธิบายความ (Explanation Purposes) 1. เพื่อสร้างระบบให้มีความฉลาดมากยิ่งขึ้น (Make the system more intelligible) 2. เพื่อเปิดเผยสิ่งทีผิดพลาดภายในกฎและฐานองค์ความรู้ ซึ่งจาเป็นต้องถูก Debug(Uncover shortcomings of the rules and knowledge base (debugging)) 3. เพื่ออธิบายสถานการณ์ที่คาดหวังแก่ผู้ใช้ (Explain unanticipated situations) 4. เพื่อสร้างความพอใจและความมั่นใจให้กับผู้ใช้ทั้งทางด้านจิตวิทยาและสังคม (Satisfyusers’ psychological and/or social needs) 5. เพื่อหักล้างสมมติฐานให้มีความชัดเจนต่อผู้ใช้และผู้สร้าง (Clarify the assumptionsunderlying the systems operations) 6. เพื่อวิเคราะห์ความไวของข้อมูล เพื่อพยากรณ์และทดสอบผลกระทบต่อการเปลี่ยนแปลงของระบบ (Conduct sensitivity analyses)เทคนิคการแกะรอยกฎ (Rule Tracing Technique) การอธิบายความในฐานกฎ (Rule-Base) มักจะเกี่ยวข้องกับการ Tracing กฎ เพื่อเพิ่มขีดความสามารถในการแก้ปัญหาให้ใกล้เคียงกับความเป็นยิ่งมากขึ้น ซึ่งในการทางานจริง ข้อเท็จจริงและกฎที่เก็บอยู่ในฐาน จะมีจานวนมาก อาจส่งผลต่อการอธิบายความที่ไม่สมเหตุสมผล ฉะนั้นการอธิบายความในระบบผู้เชี่ยวชาญ การเตรียมการอธิบายเหตุผลของคาถาม why (“Why” Provides aChain of Reasoning) เพื่ออธิบายความได้ดีในระบบผู้เชี่ยวชาญขนาดใหญ่ (Good ExplanationFacility is critical in large ES) เพราะการที่จะเข้าใจระบบหรือไม่ขึ้นอยู่กับการอธิบายความ(Understanding depends on explanation) จึงถือได้ว่าการอธิบายความเป็นสิ่งที่สาคัญที่สุดในระบบผู้เชี่ยวชาญ (Explanation is essential in ES) เพราะส่วนมากเรานาระบบผู้เชี่ยวชาญไปใช้ในการฝึกอบรม (Used for training)พื้นฐาน 2 ประการของการอธิบายความ (Two Basic Explanations ) ถึงแม้การอธิบายความจะมีความยุ่งยากและซับซ้อน และเพื่อให้มีประสิทธิภาพ จาเป็นต้องเตรียมคาอธิบายสาหรับไขปัญหา ของคาถามที่มีข้อสงสัยที่ขึ้นต้นด้วยคาถาม Why และ How และคาถาม 2 ประเภทนี้ เป็นคาถามที่ต้องการให้คนตอบอธิบาเหตุผล เช่น-Why Explanations - Why is a fact requested? (ทาไมถึงร้องขอข้อเท็จจริง)-How Explanations - To determine how a certain conclusion or recommendation was reached.(คุณแน่ใจได้อย่างไรว่าข้อสรุปหรือคาแนะนานั้นบรรลุผลแล้ว) 126. หน้า : 15Week 7: Inference Techniquesการอธิบายความด้วยรูปแบบอื่น (Other Explanations) ถึงแม้ฟังก์ชั่นในการอธิบายความจะช่วยอานวยความสะดวก (Explanation Facility) ในการอธิบายเหตุผลที่ถามด้วยคาถาม Why และ How แล้ว ยังต้อง ยังต้องอธิบายความกับคาถามอื่นอีกเช่น คาถามที่ขึ้นต้นด้วย Who, what, where, when ซึ่งรวมแล้วที่ support การอธิบายความคาถามทั้ง 5 ปรเภท นั่นก็คื Who, what, where, when, why และ how (“5 W” ) ทาไมจริงเป็นเช่นนั้น(Why not?) เพราะจะทาให้การอธิบายความมีความหลากหลายมากยิ่งขึ้น ซึ่งฐานองค์ความรู้ใดที่มีการจัดเตรียมการอธิบายความด้วยฐานกฎ (Rule-Base) ทาให้ให้ระบบนั้นทางานได้ง่ายขึ้น แต่ถ้าหากปราศจากฐานกฎ (Non-Rule-Base) การอธิบายความก็จะเพิ่มทวีความยากยิ่งขึ้นองค์ความรู้เชิงเมต้า (Metaknowledge) โดยส่วนใหญ่แล้วระบบองค์ความรู้จะเกี่ยวข้องกับวิธีการให้เหตุผล (Knowledge abouthow the system reasons) ซึ่งเรียกการให้เหตุผลขององค์ความรู้นั้นว่า องค์ความรู้เชิงเมต้า นั่นก็คือความรู้ของความรู้ (Knowledge about knowledge) ซึ่งเป็นความรู้ที่เกี่ยวกับความรู้ทั้งหมด ในการสรุปความที่ใช้ในฐานกฎ (Inference rules are a special case) กฎจึงเหมาะที่จะนามาใช้กับMetaknowledge โดยที่ระบบจะทาการตรวจสอบก่อนว่าองค์ความรู้ที่จะนามาใช้นั้นเป็นองค์ความรู้ชนิดใด ภายในฐาน ซึ่งอาจเป็นองค์ความรู้เชิงประกาศหรือเชิงระเบียบวิธี (Metaknowledge allowsthe system to examine the operation of the declarative and procedural knowledge in theknowledge base)การสร้างวิธีการอธิบายความ (Generating Explanations) 1. การอธิบายความแบบสแตติก เป็นการเขียนสคริปด้วยข้อความภาษาอังกฤษเข้าไปในระบบก่อน (Static Explanation: preinsert pieces of English text (scripts) in the system) เช่นคาถามที่ผู้ใช้ ใช้ในการสอบถามระบบจะต้องแสดงคาถามได้ด้วยข้อความที่เกี่ยวข้องกับคาถามนั้นๆ ได้อย่างเหมาะสม 2. การอธิบายความแบบไดนามิก จะอาศัยการเปรียบเทียบรูปแบบของกฎ ด้วยการให้เหตุผล (Dynamic Explanation: reconstruct explanation according to the execution pattern of therules)การแบ่งแยกประเภทของการอธิบายความในระบบ ES (Typology of ES Explanations)สามารถจาแนกได้ 3 กลุ่ม ดังนี้ (Ye and Johnson (1995)) 1. การอธิบายความเชิงการติดตามร่องรอยหรือไล่เรียง (Trace, or Line of Reasoning) 127. หน้า : 16Week 7: Inference Techniquesด้วยการอ้างถึงความสัมพันธ์ของกฎที่เกี่ยวข้องตามลาดับ อย่างเป็นขั้นเป็นตอน ก่อนที่จะได้ข้อสรุปสุดท้าย2. การอธิบายความเชิงให้เหตุผล ด้วยการอธิบายและชี้แจงได้อย่างชัดเจนโดยปราศจากข้อโต้แย้งหรือเป็นการให้เหตุผลได้ในทุกกรณีที่มีการกล่าวอ้างถึง เพื่อการหักล้างข้อสมมติฐาน(Justification - explicit description of the causal argument or rationale behind each inferential steptaken by the ES) วิธีนี้จะสื่อความหมายในเชิงลึกได้ดีกว่าวิธี Trace ในข้อ 1 จะให้ผลลัพธ์ที่ดูสมเหตุสมผล สร้างความเชื่อมั่นแก่ผู้ใช้3. การอธิบายความเชิงกลยุทธ์ ด้วยโครงสร้างลาดับชั้นแบบลดหลั่น โดยมีเป้าหมายอยู่ที่ระดับบนสุด แล้วนามาใช้ในการพิจารณาว่าจะดาเนินการอย่างไรจึงจะบรรลุถึงเป้าหมายได้สาเร็จสาหรับองค์ความรู้เชิงเมต้าจะจัดอยู่ในกลุ่มนี้ (Strategy - high-level goal structure that determineshow the ES uses its domain knowledge to accomplish a task (or metaknowledge)) วิธีนี้จะเกี่ยวข้องกับองค์ความรู้เชิงระเบียบวิธี การอธิบายความค่อนข้างเป็นไปได้ยากในการนามาประยุกต์ใช้กับระบบ ES7.2.7 เทคนิคการสรุปความภายใต้สถานการณ์ความไม่แน่นอน (Inferencing with Uncertainty ) สภาพการอธิบายเหตุผลภายใต้ความไม่แน่นอนของ AI ซึ่งความรู้ที่ผู้เชี่ยวชาญให้ไว้ไม่ตรงกับกฎที่ผ่านเข้าไปในแต่ละข้อ จะมีขั้นตอนของการสรุปความ 3 ขั้นตอน (Uncertainty in AI -Three-step Process) 1. การแทนค่าความไม่แน่นอนด้วยชุดพื้นฐานของเหตุการ จะเป็นขั้นตอนในการนาเอาองค์ความรู้ที่ไม่จริง หรือไม่ตรงกับกฎ มาจัดให้อยู่ในรูปแบบของกฎ ก่อนที่จะกาหนดค่าลงไป ซึ่งอาจเป็นค่าตัวเลข กราฟิก หรือสัญลักษณ์ (An expert provides inexact knowledge in terms ofrules with likelihood values) แล้วส่งต่อไปขั้นตอนที่ 2 2. ผสมผสานในส่วนข้อมูลของความไม่แน่นอน โดยนาเอาองค์ความรู้ที่ไม่ตรงกับกฎ ที่ได้แทนค่าเอาไว้แล้วนั้น มาทาการสรุปผล ต้องรับข้อมูลจากขั้นตอนที่ 1 มาใช้งานร่วมด้วย และส่งต่อไปขั้นตอนที่ 3 (The inexact knowledge of the basic set of events can be directly used to drawinferences in simple cases (Step 3))ในขั้นตอนที่ 2 มักจะมีเหตุการณ์ที่หลากและ และเหตุการณ์ก็มักจะสัมพันธ์กันมีผลกระทบต่อกันเสมอ (In Step 2: Often the various events are interrelated.) จึงจาเป็นจะต้องรวมข้อมูลจากขั้นตอนที่ 1 เข้ามาด้วย (Necessary to combine the information provided in Step 1 into a global value forthe system) 128. หน้า : 17 Week 7: Inference Techniques 3. การสรุปความ เป็นการตีความหรือแปลความจากค่าขององค์ความรู้ที่ไม่ตรง จากขั้นตอนที่ 1 และ 2 ซึ่งการสรุปความปกติจะเป็นหน้าที่ของกลไกอนุมาน (Inference Engine)ตามที่ได้ติดตั้งไว้ในเครื่อง และสามารถปรับแต่งข้อมูลนาเข้า จากขั้นตอนที่ 1 ได้ตามต้องการภายหลังจากที่รู้ผลลัพธ์ในขั้นตอนที่ 2 และ 3 แล้ว (Working with the inference engine, experts canadjust the Step 1 input after viewing the results in Steps 2 and 3.)7.2.8 การแทนค่าความไม่แน่นอน (Representing Uncertainty)การแทนค่าที่แน่นอน สามารถแทนค่าด้วยตัวเลข ( Numeric) , กราฟิก (Graphic) และสัญลักษณ์ (Symbolic)การแทนค่าด้วยตัวเลข (Numeric Uncertainty Representation) เป็นวิธีแทนค่าที่ง่ายที่สุด มีความแน่นอน และชัดเจน โดยอาจใช้สเกลวัด ( Scale :0, 1-100)เช่น0 = Complete uncertainty (แทนค่าความไม่แน่ใจ)4. 1 or 100 = Complete certainty (แทนค่าความแน่ใจ)หรือ 0 ไม่จริง 1 จริง 0.5 ไม่แน่ใจ การแทนค่าด้วยตัวเลขหลายคนอาจไม่ให้ความสนใจและนาไปสู่ปัญหาความมีอคติอีกด้วย(Problems with Cognitive Biases) เพราะการแทนค่าด้วยตัวเลยอาจไม่สอดคล้อง และสร้างความขัดแย้งได้ทุกขณะ (People May be Inconsistent at Different Times)การแทนค่าด้วยกราฟและแผนภาพในการสรุปความ (Graphic and Influence Diagrams)แนวทางการแทนค่าด้วยกราฟและแผนภาพจะทาให้มีการตีความได้ละเอียดมากยิ่งขึ้น เช่นการแทนกราฟด้วยแถบในแนวนอน (Horizontal bars) ที่ใช้ในการวัดความถี่ หรือวัดค่าความเชื่อมั่น โดยให้ผู้เชี่ยวชาญทาเครื่องหมายลงบนสเกล ตามช่วงความถือ เพื่อวัดความเชื่อมั่นได้ แต่อย่างไรก็ตาม การแทนค่าด้วยวิธีกราฟก็ยังไม่สามารถแสดงความชัดเจน แม่นยาได้เท่าที่ควร (Notas accurate as numbers) หากผู้แบ่งสเกลไม่มีความชานาญ (Experts may not have experience inmarking graphic scales) แต่ส่วนใหญ่ก็นิยมนามาใช้ในการอ่านค่าและตีความเพื่อสรุปผลออกมา(Many experts prefer ranking over graphic or numeric methods) 129. หน้า : 18Week 7: Inference Techniquesการแทนค่าด้วยสัญลักษณะ (Symbolic Representation of Uncertainty)สามารถแทนค่าด้วยสัญลักษณะหลายแบบ (Several Ways to Represent Uncertainty) เช่นการใช้สเกลวัดความเป็นไปได้ด้วยวิธีการของไลเคิร์ต (Likert Scale Approach) เพื่อใช้ในการแสดงความคิดเห็น โดยแบ่งออกเป็น 5 ระดับ เช่น- ไม่น่าเป็นไปได้มาก- ไม่น่าเป็นไปได้- เป็นกลาง- น่าจะเป็นไปได้- น่าจะเป็นไปได้มากซึ่งจัดเป็นการแบ่งช่วงระดับ (Ranking) ที่ผู้เชี่ยวชาญนิยมใช้ในการอ้างอิงข้อมูลเชิงปริมาณซึ่งเป็นข้อมูลที่จัดระดับค่ามากน้อย โดยจะแสดงเป็นตัวเลขแบบสเกลอันดับ (Ordinal) ที่แสดงข้อมูลลาดับความสาคัญ และสเกลแบบเรียงลาดับ (Cardinal) ใช้แสดงข้อมูลเรียงจากมากไปน้อย หรือน้อยไปมาก สาหรับวิธีการแทนค่าด้วยสัญลักษณ์มักจะนิยมนามาใช้กับกระบวนการวิเคราะห์อย่างเป็นลาดับชั้น (Pair-wise Comparison (Analytical Hierarchy Process)) หรือตรรกะคลุมเครือ (Fuzzy logic includes a special symbolic representation combined with numbers) ซึ่งต้องใช้ทั้งตัวเลขผสมกับสัญลักษณ์7.2.9 การให้เหตุผลด้วยเทคนิคความน่าจะเป็นและวิธีที่เกี่ยวข้อง(Probabilities and Related Approaches)ความน่าจะเป็นจะอาศัยการสร้างสมมติฐานเพื่อค้นหาเหตุผล คาดการณ์และตัดสินใจกับปัญหาที่จะเกิดขึ้นอย่างมีประสิทธิภาพ โดยพื้นฐานความน่าจะเป็น มักจะหมายถึงโอกาสในการที่จะเกิดเหตุการณ์ใดเหตุการณ์หนึ่ง ความน่าจะเป็นอาจจะเป็นตัวเลขเศษส่วน หรือค่ากลางระหว่าง 0 กับ 1 หรืออาจมีความน่าจะเป็นในการเกิดเหตุการณ์เป็น 0 หรือ 1 ซึ่งจะกล่าวถึงเทคนิคความน่าจะเป็น และเทคนิคอื่น ดังนี้อัตราส่วนความน่าจะเป็น (The Probability Ratio) P(X) = Number of outcomes favoring the occurrence of X / Total number of outcomesหมายถึง 130. หน้า : 19Week 7: Inference Techniquesความน่าจะเป็นของเหตุการณ์หนึ่ง = จานวนผลลัพธ์ที่เป็นไปได้ในเหตุการณ์นั้น ๆ / จานวน ผลลัพธ์ที่เป็นไปได้ของเหตุการณ์ทั้งหมดโดยที่ P(X) หมายถึง ความน่าจะเป็นของเหตุการณ์หนึ่งเช่น ความน่าจะโยนในการโยนเหรียญ 1 เหรียญ มีผลลัพธ์ที่เป็นไปได้ 2 ทาง คือ หัวกับก้อยความน่าจะเป็นของการโยนเหรียญที่จะขึ้นหัว เท่ากับ 1/2= 0.5ความน่าจะเป็นของการโยนเหรียญที่จะขึ้นก้อย เท่ากับ 1/2 = 0.5-ถ้าความเป็นไปได้ในระบบมีหลายค่า (Multiple Probability Values in Many Systems) เช่นprobabilities: 0.9, 0.7, and 0.65 จึงมีค่าความน่าจะเป็นโดยรวมที่จะเกิดผลลัพธ์ทั้งหมด(The overall probability)P = (0.9)(0.7)(0.65) = 0.4095บางครั้งกฎข้อหนึ่งอาจมีการอ้างอิงถึงกฎข้ออื่น ๆ ซึ่งความน่าจะเป็นของกฎหนึ่ง ๆ อาจสามารถเพิ่มค่าขึ้นจากการอ้างถึงกฎอื่น ๆ (Sometimes one rule references another - individual ruleprobabilities can propagate from one to another) จึงจะต้องประเมินผลรวมของค่าความน่าจะเป็นตามลาดับของกฎ หรือเส้นทางตามการอ้างอิง โดยใช้การค้นหาแบบ Tree ไม่ว่าจะเริ่มจากกฎข้อใดก่อน หรืออาจจับคู่ความน่าจะเป็น เพื่อค้นหาเส้นทางที่ดีที่สุดใน Treeประเภทของความน่าจะเป็น (Several Approaches for Combining Probabilities )ประเภทของความน่าจะเป็น (Probabilities) สามารถจาแนกได้หลายประเภท (can be) เช่น1. ความน่าจะเป็นร่วม Multiplied (joint probabilities) จะเป็นการจับคู่ความน่าจะเป็น โดยการคูณ2. ความน่าจะเป็นอย่างง่าย (Averaged (simple or a weighted average)) เป็นการจับ คู่ความน่าจะเป็นโดยการหาค่าเฉลี่ยทั้งนี้ไม่เพียงแต่พิจารณาเฉพาะผลลัพธ์ที่มีค่ามากที่สุดหรือน้อยที่สุดเท่านั้น (Highestvalue and Lowest value) ยังต้องพิจาณาในทุก ๆ กรณีด้วยว่ากฎและเหตุการณ์ณ์มีความสัมพันธ์กันนั้นเป็นไปในเชิงที่ขึ้นตรงต่อกันหรือไม่หรือเป็นอิสระจากกัน (Rules 131. หน้า : 20 Week 7: Inference Techniquesand events are considered independent of each other) ถ้าความสัมพันธ์ขึ้นตรงต่อกันก็อาจใช้ทฤษฎีของเบส์เซี่ยน (If Dependent - Use the Bayes extension theorem)7.2.10 การให้เหตุผลด้วยเทคนิคความเชื่อมั่น (Certainty Factors)เป็นเทคนิคในการให้เหตุผลของการสรุปความที่มีทฤษฎีแตกต่างจากแนวทาง ๆ สถิติที่เน้นหลักการตั้งสมมติฐานความน่าจะเป็น แต่เทคนิความเชื่อมั่น จะใช้วิธีการกาหนดระดับค่าความเชื่อมั่น(Uncertainty is represented as a Degree of Belief ) โดยไม่เกี่ยวกับค่าความน่าจะเป็น ทาการวัดค่าจากระดับความเชื่อมั่น ((Express the Measure of Belief ) แล้วให้ระบบฐานองค์ความรู้ทาการวิเคราะห์หรือแปลผลระดับความเชื่อนั้น) (Manipulate degrees of belief while using knowledge-based systems)1. ค่าความเชื่อมั่นกับความเชื่อ (Certainty Factors and Beliefs)ทฤษฎีความเชื่อมั่น(Certainty Theory ) จะใช้ ค่าความเชื่อมั่น (Certainty Factors) สาหรับแทนค่าในเหตุการณ์ต่าง ๆ เพื่อให้เห็นถึงความแตกต่างของความเชื่อมั่น และความไม่เชื่อมั่นในเหตุการณ์นั้น จะสามารถกาหนดค่า CF ได้หลายแบบ (Certainty Factors (CF)express belief in an event (or fact or hypothesis) based on evidence (or the expertsassessment))มีหลายวิธีในการกาหนดค่าความเชื่อมั่นในระบบฐานองค์ความรู้ (Several methods of usingcertainty factors in handling uncertainty in knowledge-based systems) เช่น– 1.0 or 100 = absolute truth (complete confidence) หมายถึง กาหนดค่า 1.0 หรือ100 กรณีที่ค่าความเชื่อมั่นเต็มสมบูรณ์– 0 = certain falsehood หมายถึง กาหนดตัวเลข 0 กรณีไม่มีความเชื่อมั่นเลยตัวอย่างเช่น : มีความเชื่อมั่นว่าในการสอบกลางภาค นางสาว A จะทาข้อสอบวิชา AI ได้80% และเชื่อมั่นว่า นาย B จะทาข้อสอบได้ 15%ค่า CF ไม่ใช่ความความน่าจะเป็น (CFs are NOT probabilities) แต่ละค่ามีความเป็นอิสระจากกันไม่จาเป็นที่จะต้องมีผลรวมเท่ากับ 100% (CFs need not sum to 100)ความเชื่อและความไม่เชื่อ (Belief and Disbelief)ความเชื่อและไม่เชื่อจะแยกเป็นอิสระจากกัน แต่ยังมีวิธีที่จะนา 2 สิ่งนี้มารวมกันได้โดยใช้หลักการของความน่าจะเป็น เช่น ตัวอย่างจากสมการต่อไปนี้ 132. หน้า : 21Week 7: Inference Techniques CF[P,E ] = MB[P,E] - MD[P,E]เมื่อ :CF = ค่าความเชื่อมั่น (certainty factor)MB =การวัดค่าความเชื่อ (measure of belief)MD = การวัดค่าความไม่น่าเชื่อ (measure of disbelief)P = ค่าความเป็นไปได้ (probability)E = หลักฐานหรือเหตุการณ์ (evidence or event)2. เทคนิคการผสมผสานค่าความเชื่อมั่น (Combining Certainty Factors)ค่าความเชื่อมั่น (CF) สามารถนามาใช้ร่วมกับค่าประมาณของ Expert ได้หลายวิธี ดังนี้ การนาค่าความเชื่อมั่นหลายค่ามาใช้งานร่วมกับกฎเพียงกฎเดียว (Combining SeveralCertainty Factors in One Rule)ใช้ AND, OR เป็นตัวเชื่อมAND–IF inflation is high, CF = 50 percent, (A), AND ถ้าเกิดสภาพเงินเฟ้อสูงเชื่อได้ 50% และ–IF unemployment rate is above 7 percent, CF = 70 percent, (B), AND มีจานวนผู้ว่างงานสูงเชื่อได้ 70% และ–IF bond prices decline, CF = 100 percent, (C) ค่าของพันธบัตรมีค่าน้อยลง เชื่อได้ 100%–THEN stock prices decline ดังนั้น ราคาพาร์ในตลาดหุ้นจะตกต่าลง (ไม่ได้ระบุค่าความเชื่อมั่นไว้) จะเห็นได้ว่าในส่วนของ THEN จะเป็นส่วนของข้อสรุป (Conclusion) เมื่อเหตุการณ์เป็นจริง และในส่วนของเงื่อนไข IF จะเป็นจริงทุกกรณี แต่ในแง่ของความไม่เชื่อมั่นหรือไม่แน่ใจจาเป็นที่จะต้องมีการสรุปค่า CF ต่าสุดด้วย โดยใช้สมการ ดังนี้CF(A, B, and C) = Minimum[CF(A), CF(B), CF(C)] 133. หน้า : 22 Week 7: Inference Techniquesจากสมการสามารถสรุปค่าความเชื่อมั่นได้ว่า ราคาพาร์ในตลาดหุ้นจะตกต่าลง โดยมีความเชื่อมั่น 50% (The CF for “stock prices to decline” = 50 percent)OR-IF inflation is low, CF = 70 percent; OR-IF bond prices are high, CF = 85 percent;THEN stock prices will be high-Only one IF need be true-Conclusion has a CF with the maximum of the two–CF (A or B) = Maximum [CF (A), CF (B)]-CF = 85 percent for stock prices to be highการรวมกันของกฎตั้งแต่ 2 กฎหรือมากกว่า (Combining Two or More Rules)-Example:–R1: IF the inflation rate is less than 5 percent,THEN stock market prices go up (CF = 0.7)–R2: IF unemployment level is less than 7 percent,THEN stock market prices go up (CF = 0.6)-Inflation rate = 4 percent and the unemployment level = 6.5 percent-Combined Effect–CF(R1,R2) = CF(R1) + CF(R2)[1 - CF(R1)]; or–CF(R1,R2) = CF(R1) + CF(R2) - CF(R1)  CF(R2)Assume an independent relationship between the rules-Example:Given CF(R1) = 0.7 AND CF(R2) = 0.6, then:-CF(R1,R2) = 0.7 + 0.6(1 - 0.7) = 0.7 + 0.6(0.3) = 0.88-ES tells us that there is an 88 percent chance that stock prices will increase-For a third rule to be added–CF(R1,R2,R3) = CF(R1,R2) + CF(R3) [1 - CF(R1,R2)] 134. หน้า : 23 Week 7: Inference TechniquesThird Rule-R3: IF bond price increases,THEN stock prices go up (CF = 0.85)-Assuming all rules are true in their IF part, the chance that stock prices will go up is–CF(R1,R2,R3) = 0.88 + 0.85 (1 - 0.88) = 0.88 + 0.85 (.12) = 0.982สรุป (Summary): 1. Inference Engine : กลไกอนุมาน / กลไกสรุปความ- ช่วยค้นหาองค์ความรู้จากฐานองค์ความรู้ (Search)- เปรียบเทียบรูปแบบ (pattern Matching)- ควบคุมการตรวจสอบ (Invertigate)- ขจัด (Eliminate)- จับคู่เปรียบเทียบ (Matching) ในรูปของกฎช่วยให้ได้ผลลัพธ์ของการสรุปความอย่างเหมาะสม 2. การให้เหตุผลของมนุษย์ : AI เป็นแนวคิดในการลอกเลียนแบบพฤติกรรม และความคิดของมนุษย์ ซึ่งมนุษย์มีวิธีการให้เหตุผลและแนวทางแก้ปัญหาที่แตกต่างกัน 3. มุมมองเกี่ยวกับกระบวนการแก้ปัญหาของมนุษย์ (Problem-Solving Process)แบ่งเป็น 9 รูปแบบ1. Formal Reasoning Method : การแก้ปัญหาโดยใช้การให้เหตุผลเชิงรูปแบบ2. Heuristic Reasoning : การแก้ปัญหาโดยใช้ฮิวริสติก3. Production Rule : กฎแห่งการผลิต4. Common Sense : ใช้สามัญสานึก ต่อสิ่งที่คาดหวังในเป้าหมาย5. Divide and Conquer : ใช้หลักการแบ่งแยกและตัดสินใจเลือกแนวทางที่ดีที่สุด6. Representation : การแทนค่าทางความคิด7. Analogy : ใช้การเทียบเคียง8. Synergy : แก้ปัญหาโดยใช้การมีส่วนร่วม 135. หน้า : 24 Week 7: Inference Techniques9. Serendipity : ใช้เหตุบังเอิญ4. นารูปแบบการตัดสินใจแก้ปัญหาของมนุษย์ทั้ง 9 รูปแบบมาประยุกต์ใช้กับคอมพิวเตอร์ จะสามารถจาแนกตามลักษณะของงาน ออกไป 6 วิธี คือ1. Deductive Reasoning : การให้เหตุผลแบบอนุมาน2. Inductive Reasoning : การให้เหตุผลแบบเหนี่ยวนา3. Analogical Reasoning : การให้เหตุผลโดยอาศัยการเทียบเคียง4. Formal Reasoning : การให้เหตุผลเชิงรูปแบบ5. Procedural / Numeric Reasoning : การให้เหตุผลเชิงระเบียบวิธี6. Metalevel Reasoning : การให้เหตุผลเชิงเมต้าทั้ง 6 วิธีนี้เป็นแนวคิดหลักที่ใช้สรุปความในคอมพิวเตอร์5. วิธีสรุปความและการให้เหตุผลสาหรับนาไปประยุกต์ใช้แก้ปัญหา ที่นิยมใช้กันอย่างแพร่หลาย 8 วิธี1. Rule-Base : การสรุปความโดยใช้กฎ2. Tree : การสรุปความโดยใช้แผนภาพต้นไม้3. Frame : การสรุปความโดยใช้เฟรม4. Model : การสรุปความโดยให้เหตุผลด้วยแบบจาลอง5. Case : การสรุปความโดยให้เหตุผลด้วยกรณีศึกษา6. Probabilities and Related Approach : การสรุปความโดยให้เหตุผลด้วยเทคนิคความน่าจะเป็นและอื่น ๆ7. Certainty Factors : การสรุปความโดยให้เหตุผลด้วยเทคนิคความเชื่อมั่น8. Fuzzy Logic : การสรุปความโดยการให้เหตุผลตรรกะคลุมเครือ6. การสรุปความและให้เหตุผลได้อย่างถูกต้อง ตรงประเด็น จะต้องมีความเข้าใจเกี่ยวกับวิธีการอธิบายความด้วย หากสรุปความได้ดี จะส่งผลดังนี้1. ระบบที่ได้มีความฉลาด2. ทาให้มองเห็น Bug ที่อยู่ในระบบ3. อธิบายสถานการณ์จากสิ่งที่คาดคิดให้แก่ user4. สร้างความมั่นใจให้กับ user5. เพื่อหักล้างข้อสมมติฐานต่อการทางานของระบบที่มีต่อ user และ developer6. วิเคราะห์ความไวของข้อมูลสาหรับใช้พยากรณ์7. องค์ความรู้ที่เก็บอยู่ในฐานองค์ความรู้ : ส่วนใหญ่เป็นองค์ความรู้เกี่ยวกับการให้ 136. หน้า : 25 Week 7: Inference Techniquesเหตุผล (Meta Knowledge) ซึ่ง Meta Knowledge อาจเป็นได้ทั้งแบบองค์รู้เชิงประกาศ (DeclarativeKnowledge) และองค์ความรู้เชิงระเบียบวิธี (procedural Knowledge) 8. ประเภทของการอธิบายความ แบ่งเป็น 3 กลุ่ม1. Trace or Line of Reasoning : อธิบายความเชิงติดตามร่องรอย โดย อ้างความสัมพันธ์ของกฎ ที่เกี่ยวข้องในแต่ละลาดับขั้นตอนก่อนที่จะ ได้ข้อสรุปสุดท้าย2. Justification : การอธิบายความจากเหตุผลหรือข้อเท็จจริง ด้วยการ ชี้แจง ข้อโต้แย้ง หรือให้เหตุผลเพื่อหักล้างสมมติฐาน3. Strategy : การอธิบายความเชิงกลยุทธ์ อธิบายความโดยการนา เป้าหมายมาพิจารณา 9. AI กับสภาพการตัดสินใจภายใต้ความไม่แน่นอน : เป็นกระบวนการหนึ่งที่ ต้องการผลลัพธ์ในการสรุปความ , ในกรณีนี้จะมีการสรุปความ 3 ขั้นต้นตอน1. การแทนค่าความไม่แน่นอนด้วยชุดพื้นฐานของเหตุการณ์2. Merge ข้อมูลความไม่แน่นอน3. การสรุปความ 10. การแทนค่าความไม่แน่นอน สามารถแทนด้วย1. ตัวเลข (Number)2. กราฟและแผนภาพ (Graph and Diagram)3. สัญลักษณ์ (Symbol) 11. วิธีที่นิยมนามาประยุกต์ใช้ในการแทนค่าความไม่แน่นอน มักเป็นหลักการทาง คณิตศาสตร์และสถิติ เช่น1. Probabilities Theories : ทฤษฎีความเป็นไปได้2. Certainty Factors : ความเชื่อมั่น3. Fuzzy Logic : ตรรกะคลุมเครือ4. Bayesian : กฎของเบส์ เบส์ที่คนที่มีชื่อเสียงเป็นที่ยอมรับ5. Dempster-Shafer : ทฎษฎีของเซฟเฟ่ 137. หน้า : 1 Week 6 :Rule and Rule Chaining and Expert System DevelopmentReading : Chapter 7 (P. 119) Rule and Rule Chaining and Expert System DevelopmentRule-Base : การตัดสินใจโดยการใช้กฎ1. If A = 1(เงื่อนไข Then …ข้อสรุป.. Else…กฎข้อต่อไป.. แต่ละประโยค if..then เราจะเรียกว่ากฎConsequent(ข้อสรุป) มี 2 แบบ1. Reaction System คือ2. If A ≠1 (เงื่อนไข) Then..…ข้อสรุป.. ให้ทาอะไรบางสิ่งบางอย่าง2. Dedective System คือให้ไปดูกฎข้อถัดไป Rn: if if1 if2then then1 then2 Antecedent : การเรียงลาดับของกฎที่มาก่อน มาหลัง a statement that something is true is an assertion (ตรงกับการกล่าวอ้าง /วินิจฉัย) assertion (ประโยคที่วินิจฉัย / ที่กล่าวอ้าง) ≠ fact(fact is always true : ex วันนี้วันพุธ หรือ วันนี้ไม่ใช่วันพุธ “ today is Wedwesday or today is not wedwenday” ) a statement that something in a factEx: if today is wedwesdaythen AI ClassEx: Rn: if x has long neck then x may be an animalEx: Rn: if x has a lags and x is an animal then x is a giraffe the collection of assertions is called working memory 138. หน้า : 2 Week 6 :Rule and Rule Chaining and Expert System DevelopmentExercise (P.639)ข้อ 7.1 ให้หาว่า Splashy เป็นสัตว์ชนิดใด ระหว่าง Ostrich(นกกระจอกเทศ) Penguin และ Albatross (นกทะเล) Part 1: ให้คุณสมบัติมา 5 ข้อ และให้ใช้กฎของ ZOOKEEPER’s หาว่ามันเข้ากฎข้อไหนบ้าง (ดูหน้า 121 ) Part 2: หากเพิ่มคุณสมบัติให้มี long legs and long neck มันจะเข้ากฎข้อไหนบ้างข้อ 7.2 เพื่อนเก่าจะมา dinner ที่บ้านตอนเย็น ให้คุณเตรียมเครื่องดื่มในเวลาเพียงไม่กี่นาที ในกิจกรรมของBARTENDER Backward, ใช้ rule-base expert system ในการเลือกเครื่องดื่ม Part I : จากรายการ BARTENDER inquires: เข้ากฎข้อใดบ้าง และเสิร์ฟอะไรไปบ้าง Part II : ถ้า BARTENDER แนะนา Chateau Earl of Bartonville Red With a Mexican steak Part III : ถ้า BARTENDER แนะนา carrot juice with steak ถ้าผู้มาเยียมรับ ตามที่ BARTENDER แนะนา จะได้ผลอย่างไรมันจะทากฎข้อใดบ้างวิธีการสรุปคาตอบของ Rule-Base ทาได้ 2 แบบ1. Forword Chaning2. Backword chainingSummary 1. Rule Base : เป็นกฎอย่างง่าย ๆ สามารถสร้างระบบและนากฎไปใช้ประโยชน์ได้ 2. Rule Base : กฎจะเป็นการอธิบายเหตุผล หาคาตอบด้วยคาถามที่วิเคราะห์เหตุผล how ,why ทาให้การพัฒนาระบบที่มีความน่าเชื่อถือ รวบรวมองค์ความจากผู้เชี่ยวชาญและเก็บในฐานข้อมูลในรูปแบบของกฎได้ 3. Rule Base : จะใช้รูปแบบของตัวแปร ในการตัดสินใจ 4. Rule Base: สามารถทาตัวเป็นเหมือนนักปราชญ์โง่ ๆ ตัดสินใจกับงานที่มีความแน่นอน ชัดเจน 5. Rule Base : สามารถสร้างเป็น model สาหรับแก้ปัญหาของบุคคลได้ 139. หน้า : 1 week 9 : Genetic Algorithm (GA) แนวคิดทางพันธุศาสตร์Genetic Algorithm (GA)หัวข้อ (Topic)1. GA แบบ Crossover2. GA แบบ Mutation3. GA แบบ Inversion4. Maximize functionวัตถุประสงค์การเรียนรู้ (Learning Objective)1. อธิบายหลักการของ GA และแนวทางการประยุกต์ใช้ได้2. สามารถแสดงวิธี Gen คาตอบตามแนวทางของ GA แต่ละวิธีได้3. สามารถใช้ Maximize function ได้Idea of Genetic Alg:1. เลียนแบบการผสมพันธ์ในธรรมชาติ (เรียกว่าเป็นระดับของการ Gen)2. สร้างกลุ่มคาตอบ (เรียกว่า เป็นการเลือกกลุ่มคาตอบที่ดีที่สุด , ผสมเพื่อสร้างกลุ่มคาตอบใหม่)ตัวอย่าง : จากรูป 5.1 จากเราต้องการเดินทางจากจุด S ไปยังจุด G ซึ่งคอมพิวเตอร์ไม่สามารถมองเห็นระยะทางด้วยสายตาได้ ฉะนั้นจะต้องนาเส้นทางที่เป็นไปได้ในการเดินทาง มาเขียนเรียงกัน4 43 AB C S554G 324D E Fรูปที่ 5.1 140. หน้า : 2week 9 : Genetic Algorithm (GA) Step: - นาชื่อของตัวอักษรมาเขียนเรียงกัน ได้เส้นทางดังนี้ (ให้คอมพิวเตอร์หาเส้นทางที่เชื่อมต่อถึงกันจนถึงปลายทาง) 1 S A D B E G C G no matter that the facts, a tautology is always true: we need not make any reference to the data 150. หน้า 4 Week 10 : Logic Calculusตัวอย่าง: Object x is a square or x is not a squareตัวอย่าง: Sentences are tautologyลาดับที่ 2ตัวอย่าง : [p (qr)]  p-> tautology is a sentence that is always true.ตัวอย่าง :1. p (p)2. (pq) [((p) (q))]3. (pq)  (p q)4. (pq) ((p) q))5. (pv) [((p) ( q))]ตัวอย่าง :1. x+x2. (pq)(((p)(q)))  ทาในวงเล็บในสุดก่อน p.q p+q p.q p. q p.q p. q  it tautology3. p+q  p. qp. q = p. q4. (p  q)  (p q) จากประโยคนี้จงหาว่าเป็น tautology หรือไม่Proof : ตัวแปร 2 ตัว (p,q) 2^2 = 4 แถวpq+pq p+q (pq)+(pq) p qp qpqpq (pq)  (pq)1 1 0 0 11 1 151. หน้า 5 Week 10 : Logic Calculus10 0 1 01101 1 0 00100 1 1 111 เป็น Tautology ตารางที่ 6.4เพราะฉะนั้นประโยคนี้เป็นจริงตลอดเวลาถ้า P = 0P = 1P0  เท่ากับตัวมันเอง5. (pq) (p + q) = (p+ q) (p + q)7. p. q  p = p. q + pลองหาว่าเป็น Tautology หรือไม่วิธีที่ 1 p q p.q p.qp 0 0 01 0 1 01 1 0 01 1 1 11 เป็น Tautology ตารางที่ 6.5 152. หน้า 6 Week 10 : Logic Calculusวิธีที่ 2 p. q + p= p+q + p  แตกเพื่อให้ค่าคงที่สมบูรณ์= 1+ q= 1  เป็น Tautology7. q  p+q=q+p+q = 1+p = 1  เป็น Tautology-> p is tautology if pis contradictionตัวอย่าง : p. q  p , q contradiction= p . q + p, q p . qตารางที่ 6.6ลาดับที่ 3-> Tautology1. p  p2. p  q  q  p 153. หน้า 7Week 10 : Logic Calculus3. p  q  q  p4. (p  q) r  p  (q r)5. (p q)  r  p  (q  r)6. (p  q)  r  (p  q)  (p r)7. p ( q  r )  (p  q)  (p  r)8.  (p q)  p  q9.  (p q)  p  q10. p p  p11. p  p  p12. p  q  p13. p  q  q14. p  q  qลาดับที่ 4-> 2 sentences p and q are said to b logically equivalent if p  q is a tautology-> p is said to logically imply q if p  q is a tautology-> for logical equivalence, we write p  q and for logical implication, we write p  q-> according to the definition of logical equivalence p  q is a tautology iff p  qDe Morgan’s Lawpq  ((p)  (q)) 1.x+y = x.ypq  ((p)  (q)) 2.x.y = x+yลาดับที่ 5ตัวอย่าง: consider Demorgan’s Law pq  ((p)  (q)) 154. หน้า 8 Week 10 : Logic Calculuswe need to show thatT(pq) = T( ((p)  (q))-> When ever the truth value of a sentence is always 0, the sentence is said to be a contradiction-> It is immediate that p is a tautology iff p is a contradiction if in p every instance of  is replace by  , every instance of  is replace by , and eachsentence is regated, then the resolting sentenceq is a contradiction and p  q is a tautology-> q has been obtained from p by dualityตัวอย่าง: p  q   r  p  q  scan be written as[T((p ) q)  ( r )]  p  q  sลาดับที่ 6Analysis : given sentences P1,P2 .. Pn and truth fn F(P1,P2 ..Pn) find T(f(p1,p2..pn))Synthesis : given sentences P1,P2..Pn, T(f(P1,P2 ..Pn)) Find f(P1,P2 ..Pn)pqrf(p,q,r)000 0001 1 155. หน้า 9 Week 10 : Logic Calculus010001101000101011011111 ตาราง 6.2Synthesis problems-> in an analysis problem, a sentence is given and the objective is to … the truth value -> find T(f)P1,P2,..Pn))ตัวอย่าง : S=(Pqr) (pqr) (pqr)-> conversely, given a truth table, we might wish to find a sentence with the appropriate truthvalue.T(f(P1,P2,..,Pn)) is given, find f(P1,P2,..Pn)เพราะฉะนั้น logic จะหาว่ามันเป็นจริงหรือไม่ (tautology) หาได้ 3 วิธี (จริง ๆ มีมากกว่านี้)1. Truth table (ตารางค่าความจริง)2. พีชคณิต เช่น (A+B) (A+B) = ? ถ้าค่า = 1 เป็นจริง (tautology)3. Wang’s algตัวอย่าง : วิธีที่ 1 Truth table (ตารางค่าความจริง)(A+B) (A+B) = ?A B A B A+B A+B0 0 11 1 1ไม่เป็น Tautology0 1 10 1 0เพราะไม่เป็น 1ทั้งหมด1 0 01 0 11 1 00 1 1ตารางที่ 6.3 156. หน้า 10 Week 10 : Logic Calculusตัวอย่าง : วิธีที่ 2 พีชคณิต(A+B) (A+B) = ? = A.A + B.A + A.B+ B.B = B.A + A.B  ไม่เป็น Tautologyตัวอย่าง : วิธีที่ 3 Wang’s alg A.B.C  A, BANDOR-> Wang’s Algto prove theoremP1,P2 .. Pn  C1, C2 .. Cn ต้องการทราบว่าประโยคนี้เป็น Tautology หรือไม่P1  P2  P3  ..  Pn  C1C2C3..CnAlg1. Removengation ตัวอย่าง :p,q, r   s, t Becomep,q,s  r,t (ตัด not ทิ้งโดยการย้ายข้าง) หรือ p, q , r   s, t Become p.q.r  s+ t (เป็นวิธีการเปลี่ยนเครื่องหมายให้เป็น ANN,OR,NOT)Imply = if..then หรือ p, q , r   s, t If Become p.q.r + s+ tthen แยก Bar : = p+ q + r + s+ t the technique of cheeking only the instances in which all the premises are true is called themethod of forward chaining(ยังมีต่อ และต่ออีก p.12 backword chaning)[p (qr)]  p 


Comments

Copyright © 2025 UPDOCS Inc.