Asanee Kawtrakul NAiST-Lab & U-Know Center Summary AI Asanee Kawtrakul NAiST-Lab & U-Know Center finalclass_AI_2009_Sep_20
Lecture Outline Artificial Intelligence (AI) Overview Knowledge base systems (KBS) Expert systems (ES) characteristics advantages fundamental topics Knowledge engineering (KE) finalclass_AI_2009_Sep_20
What is Artificial Intelligence? “The exciting new effort to make computers think… machines with minds, in the full and literal sense.” (Haugeland 1985) “The study of mental faculties through the use of computational models.” (Charniak & McDermott 1985) finalclass_AI_2009_Sep_20
What is AI? (cont'd) “AI is the part of computer science concerned with designing intelligent computer systems, that is, systems that exhibit the characteristics we associate with intelligence in human behaviour – understanding language, learning, reasoning, solving problems and so on.” (Barr & Feigenbaum, Jackson chapter 2) There are many different “definitions” of AI. Simply speaking, we want to write programs that make a computer to behave intelligently. “Intelligence”, on the other hand, is a fuzzy term which is difficult to define and there can be different degree of intelligence. You can argue that the ability to execute an “if-then- else” statement properly is an intelligent behaviour but this is not very useful. finalclass_AI_2009_Sep_20
Some AI Areas Artificial Intelligence Giarratano Ch 1 figure 1-1 Vision robotics Natural language Speech Artificial Intelligence understanding AI is a big topic which has many specialised sub- areas. “Expert systems” is only one of the many sub-fields. Artificial neural network expert systems Giarratano Ch 1 figure 1-1 finalclass_AI_2009_Sep_20
Why Bother about AI? a whole new realm of what computers can do traditional applications databases (e.g. Oracle, Access) office automation software (e.g. Word) communication (e.g. WWW, email) AI applications problems that require intelligence (e.g. medical diagnosis of diseases) When you have a problem, don’t just think about the traditional way of programming. Think whether an AI approach is more appropriate/suitable. finalclass_AI_2009_Sep_20
ลักษณะของปัญหาที่ใช้ AI ปัญหาที่มีทางเลือกมากมายเพื่อไปให้ถึงคำตอบ ต้องการคำตอบภายในระยะเวลาที่กำหนด ข้อมูลที่ใช้ในการตัดสินใจเปลี่ยนแปลงไปหรือมีเพิ่มขึ้นเรื่อยๆ เมื่อเวลาผ่านไป ปัญหาที่มีข้อมูลไม่ครบถ้วน (ill-formed problem) finalclass_AI_2009_Sep_20
AI Concept Knowledge Representation Reasoning and Planning Searching Machine Learning finalclass_AI_2009_Sep_20
What are Knowledge-Based Systems? the keyword: knowledge a program that uses knowledge to solve problems knowledge can be specialised or general In general, a KBS simply means a computer system that uses “knowledge”. As a consequence, it implies that knowledge has to be digitized before the computer can make use of it. Specialised knowledge is easier to manage because the scope is smaller. finalclass_AI_2009_Sep_20
What are Expert Systems? the keyword: expert “… an intelligent computer system that uses knowledge and inference procedures to solve problems that are difficult enough to require significant human expertise for their solution.” (Feigenbaum) to emulate the decision-making ability of a human expert finalclass_AI_2009_Sep_20
Expert System (cont'd) a (specialised) KBS contains “expertise” i.e. specialised knowledge provides expert-quality solutions usually confined to a specific domain Why bother about Expert Systems? ES is one of the most successful applications of AI to real-life problems Generally speaking, a KBS may not be an ES, and an ES may not be a KBS. You can considered them 2 sets that overlap. In this module, we only concern about ES which are KBS. finalclass_AI_2009_Sep_20
Characteristics of ES (Jackson Ch 1, sec 1. 2, Giarratano Ch 1, sec 1 internal characteristics simulates human reasoning use of heuristics/ approximate methods representation of human knowledge subjects of realistic complexity external characterisitcs high performance quality (expert-level advice) speed (adequate response time) reliability (not easily crashed) understandable, explaining and justifying solutions finalclass_AI_2009_Sep_20
Let’s think What is the advantage of ES? finalclass_AI_2009_Sep_20
Advantages of Expert Systems (Giarratano Ch1, Sec 1.3) increased availability expertise available on suitable hardware mass production of expertise reduced cost cost of providing expertise per user is lowered reduced danger ES can be used in hazardous environment finalclass_AI_2009_Sep_20
Advantages of Expert Systems (cont’d) permanence expertise is permanent, human expert may retire/quit multiple expertise combining expertise of multiple experts increase reliability 2nd opinion assisting human expert explanation explicitly explain how conclusion is reached finalclass_AI_2009_Sep_20
Advantages of Expert Systems (cont’d) fast response depending on software & hardware, real-time ES response faster than human expert steady, unemotional & complete response ES has no problem of stress/ fatigue intelligent tutor student runs sample programs, ES explains system's reasoning finalclass_AI_2009_Sep_20
Different Expert System Paradigms production systems also called Rule-Based System Case-based reasoning other paradigms e.g. artificial neural network Remember that an ES is a system that gives expert- quality solutions. Therefore, there are many different approaches/ways/means to achieve this target. We will focus on rule-based system and case-based reasoning in this module but it doesn’t rule out the possibility of using other approaches to construct expert systems. finalclass_AI_2009_Sep_20
Some ES Tasks interpretation prediction high-level description from collections of data e.g. interpret information supplied by the blood cell analyser prediction consequences of situations e.g. storm forecasting finalclass_AI_2009_Sep_20
Some ES Tasks (cont'd) diagnosis design finding cause of malfunctions e.g. medical/car diagnosis design configuring components subject to constraints e.g. computer configuration “Design” is a synthesising task. i.e. creating something. finalclass_AI_2009_Sep_20
Some ES Tasks (cont'd) planning monitoring sequence of actions to achieve goal e.g. schedule tasks of a manufacturing process monitoring comparing observed & predicted behaviour e.g. patient monitoring in an intensive case unit finalclass_AI_2009_Sep_20
Some ES Tasks (cont'd) debugging & repair control remedying failures e.g. recommend the sequence of steps to repair a computer control operating complex environment e.g. nuclear power station control finalclass_AI_2009_Sep_20
Expert System Examples MYCIN diagnosis of bacterial infection DENDRAL determine structure of molecules from mass spectrograms XCON/R1 configuration of VAX computers TIGER monitors the condition of gas turbines METEOR forecasts short term sever storms VM monitors condition of patients in ICU DIET assists dietitians in prescription of an appropriate diet EVIDENT determines the admissibility of evidence under US federal rules We will look at XCON/R1 and MYCIN. finalclass_AI_2009_Sep_20
What is Knowledge Engineering? the process of building an ES the effort in developing a large quantity of effective knowledge (i.e. the KB) the acquisition of knowledge from a human expert or other source (by a knowledge engineering) and its coding in the ES KE is important, because: performance of an ES is largely determined by the quantity & quality of knowledge in its KB finalclass_AI_2009_Sep_20
Knowledge Engineering in a Nutshell human expert knowledge refinement dialog knowledge engineer This diagram show the cycle of knowledge elicitation and refinement. Expertise is elicited from human experts and put into a knowledge base. Refinement of knowledge in the KB improves the performance of the ES. explicit knowledge knowledge base (in ES) (Giarratano Ch 1, fig. 1-4) finalclass_AI_2009_Sep_20
Fundamental Topics in ES (Jackson 1.3 pp 4) acquiring knowledge “the transfer & transformation of potential problem-solving expertise from some knowledge source to a program”(Buchanan 1983) representing knowledge logical, conceptual scheme of how knowledge is stored & associated in human brain controlling reasoning how knowledge is accessed & applied finalclass_AI_2009_Sep_20
Fundamental Topics in ES (cont'd) (Jackson 1.3 pp 4) explaining solutions users want to make sure that program's conclusions are correct knowledge engineers make sure that knowledge is properly applied domain experts to see how their knowledge is applied programmers to debug ES finalclass_AI_2009_Sep_20
Summary KBS is a sub-field of AI ES is a kind of KBS an ES is usually specific to an application domain KE is the process of building an ES involves putting knowledge into a knowledge base finalclass_AI_2009_Sep_20
Representation Language Semantic Network Production Rule Symbolic Logic Frame And Script finalclass_AI_2009_Sep_20
Semantic Network Manipulation:Properties Inheritance Repesentation Syntax Link Node Label height finalclass_AI_2009_Sep_20
Production Rule เป็นการแทนความรู้ในรูปแบบกฎ ส่วนประกอบของระบบมี 3 อย่างคือ Rule-Based กฎทั้งหมดที่รวบรวมไว้ Working Memory ข้อมูลที่เป็น fact, สถานภาพที่เป็นจริง Inference Engine ส่วนที่ทำหน้าที่เลือกกฎที่เหมาะสมที่สุด finalclass_AI_2009_Sep_20
Symbolic Logic การแทนความรู้ให้อยู่ในลักษณะที่มีค่าเป็นหรือเท็จ เมื่อแทนออกมาแล้ว ทุก statement ต้องสอดคล้องกัน แต่ละ statement ไม่กำกวม EX. (x) Fish(x) -> Swim(x) finalclass_AI_2009_Sep_20
Frame And Script Frame Script แทนความรู้โดยดูจากคุณสมบัติและลักษณะของ object ที่พิจารณา ส่วนใหญ่เป็นลักษณะทั่วไปที่ทุกคนเห็นและยอมรับ Ex. ปีก เป็น คุณสมบัติหนึ่งของ object ‘นก’ Script อธิบายความรู้ในรูปแบบลำดับของเหตุการณ์ finalclass_AI_2009_Sep_20
การหาเหตุผลและการวางแผน (Reasoning and Planning) ต้องมีการกำหนดสถานะเริ่มต้นและสถานะเป้าหมาย finalclass_AI_2009_Sep_20
เทคนิคการหาเหตุผล ใช้กับการแทนความรู้แบบ Production Rule Forward Chaining : เหตุ ผล Backward Chaining: ผล เหตุ ใช้กับการแทนความรู้แบบ Production Rule Resolution : ใช้กับการแทนความรู้แบบ Symbolic Logic finalclass_AI_2009_Sep_20
ค้นหาความรู้ (Searching) เป็นเทคนิคที่ใช้เพื่อแก้ปัญหาที่มีเส้นทางไปสู่คำตอบมากมาย (Combination Explosion) ค้นหาเส้นทางที่คิดว่าดีที่สุดในปัญหาที่มีหลายทางเลือก finalclass_AI_2009_Sep_20
ประเภทของการ Search ช้า Non heuristic Search เป็นการค้นหาคำตอบแบบทั่วไปตามลำดับ ขึ้นกับชนิดของ algorithm ช้า Heuristic search เป็นการค้นหาโดยใช้ฟังก์ชันหรือปัจจัยที่เกี่ยวข้อง มาช่วยตัดสินใจเลือกเส้นทางที่คิดว่าน่าจะถูกต้อง หรือดีกว่าเส้นทางอื่น finalclass_AI_2009_Sep_20
การเรียนรู้ (Machine Learning) เป็นวิธีการช่วยให้คอมพิวเตอร์แก้ไขปัญหาได้ดีและถูกต้องมากขึ้นเมื่อเจอปัญหาลักษณะเดิม ต้องจำเหตุการณ์และผลลัพธ์ที่เคยคำนวณมาแล้วได้ finalclass_AI_2009_Sep_20
ผลลัพธ์ที่ได้จากการแก้ปัญหาโดยใช้เทคนิคของAI Path ต้องการเส้นทางหรือวิธีการที่ทำให้ได้คำตอบ Ex. Water jug problem Result ต้องการคำตอบสุดท้ายโดยไม่สนใจที่มา Ex. ใครเป็นคนขโมยโทรศัพท์ finalclass_AI_2009_Sep_20
ตัวอย่างการประยุกต์เทคนิค AI Applications of AI finalclass_AI_2009_Sep_20
การประยุกต์เทคนิค AI เน้นการแก้ปัญหาในชีวิตประจำวัน การชี้แจงเหตุผลโดยใช้สามัญสำนึก (Commonsense reasoning) เลียนแบบความสามารถมนุษย์ finalclass_AI_2009_Sep_20
ระบบประมวลผลภาษาธรรมชาติ ระบบเพื่อแปลภาษา (Machine Translation) ระบบเพื่อติดต่อด้วยภาษาธรรมชาติ (Natural Language Interface) ระบบเพื่อทำความเข้าใจ (Text or Discourse Understanding) ระบบเพื่อสร้างถ้อยความ (Generation of Texts) finalclass_AI_2009_Sep_20
ระบบผู้เชี่ยวชาญ ใช้ฐานข้อมูลขนาดใหญ่ กระบวนการหาเหตุผล ความรู้ทางสามัญสำนึก (Commonsense Knowledge) ความรู้ทางสรรพสิ่ง (World knowledge) ความชำนาญเฉพาะด้าน (Domain specific knowledge) กระบวนการหาเหตุผล finalclass_AI_2009_Sep_20
ระบบหุ่นยนต์ ประกอบด้วยส่วนที่เคลื่อนไหวได้ และระบบควบคุม Virtual Simulation Honda Humanoid Robot finalclass_AI_2009_Sep_20
เกมส์ การค้นหาบนห้วงสถานะ (state space search) เกมส์กระดาน ไพ่ ต่าง ๆ ใช้เทคนิคฮิวริสติค (Heuristic) ตัวอย่าง The Sims FIFA Soccer finalclass_AI_2009_Sep_20
Machine Learning พัฒนาความสามารถของระบบปัญญาประดิษฐ์โดยการเพิ่มและการขัดเกลาความรู้ นำไปใช้กับ เกมส์ Knowledge discovery & Data mining finalclass_AI_2009_Sep_20
Pattern Recognition การกำหนดลักษณะและรูปแบบของข้อมูล (Classification) ทำงานร่วมกับเทคนิคแม็ชชีนเลิร์นนิ่ง ประยุกต์ใช้กับ การตรวจจับคำเดี่ยวในคำพูด การจดจำและแยกแยะเสียง finalclass_AI_2009_Sep_20
Applications Artificial Life Automated Reasoning Theorem Proving Database Mining Information Retrieval Job Scheduling Resource Allocation Navigational System Computer-Assisted Instruction finalclass_AI_2009_Sep_20
สรุป finalclass_AI_2009_Sep_20
Readings Russell & Norvig Giarratano Jackson Chapter 1, sec 1.1, on “AI” Giarratano Chapter 1, “Intro to Expert Systems” Jackson Chapter 1, on “Expert Systems” finalclass_AI_2009_Sep_20
Hint for Final Exam Human Intelligence VS Artificial Intelligence AI Definition finalclass_AI_2009_Sep_20
คำจำกัดความของ AI (1) ปัญญาประดิษฐ์ – จอห์น แมคคาธี ปี 1956 ความหมายหลักของปัญญาประดิษฐ์ คือ การทำให้คอมพิวเตอร์เป็นอัจฉริยะ การสร้างโมเดลคอมพิวเตอร์จำลองปัญญามนุษย์ การสร้างเครื่องจักรให้เลียนแบบ finalclass_AI_2009_Sep_20
คำจำกัดความของ AI (2) ซึ่งสอดคล้องกับ 3 แนวทางที่ใช้ คือ แนววิธีที่เน้นเชิงพฤติกรรม (behavior-oriented approach) แนววิธีของขบวนการรับรู้ (cognitive approach) แนววิธีของหุ่นยนต์ (robotic approach) finalclass_AI_2009_Sep_20
Human Intelligence ความสามารถในการใช้ และ เข้าใจภาษา ความสามารถในการหาเหตุผล ความสามารถในการแก้ไขปัญหาโดยอิงความรู้ และประสบการณ์ ความสามารถในการเรียนรู้สิ่งใหม่ ความสามารถในการรับรู้ ความสามารถในการเคลื่อนไหว และ ควบคุม finalclass_AI_2009_Sep_20
ฉลาดแบบประดิษฐ์ ระบบประมวลผลภาษาธรรมชาติ (natural Language Processing System) ระบบการให้เหตุผลอัตโนมัติ (Automatic Reasoning) ระบบผู้เชี่ยวชาญ (Expert System) ระบบการเรียนรู้ (Machine Learning) การวิเคราะห์เสียง และภาพ (Voice and Image Processing) ระบบหุ่นยนต์ (Robotics) finalclass_AI_2009_Sep_20
Tips finalclass_AI_2009_Sep_20
ภาษาที่นิยมใช้ใน AI (1) ที่นิยมใช้มีอยู่ 2 ภาษา คือ LISP เหมาะกับการประมวลผลสัญลักษณ์ (symbolic processing) PROLOG เหมาะกับปัญหาที่อธิบายได้ด้วยข้อเท็จจริง และเงื่อนไข finalclass_AI_2009_Sep_20
ภาษาที่นิยมใช้ใน AI (2) ตัวอย่างภาษา LISP แทนความรู้ เช่น แทนความรู้เกี่ยวกับสัน (สัน (ชื่อเต็ม สันต์ เดชะภากร) (ชื่อที่ 2 สมัน) (ชื่อที่ 3 สมุน) (ชื่อที่ 4 หาบ) ) finalclass_AI_2009_Sep_20
ภาษาที่นิยมใช้ใน AI (3) แทนกฎ เช่น แทนกฎสำหรับอนุมานว่า x เป็น สมัน ถ้า x มีเขา (กฏที่1 (if (has-a เขา) then (is-a สมัน) ) ) ) finalclass_AI_2009_Sep_20
ภาษาที่นิยมใช้ใน AI (4) ตัวอย่างภาษา PROLOG ข้อเท็จจริง father(แดง,ดำ). father(ดำ,ขาว). กฎ grandfather(X,Y) :- father(X,Z), father(Z,Y). เราสามารถตั้งคำถามโดยใช้ภาษา PROLOG แสดงแทนได้ดังนี้ ?- father(แดง,ดำ) true ?- grandfather(X,ขาว) X=แดง finalclass_AI_2009_Sep_20
เอกสารอ้างอิง (1) George F. Luger, William A. Stubblefield, “Artificial Intelligence:Structures and Strategies for Complex Problem Solving”, The Benjamin/Cummings Publishing Company, Inc., 1993. www.ai-depot.com http://www-formal.stanford.edu/jmc/whatisai/whatisai.html http://www.ics.uci.edu/~chair/research/AI95.html http://world.honda.com/robot http://satirist.org/learn-game/ finalclass_AI_2009_Sep_20