CS 343 Artificial Intelligence
Total Page:16
File Type:pdf, Size:1020Kb
CS 343 Artificial Intelligence Gordon S. Novak Jr. Department of Computer Sciences University of Texas at Austin Austin, Texas 78712 (512) 471-9569 [email protected] http://www.cs.utexas.edu/users/novak Copyright c Gordon S. Novak Jr. 1 Artificial Intelligence as Science Intelligence should be placed in the context of biology: Intelligence connects perception to action to help an organism survive. Intelligence is computation in the service of life, just as metabolism is chemistry in the service of life. Intelligence does not imply perfect understanding; every intelligent being has limited perception, memory, and computation. Many points on the spectrum of intelligence-versus-cost are viable, from insects to humans. AI seeks to understand the computations required for intelligent behavior and to produce computer systems that exhibit intelligence. Aspects of intelligence studied by AI include perception, motor control, communication using human languages, reasoning, planning, learning, and memory. 2 Scientific Goals of AI AI seeks to understand the working of the mind in mechanistic terms, just as medicine seeks to understand the working of the body in mechanistic terms. The mind is what the brain does. { Marvin Minsky The strong AI position is that any aspect of human intelligence could, in principle, be mechanized. 3 A.I. as Engineering How can we make computer systems more intelligent? • Perception to get input directly from the real world. • Autonomy to perform tasks that currently require human operators without human intervention or monitoring. • Flexibility in dealing with variability in the environment. • Ease of use: computers that are able to understand what the user wants from limited instructions in natural languages. • Learning from experience. 4 Perception Machine Vision: It is easy to interface a TV camera to a computer and get an image into memory; the problem is understanding what the image represents. Vision takes lots of computation; in humans, roughly 10% of all calories consumed are burned in vision computation. Speech Understanding: Speech understanding is available now. Some systems must be trained for the individual user and require pauses between words. Understanding continuous speech with a larger vocabulary is harder. Touch (tactile or haptic) Sensation: Important for robot assembly tasks. 5 Robotics Although industrial robots have been expensive, robot hardware can be cheap: Radio Shack has sold a working robot arm and hand for $15. The limiting factor in application of robotics is not the cost of the robot hardware itself. What is needed is perception and intelligence to tell the robot what to do; \blind" robots are limited to very well- structured tasks (like spray painting car bodies). 6 Natural Language Understanding: Natural languages are human languages such as English. Making computers understand English allows non-programmers to use them with little training. Applications in limited areas (such as access to data bases) are easy. (askr '(where can i get ice cream in berkeley)) Natural Language Generation: Easier than NL understanding. Can be an inexpensive output device. Machine Translation: Usable translation of text is available now. Important for organizations that operate in many countries. In a not too far future develops for eleven-year old David in a research lab the first intelligent robot with human feelings in the shape. But its "foster parents" are overtaxed with the artificial spare child and suspend it. Posed on itself alone David tries to fathom its origin and the secret of its existence. 7 Planning Planning attempts to order actions to achieve goals. Planning applications include logistics, manufacturing scheduling, planning manufacturing steps to construct a desired product. There are huge amounts of money to be saved through better planning. 8 Expert Systems Expert Systems attempt to capture the knowledge of a human expert and make it available through a computer program. There have been many successful and economically valuable applications of expert systems. Benefits: • Reducing skill level needed to operate complex devices. • Diagnostic advice for device repair. • Interpretation of complex data. • \Cloning" of scarce expertise. • Capturing knowledge of expert who is about to retire. • Combining knowledge of multiple experts. • Intelligent training. 9 Theorem Proving Proving mathematical theorems might seem to be mainly of academic interest. However, many practical problems can be cast in terms of theorems. A general theorem prover can therefore be widely applicable. Examples: • Automatic construction of compiler code generators from a description of a CPU's instruction set. • J Moore and colleagues proved correctness of the floating-point division algorithm on AMD CPU chip. 10 Symbolic Mathematics Symbolic mathematics refers to manipulation of formulas, rather than arithmetic on numeric values. • Algebra • Differential and Integral Calculus Symbolic manipulation is often used in conjunction with ordinary scientific computation as a generator of programs used to actually do the calculations. Symbolic manipulation programs are an important component of scientific and engineering workstations. >(solvefor '(= v (* v0 (- 1 (exp (- (/ t (* r c))))))) 't) (= T (* (- (LOG (- 1 (/ V V0)))) (* R C))) 11 Game Playing Games are good vehicles for research because they are well formalized, small, and self-contained. They are therefore easily programmed. Games can be good models of competitive situations, so principles discovered in game-playing programs may be applicable to practical problems. Prof. Peter Stone does research on strategies for bidding at auctions. 12 Characteristics of A.I. Programs • Symbolic Reasoning: reasoning about objects represented by symbols, and their properties and relationships, not just numerical calculations. • Knowledge: General principles are stored in the program and used for reasoning about novel situations. • Search: a \weak method" for finding a solution to a problem when no direct method exists. Problem: combinatoric explosion of possibilities. • Flexible Control: Direction of processing can be changed by changing facts in the environment. 13 Symbolic Representation Most of the reasoning that people do is non-numeric. AI programs often do some numerical calculation, but focus on reasoning with symbols that represent objects and relationships in the real world. • Objects. • Properties of objects. • Relationships among objects. • Rules about classes of objects. Examples of symbolic processing: • Understanding English: (show me a good chinese restaurant in los altos) • Reasoning based on general principles: if: the patient is male then: the patient is not pregnant • Symbolic mathematics: If y = m*x+b, what is the derivative of y with respect to x? 14 Knowledge Representation It is necessary to represent the computer's knowledge of the world by some kind of data structures in the machine's memory. Traditional computer programs deal with large amounts of data that are structured in simple and uniform ways. A.I. programs need to deal with complex relationships, reflecting the complexity of the real world. Several kinds of knowledge need to be represented: • Factual Data: Known facts about the world. • General Principles: \Every dog is a mammal." • Hypothetical Data: The computer must consider hypotheticals in order to reason about the effects of actions that are being contemplated. 15 Semantic Networks / Frames A semantic network or frame system represents knowledge by nodes and labeled arcs among nodes. 16 Logic Facts can also be represented in a logical formalism. In principle, logic and semantic network representations can be equivalent. (huey huey-457) (all x (if (huey x) (helicopter x))) (all x (if (huey x) (payload x 4000))) (all x (if (helicopter x) (can-fly x))) 17 Logic ... Mathematical logic formalizes certain kinds of reasoning in terms of operations on mathematical formulas. It is important for people working in A.I. to know logic for several reasons: • Theory: Logic has a sound mathematical foundation; things can be proved about it. • Applications: For certain classes of applications (e.g., proving correctness of programs) logic is the representation of choice. • Comparison with Other Methods: Other representation methods are often reducible to logic. Knowing logic helps in understanding other methods and may help prevent reinvention of old techniques. 18 A.I. is the Future of Computing! Moore's Law predicts that computation will get faster/cheaper by a factor of 2 every 1.5 years; this means a factor of 1000 in 15 years. What will we do with all that cheap computation? Traditional applications of computers (with a few exceptions, such as large simulations) will not absorb enough additional computing power to make them major growth areas. In the past, computation was scarce and manufacturers could just sell cycles. Now that cycles are cheap, ease of use is a major selling criterion. Integration of computers with sensors and effectors will be common and essential for competitive position in many markets. Consumer markets will not be similar to existing computer applications, but will require intelligence to deal with poorly structured tasks (such as cleaning the house). 19 Advantages of Lisp • Recursion: A program can call itself as a subroutine. Dynamic type checking makes recursion more useful. • Garbage Collection: automatically recycles memory. • Uniform Representation: Programs and data are the same. { Programs can examine other programs. { Programs