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.
Symbolic, Cognitive and Linguistic Systems Certificate: satisfies Area I distribution requirement

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

```          ?-a.
```

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.

★ Assignment #2 (four parts)

***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.

★ Assignment #3 (one part)

***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.

★ Assignment #4 (three parts)

• 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

```
?-  f.

```

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

```
?- f.

```

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.

★ Assignment #5 (two parts)

• 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

```
smokes, influenza.

```

Explain why these are the two possible hypotheses. In your answer, be sure to explain what abduction is. Now, suppose that the agent observes

```
wheezing.

```

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

```
wheezing, nonsmoker.

```

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.

★ Assignment #6 (three parts)

• 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

```
?- s([a,good,man,is,hard,to,find],[]).

```

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

```
?- common_noun(park,tree03).

```

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).

```

returns

```
X=tree04.
```

What would have to be added to the KB? Would the addition be in the model, lexicon, or some place else altogether?

★ Assignment #7 (one part)

• Explain the most important points in Kowalski's response to the Selection Task. Be sure to give a detailed and thoughtful explanation.

Contact Information

Thomas A. Blackson
Philosophy Faculty
School of Historical, Philosophical, and Religious Studies
Lattie F. Coor Hall, room 3356
PO Box 874302
Arizona State University
Tempe, AZ. 85287-4302
blackson@asu.edu, tab.faculty.asu.edu, www.public.asu/~blackson