Course Description

This course is a study of an application of logic to model the intelligence that characterizes rational agents. 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 reasoning that rational agents employ, (iii) with the idea that reasoning is a form of computation, (iv) the methods of computation in logic programming, with the theory of logic programming, and with the application of logic programming to the rational agent model of intelligence, (v) extensions to the basic logic programming/agent model that are necessary to accommodate defeasible reasoning and other forms of intelligence that characterize rational agents, (vi) the computer programming Prolog ("PROgramming in LOGic") and the way this programming language incorporates principles of logic programming, and (vii) 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 rationality more generally.

Required Books

There are two textbooks required 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 made slides for Thinking as Computation. Kowalski made 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.

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 assignment (listed below) is worth 7 points. Each discussion post is worth 7 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).

Incompletes are given only to accommodate serious illnesses and family emergencies, which must be adequately documented.

Lectures Notes and Readings

Not all the following material is equally important. 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. 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 (The Hypothesis in the Course)
Thinking as Computation 1, 2; slides 1-38.
Computational Logic and Human Thinking "Introduction," 1; shorter 1-10; video 00:00-12:40; longer 1-33.

Logic and Logic Programming (The Technical Background--the Most Complicated Part of the Course)
Thinking as Computation 2; slides 39-55.
Computational Logic and Human Thinking "Appendix A1," "Appendix A2," "Appendix A3," "Appendix A5";
shorter 11-15; video 11:04-18:59; longer 33-60, 75-95, 189-214.

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


UNIT 2

Prolog (A Computer Programming Language that Incorporates Principles of Logic Programming)
Thinking as Computation 3, 4, "Appendix A," "Appendix B," "Appendix C," "Appendix D"; slides 56-97.

The Psychology of Logic (The Wason Selection Task and The Suppression Task)
Computational Logic and Human Thinking 2; longer 61-74.

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 of Rational Agents)
Computational Logic and Human Thinking 3, 8; longer 96-108, 157-188.

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"; longer 109-130, 247-261.

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; slides 314-322.
Computational Logic and Human Thinking 10, "Appendix A6"; longer 215-228

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


UNIT 6

Understanding Natural Language
Thinking as Computation 8; slides 188-228.

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