Artificial Intelligence Reading Materials: Ch 14 of [SG] Also Section 9.4.2 Logic Programming Additional Notes: (from web-site) Contents: Different Types of Tasks Knowledge Representation Recognition Tasks Reasoning Tasks © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 1 For Spring 2012 semester Will only cover: Parts of Ch. 14 covered Turing Test, Eliza Division of Labour in AI Formal Language for Knowledge Representation Reasoning: Intelligent Search, Expert Systems Ch. 14.1 Introduction Ch. 14.2 Division of Labour Ch. 14.3 Only Formal Language (Predicates) Ch. 14.5 Reasoning Tasks Will not cover Knowledge Representation (except Formal Lang) Recognition Tasks (Ch 14.4) Robotics (Ch 14.6) © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 2 Artificial Intelligence… Context so far… Use algorithm to solve problem Database used to organize massive data Algorithms implemented using hardware Computers linked in a network Educational Goals for this Chapter: The computer as a tool for Solving more human-like tasks Build systems that “think” independently Can “intelligence” be encoded as an algorithm? © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 3 Introduction Artificial intelligence (AI) Explores techniques for incorporating aspects of “intelligence” into computer systems Turing Test (Alan Turing) A test for intelligent behavior of machines Allows a human to interrogate two entities, both hidden from the interrogator A human A machine (a computer) © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 4 The Turing Test If the interrogator is unable to determine which entity is the human and which the computer, then the computer has passed the test © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 5 Introduction (continued) Artificial intelligence can be thought of as constructing computer models of human intelligence Early attempt: Eliza (see notes, website) © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 6 © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 7 A Typical Conversation with Eliza © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 8 Is Eliza really “intelligent”? How Eliza does it… © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 9 Eliza Conversation revisited Encouragement Encouragement simple inversion template “I am ..” template “do you…” template “what …” template “tell me…” template “who else…” Finish the rest yourself © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 10 A Division of Labor Categories of “human-like” tasks Computational tasks Recognition tasks Reasoning tasks © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 11 A Division of Labor (continued) Computational tasks Tasks for which algorithmic solutions exist Computers are better (faster and more accurate) than humans Recognition tasks Sensory/recognition/motor-skills tasks Humans are better than computers Reasoning tasks Require a large amount of knowledge Humans are far better than computers © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 12 Figure 14.2: Human and Computer Capabilities © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 13 Artificial Intelligence Skipped in Spring 2012 Contents: Different Types of Tasks Knowledge Representation Recognition Tasks Modeling of Human Brain Artificial Neural Networks Reasoning Tasks Skip Forward: © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 14 Recognition Tasks: Human Skipped in Spring 2012 A Neuron Neuron – a cell in human brain; capable of: Receiving stimuli from other neurons through its dendrites Sending stimuli to other neurons thru’ its axon © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 15 Human Neurons: How they work Skipped in Each Spring 2012 neuron Sums up activating and inhibiting stimuli it received – call the sum V If the sum V equals or exceeds its “threshold” value, then neuron sends out its own signal (through its axon) [fires] Each neuron can be thought out as an extremely simple computational device with a single on/off output; © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 16 Recognition Tasks (continued) Skipped in Spring 2012 Human brain: a connectionist architecture A large number of simple “processors” with multiple interconnections Von Neumann architecture A small number (maybe only one) of very powerful processors with a limited number of interconnections between them © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 17 Skipped in Recognition Tasks (continued)Spring 2012 Artificial neural networks (neural networks) Simulate individual neurons in hardware Connect them in a massively parallel network of simple devices that act somewhat like biological neurons The effect of a neural network may be simulated in software on a sequentialprocessing computer © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 18 Modeling a single neuron Skipped in Spring 2012 An artificial neuron Each neuron has a threshold value Input lines carry weights that represent stimuli The neuron fires when the sum of the incoming weights equals or exceeds its threshold value © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 19 Operation of 1 neuron. Skipped in Spring 2012 Figure 14.5: One Neuron with Three Inputs When can the output be 1? (neuron “fire”) Can you modify the network and keep the same functionality? © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 20 An OR gate (using ANN) Skipped in Spring 2012 Figure 14.7 A simple neural network When can the output be 1? (neuron “fire”) Can you draw a table for “x1 x2 Output” © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 21 What about XOR gate? Skipped in Spring 2012 Figure 14.8. The Truth Table for XOR Question: Can a simple NN be built to represent the XOR gate? © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 22 More Simple Neural Networks Skipped in Spring 2012 Your HW: Give the “truth table” for these NN; © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 23 Recognition Tasks (continued) Skipped in ANN Spring 2012 (sample) © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 24 Neural Network – with LearningSkipped in Spring 2012 Real Neural Networks: • Uses back-propagation technique to train the NN; • After training, NN used for character recognition; • Read [SG] for more details. © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 25 NN (continued) Skipped in Spring 2012 Some Success stories… NN successfully used for small-scale license plate recognition – of trucks at PSA gates; Between 2003-2006, NN also used for recognizing license plates at NUS carpark entrances. © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 26 Recognition Tasks (summary) Skipped in Spring 2012 Neural network Both the knowledge representation and “programming” are stored as weights of the connections and thresholds of the neurons The network can learn from experience by modifying the weights on its connections © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 27 Artificial Intelligence Contents: Different Types of Tasks Knowledge Representation Recognition Tasks Reasoning Tasks Intelligent Search Intelligent Agents Knowledge-Based Systems © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 28 Reasoning Tasks Human reasoning requires the ability to draw on a large body of facts and past experience to come to a conclusion Artificial intelligence specialists try to get computers to emulate this characteristic Related Story: Bill Gates and Pancake Flipping © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 29 Intelligent Search Example (Ch. 14.5.1) Solving a Puzzle (the 9-Puzzle) Involves Planning Learning from past experience Simulated/Modelling by Searching a State-graph State Graph can be Very BIG Searching for “Goal State” How to guide the search to make it more efficient. © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 30 State Graph for 8-Puzzle © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 31 Intelligent Searching State-space graph: After any one node has been searched, there are a huge number of next choices to try There is no algorithm to dictate the next choice State-space search Finds a solution path through a state-space graph © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 32 The Search Tree for the 9-Puzzle © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 33 Search Strategy for 9-Puzzle © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 34 Figure 14.12 A State-Space Graph with Exponential Growth © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 35 AI in Game Playing © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 36 Intelligent Searching (continued) Each node represents a problem state Goal state: the state we are trying to reach Intelligent searching applies some heuristic (or an educated guess) to: Evaluate the differences between the present state and the goal state Move to a new state that minimizes those differences © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 37 Intelligent State Space search… See notes (pdf) for concrete example Some Success stories… AI in chess playing – Deep Blue (1997) Deep Blue evaluate 200M positions/sec, or 50B positions in 3min Other games: Othello, checkers, etc © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 38 Swarm Intelligence (Ch. 14.5.2) Skipped in Spring 2012 Swarm intelligence Models the behavior of a colony of ants Model with simple agents that: Operate independently Can sense certain aspects of their environment Can change their environment May “evolve” and acquire additional capabilities over time © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 39 Intelligent Agents (Ch. 14.5.3) Skipped in Spring 2012 An intelligent agent: software that interacts collaboratively with a user Initially, an intelligent agent simply follows user commands Over time, the intelligent agent initiates communication, takes action, and performs tasks on its own using its knowledge of the user’s needs and preferences © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 40 Skipped in Intelligent Agents (where used) Spring 2012 Wizards (assistants) for Office Software Personalized Web Search Engines Push info, news, advertisements etc © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 41 Expert Systems (Ch. 14.5.4) Rule-based systems Also called expert systems or knowledgebased systems Attempt to mimic the human ability to engage pertinent facts and combine them in a logical way to reach some conclusion Read also Sect 9.4.2 of [SG2/3] (Logic Programming) © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 42 Expert Systems (continued) A rule-based system must contain A knowledge base: set of facts about subject matter An inference engine: mechanism for selecting relevant facts and for reasoning from them in a logical way Many rule-based systems also contain An explanation facility: allows user to see assertions and rules used in arriving at a conclusion © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 43 Expert Systems (continued) A fact can be A simple assertion A rule: a statement of the form if . . . then . .. Modus ponens (method of assertion) The reasoning process used by the inference engine © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 44 Knowledge Based System: © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 45 Knowledge-Based System… © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 46 Expert Systems (continued) Inference engines can proceed through Forward chaining Backward chaining Forward chaining Begins with assertions and tries to match those assertions to “if” clauses of rules, thereby generating new assertions © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 47 Expert Systems (continued) Backward chaining Begins with a proposed conclusion Tries to match it with the “then” clauses of rules Then looks at the corresponding “if” clauses Tries to match those with assertions, or with the “then” clauses of other rules © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 48 Expert Systems (continued) A rule-based system is built through a process called knowledge engineering Builder of system acquires information for knowledge base from experts in the domain © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 49 Expert Systems: Structure © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 50 Expert Systems: Rules © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 51 Summary Artificial intelligence explores techniques for incorporating aspects of intelligence into computer systems Categories of tasks: computational tasks, recognition tasks, reasoning tasks Neural networks simulate individual neurons in hardware and connect them in a massively parallel network © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 52 Summary Swarm intelligence models the behavior of a colony of ants An intelligent agent interacts collaboratively with a user Rule-based systems attempt to mimic the human ability to engage pertinent facts and combine them in a logical way to reach some conclusion © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 53 © Leong Hon Wai, 2003-2008 LeongHW, SoC, NUS (UIT2201: AI) Page 54 Did you know that … I used to flip pancakes. Bill Gates [比尔 盖茨] , Microsoft 55 Did Bill Gates really flip pancakes? Given an initial pancake configuration... You want to get a “sorted” configuration … Constraints: can only flip … Source: Neil Jones and Pavel Pevzner, 2004 (using a spatula) “Introduction to BioInformatics Algorithms”. Example … Bill Gates & Christos Papadimitriou:, “Bounds For Sorting By Prefix Reversal.” Discrete Mathematics, Vol 27, pp 47-57, 1979. 56 More pancake-flipping examples… 2 flips 3 flips Abstraction skills, Problem Solving skills ? flips 57 An Initial Algorithm (Greedy) Simple Idea: “Sort” the biggest unsorted pancake first… Unsorted Sorted Largest unsorted 58 Is Greedy “the best” possible? Answer: NO A Counter Example: Greedy method Better way 59 Solution Space… 60 Search Tree… (systematically search the search space) 61