3 ms·
Thanks Tom! Being a linguist of note, Colmerauer evidently didn't know (or didn't want to admit) that Kowalski had been carefully studying Planner and Shrdlu
by ProfHewitt 6y ago
Thanks Tom!
Being a linguist of note, Colmerauer evidently didn't know (or didn't
want to admit) that Kowalski had been carefully studying
Planner and Shrdlu (Winograd's Phd thesis based on Planner)
for quite a while in Edinburgh, where he felt quite in the
minority defending pure mathematical logic against the
onslaught of Popler (Pop2 Planner), etc.
The formalization issue was addressed by the invention of
Actors for all of digital computation including many
computations that cannot be performed using pure logic
programming (including Colmerauer's Prolog).
Furthermore, many practical applications can be implemented
using Actors hundreds of times faster than they can be
implemented using pure logic programming.
PS. Have you actually read the article
"Middle History of Logic Programming: Resolution, Planner, Prolog and the Japanese Fifth Generation Project"
ArXiv 2009.
https://dev.arxiv.org/abs/0904.3036 https://dev.arxiv.org/abs/0904.3036
- YeGoblynQueenne 6y agoKowalski himself says that he thought that Planner was similar to resolution and the simialrities were not well understood at MIT. The following is my transcription of Kowalski being interviewed for thesearch.space podcast. I surround with square brackets places where I didn't understand or I am unsure of what was said: At MIT criticism of resolution which led to the development of the Planner language of Carl Hewitt and its use by Terry Winograd to implement a large portion of his PhD thesis which was extremely influential at the time... and this was promoted as an alternative to logic and as a procedural representation of knowledge as opposed to a declarative representation of knowledge. So this [muddied] the waters [so to speak] and it created enormous confusion. On the one hand you have resolution [...] logic and its applications to problem-solving, then you have the Planner language which is characterised as a procedural approach alternative to logic and yet it was clear to me that there where [similar to others] the Planner language had similarities to resolution which which were not understood and it was trying to understand that relationship and that similarity that I would say gave rise to logic programmign as I characterised it so far. The podcast can be found here (I'm not afiliated with it in any way): https://thesearch.space/ https://thesearch.space/ The passage above starts at around 29:53. My apologies for the poor quality of the transliteration. >> Planner and Shrdlu (Winograd's Phd thesis based on Planner) Terry Winograd's SHRDLU remains pretty much unsurpassed as a system even today. Wikipedia quotes an excerpt from Winograd's thesis that lists a dialogue between SHRDLU and its user. There's a particular exchange that blows my mind every single time I read it: Person: Does the shortest thing the tallest pyramid's support supports support anything green? Computer: YES, THE GREEN PYRAMID. https://en.wikipedia.org/wiki/SHRDLU https://en.wikipedia.org/wiki/SHRDLU I mean, at that point he's just showing off! I can only imagine him snickering to himself imagining the faces of people reading that. Still, for me personally resolution has proved to be the right way to go, historically. In particular, I'm prepared to bet that Terry Winograd would have saved himself a lot of pain had he been able to use Prolog's Definite Clause Grammars to write SHRDLU's natural English parser. In Prolog, a grammar, even a natural language grammar, is a theorem and parsing it is a proof, just like for every other program; in every other language a grammar is the input to a program that must be written specially for the task of parsing.
- ProfHewitt 6y agoThanks YeGoblynQueenne! My criticism at the time was about resolution uniform proof procedures. I was skeptical that a single procedure could prove typical complex mathematical theorems. Procedural embedding of knowledge was invented to overcome the limitations of resolution uniform proof procedures. Unfortunately, resolution requires flattening the structure of a mathematical propostion into clausal form thereby losing all of its structure. An important innovation of Planner was *not to require conversion into clausal form.* Instead, each Planner backward-chaining procedure is invoked by a noncompound goal. Furthermore, each Planner forward-chaining procedure is invoked by a noncompound assertion. Prolog is a subset of Planner in which a Prolog procedure is invoked by a single noncompound goal. *Prolog does not have forward chaining.* BTW, Kowalski and I continue to disagree about fundamental nature of pure logic programming. My thesis is that a logic program is characterized by the requirement that each computational step must be completely justified by a rule of mathematical logic.
- YeGoblynQueenne 6y agoThank you for your reply, professor. Can I ask, what do you mean by "a rule of mathematical logic"? To my mind, resolution should fit the bill, but obviously you're saying something else, since you're critical of resolution. About flattening the structure of a mathematical proposition, I think I understand what you mean, but that should not really be a problem. It should be possible to express a mathematical (or anything) concept in different formalisms without losing its meaning. The structure itself is not that important, as long as the meaning remains the same. Horn logic happens to be a formalism that is both maximally expressive and semi-decidable (SLD-resolution is sound and complete for refutation, or with subsumption). Given that it can also be communicated to a computer without any further changes of formalism, it is also very useful. In any case, thank you again for your contributions to this thread and your replies to my comment. Your perspective of logic programming is invaluable.
- ProfHewitt 6y agoYou are very welcome! By "a rule of mathematical" logic, I meant a standard logical inference rule such as Modus Ponens or Double Negation Elimination. No modern proof engine requires flattening a proposition into clauses, which often makes the proposition more difficult to understand and process. Just because the clauses are logically equivalent doesn't that they are always useful. Thank you very much for your own contribution :-)