# Philosophy, Computing, and AI

PHI 319. Assignments.

Each assignment is worth 10 points. Several have multiple parts. Label them in your answer. Be sure to write your answers in such a way that a reader who does not already know the material can understand what you have written. The best way to do this is to provide detailed answers.

## ★ Assignment #1 (four parts)

• Explain the difference between knowledge and belief. Which is more fundamental for understanding the intelligence of a rational agent. State and explain your reasons for your view.

• It seems possible that the intelligence of a rational agent can be understood computationally and that the reasoning in which the agent engages 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.
```

In posing this query, the question is 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. If you can, 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 (three parts)

• In Prolog, load a logic program that consists in the fact that

"Socrates is a man"

and the rule that

"All men are mortal"

With respect to this program, ask whether something is a man and ask whether something is mortal. Submit a screen shot or shots to prove that you have posed these queries to the program.

• With respect to the logic program in the prior question, set out the steps in the computation to answer the second query (whether something is mortal).

• Complete one of the following:

Present and explain the Selection Task and the observed experimental result. Does the fact that subjects do poorly in the Selection Task but better on formally equivalent tasks that have more meaningful content show that it is a mistake to use logic programming to model the intelligence of a rational agent? Be sure to give reasons to support your view.

or

Present and explain the Suppression Task and the observed experimental result. Does the observed result in this experiment show that it is a mistake to use logic programming to model the intelligence of a rational agent? Again, be sure to give reasons to support your view.

## ★ Assignment #3 (one part)

• Use the example of "The Fox and and the Crow" to explain the logic programming/agent model. Be sure to present the example in detail and to give the explanation in detail. Call attention to the parts of the example that go beyond the simple use of backward chaining to determine whether a query is a logical consequence of the knowledge base understood as a logic program. These parts of the example 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 (four parts)

• Describe the difference between the classical negation introduction rule and the negation-as-failure rule. Provide a clear statement of the two rules. Explain in which rule the premises provide a defeasible reason for the conclusion, and be sure to explain what a defeasible reason is.

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

• Suppose that the above program allows negation-as-failure and that in the program

```         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 explanation. To do that, you must present the relevant 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. Give reasons for your view.

## ★ Assignment #5 (two parts)

• In the logic programming/agent model, prohibitions function to rule out certain plans that an agent might otherwise use to bring about the goals he or she seeks to achieve. Use the "Runaway Trolley" example to explain how prohibitions work in the model. Give a detailed explanation.

• In the logic programming/agent model, integrity constraints function to rule out certain possible explanations. Use the following "medical" example to explain what abductive reasoning is and how integrity constraints work in the context of the model. The beliefs 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.
```

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.

Suppose instead 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.

## ★ 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 woman loves a woman' a sentence of the language? If so, provide a parse tree for the string.

• Put the following rules and facts 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. If you can, set out the steps involved in answering this query including the unifications that occur.

• 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 question is this query asking? Again, be sure to give your answer in terms of words, grammatical categories, and extensions.

## ★ Assignment #7 (one part)

• Explain the most important points in Kowalski's response to the Selection Task. Explain whether you think Kowalski's response is adequate. Be sure to give reasons for your view.