The Department of Computer Science & Engineering
UB CSE 4/563

CSE 4/563: Knowledge Representation
Stuart C. Shapiro
Spring, 2007

MWF, 11:00 - 11:50, 214 Norton

"Reports that say something hasn't happened are always interesting to me, because as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns -- the ones we don't know we don't know." -- Donald Rumsfeld, February 2002

"We think we know what he means. But we don't know if we really know." -- John Lister, spokesman for Britain's Plain English Campaign, December 1, 2003.

Lecturer TA Class Meetings Course Description
Text Additional Readings On-Line Resources Interesting KR Links
Newsgroups "Programming" Homeworks Projects
Grading Academic Policies Sample Project Report Calendar
Prof. Stuart C. Shapiro, 326 Bell Hall, 645-3180 ext. 125,
Office Hours: T 1:30-2:30, Th 10:00-11:00, F 1:00-2:00, or make an appointment via email. See my schedule for my available times.

TJ Burns, Trailer E, Desk 11, 645-3774 (or 607-743-7568 in an emergency),
Office Hours: T 3:30-4:30, W 1:00-2:00, Th 2:00-3:00

Class Meetings:
463 LectureShapiro MWF 11:00-11:50 Norton 214
563 LectureShapiro MWF 11:00-11:50 Norton 214
463 Recitation B1 Burns 402608 M 1:00-1:50 Norton 209
563 Recitation B1 Burns 146663 M 1:00-1:50 Norton 209
463 Recitation B2 Burns 192523 M 12:00-12:50 Norton 214
563 Recitation B2 Burns 392467 M 12:00-12:50 Norton 214

Course Description:
This course is an introduction to the issues and techniques of representing knowledge and belief in a computer system. Of course, a representation is useless unless it can be used for some purpose. The main purpose of items of knowledge and belief is reasoning about and with them. Thus, the field is often called "Knowledge Representation and Reasoning", or "KRR". It is our belief that formal logic provides the basic foundation to KRR. So this course may be considered a course in computational logic. However, there are many systems of logic. The most well-known logics were designed to form the foundations of mathematics, rather than the foundations of human-like representation and reasoning. So this course examines several systems of logic, how they are defined, how reasoning procedures can be implemented for them, and how they can be used for human-like reasoning problems. One semester is only enough time to cover the basics. Additional KRR systems are discussed in the follow-up course: CSE 663, Advanced Knowledge Representation.

This course provides a basic grounding in KRR for people interested in: Artificial Intelligence; Cognitive Science; Computational Linguistics; Deductive Database Systems; and Logic Programming.

(RECOMMENDED) Ronald J. Brachman & Hector J. Levesque, Knowledge Representation and Reasoning, Morgan Kaufmann/Elsevier, 2004. (Referred to below as B&L.) Knowledge Representation and Reasoning Slides by Brachman and Levesque.

Stuart C. Shapiro, Knowledge Representation and Reasoning: Logics for Artificial Intelligence, lecture notes.

Additional Readings:

On-Line Resources: KR system manuals, instructions, and related references.

You should subscribe to the newsgroup sunyab.cse.563 and read it regularly. It will be monitored by the lecture and recitation instructors, and will be used for announcements meant for the entire class. You may also use it to ask questions, for example, for clarification of assignments between class and recitation meetings.
Do not use the newsgroup to share answers to assignments.

"Programming" Exercises and Projects:
This course will not involve any programming in traditional programming languages such as Java, C, Python, or Lisp. However, there will be exercises and projects for which the student will:
  1. prepare a set of inputs to some implemented KR system;
  2. input them to the system;
  3. have the system perform some reasoning tasks based on the input.
For want of a better word, this task is referred to as "programming" below. It has similarities to the more traditional programming task. For instance, it may be that the KR system fails to perform its assigned reasoning task properly, and the student will have to debug the inputs, and try again. The language of the inputs and of the instructions for the KR system to perform the reasoning tasks will be the language of one of the logics studied in class, so prior knowledge of a traditional programming language is not required. General familiarity with the use of computers will, however, be beneficial.

The purposes of homework exercises are: to give you hands-on experience with relatively small problems; to give you a chance to assess the level of your understanding; to give you experience with the kinds of questions that may be asked on exams. Small "programming" exercises may be assigned as homework exercises. Homeworks will be assigned in lecture and via this web page. The due date will be announced when the homework is assigned, and will be contained on the homework assignment. They will be due at the beginning of lecture on that date, but will be returned and reviewed in recitation. Some homeworks will be submitted electronically (using submit_cse463 or submit_cse563), in which case instructions will be given with the homework assignment. NO LATE HOMEWORKS WILL BE ACCEPTED.
Grading: Each homework exercise will be worth some modest number of points, which will be stated when the exercise is assigned. The final homework grade will be the percentage of total points possible that were actually earned. To make up for any occasional poor performance on homeworks or for late or missed homeworks, there will occasionally be homework questions worth bonus points.

To give you experience applying the theory presented in the lectures, there will be three "programming" projects during the semester. Each one will involve building and demonstrating a knowledge-based system. You will be given a corpus of knowledge expressed in English, or directed to compile one, and some questions to be answered and/or tasks to be performed. The KR language and reasoning system to be used will be given more or less specifically. It will be up to you to formalize the corpus/questions/tasks and add any background knowledge "normally assumed".

For each project, you will be expected to hand in a paper, produced using a document formatting program such as Microsoft Word or LaTeX, and printed on 8.5 by 11 inch paper, stapled in the upper left-hand corner, with a title, your name, and other identifying information at the top of the first page (Do not use the header page automatically produced by the printer), plus a well-documented listing and run of your program. (Do not enclose your paper in a folder or cover.) The main product of your work is the paper, not the program! For general advice on how to prepare a written report, see William J. Rapaport, How to Write. A sample CSE 4/563 paper is available.

In addition to the paper, you are to submit (using submit_cse463 or submit_cse563) your program, so that it can be run and checked if the instructors choose.

You will have three to four weeks to do each project. The due date and time will be announced when the project is assigned.

Each project will be graded on a scale of 0 - 100%. A finer break-down will be announced with each project. In general, aspects of writing the paper will be weighted more heavily for CSE563 students than for CSE463 students, and aspects of correctness of the program will be weighted more heavily for CSE463 students than for CSE563 students.

Late projects will be penalized 10 points per 24-hour period, or part thereof. The later of the time the paper is turned in and the time the program is submitted will be the time used. You may turn in late papers either to the lecturer, the TA, or the CSE Department office (201 Bell Hall). Realize that the only times you may be sure that anyone will be available to accept your paper is immediately before or after the lecture, immediately before or after the recitation, or during office hours---plan ahead.

Each homework problem will be assigned a point value. Homework points will be cumulative. The final homework grade will be the percent of points earned over maximum points possible. (Due to the availability of bonus points, this might be greater than 100%.) Each project will be graded on the basis of 0-100%, then the project grades will be averaged. Each exam will be graded on the basis of 0-100%. The final course grade will be a weighted average of the total homeworks, the average projects, the midterm exam, and the final exam, according to the following weights:
Midterm Exam25%
Final Exam30%

The default mapping from percents to letter grades will be the "standard" curve:

CSE 463CSE 563 
93-100A  77-79C+         93-100A  77-79C+
90-92A-  73-76C    90-92A-  70-76C
87-89B+  70-72C-    87-89B+  60-69D
83-86B  67-69D+    83-86B  0-59F
80-82B-  60-66D    80-82B-
A more generous curve may be used. If so, it will be derived from the scores of the CSE 463 population.

You should check the electronic grade sheet regularly, and promptly report any discrepancy between the grades shown there and your own records of your grades to the Lecturer or the TA. The grade sheet is only available to UB addresses.

Academic Policies:
This course will abide by the Departmental Academic Integrity policies and procedures, (see also the CSE Graduate Studies Committee web page on Academic Integrity).
and the Departmental Incomplete policy. The short versions are:

This course will also abide by the University's principles and procedures regarding students with disabilities. See the Office of Disability Services' statement on UB's Commitment to Disability Access. Notify the lecturer if you need any accommodations under these policies.

Course Calendar:
This is a tentative schedule, and will probably change continually as the semester proceeds.
1 Mon1/15 Martin Luther King, Jr. Day
 Wed1/17 First Lecture
Introduction to Course
 Fri1/19 Introduction to Knowledge Representation and Reasoning and to Logic: "An Approach to Serenity";
Chap 1 slides; Shapiro 2004, Chap. 1;
B&L, Chap. 1; B&L Slides, Chap 1.
1 Mon1/22 First Meeting of Recitation B1
First Meeting of Recitation B2
CarPool World: A Simple Motivating Example: Chap 2 slides through p. 17; Shapiro 2004, Sec. 2.1
The "Standard" Propositional Logic: Chap 2 slides, p. 18-35; Shapiro 2004, Sec. 2.2
 Wed1/24 HW1 assigned.
Semantics of the "Standard" Propositional Logic: Chap 2 slides, p. 36-44; Shapiro 2004, Sec. 2.2
 Fri1/26 Drop/Add deadline
Refutation Methods based on Model Finding: Chap 2 slides, p. 45-51
2 Mon1/29
Semantic Tableaux and Wang's Algorithm: Chap 2 slides, p. 52-62
 Wed1/31 HW1 due, solutions are posted.
HW2 assigned.
Proof Theory of the Standard Propositional Logic: Chap 2 slides, p. 63-67
Fitch-Style Proof Theory of the Standard Propositional Logic: Chap 2 slides, p. 68-86
4 Mon2/5 Summary---AI/Logic Connections: Chap 2 slides p. 87-90;
Syntax, Semantics, Intro to Proof Theory of Clause-Form Propositional Logic: B&L, Chap. 4; Chap 2 slides p. 91-103
 Wed2/7 HW2 due, solutions are posted.
HW3 assigned.
Refutation Resolution: B&L, Chap. 4; Chap 2 slides p. 104-108; prover and SNARK
 Fri2/9 Project 1 assigned.
Running prover and SNARK
Refutation Resolution on Standard Wfps: Chap 2 slides p. 109-114
5 Mon2/12 Refutation Resolution on Standard Wfps: Chap 2 slides p. 115-127
 Wed2/14 HW3 due, solutions are posted.
HW4 assigned.
Predicate Logic Over Finite Models: B&L, Chap. 2; Chap 3 slides p. 128-144
 Fri2/16 Predicate Logic Over Finite Models: Chap 3 slides p. 145-
6 Mon2/19 The "Standard" Finite-Model Predicate Logic: Chap 3 slides p. 155-172
 Wed2/21 HW4 due, solutions are posted.
HW5 assigned.
The "Standard" Full First-Order Predicate Logic: B&L, Chap. 2; Chap 4 slides p. 173-204
 Fri2/23 The "Standard" Full First-Order Predicate Logic: B&L, Chap. 2; Chap 4 slides p. 204-224
7 Mon2/26 Clause-Form Full First-Order Predicate Logic: B&L, Chap. 4; Chap 4 slides p. 225-236
 Wed2/28 HW5 due, solutions are posted.
Clause-Form FOL: B&L, Chap. 4; Chap 4 slides p. 237-258
Summary of Part I: Chap 5 slides
Midterm Review
8 Mon3/5 Midterm Exam. Solutions are posted.
 Wed3/7 HW6 assigned.
Review Midterm
Clause-Form FOL, Asking Wh Questions: B&L, Chap. 4; Chap 4 slides p. 259-264
 Fri3/9 Project 1 due.
Clause-Form FOL: B&L, Chap. 4; Chap 4 slides p. 265-281
  Mon3/12 Spring Break
 Wed3/14 Spring Break
 Fri3/16 Spring Break
9 Mon3/19 Project 2 assigned.
FOL Wrapup: B&L, Chap. 4; Chap 4 slides p. 282-286
Prolog: B&L, Chap. 5, 6; Chap 6 slides p. 295-297
 Wed3/21 HW6 due, solutions are posted.
HW7 assigned.
Prolog: Chap 6 slides p 298-305
 Fri3/23 Prolog: Chap 6 slides p. 306-318
10 Mon3/26 Prolog: Chap 6 slides p. 319-323
 Wed3/28 HW7 due, solutions are posted.
HW8 assigned.
A Potpourri of Subdomains: Chap 7 slides p. 324-335
 Fri3/30 R deadline
A Potpourri of Subdomains: Chap 7 slides p. 336-340
SNePS: A Logic for Natural Language Understanding and Commonsense Reasoning,
SNePS: Chap 8 slides, p. 341-347
11 Mon4/2 SNePS: Chap 8 slides, p. 348-359
 Wed4/4 HW8 due, solutions are posted.
An Introduction to SNePS
SNePS: Chap 8 slides, p. 360-373
 Fri4/6 SNePS: SNePSLOG Jobs demo; Chap 8 slides, p. 373-375
12 Mon4/9
SNePS: Chap 8 slides, p. 376-382
Examples of path-based inference: /projects/shapiro/CSE563/Examples/SNePSLOG/pbinf1.snepslog /projects/shapiro/CSE563/Examples/SNePSLOG/pbinf2.snepslog /projects/shapiro/CSE563/Examples/SNePSLOG/pbinf3.snepslog
 Wed4/11 HW9 assigned.
Project 3 assigned.
Finish examples of path-based inference.
SNeRE: Chap 8 slides, p. 383-391;
SNePS 2.6.2 User's Manual, Chapters 4, 6.4.
 Fri4/13 No class -- Grad Conference.
13 Mon4/16 Project 2 due.
SNeRE: Chap 8 slides, p. 392-398.
 Wed4/18 HW9 due, solutions are posted.
HW10 assigned.
Finish SNeRE Agent examples.
Belief Revision/Truth-Maintenance Systems: Chap 9 slides, p. 399-404
 Fri4/20 Belief Revision/Truth-Maintenance Systems: Chap 9 slides, p. 405-421
14 Mon4/23 Belief Revision/Truth-Maintenance Systems: Chap 9 slides, p. 422-423
HW10 due, solutions are posted.
The Situation Calculus: B&L, Chap. 14, Chap 10 slides
 Fri4/27 Course summary: Chap 11 slides
15 Mon4/30 Last Lecture
Last Meeting of Recitation B1
Last Meeting of Recitation B2
Reading Days
 Mon5/7 Project 3 due by 4:00 PM.
 Wed5/9 Final Exam, 3:30-6:30 PM, Park 250. Solutions are posted.

Last modified: Thu May 10 09:21:12 EDT 2007
Stuart C. Shapiro <>