Instructor: Thomas A. Blackson
Pre-requisites: ENG 102, 105 or 108 with C or better; Minimum 25 hours. A prior course in symbolic logic (PHI 333 or equivalent) is helpful but not required.
Undergraduate General Studies Requirement: CS
Symbolic, Cognitive and Linguistic Systems Certificate: satisfies Area I distribution requirement
Each assignment is worth 7 points of the final grade. Several of the assignments have multiple parts. Be sure to label each part in your answer.
★ Assignment #1 (four parts)
***This first assignment is in some ways the most difficult. It is difficult in part because it is first and also because logic and logic programming is technical in nature. Be sure to leave yourself enough time and to ask questions if you don't understand.***
• Explain the difference between
knowledge and belief. Which is appropriate for understanding
the intelligence of rational agents. Explain why.
• The hypothesis for the course is that reasoning is a form of computation. Explain how deliberation about whether a given end is achievable might be understood as a form of computation. Be sure to give a detailed example to illustrate your explanation. Be sure to explain terms, such as 'computation' and 'deliberation.'
• Consider the following logic program (or KB)
a ← b. b ← c. c.
Suppose the query is
The query represents the question of whether a is a logical consequence of the conjunction of the statements in the program. Set out the steps in the computation that answers the query. (The computation is the procedure that involves matching and so on.) Further, explain how the steps in this computation correspond to a proof in the propositional calculus.
• Suppose that I leave my car keys on the table when I go to bed. In the morning, when I wake up, suppose that I come to believe that my car keys are on the table because I remember leaving them there last night. The premise "Last night, when I went to bed, I put my car keys on the table" does not logically entail the conclusion "In the morning, my car keys are on the table." Does this show that that my belief about where my keys are is not rational? Be sure to explain your answer in detail.
***This assignment is not as difficult as the first. Still, be sure to leave yourself enough time and to ask questions if you don't understand.***
• In Prolog, load a logic program
whose KB (knowledge base) consists in the fact that "Socrates is a
man" and in the rule that "Men are mortal." Relative to this
knowledge base, ask whether something is a man. Ask whether
something is mortal. Submit a screen shot to prove that you
have done it.
• Relative to the KB in the prior question, set out the steps in the computation to answer the second query (whether something is mortal).
• Present and explain the Selection Task and the observed experimental result. Be sure to include a description of the truth-conditions for the material conditional and how these conditions relate to the task. Is the observed result a threat to the use of logic to model intelligence? If so, why? Be sure to give a detailed and thoughtful answer.
• Present and explain the Suppression Task and the observed experimental result. Is this observed result a threat to the use of logic to model intelligence? If so, why? Be sure to give a detailed and thoughtful answer.
***This assignment has only one part. Be sure to give a detailed and thoughtful answer.***
• Use the example of The Fox and and the Crow to explain the logic programming/agent model. Be sure to present the example and to give the explanation in detail. Call attention to the parts of the explanation that go beyond the simple use of backward chaining to determine whether the query is a logical consequence of the knowledge base. These parts of the explanation show that the model, as it stands, is not an adequate model of intelligence of a rational agent and thus needs to be supplemented.
• Describe the difference between the
classical negation introduction rule and negation-as-failure
rule. Be sure to provide a clear statement of the rules. Be
sure to answer such questions as the following. What is the
difference between logical consequence and inference, where
"inference" is understood as reasoning. What is the
difference between conclusive reasoning and defeasible
reasoning? In which rule do the premises provide a defeasible
reason for the conclusion? In which rule do the premises
provide a conclusive reason for the conclusion?
• Consider the following simple logic program
a ← b, c. b ← d. b ← e. c. d ← h. e. f ← g, b. g ← c, k. j ← a, b.
Suppose the query is
Set out the steps involved in the computation to answer this query. Now suppose that the program and queries are understood with negation-as-failure. In the program, suppose that
g ← c, k.
is replaced with
g ← c, not-k.
Suppose the query to this new program is
Set out the steps involved in the computation to answer this query. Be sure to explain the relevant differences between this computation and the prior one.
• Explain the most important points in Kowalski's response to the Suppression Task. Be sure to give a detailed and thoughtful explanation. To do that, you must present the two episodes of reasoning in the Suppression Task as computations involving logic programs. Finally, explain whether you think Kowalski's response to the Suppression Task is adequate.
• In prospective logic programming,
prohibitions function to rule out certain plans that an agent
might otherwise use to bring about his achievement goals. Use
the runaway trolley example to explain how prohibitions work
in the context of the logic programming/agent model of
intelligence. Be sure to explain in detail how the
prohibition functions in the example.
• In abductive logic programming, integrity constraints function to rule out certain possible explanations. Use the following example to explain abduction and how integrity constraints work in the context of the logic programming/agent model of intelligence. The knowledge base and integrity constraint are
bronchitis ← influenza. bronchitis ← smokes. coughing ← bronchitis. wheezing ← bronchitis. fever ← influenza. soreThroat ← influenza. false ← smokes ∧ nonsmoker.
For abduction, the possible hypotheses are
Explain why these are the two possible hypotheses. In your answer, be sure to explain what abduction is. Now, suppose that the agent observes
What is the explanation or explanations for this observation? Set out the steps in the computation or computations for determining this explanation or explanations. Now, instead of the initial observation, suppose that the agent observes
Now what is the explanation? Explain the role the integrity constraint plays in determining this explanation. Set out the steps in the computation that involves the integrity constraint. Finally, explain why abduction is useful to an agent whose end is to maintain a certain relationship to the world.
• Consider the language defined by following grammar and lexicon:
s -> np vp np -> det n vp -> v np vp -> v det -> a det -> the n -> woman n -> man v -> loves
Is the string 'the woman loves a woman' a sentence of the language? If so, provide a parse tree for the string.
• Put the following knowledge base into a prolog program:
s(X,Z) :- np(X,Y), vp(Y,Z). np(X,Z) :- det(X,Y), n(Y,Z). vp(X,Z) :- v(X,Y), np(Y,Z). vp(X,Z) :- v(X,Z). det([the|W],W). det([a|W],W). n([woman|W],W). n([man|W],W). v([loves|W],W).
Provide a screen shot to show that you have done it. Pose the following query
Provide a screen shot to show that you have done it. Set out all the steps involved in answering this query. Be sure to explain the unifications that are necessary in the computation.
• Consider the following rule from the lexicon discussed in the lecture notes:
common_noun(park,X) :- park(X).
What does this rule say? Be sure to give your answer in terms of words, grammatical categories, and extensions. Consider the query
What is this query asking? Again, be sure to give your answer in terms of words, grammatical categories, and extensions. Consider the slightly strange looking query
?- common_noun(park, park).
What is this query asking? Again, be sure to give your answer in terms of words, grammatical categories, and extensions. Suppose we discover a new tree, tree04. Suppose that we want to place this tree in the extension of the common noun "park" so that the query
?- common_noun(park, X).
What would have to be added to the KB? Would the addition be in the model, lexicon, or some place else altogether?
• Explain the most important points in Kowalski's response to the Selection Task. Be sure to give a detailed and thoughtful explanation.
Thomas A. Blackson
School of Historical, Philosophical, and Religious Studies
Lattie F. Coor Hall, room 3356
PO Box 874302
Arizona State University
Tempe, AZ. 85287-4302
email@example.com, tab.faculty.asu.edu, www.public.asu/~blackson