The Impact of John McCarthy on the Field of Artificial Intelligence Peter Tonner Outline • • • • Introduction Context and Other Important Researchers Programs with Common Sense Recursive Functions – Lisp • Philosophical Problems from the Standpoint of Artificial Intelligence • Epistemological Problems of Artificial Intelligence – Epistemology and Situation Calculus – Circumscription John McCarthy • 1955 Develop the phrase “Artificial Intelligence” • 1960 First LISP implementation • 1971 Turing Award Recipient • 2001 Professor Emeritus of Computer Science at Stanford University Turing Award History • Prize value – Original Prize: $25,000 – Intel Sponsorship (2002): $100,000 – Google Sponsorship (2007): $250,000 Context of AI Research circa 1970 • Turing Test - Alan Turing • General Problem Solver - Allen Newell and Herbert Simon Computing Machinery and Intelligence - Alan Turing • Turing Test – Define Intelligence as: • Actions that are indistinguishable from known intelligent beings, i.e. humans • Side steps philosophical arguments • Turing predicts intelligent computing in 50 years (1950) A Guide to the General Problem Solver -Newell and Simon (1957) • General mechanisms utilized in problem solving • Built off the Logic Theory Machine • Designed to cover – theorem proving – geometric problems – chess playing • Suffered from combinatorial explosion • Led to the program SOAR McCarthy’s Perspective “I think the best hope for human-level AI is logical AI, based on the formalizing of commonsense knowledge and reasoning in mathematical logic.” – John McCarthy • Problems in AI – Knowledge Representation – Problem Solving • Solutions from Philosophy – Hierarchy of data – Generalization of solution finding Programs with Common Sense (1959) • “ A program has common sense if it automatically deduces for itself a sufficiently wide class of immediate consequences of anything it is told and what it already knows” – John McCarthy • Outlines the Advice Taker – Undertake and solve problems on level of a human • First major AI paper for McCarthy • Introduction to Predicate (Situational) Calculus What is an Intelligent System? • Core Features of Intelligent Systems: – All behaviors represented by the system, can create arbitrary automata or program in a language – Interesting changes in behavior must be expressible in a simple way – Nearly all aspects of behavior must be improvable, even the improving mechanism itself – There must be a concept of partial success and failure rather than a binary representation – Create subroutines which form new base units Giving Instructions • Computer – Imperative sentences • Human or the Advice Taker – Declarative and Imperative Sentences • Imperative sentences – “Punch the keys for god’s sake!” • Declarative sentences – “You’re the man now dog.” Advantages of Instruction Types • Imperative Sentences: – A procedure of imperatives is carried out faster – No previous knowledge of the machine needs to be analyzed • Declarative Sentences: – Use of previous knowledge is acceptable – Order is not as important as in imperative sentences, can have afterthoughts – Previous state is less important so allows for less need of instructor to know previous state Immediate Deduction Routine • Given a set of premises and finds the set of immediate conclusions • Not heuristic based, entirely logical • Intelligent behavior -> proper use of the IDR • EX: – – – – – at(I, desk) at(desk,universe) at(x,y), at(y,z) -> at(x,y) -------------------------------at(I, universe) Example want(have(I, icecream)) have(I,price_of(icecream)) ->can(buy(I, icecream)) at(I,home) -> can(go(home, store, walking) ------do(go(home, store, walking)) do(buy(I,icecream)) do(go(store, home, walking)) do(devour(I, icecream)) Sources of Propositions • Actions are guided by goals and desires – EX: want(at(I,x)) • want(have(I, icecream)) • System starts with known general solutions – EX: want(at(I,x)) -> do(observe_location(I)) • Machine memory stores past solution strategies – Must be reasonably general to allow for wide problem solving and constitute common sense want(have(I,x)) -> do(go(current_location(),store,walking) Problem Generalization • want(at(I,x)) – general goal proposition – this should point to previously successful solutions – determine possible transportation solutions • walking • driving • flying • new generalizations must be formed after completing tasks – these would then be stored for later usage Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I (1960) • • • • LISP programming language LISt Processor List structure for data Garbage Collection Goals of LISP • Writing a compiler to compile LISP programs into machine language. • Writing a program to check proofs in a class of formal logical systems. • Writing programs for formal differentiation and integration. • Writing programs to realize various algorithms for generating proofs in predicate calculus. • Making certain engineering calculations whose results are formulas rather than numbers. • Programming the Advice Taker system. Data Representation • Word := atomic data – address and decrement • Cycles not permitted – value CAN be linked multiple times More on Data Representation • Figure A) ((A.B)(C(E.F)) • Figure B) (A,(B,C),D) • Ends of list contain NIL Advantages of Lists • Solves the problem of dynamic memory usage – does not need fixed lengths at compile time • Registers that are not needed can be recycled to the free memory list – blocks of memory that are freed will have non uniform size and are harder to allocate • A sub-expression of many expressions need only be stored once Free Storage List • contains all registers not filled with values • special word FREE points to the top of this list • adding new data – take the node stored in FREE – set FREE equal to next node • population and repopulation of this list is done automatically Garbage Collection through the Free Storage List • Garbage collection routine will search the tree of accessible nodes • Nodes that are accessed have their address set to negative • Any node not set this way is collected LISP Machines • Built specifically for LISP • Bypass the restrictions of existing hardware • Manufactured by Symbolics and Lisp Machines, inc. – both spinoffs from the MIT AI lab Philosophical Problems from the Standpoint of Artificial Intelligence (1969) • Analyzes the link between philosophical and AI problems – questions of knowledge representation • Provides a system for representing the known universe • Presents a formal language for task completion What is an Intelligent System? Part Deux • An intelligent agent : – has an adequate model of the world – can answer questions from this model – can gather information from external sources – can perform tasks in the world as permitted physically and guided by its goals Representations of the World • Metaphysically Adequate: – No contradictions of known laws – EX: the world as a collection of particles – EX: the world as a giant quantum-mechanical wave function • Epistemologically Adequate: – No contradictions to an entity’s perspective – Common Language + Mathematical Language + … Epistemology and Situation Calculus • • • • • • Situations Fluents Causality Actions Strategies Knowledge and Ability Situations • Complete state of the universe at an instant of time • Represented as “facts” – these can be used to deduce a cascade of more facts • Represents actual and theoretical situations • Sit: the set of all situations Fluent • Domain: Sit • Range – [True, False] : Propositional Fluent – Sit: Situational Fluent • Provides a conditional to analyze state of situation • Allows a program to query the state of a situation • EX – – – – time(s) in(x,y,s) has(x,y,s) at(p,x,s) AND raining(x,s) Causality • Special fluent to represent cause and effect – F(N,s) := the situation s will be followed at some point in time a situation that satisfies the fluent N • Physical Law of Gravity: – h = h0 + v0 * (t – t0 ) - .5g * (t – t0 )2 • Epistemological Law of Gravity falling(b) AND t > 0 AND t > 0 AND h = height(b) AND v = velocity(b) AND h + v*t - .5gt 2 > 0 AND time = t’ -> F(time = t + t’ AND falling(b) AND height = h + vt - .5gt 2 ) Actions and Strategies • Actions : unit of change that creates a new situation • Strategy – combination of actions – introduces general programming techniques • loops • flow control Knowledge and Ability idea-of-combination(p,sf,s) == combination(sf)? • What does it mean to know the value of a safe? • One value, two Objects • Critical for ability reasoning The Frame Problem • EX – An agent decides to use a phone to call a friend • Assumption: the phone is still present after looking up the number • After and actions – must assert that fluents of a situation have not changed – With n actions and m fluents • n*m possible assertions • Solution: Introduce a Frame – fluents are attached to frame • actions are modified to update all fluents that it changes Epistemological Problems of Artificial Intelligence (1977) • Further extends the concepts of epistemology • Not concerned with the design of heuristics for search spaces • New concept: Circumscription Circumscription • Problem– “Not all human reasoning can be translated into deduction in some formal system of mathematical logic” • Circumscription – the missing mode of deduction – things are expected unless otherwise specified – creates a list of conjectures that may not be universally true – provide a framework for common sense reasoning More on Circumscription • EX: Missionaries and Cannibals: – Boat that fits two people – 3 missionaries and 3 cannibals – number of cannibals must never be larger than the number of missionaries • Without Circumscription: – are there oars with the boat? – is there a bridge a few miles down? – etc • Circumscription – assumes all needed information is given – if there were significant issues with the boat, they would be given Open Problems • Converting commonsense into a science • Precise specification needed to model the universe – theories of the universe are still being developed – forced to use best fit theories • Game of Life example: – design the game of life with the ability to reason – would it be able to determine it’s own physical configuration is the same as the game of life? Later work of John McCarthy • Continued formalization of common sense and circumscription • Later papers cover topics in free will of robots with intelligence • The robot and the baby – science fiction short story – proposes questions about whether designed intelligent machines can have emotions References • Programs with Common Sense (1959) • Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I (1960) • Philosophical Problems from the Standpoint of Artificial Intelligence (1969) • Epistemological Problems of Artificial Intelligence (1977) Other Good Sources • McCarthy’s website – www-formal.stanford.edu/jmc/ • Douglas Hofstadter – Gödel, Escher, Bach: An Eternal Golden Braid • LISP – Common Lisp Open Code Collection • http://clocc.sourceforge.net/ – Practical Common Lisp