Beruflich Dokumente
Kultur Dokumente
Instructor: Dr S.Natarajan Professor and Key Resource Person Department of Information Science and Engineering PES Institute of Technology Bangalore
Alan Turing
John McCarthy
Marvin Minsky
Kevin Knight
Shivashankar B Nair
UNIT I
Part I:
Introduction: Concepts and definitions of AI, AI problems and characteristics, AI Vs Natural Intelligence ( Turing Test), Applications of AI
Part II:
Problems, Problem Spaces, Search: Defining the problem a State Space Search Production System, Problem Characteristics, Production System Characteristics, Issues in the Design of Search Program, DFS,BFS
Part III:
Heuristic Search Techniques: What is a Heuristics? Heuristic Function, Search Techniques, Generate and Test, Hill Climbing, Best First Search, A* Algorithms
Part IV:
Game Playing: AI in Games, Minimax Algorithm, Alpha Beta Pruning, Examples
20th century Karel Kapek writes Rossum s Universal Robots , coining the English word robot Warren McCulloch and Walter Pitts lay partial groundwork for neural networks Turing writes Computing Machinery and Intelligence proposal of Turing test
1956: John McCarthy coins phrase artificial intelligence 19521952-62: Arthur Samuel writes the first AI game program to challenge a world champion, in part due to learning. 1950 s-60 s: Masterman et. al at Cambridge screate semantic nets that do machine translation.
1961: James Slagle writes first symbolic integrator, SAINT, to solve calculus problems. 1963: Thomas Evan s writes ANALOGY, which solves analogy problems like the ones on IQ tests. 1965: J. A. Robinson invents Resolution Method using formal logic as its representation language.
1965: Joseph Weizenbaum creates ELIZA, one of the earliest chatterbots 1967: Feigenbaum et. al create Dendral, the first useful knowledge-based agent that knowledgeinterpreted mass spectrographs. 1969: Shakey the robot combines movement, perception and problem solving.
1971: Terry Winograd demonstrates a program that can understand English commands in the word of blocks. 1972: Alain Colmerauer writes Prolog 1974: Ted Shortliffe creates MYCIN, the first expert system which showed the effectiveness of rule-based knowledge rulerepresentation for medical diagnosis.
1978: Herb Simon wins Nobel Prize for theory of bounded rationality 1983: James Allen creates Interval Calculus as a formal representation for events in time. 1980 s: Backpropagation (invented 1974) rediscovered and sees wide use in neural networks
1985: ALVINN, an autonomous land vehicle in a neural network navigates across the country (2800 miles). Early 1990 s: Gerry Tesauro creates TDTDGammon, a learning backgammon agent that vies with championship players 1997: IBM Deep Blue defeats Garry Kasparov
The Future?
Idea of Artificial Intelligence is being replaced by Artificial life, or anything with a form or body. The consensus among scientists is that a requirement for life is that it has an embodiment in some physical form, but this will change. Programs may not fit this requirement for life yet.
Definitions
Intelligence: ability to learn, understand and think (Oxford dictionary) AI is the study of how to make computers make things which at the moment people do better 3. Making computational models of human behaviour 4. Artificial Intelligence is the study of how to make real computers act like the ones in the movies. 5. To make computational models of human thought processes 6. To build computational systems that behave intelligently
Thinking humanly Thinking rationally
1. 2.
Acting humanly
Acting rationally
Task Domains of AI
Mundane Tasks:
Perception
Vision Speech
Natural Languages
Understanding Generation Translation
Formal Tasks
Games : chess, checkers, Go, Sudoku etc Mathematics: Geometry, logic, Proving properties of programs
Expert Tasks:
Engineering ( Design, Fault finding, Manufacturing planning) Scientific Analysis Medical Diagnosis Financial Analysis
Acting humanly
"If it looks, walks, and quacks like a duck, then it is a duck The Turing Test
interrogator communicates by typing at a terminal with TWO other agents. The human can say and ask whatever s/he likes, in natural language. If the human cannot decide which of the two agents is a human and which is a computer, then the computer has achieved AI this is an OPERATIONAL definition of intelligence, i.e., one that gives an algorithm for testing objectively whether the definition is satisfied
15
Acting Rationally
Act so that desired goals are achieved The rational agent approach (this is what well focus on in this course) Figure out how to make correct decisions, which sometimes means thinking rationally and other times means having rational reflexes
correct inference versus rationality reasoning versus acting; limited rationality
Foundations of Artificial Intelligence
16
Turings Goal
Alan Turing, Computing Machinery and Intelligence, 1950:
Can machines think? How could we tell?
I propose to consider the question, Can machines think? This should begin with definitions of the meaning of the terms machine and think. The definitions might be framed so as to reflect so far as possible the normal use of the words, but this attitude is dangerous. If the meaning of the words machine and think are to be found by examining how they are commonly used it is difficult to escape the conclusion that the meaning and the answer to the question, Can machines think? is to be sought in a statistical survey such as a Gallup poll. But this is absurd. Instead of attempting such a definition I shall replace the question by another, which is closely related to it and is expressed in relatively unambiguous words. Alan Turing, Computing machinery and intelligence, 1950
AI in Everyday Life?
AI techniques are used in many common applications
Intelligent user interfaces Search Engines Spell/grammar checkers Context sensitive help systems Medical diagnosis systems Regulating/Controlling hardware devices and processes (e.g, in automobiles) Voice/image recognition (more generally, pattern recognition) Scheduling systems (airlines, hotels, manufacturing) Error detection/correction in electronic communication Program verification / compiler and programming language design Web search engines / Web spiders Web personalization and Recommender systems (collaborative/content filtering) Personal agents Customer relationship management Credit card verification in e-commerce / fraud detection Data mining and knowledge discovery in databases of Artificial FoundationsComputer games
Intelligence 19
AI Spin-Offs
Many technologies widely used today were the direct or indirect results of research in AI:
The mouse Time-sharing Graphical user interfaces Object-oriented programming Computer games Hypertext Information Retrieval The World Wide Web Symbolic mathematical systems (e.g., Mathematica, Maple, etc.) Very high-level programming languages Web agents Data Mining
20
Unlimited Water
4 5 6 7
Production rules
8 (x, y) if x+y >= 3 and x>0 (x-(3-y), 3) Pour water from the 4-gallon jug into the 3-gallon jug until the 3gallon jug is full Pour all the water from the 3gallon jug into the 4-gallon jug Pour all the water from the 4gallon jug into the 3-gallon jug Pour the 2 gallons from 3-gallon jug into the 4-gallon jug Empty the 2 gallons in the 4gallon jug on the ground 9 (x, y) if x+y <=4 and y>0 (x+y, 0)
10
(0, x+y)
11
(0,2)
(2,0)
12
(2,y)
(0,y)
3 4 0 2
Production Systems
A production system consists of: A set of rules, each consisting of a left side that determines the applicability of the rule and a right side that describes the operation to be performed if that rule is applied. One or more knowledge/databases that contain whatever information is appropriate for the particular task. Some parts of the database may be permanent, while other parts of it may pertain only to the solution of the current problem. A control strategy that specifies the order in which the rules will be compared to the database and a way of resolving the conflicts that arise when several rules match at once. A rule applier
Production system
In order to solve a problem: We must first reduce it to one for which a precise statement can be given. This can be done by defining the problems state space ( start and goal states) and a set of operators for moving that space. The problem can then be solved by searching for a path through the space from an initial state to a goal state. The process of solving the problem can usefully be modelled as a production system.
Control Strategies
How to decide which rule to apply next during the process of searching for a solution to a problem? The two requirements of good control strategy are that
it should cause motion. It should be systematic
(4,0)
(0,3)
(4,3)
(0,0)
(1,3)
(4,3)
(0,0)
(3,0)
Backtracking
In this search, we pursue a singal branch of the tree until it yields a solution or until a decision to terminate the path is made. It makes sense to terminate a path if it reaches deadend, produces a previous state. In such a state backtracking occurs Chronological Backtracking: Order in which steps are undone depends only on the temporal sequence in which steps were initially made. Specifically most recent step is always the first to be undone. This is also simple backtracking.
Advantages of BFS
BFS will not get trapped exploring a blind alley. If there is a solution, BFS is guaranteed to find it. If there are multiple solutions, then a minimal solution will be found.
TSP
A simple motion causing and systematic control structure could solve this problem. Simply explore all possible paths in the tree and return the shortest path. If there are N cities, then number of different paths among them is 1.2.(N-1) or (N-1)! The time to examine single path is proportional to N So the total time required to perform this search is proportional to N! For 10 cities, 10! = 3,628,800 This phenomenon is called Combinatorial explosion.
Heuristic Search
A Heuristic is a technique that improves the efficiency of a search process, possibly by sacrificing claims of completeness. Heuristics are like tour guides They are good to the extent that they point in generally interesting directions; They are bad to the extent that they may miss points of interest to particular individuals. On the average they improve the quality of the paths that are explored. Using Heuristics, we can hope to get good ( though possibly nonoptimal ) solutions to hard problems such asa TSP in non exponential time. There are good general purpose heuristics that are useful in a wide variety of problem domains. Special purpose heuristics exploit domain specific knowledge
This procedure executes in time proportional to N2 It is possible to prove an upper bound on the error it incurs. This provides reassurance that one is not paying too high a price in accuracy for speed.
Heuristic Function
This is a function that maps from problem state descriptions to measures of desirsability, usually represented as numbers.
Which aspects of the problem state are considered, how those aspects are evaluated, and the weights given to individual aspects are chosen in such a way that
the value of the heuristic function at a given node in the search process gives as good an estimate as possible of whether that node is on the desired path to a solution. Well designed heuristic functions can play an important part in efficiently guiding a search process toward a solution.
Problem Characteristics
Inorder to choose the most appropriate method for a particular problem, it is necessary to analyze the problem along several key dimensions:
Is the problem decomposable into a set of independent smaller or easier subproblems? Can solution steps be ignored or at least undone if they prove unwise? Is the problems universe predictable? Is a good solution to the problem obvious without comparison to all other possible solutions? Is the desired solution a state of the world or a path to a state? Is a large amount of knowledge absolutely required to solve the problem or is knowledge important only to constrain the search? Can a computer that is simply given the problem return the solution or will the solution of the problem require interaction between the computer and a person?
ON(B,C)
CLEAR(A) CLEAR(A)
ON(A,B) ON(A,B)
The recoverability of a problem plays an important role in determining the complexity of the control structure necessary for the problems solution.
Ignorable problems can be solved using a simple control structure that never backtracks Recoverable problems can be solved by a slightly more complicated control strategy that does sometimes make mistakes Irrecoverable problems will need to be solved by systems that expends a great deal of effort making each decision since decision must be final.
Consider a problem of scanning daily newspapers to decide which are supporting the democrats and which are supporting the republicans in some election. We need lots of knowledge to answer such questions as:
The names of the candidates in each party The facts that if the major thing you want to see done is have taxes lowered, you are probably supporting the republicans The fact that if the major thing you want to see done is improved education for minority students, you are probably supporting the democrats. etc
Decision on using one of these approaches will be important in the choice of problem solving method.
Problem Classification
There are several broad classes into which the problems fall. These classes can each be associated with generic control strategy that is appropriate for solving the problems:
Classification : ex: medical diagnostics, diagnosis of faults in mechanical devices Propose and Refine: ex: design and planning
Can production systems, like problems, be described by a set of characteristics that shed some light on how they can easily be implemented? If so, what relationships are there between problem types and the types of production systems best suited to solving the problems? Classes of Production systems:
Monotonic Production System: the application of a rule never prevents the later application of another rule that could also have been applied at the time the first rule was selected. Non-Monotonic Production system Partially commutative Production system: property that if application of a particular sequence of rules transforms state x to state y, then permutation of those rules allowable, also transforms state x into state y. Commutative Production system