Course Description

This course is a study of an application of logic to begin to understand and build a model of the intelligence that characterizes a rational agent. The model consists in an extension of logic programming to support an observation-thought-decision-action cycle.

Learning Objectives

At the completion of this course, students will be familiar with (i) techniques in AI to represent cognitive states as symbolic structures, (ii) the observation-thought-decision-action cycle as the primary form of thinking that underlies reasoning in a rational agent, (iii) the idea that some thinking and reasoning is computation, (iv) methods of computation in logic programming, the theory of logic programming, and the application of logic programming to the rational agent model of intelligence, (v) possible extensions to the basic logic programming/agent model to accommodate defeasible reasoning and other forms of intelligence that characterize a rational agent, (vi) the computer programming language Prolog ("PROgramming in LOGic") and the way this language incorporates the principles of logic programming, and (vii) some of the more famous experiments in psychology that challenge the use of logic to model human intelligence and the GOFAI ("Good Old-Fashioned Artificial Intelligence") approach to understanding intelligence and rationality more generally.

Books for the Course

There are two textbooks for the course:

• Robert Kowalski, Computational Logic and Human Thinking: How to be Artificially Intelligent (Cambridge University Press, 2011)
• Hector Levesque, Thinking as Computation: A First Course (MIT Press, 2012).

The authors have made some of their teaching materials public. Levesque has slides for Thinking as Computation. Kowalski has slides for two courses (a shorter and a longer course) based on Computational Logic and Human Thinking. Kowalski also made video lectures for his book. (He recorded these videos at the 22nd International Joint Conference on Artificial Intelligence (IJCAI), Barcelona 2011.) These slides and videos are helpful but strictly supplementary to the books and my lecture notes for the course.

Final Grade for the Course

The final grade for the course is a function of your grade on 7 writing assignments and 7 discussion posts. Each writing assignment (listed below) is worth 10 points. Each discussion post is worth 4 points. The assignments and discussion posts sum to 98 points of the final grade. There are 2 free points. There is no extra credit, but I am more than happy to work with students on independent projects. The point total determines the final letter grade for the course: A+ (100-97), A (96-94), A- (93-90), B+ (89-87), B (86-84), B- (83-80), C+ (79-77), C (76-70), D (69-60), E (59-0).

Late assignments will not be accepted without very good reason. Incompletes are given only to accommodate serious illnesses and family emergencies, which must be adequately documented.

Lectures Notes and Readings

I highlight the most important points in my lecture notes. This (in addition to the reading in the books) is the material on which you will be graded in your assignments and discussion posts. Use the slides and video as supplementary. It is not necessary to understand every detail of the supplementary material. Some of this material is difficult and appropriate for a more advanced course. The lecture notes are more understandable than the books, and the books are more understandable than the slides and the video lectures.



UNIT 1:

Thinking is Computation
(Introduction to the Logic Programming/Agent Model)
Computational Logic and Human Thinking. Introduction (14-21), Chapter 1 (22-37)
Thinking as Computation. Chapter 1 (1-5, 11-21)

Logic and Logic Programming
(The Technical Background. This is the Most Complicated Part of the Course.)
Computational Logic and Human Thinking. Appendix A1-A3 (251-283), A5 (290-300)
Thinking as Computation. Chapter 2 (23-39)

Assignment #1
You are free to talk about the assignment and post questions.


UNIT 2:

Prolog ("PROgrammation en LOGique")
(A Computer Programming Language that Incorporates Principles of Logic Programming)
Thinking as Computation. Chapter 3 (41-61), Chapter 4 (63-81), Appendix B-C (279-288)

The Psychology of Logic
(The Wason Selection Task and The Suppression Task)
Computational Logic and Human Thinking 2

Assignment #2
You are free to talk about the assignment and post questions.


UNIT 3:

The Fox and the Crow
(The Logic Programming/Agent Model)
Computational Logic and Human Thinking 3, 8

Assignment #3
You are free to talk about the assignment and post questions.


UNIT 4:

Negation-as-Failure
(The Suppression Task Revisited)
Computational Logic and Human Thinking 5, "Appendix A4"

Defeasible Reasoning and its Semantics
• Interesting but not required for the course

Assignment #4
You are free to talk about the assignment and post questions.


UNIT 5:

Prohibitions and Prospective Logic Programming
Computational Logic and Human Thinking 12.

Abduction and Abductive Logic Programming
Thinking as Computation 11
Computational Logic and Human Thinking 10, "Appendix A6"

Assignment #5
You are free to talk about the assignment and post questions.


UNIT 6:

Understanding Natural Language
Thinking as Computation 8

Building Meaning with the Lambda Calculus
• Interesting but not required for the course

Assignment #6
You are free to talk about the assignment and post questions.


UNIT 7:

The Wason Selection Task Revisited
Computational Logic and Human Thinking 16.

Neural Networks (Recognizing Digits in the MNIST Data Set)
• Interesting but not required for the course

Assignment #7
You are free to talk about the assignment and post questions.






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, tomblackson.com, www.public.asu/~blackson




move on