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



Several of the assignments have multiple parts. Be sure to label each part in your answer.


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 intelligence of rational agents. Explain why.

• The hypothesis for the course is that reasoning is 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. 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. 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 correspond to a proof in the propositional calculus.

• 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 come to believe my car keys are on the table because I remember leaving them there last night. Now it is possible that "Last night, when I went to bed, I put my car keys on the table" is true and that "My car key are on the table" is false. Someone might have moved them. Does this show that that my belief that my car keys are on the table 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 whose KB (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 the observed 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 observed 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. 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 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