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
How to receive full credit for your assignments
Each writing assignment (listed below) is worth 10 points. Several of the assignments have multiple parts. Be sure to label each part in your answer. Write your answers in such a way that the reader does not already have to know the material to understand what you have written. The best way to do this is provide detailed answers.
★ 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. I will keep the difficult of the assignment in mind when I grade, but be sure to leave yourself enough time and to ask questions if you don't understand.***
• Explain the difference between
knowledge and belief. Give a detailed answer. Which of the two, in your view, is the fundamental epistemic state for understanding
the intelligence of a rational agent. (The belief that it is knowledge motivates the term "KB" or "knowledge base.") State and explain your reasons for your view.
• It seems possible that the intelligence of a rational agent can be understood computationally and, in particular, that reasoning can be understood as 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.
• Consider the following logic program
a ← b. b ← c. c.
Suppose the query to this program is
The question, in posing this query, whether a is a logical consequence of the program. Set out the steps in the computation that begins when the query is put to the program. (The computation is the backward chaining procedure.) Further, explain how the steps in this computation correspond to a proof in the propositional calculus.
• Suppose that I form the belief that some object is red because it looks red to me. It is possible that "the object looks red to me" is true and that "the object is red" is false. (The object might be white and have a red light illuminating on it.) Does this possibility show that that my belief that the object is red 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
that consists in the fact that "Socrates is a
man" and in the rule that "All men are mortal." Relative to this
program, ask whether something is a man. Ask too whether
something is mortal. Submit a screen shot or shots to prove that you
have posed these queries to the program.
• Relative to the logic program 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. Include a description of the truth-conditions for the material conditional and how these conditions relate to the task. Is the observed experimental result a threat to the use of logic programming to model the intelligence of a rational agent? Be sure to give a detailed and thoughtful answer.
• Present and explain the Suppression Task and the observed experimental result. Is the result observed in this experiment a threat to the use of logic programming to model the intelligence of a rational agent? 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. In your answer, be sure to provide a clear statement of the two rules.
Be sure to explain in which rule the premises provide a defeasible
reason for the conclusion, and be sure to explain what it means to say that
in this rule the premises provide a defeasible
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 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
firstname.lastname@example.org, tab.faculty.asu.edu, www.public.asu/~blackson