Planner (often seen in publications as "PLANNER" although it is not an acronym) is a
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
designed by
Carl Hewitt at
MIT, and first published in 1969. First, subsets such as Micro-Planner and Pico-Planner were implemented, and then essentially the whole language was implemented as ''Popler'' by Julian Davies at the
University of Edinburgh
The University of Edinburgh (, ; abbreviated as ''Edin.'' in Post-nominal letters, post-nominals) is a Public university, public research university based in Edinburgh, Scotland. Founded by the City of Edinburgh Council, town council under th ...
in the
POP-2 programming language. Derivations such as QA4, Conniver, QLISP and Ether (see
scientific community metaphor) were important tools in
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
research in the 1970s, which influenced commercial developments such as
Knowledge Engineering Environment (KEE) and
Automated Reasoning Tool (ART).
Procedural approach versus logical approach
The two major paradigms for constructing semantic software systems were
procedural and
logical. The procedural paradigm was epitomized by
Lisp
Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation.
Originally specified in the late 1950s, ...
which featured recursive procedures that operated on list structures.
The logical paradigm was epitomized by uniform proof procedure
resolution-based derivation (proof) finders. According to the logical paradigm it was “cheating” to incorporate procedural knowledge.
Procedural embedding of knowledge
Planner was invented for the purposes of the procedural embedding of knowledge and was a rejection of the
resolution uniform proof procedure paradigm, which
#''Converted everything to clausal form.'' Converting all information to
clausal form is problematic because it hides the underlying structure of the information.
#''Then used resolution to attempt to obtain a proof by contradiction by adding the clausal form of the negation of the theorem to be proved.'' Using only resolution as the rule of inference is problematical because it hides the underlying structure of proofs. Also, using proof by contradiction is problematical because the axiomatizations of all practical domains of knowledge are inconsistent in practice.
Planner was a kind of hybrid between the procedural and logical paradigms because it combined programmability with logical reasoning. Planner featured a procedural interpretation of logical sentences where an implication of the form can be procedurally interpreted in the following ways using pattern-directed invocation:
#
Forward chaining (antecedently):
#:
#:
#
Backward chaining (consequently)
#:
#:
In this respect, the development of Planner was influenced by
natural deductive logical system
A formal system is an abstract structure and formalization of an axiomatic system used for deducing, using rules of inference, theorems from axioms.
In 1921, David Hilbert proposed to use formal systems as the foundation of knowledge in math ...
s (especially the one by
Frederic Fitch 952.
Micro-planner implementation
A subset called Micro-Planner was implemented by
Gerry Sussman,
Eugene Charniak and
Terry Winograd and was used in Winograd's natural-language understanding program
SHRDLU
SHRDLU is an early natural-language understanding computer program that was developed by Terry Winograd at MIT in 1968–1970. In the program, the user carries on a conversation with the computer, moving objects, naming collections and query ...
, Eugene Charniak's story understanding work, Thorne McCarty's work on legal reasoning, and some other projects. This generated a great deal of excitement in the field of AI. It also generated controversy because it proposed an alternative to the logic approach that had been one of the mainstay paradigms for AI.
At
SRI International
SRI International (SRI) is a nonprofit organization, nonprofit scientific research, scientific research institute and organization headquartered in Menlo Park, California, United States. It was established in 1946 by trustees of Stanford Univer ...
, Jeff Rulifson, Jan Derksen, and
Richard Waldinger developed
QA4 which built on the constructs in Planner and introduced a context mechanism to provide modularity for expressions in the database. Earl Sacerdoti and Rene Reboh developed QLISP, an extension of QA4 embedded in
INTERLISP, providing Planner-like reasoning embedded in a procedural language and developed in its rich programming environment. QLISP was used by
Richard Waldinger and Karl Levitt for program verification, by Earl Sacerdoti for planning and execution monitoring, by
Jean-Claude Latombe for computer-aided design, by
Nachum Dershowitz for program synthesis, by Richard Fikes for deductive retrieval, and by Steven Coles for an early expert system that guided use of an econometric model.
Computers were expensive. They had only a single slow processor and their memories were very small by comparison with today. So Planner adopted some efficiency expedients including the following:
*Backtracking was adopted to economize on the use of time and storage by working on and storing only one possibility at a time in exploring alternatives.
*A unique name assumption was adopted to save space and time by assuming that different names referred to different objects. For example, names like Peking (previous PRC capital name) and Beijing (current PRC capital transliteration) were assumed to refer to different objects.
*A
closed-world assumption could be implemented by conditionally testing whether an attempt to prove a goal exhaustively failed. Later this capability was given the misleading name "
negation as failure" because for a goal it was possible to say: "if attempting to achieve exhaustively fails then assert ."
The genesis of Prolog
Gerry Sussman,
Eugene Charniak,
Seymour Papert and
Terry Winograd visited the University of
Edinburgh
Edinburgh is the capital city of Scotland and one of its 32 Council areas of Scotland, council areas. The city is located in southeast Scotland and is bounded to the north by the Firth of Forth and to the south by the Pentland Hills. Edinburgh ...
in 1971, spreading the news about Micro-Planner and
SHRDLU
SHRDLU is an early natural-language understanding computer program that was developed by Terry Winograd at MIT in 1968–1970. In the program, the user carries on a conversation with the computer, moving objects, naming collections and query ...
and casting doubt on the resolution uniform proof procedure approach that had been the mainstay of the Edinburgh Logicists. At the University of Edinburgh, Bruce Anderson implemented a subset of Micro-Planner called PICO-PLANNER, and Julian Davies (1973) implemented essentially all of Planner.
According to Donald MacKenzie,
Pat Hayes recalled the impact of a visit from Papert to Edinburgh, which had become the "heart of
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
's Logicland," according to Papert's MIT colleague, Carl Hewitt. Papert eloquently voiced his critique of the resolution approach dominant at Edinburgh "…and at least one person upped sticks and left because of Papert."
The above developments generated tension among the Logicists at Edinburgh. These tensions were exacerbated when the UK Science Research Council commissioned Sir James Lighthill to write a report on the AI research situation in the UK. The
resulting report Lighthill 1973; John McCarthy (computer scientist)">McCarthy 1973">James Lighthill">Lighthill 1973; John McCarthy (computer scientist)">McCarthy 1973was highly critical although SHRDLU
SHRDLU is an early natural-language understanding computer program that was developed by Terry Winograd at MIT in 1968–1970. In the program, the user carries on a conversation with the computer, moving objects, naming collections and query ...
was favorably mentioned.
Pat Hayes visited Stanford where he learned about Planner. When he returned to Edinburgh, he tried to influence his friend Bob Kowalski to take Planner into account in their joint work on automated theorem proving. "Resolution theorem-proving was demoted from a hot topic to a relic of the misguided past. Bob Kowalski doggedly stuck to his faith in the potential of resolution theorem proving. He carefully studied Planner.”. Kowalski 988states "I can recall trying to convince Hewitt that Planner was similar to SL-resolution." But Planner was invented for the purposes of the procedural embedding of knowledge and was a rejection of the resolution uniform proof procedure paradigm. Colmerauer and Roussel recalled their reaction to learning about Planner in the following way:
"While attending an IJCAI convention in September ‘71 with Jean Trudel, we met Robert Kowalski again and heard a lecture by Terry Winograd on natural language processing. The fact that he did not use a unified formalism left us puzzled. It was at this time that we learned of the existence of Carl Hewitt’s programming language, Planner. The lack of formalization of this language, our ignorance of Lisp and, above all, the fact that we were absolutely devoted to logic meant that this work had little influence on our later research."
In the fall of 1972, Philippe Roussel implemented a language called Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
(an abbreviation for PROgrammation en LOGique – French for "programming in logic"). Prolog programs are generically of the following form (which is a special case of the backward-chaining in Planner):
:
Prolog duplicated the following aspects of Micro-Planner:
*Pattern directed invocation of procedures from goals (''i.e.'' backward chaining)
*An indexed data base of pattern-directed procedures and ground sentences.
*Giving up on the completeness paradigm that had characterized previous work on theorem proving and replacing it with the programming language procedural embedding of knowledge paradigm.
Prolog also duplicated the following capabilities of Micro-Planner which were pragmatically useful for the computers of the era because they saved space and time:
*Backtracking control structure
*Unique Name Assumption by which different names are assumed to refer to distinct entities, ''e.g.'', Peking and Beijing are assumed to be different.
*Reification of Failure. The way that Planner established that something was provable was to successfully attempt it as a goal and the way that it establish that something was unprovable was to attempt it as a goal and explicitly fail. Of course the other possibility is that the attempt to prove the goal runs forever and never returns any value. Planner also had a construct which succeeded if failed, which gave rise to the “ Negation as Failure” terminology in Planner.
Use of the Unique Name Assumption and Negation as Failure became more questionable when attention turned to Open Systems.[Hewitt and de Jong 1983, Hewitt 1985, Hewitt and Inman 1991]
The following capabilities of Micro-Planner were omitted from Prolog:
*Pattern-directed invocation of procedural plans from assertions (''i.e''., forward chaining)
*Logical negation, ''e.g.'', .
Prolog did not include negation in part because it raises implementation issues. Consider for example if negation were included in the following Prolog program:
:
:
The above program would be unable to prove even though it follows by the rules of mathematical logic. This is an illustration of the fact that Prolog (like Planner) is intended to be a programming language and so does not (by itself) prove many of the logical consequence
Logical consequence (also entailment or logical implication) is a fundamental concept in logic which describes the relationship between statement (logic), statements that hold true when one statement logically ''follows from'' one or more stat ...
s that follow from a declarative reading of its programs.
The work on Prolog was valuable in that it was much simpler than Planner. However, as the need arose for greater expressive power in the language, Prolog began to include many of the capabilities of Planner that were left out of the original version of Prolog.
References
Bibliography
*Bruce Anderson. Documentation for LIB PICO-PLANNER School of Artificial Intelligence, Edinburgh University. 1972
*Bruce Baumgart. Micro-Planner Alternate Reference Manual Stanford AI Lab Operating Note No. 67, April 1972.
* .
* .
* .
* .
*
* .
*Carl Hewitt. "The Challenge of Open Systems" Byte Magazine. April 1985
*Carl Hewitt and Jeff Inman. "DAI Betwixt and Between: From ‘Intelligent Agents’ to Open Systems Science" IEEE Transactions on Systems, Man, and Cybernetics. Nov/Dec 1991.
*Carl Hewitt and Gul Agha. "Guarded Horn clause languages: are they deductive and Logical?" International Conference on Fifth Generation Computer Systems, Ohmsha 1988. Tokyo. Also in ''Artificial Intelligence at MIT'', Vol. 2. MIT Press 1991.
* .
*William Kornfeld and Carl Hewitt
The Scientific Community Metaphor
MIT AI Memo 641. January 1981.
*Bill Kornfeld and Carl Hewitt. "The Scientific Community Metaphor" IEEE Transactions on Systems, Man, and Cybernetics. January 1981.
*Bill Kornfeld. "The Use of Parallelism to Implement a Heuristic Search" IJCAI 1981.
*Bill Kornfeld. "Parallelism in Problem Solving" MIT EECS Doctoral Dissertation. August 1981.
*Bill Kornfeld. "Combinatorially Implosive Algorithms" CACM. 1982
*Robert Kowalski
"The Limitations of Logic"
Proceedings of the 1986 ACM fourteenth annual conference on Computer science.
*Robert Kowalski
"The Early Years of Logic Programming"
CACM January 1988.
* .
* .
* .
*Gerry Sussman and Terry Winograd
Micro-planner Reference Manual
AI Memo No, 203, MIT Project MAC, July 1970.
*Terry Winograd
Procedures as a Representation for Data in a Computer Program for Understanding Natural Language
MIT AI TR-235. January 1971.
*Gerry Sussman, Terry Winograd and Eugene Charniak
Micro-Planner Reference Manual (Update)
AI Memo 203A, MIT AI Lab, December 1971.
*Carl Hewitt
Description and Theoretical Analysis (Using Schemata) of Planner, A Language for Proving Theorems and Manipulating Models in a Robot
AI Memo No. 251, MIT Project MAC, April 1972.
*Eugene Charniak.
Toward a Model of Children's Story Comprehension
MIT AI TR-266. December 1972.
*Julian Davies. Popler 1.6 Reference Manual University of Edinburgh, TPU Report No. 1, May 1973.
*Jeff Rulifson, Jan Derksen, and Richard Waldinger. "QA4, A Procedural Calculus for Intuitive Reasoning" SRI AI Center Technical Note 73, November 1973.
*Scott Fahlman. "A Planning System for Robot Construction Tasks" MIT AI TR-283. June 1973
*James Lighthill. "Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.
*John McCarthy. "Review of ‘Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.
*Robert Kowalsk
"Predicate Logic as Programming Language"
Memo 70, Department of Artificial Intelligence, Edinburgh University. 1973
*Pat Hayes. Computation and Deduction Mathematical Foundations of Computer Science: Proceedings of Symposium and Summer School, Štrbské Pleso, High Tatras, Czechoslovakia, September 3–8, 1973.
*Carl Hewitt, Peter Bishop and Richard Steiger. "A Universal Modular Actor Formalism for Artificial Intelligence" IJCAI 1973.
*L. Thorne McCarty. "Reflections on TAXMAN: An Experiment on Artificial Intelligence and Legal Reasoning" Harvard Law Review. Vol. 90, No. 5, March 1977
*Drew McDermott and Gerry Sussman
The Conniver Reference Manual
MIT AI Memo 259A. January 1974.
*Earl Sacerdoti, et al., "QLISP A Language for the Interactive Development of Complex Systems" AFIPS. 1976
* .
* .
External links
*{{webarchive , url=https://web.archive.org/web/20030727192519/http://www.lim.univ-mrs.fr/~colmer/ArchivesPublications/HistoireProlog/19november92.pdf , archive-url=https://web.archive.org/web/20030727192519/http://www.lim.univ-mrs.fr/~colmer/ArchivesPublications/HistoireProlog/19november92.pdf , archive-date=2003-07-27 , url-status=live , date=July 27, 2003 , title=Alain Colmerauer's and Philippe Roussel's 1992 account of the birth of Prolog
History of artificial intelligence
Automated planning and scheduling
Logic programming languages
Robot programming languages
Theorem proving software systems
Programming languages created in 1969