1 AI Definitions Marvin Minsky, 1963 '... artificial intelligence is the science of making machines do things that would require intelligence if done by men'. The Free On-line Dictionary of Computing Supported by Imperial College Department of Computing http://foldoc.doc.ic.ac.uk/foldoc/contents.html AI is the subfield of computer science concerned with the concepts and methods of symbolic inference by computer and symbolic knowledge representation for use in making inferences. AI can be seen as an attempt to model aspects of human thought on computers. It is also sometimes defined as trying to solve by computer any problem that a human can solve faster. Matt Ginsberg – Essentials of Artificial Intelligence, Morgan Kaufmann, 1993 AI is the enterprise of constructing an intelligent artifact. AI is the enterprise of constructing an artifact that can reliably pass the Turing test. AI is the enterprise of constructing a physical-symbol system that can reliably pass the Turing test. Constructing = AI is fundamentally an engineering discipline, since our goal is that of building something Nils Nilsson. Artificial Intelligence, A new Synthesis, Morgan Kaufmann, 1998. AI is concerned with intelligent behavior in artifacts. Intelligent behavior, in turn, involves perception, reasoning, learning, communicating, and acting in complex environments. AI has as one of its long-term goals the development of machines that can do these things as well as human can, or possibly even better. Another goal of Ai is to understand this kind of behavior whether it occurs in machines or in humans, or other animals. Thus, AI has a both engineering and scientific goals. Allen Newell and Herb Simon, 1976: physical-symbol system "Computer Science as Empirical Inquiry: Symbols and Search", 1976, which define the essential ideas of the Physical Symbol System Hypothesis: The hypotheses states: "A physical symbol system has the necessary and sufficient means for intelligent action." A physical symbol system "consists of a set of entities, called symbols, which are physical patterns that can occur as components of another type of entity called an expression (or symbol structure). Thus, a symbol structure is composed of a number of instances (or tokens) of symbols related in some physical way (such as one token being next to another). At any instant of time the system will contain a collection of these symbol structures. Besides these structures, the system also contains a collection of processes that operate on expressions to produce other expressions: processes of creation, modification, reproduction and destruction. A physical symbol system is a machine that produces through time an evolving collection of symbol structures. Such a system exists in a world of objects wider than just these symbolic expressions themselves." AIMA, Russell& Norvig, 1998 “AI attempts to understand intelligent entities. But unlike philosophy and psychology, which are also concerned with intelligence, AI strives to build intelligent entities as well as understand them” 2 How can we recognize AI? The Turing test 3 History of AI 1943 – McCulloch, Pitts – model of the artificial neuron 1950 - Turing’s “Computing Machinery and Intelligence” 1956 – 2 months workshop at Dartmouth College: J. McCarthy (Princeton, Dartmouth, Stanford), M. Minsky (Dartmouth, MIT), A. Newell, H. Simon (Carnegie Tech) – Artificial Intelligence Newell, Simon – Logic Theorist (Principia Mathematica of Russell & Whitehead, GPS- thinking humanly) 1958 - J. McCarthy – LISP 1963 - M. Minsky – microworlds 1962 – F. Rosenblatt – perceptrons 1965 – Robinson – resolution Weizenbaum – Eliza 1969 – Early development of Knowledge-based systems DENDRAL, Buchanan, Feigenbaum, Lederberg (Stanford) – infer molecular structure from information provided by a mass spectrometer 70-79 MYCIN, Feigenbaum, Buchanan, Shortliffe PROSPECTOR, Duda – recommended exploratory drilling at a geological site that proved to contain a large molybdenum deposit SHRDLU, Winograd – understanding natural language in the block world Schank – NL understanding depends on representing and reasoning with problem knowledge 1972 – Prolog – A. Colmerauer (Marseille-Aix) 1975 M. Minsky – frames 1980-88 Expert systems industry DEC – R1 – 1982, 40 ES, Du Pont – 100 ES 1981 – Fifth Generation Project Carnegie Group, Inference, Intellicorp, Tecknowledge Lisp machines, Texas Instruments, Symbolics, Xerox 1988 – present Build on existing theories: e.g. hidden Markov models for speech recognition, formal planning, belief networks (J. Pearl), decision theory = probability theory + utility theory 1990 - SOAR , Newell, Laird, Rosenbloom – complete agent architecture CYC – Lenat ‘90s - The emergence of multiple paradigms - knowledge intensive AI - ANN - GAs + ALife - Artificial intelligent agents o AI – use of knowledge to produce advice or diagnosis in s special domain o Intelligent agents – use knowledge to produce any sort of desired behavior 4 AI programming languages AI researchers are interested in unusual forms of programming, and they want to be able to treat their programs as explanations and models, and they are particularly interested in power. The net effect has been that AI researchers have consistently pushed back the boundaries in the area of programming, developing novel programming paradigms and devising languages that exemplify them. One of the AI's greatest commercial impacts has been in the area of programming. 1958 – J. McCarthy – LISP (LISt Processing) – functional programming, list data structures to represent both instructions and data 1972 – A. Colmerauer – Prolog – logical programming SMALLTALK – object-oriented programming 1975- 1980 – very-high level languages / KR languages: KRL, EMYCIN, SRL, AGE 1980 – 85 KEE, OPS5, ART, M1, environments for building KB systems 1990 – CLIPS, SCHEME, ML, Java 5 AI Basic Terminology Symbolic inference = The derivation of new facts from known facts and some given rules, called inference rules. Inference rule A procedure which combines known facts to produce ("infer") new facts. For example, given that 1. Socrates is a man and that 2. all men are mortal, we can infer that Socrates is mortal. This uses the rule known as "modus ponens" which can be written in Boolean algebra as (A & A => B) => B (if proposition A is true, and A implies B, then B is true). This is a sound inference rule. Inference rules may be: sound (preserve truth) such as modus ponens, modus tollens, resolution, and unsound inference rules (not guaranteed to preserve truth of derived facts) such as inductive inference, analogy, etc. Syllogism, A mode of argument that forms the core of the body of Western logical thought. Aristotle defined syllogistic logic, and his formulations were thought to be the final word in logic; they underwent only minor revisions in the subsequent 2,200 years. Every syllogism is a sequence of three propositions such that the first two imply the third, the conclusion. There are three basic types of syllogism: hypothetical, disjunctive, and categorical. The hypothetical syllogism, modus ponens, has as its first premise a conditional hypothesis: If p then q; it continues: p, therefore q. The disjunctive syllogism, modus tollens, has as its first premise a statement of alternatives: Either p or q; it continues: not q, therefore p. The categorical syllogism comprises three categorical propositions, which must be statements of the form all x are y, no x is y, some x is y, or some x is not y. A categorical syllogism contains precisely three terms: the major term, which is the predicate of the conclusion; the minor term, the subject of the conclusion; and the middle term, which appears in both premises but not in the conclusion. Thus: All philosophers are men (middle term); all men are mortal; therefore, All philosophers (minor term) are mortal (major term). Heuristic 1960: Steps Toward Artificial Intelligence, Marvin Minsky The adjective "heuristic," as used here and widely in the literature, means related to improving problem-solving performance; as a noun it is also used in regard to any method or trick used to improve the efficiency of a problemsolving system. A "heuristic program," to be considered successful, must work well on a variety of problems, and may often be excused if it fails on some. We often find it worthwhile to introduce a heuristic method, which happens to cause occasional failures, if there is an over-all improvement in performance. But imperfect methods are not necessarily heuristic, nor vice versa. Hence "heuristic" should not be regarded as opposite to "foolproof"; this has caused some confusion in the literature. Search strategy = the process of repeatedly applying an inference rule (or several inference rules) to arrive at a solution of the problem. Knowledge The objects, concepts and relationships that are assumed to exist in some area of interest. A collection of knowledge, represented using some knowledge representation language is known as a knowledge base and a program for extending and/or querying a knowledge base is a knowledgebased system. Knowledge differs from data or information in that new knowledge may be created from existing knowledge using logical inference. If information is data plus meaning then knowledge is information plus processing. For example, a knowledge base about a family might contain the facts that John is David's son and Tom is John's son and the rule that the son of someone's son is their grandson. From this knowledge it could infer the new fact that Tom is David's grandson. Knowledge representation = The subfield of artificial intelligence concerned with designing and using systems for storing knowledge - facts and rules about some subject. 6 Characteristics of AI problems Mainly problems that require search. A class of problems is called intractable if the time required to solve instances of the class grows at least exponentially with the size of the instance (mid-1960s, Cobham, Edmonds) How can we recognize an intractable problem? The theory of NP-completeness (Cook, Karp, 71, 72) = the existence of a large class of canonical combinatorial search and reasoning problems that are NP-complete. AI – use heuristics to reduce the time for finding the problem solution. Dealing with knowledge instead of data What is knowledge – we have already seen Representing and dealing with common sense knowledge Representing and dealing/reasoning with uncertain knowledge Knowledge characteristics: general, dynamic, heuristic/difficult to formalize, uncertain Represented such as to facilitate automated reasoning Problems that require a form of learning. Being able to elicit knowledge from scratch, or based on domain knowledge. Adapting to the environment. 7. AI applications SIMPLE-REFLEX-AGENT function SIMPLE-REFLEX-AGENT(percept) returns action static: rules, a set of condition-action rules state INTERPRET-INPUT(percept) rule RULE-MATCH(state, rules) action RULE-ACTION[rule] return action REFLEX-AGENT-WITH-STATE function REFLEX-AGENT-WITH-STATE (percept) returns action static: state, a state description of the current world state rules, a set of condition-action rules state UPDATE-STATE(state, percept) rule RULE-MATCH(state, rules) action RULE-ACTION[rule] state UPDATE-STATE(state, action) return action