Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Planner (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==The genesis of Prolog== [[Gerry Sussman]], [[Eugene Charniak]], [[Seymour Papert]] and [[Terry Winograd]] visited the University of [[Edinburgh]] in 1971, spreading the news about Micro-Planner and [[SHRDLU]] 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,<ref>Anderson 1972</ref> and Julian Davies (1973) implemented essentially all of Planner. According to Donald MacKenzie, [[Patrick J. Hayes|Pat Hayes]] recalled the impact of a visit from Papert to Edinburgh, which had become the "heart of [[artificial intelligence]]'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."<ref>MacKenzie 2001 p 82.</ref> 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 [[Lighthill report|resulting report]] <nowiki>[</nowiki>[[James Lighthill|Lighthill]] 1973; [[John McCarthy (computer scientist)|McCarthy]] 1973] was highly critical although [[SHRDLU]] 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.β.<ref>Bruynooghe, Pereira, Siekmann, and van Emden [2004]</ref> Kowalski [1988] states "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 [[Bob Kowalski|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."<ref>[[Alain Colmerauer|Colmerauer]] and Roussel 1996</ref> In the fall of 1972, [[Philippe Roussel]] implemented a language called [[Prolog]] (an abbreviation for '''PRO'''grammation en '''LOG'''ique β French for "programming in logic"). Prolog programs are generically of the following form (which is a special case of the backward-chaining in Planner): :{{mono|''When goal'' Q, ''goal'' P<sub>1</sub> ''and'' ... ''and goal'' P<sub>n</sub>}} 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 {{mono|(not expression)}} construct which succeeded if {{mono|expression}} failed, which gave rise to the β[[Negation as failure|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.<ref>Hewitt and de Jong 1983, Hewitt 1985, Hewitt and Inman 1991</ref> 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.'', {{mono|(not (human Socrates))}}. Prolog did not include negation in part because it raises implementation issues. Consider for example if negation were included in the following Prolog program: :{{mono|''not'' Q.}} :{{mono|Q :- P.}} The above program would be unable to prove {{mono|''not'' P}} 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]]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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)