Philosophy, Computing, and AI

PHI 319. Syllabus. Welcome to the Course!

Course Description

Instructor: Thomas A. Blackson

A prior course in symbolic logic (PHI 333 or its equivalent) is helpful but not necessary for PHI 319.

PHI 319 satisfies "CS" in the "Five Core Areas" in the Undergraduate General Studies Requirements.

PHI 319 satisfies the "Upper Division Philosophy Course" and the "Upper Division Elective in Symbolic Systems" requirements for the Symbolic, Cognitive and Linguistic Systems Certificate.





World Logic Day
"Logic is ever-present: when you use AI software, when you turn on your computer, when you develop an argument. Logic is a contemporary universal. Yet despite being surrounded by logic, we remain quite unaware of its ubiquity. We often apply logic without knowing that we are doing so. Thus to draw attention to the importance of logic in the development of knowledge, UNESCO has proclaimed 14 January World Logic Day."— Message from Audrey Azoulay, Director General of UNESCO, on the occasion of World Logic Day, 14 January 2021.


Some Online Resources:

Artificial Intelligence. A Modern Approach, 3rd edition
Stuart J. Russell and Peter Norvig

Artificial Intelligence
(Stanford Encyclopedia of Philosophy)

Logic and Artificial Intelligence
(Stanford Encyclopedia of Philosophy)

Non-monotonic Logic
(Stanford Encyclopedia of Philosophy)

Stanford University Symbolic Systems Program

Allen Institute for Artificial Intelligence

Transformers as Soft Reasoners over Language, 2020
Paper related to the Aristo project, Allen Institute

The Logic Theorist (Wikipedia)

Logic Programming (Wikipedia)

Logic Programming (Robert Kowalski)

8A: Logic Programming, Part 1 (Abelson and Sussman)

8B: Logic Programming, Part 2 (Abelson and Sussman)

Formal Semantics, Lecture 2 (Barbara Partee)

SWI Prolog

Learn Prolog Now!

Robert Brandom
How Analytic Philosophy has Failed Cognitive Science

Noam Chomsky
On Where Artificial Intelligence Went Wrong

Peter Norvig
On Chomsky and the Two Cultures of Statistical Learning

Neural Networks and Deep Learning

GPT-2 and the Nature of Intelligence, Gary Marcus

GPT-3 and General Intelligence, David Chalmers

Eliza, Computer Therapist
This course is a study in the use of logic to understand and build a model of the intelligence of a rational agent. A rational agent has goals, beliefs, and takes actions based on its beliefs in an attempt to satisfy its goals. The model consists in an extension of logic programming embedded in an observation-thought-decision-action cycle.

This course meets in the learning management system Arizona State University uses for its online programs, but the materials (the lecture notes and the readings) that comprise the course are freely available on the internet.

I have written this syllabus and the lecture notes for the course in the Tufte CSS style. In this style, links are underlined, match the body text in color, and do not change on mouseover or when clicked.

Course Objectives

In this course, we will think about the intelligence in the observation-thought-decision-action cycle, techniques to represent the propositional content of beliefs and other states in them mind as symbolic structures, the hypothesis that some thinking is computational, the methods of computation in logic programming, the theory and application of logic programming to model the intelligence of a rational agent, some of the possible extensions of logic programming to accommodate defeasible reasoning and other forms of the intelligence that characterize a rational agent, the computer programming language Prolog ("PROgramming in LOGic") and how this programming language incorporates the principles of logic programming, and some of the more famous experiments in psychology that challenge the use of logic to model human intelligence and thus challenge the GOFAI ("Good Old-Fashioned Artificial Intelligence") approach to understanding intelligence.

Course Letter Grade

The letter grade is a function of the points on 7 writing assignments and 7 discussion posts. Each writing assignment is worth 10 points. Each discussion post is worth 4 points. The assignments and discussion posts sum to 98 points. 2 points are for reading the syllabus and introducing yourself. There is no extra credit, and late work is not accepted without good reason. The point total determines the letter grade: 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.

Course Textbooks

There are two textbooks for the course:

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

The authors have also made some of their teaching materials available to the public. Levesque has slides to accompany his Thinking as Computation. Kowalski has slides to accompany two courses (a shorter and a longer course) based on material he later incorporated into his Computational Logic and Human Thinking. He also has video lectures for his book he recorded at the 22nd International Joint Conference on Artificial Intelligence (IJCAI).

These slides and videos can be helpful but are not necessary for this course.

Course Lecture Notes and Videos

I highlight the most important points in the course in the lecture notes. These points constitute the material on which you will be graded in your discussion posts and assignments.

The lecture notes (which are linked through this syllabus) are available virtually 24/7. The server is in San Francisco. DigitalOcean is the cloud infrastructure provider. I change the lecture notes occasionally in an effort to improve them. Be sure to refresh the webpage in your browser to see the latest version.

In general, the lecture notes are more straightforward to understand than the books.

In addition to the lecture notes, I made a couple of videos for some of the more complicated material.

A Strategy for Doing Well

A good strategy for doing well in this course is to read the assignment for the unit first. Once you know the question or questions you need to answer, read the lecture notes. After you have read the lecture notes, read the relevant sections in the books. It is not necessary to understand every detail. To do well, you need only understand enough to write a thoughtful discussion post and to answer the questions in the assignments (which are linked through this syllabus). Keep in mind that reading for understanding takes time and often requires working through some of the material more than once. This is only natural, but it means that you are unlikely to do well if you wait until the last minute to do the work. Remember too that you can discuss and post questions both about the material and about assignments. Asking questions is important for learning, especially in an online course.


Course Units

UNIT 1:

Lecture:
Thinking is Computation
Introduction to the Logic Programming/Agent Model.

Video:
Backward Chaining

Reading:
Computational Logic and Human Thinking. Introduction (14-21), Chapter 1 (22-37)
Thinking as Computation. Chapter 1 (1-5, 11-21)

Lecture:
Logic and Logic Programming
The Technical Background and Foundations of Logic Programming.
(Not all of this material is required for the course.)

Video:
Backward Chaining Searches for a Proof

Reading:
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:

Lecture:
Prolog ("PROgrammation en LOGique")
A Computer Programming Language that Incorporates Principles of Logic Programming.

Video:
Using Prolog Online

Reading:
Thinking as Computation. Chapter 3 (41-61), Chapter 4 (63-81), Appendix B-C (279-288)

Lecture:
The Psychology of Logic
Two Famous Experiments: the Wason Selection Task and The Suppression Task.

Reading:
Computational Logic and Human Thinking. Chapter 2 (38-53)

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


UNIT 3:

Lecture:
The Fox and the Crow
An Example of the Logic Programming/Agent Model in Action.

Reading:
Computational Logic and Human Thinking. Chapter 3 (54-64), Chapter 7 (109-122), Chapter 8 (123-135, 139-140)

Lecture:
The Observation-Thought-Decision-Action Cycle
Intentions and Plans in Practical Reasoning, Logic-Based Production Systems
(Interesting but not required for the course.)

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


UNIT 4:

Lecture:
Negation-as-Failure
Kowalski's Attempt to Understand the Suppression Task.

Video:
Logic Programming with NAF

Reading:
Computational Logic and Human Thinking. Chapter 5 (75-91), Appendix A4 (284-289)

Lecture:
Argumentation Semantics, Degrees of Importance, Degrees of Justification
(Interesting but not required for the course.)

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


UNIT 5:

Lecture:
Prohibitions and Prospective Logic Programming
An Extension of the Logic Programming/Agent Model.

Reading:
Computational Logic and Human Thinking. Chapter 8 (135-139), Chapter 12 (171-181)

Lecture:
Abduction and Abductive Logic Programming
An Extension of the Logic Programming/Agent Model.

Reading:
Computational Logic and Human Thinking. Chapter 10 (150-159), Appendix A6 (301-317)

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


UNIT 6:

Lecture:
Understanding Natural Language
Introduction to Natural Language Processing (NLP).

Reading:
Thinking as Computation. Chapter 8 (153-176)

Lecture:
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:

Lecture:
The Wason Selection Task Revisited
Kowalski's Attempt to Understand the Selection Task.

Reading:
Computational Logic and Human Thinking. Chapter 16 (217-231)

Lecture:
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