Philosophy, Computing, and AI
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
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.
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 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 (three parts)
• Describe the difference between the
classical negation introduction rule and negation-as-failure
rule. Be sure to 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
• 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 allows negation-as-failure and 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 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
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.
Suppose instead 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.
★ 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
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
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.