PHI 319: Philosophy, Computing, and Artificial Intelligence

Thomas A. Blackson
School of Historical, Philosophical, and Religious Studies
Arizona State University




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 intelligent behavior of agents. Explain why.

• The hypothesis for the course is that thinking is a form of computation. Explain how deliberation about whether a given end is achievable (which is a familiar kind of thinking) 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

          ?-a.

The query represents the question of whether a is a logical consequence of the conjunction of the statements in the program. The following argument shows that a is a logical consequence of statements in the program:

          c
          c → b
          b → a
          ======
            a        

So the query should be successful. 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 corresponds to a proof in the propositional calculus.

• Part of the difficulty in AI is in understanding rationality. In reasoning, it seems possible to reach to a conclusion not a logically entailed by what one believes. For example, 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 think to myself that my car keys are on the table because that is where I left them 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 in the example it is irrational for me to draw the conclusion on the basis of the premise? Be sure to explain your answer in detail.


Assignment #2 (four parts)

***There is good news--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 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 this 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 result a threat to the use of logic to model intelligence? If so, why?
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 of intelligence. 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 and so 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 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


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



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




go back go back