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

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

MWF, 11:00 - 11:50, 322 Clemens


"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
Texts Additional Readings On-Line Resources Interesting KR Links
Discussion Board "Programming" Homeworks Projects
Sample Project Report Grading Midterm Exam Final Exam
Academic Policies Calendar UBlearns Site
Lecturer:
Prof. Stuart C. Shapiro; 326 Bell Hall, 645-3180 ext. 125; shapiro@cse.buffalo.edu.
Office Hours: TTh 10:00-10:50, F 1:30-2:20 or make an appointment via email. See my schedule for my available times.

TA:
Jonathan P. Bona; Room 17, The Commons; 716-568-4856 (Skype) or 645-6173 x 517; jpbona@cse.buffalo.edu.
Office Hours: T 9:00-9:50, W 12:00-12:50, F 9:00-9:50.

Class Meetings:
CLASS INSTRUCTOR REGISTRATION NO. DAYS HOURSLOCATION
463 Lecture Shapiro xxxxxx MWF 11:00-11:50 Clemens 322
563 LectureShapiro xxxxxx MWF 11:00-11:50 Clemens 322
463 Recitation A1 Bona 151024 T 8:00-8:50 Norton 214
563 Recitation A1 Bona 117420 T 8:00-8:50 Norton 214
463 Recitation A2 Bona 157235 M 12:00-12:50 Norton 209
563 Recitation A2 Bona 047174 M 12:00-12:50 Norton 209

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; Philosophy of Mind and of Language; Logic Programming; Database Systems; and applications areas that employ formal representations of ontologies.

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

(RECOMMENDED) Peter Suber, Translation Tips [from English to Symbolic Logic], Philosophy Department, Earlham College. (Accessed January 14, 2008.) (version with symbols fixed)

(RECOMMENDED) Ronald J. Brachman & Hector J. Levesque, Knowledge Representation and Reasoning, Morgan Kaufmann/Elsevier, 2004. ISBN: 1-55860-932-6. List price $80.95. (Referred to below as B&L.) Knowledge Representation and Reasoning Slides by Brachman and Levesque.

(RECOMMENDED) Jon Barwise & John Etchemendy, Language, Proof and Logic, CSLI Publications, distributed by The University of Chicago Press, 2008. ISBN: 978-1-57586-374-0 . List price with CD $65.00. This is recommended for the software on the CD. (Referred to below as B&E.)

Additional Readings:

On-Line Resources:

Discussion Board:
Use the Discussion Board inside the UBlearns Site for questions and discussions meant for the entire class, including clarification of assignments between class and recitation meetings. Check the discussion board regularly for new postings. It will be monitored by the lecturer and the TA.
Do not use the discussion board 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. Every KR system you will be asked to use is documented on the on-line resources page.

Homeworks:
The purposes of homework exercises are: 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.

Once the due date/time has passed, solutions will be posted on the UBlearns Site. You should consider the posted solutions to be required reading.

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 occasional poor performance on homeworks or for late or missed homeworks, there will occasionally be homework questions worth bonus points.

Projects:
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 LaTeX or Microsoft Word, 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. Do not just leave the paper in the instructor's or TA's mailbox. Give it to a person, either the instructor, the TA, or a departmental secretary (in 201 Bell Hall), and ask that person to write on the paper the date and time that you turned it in.

Early projects will be awarded a bonus of 2 points per 24-hour period, or part thereof. That is, a project turned in within the 24-hour period before the due date/time will be considered to be on time. A project turned in more than 24 hours early, but less than 48 hours early, will earn 2 bonus points, etc. The later of the time the paper is turned in and the time the program is submitted will be the time used. At most, the bonus points can raise your grade by 30%. For example, if your project earns 80 points without the bonus points, you can earn up to 24 bonus points (12 days or more early), but if your project earns 50 points without the bonus points, you can earn at most 14 bonus points (7 days or more early).

Graded projects will be returned in recitation, except for the last project, which will be available in the Lecturer's office after it has been graded. You are encouraged to pick them up.

Midterm Exam:
There will be one 50-minute, closed book, closed notes, no electronic aids, midterm exam, given during class time, in the usual lecture hall. See the Course Calendar for the scheduled date. The exam will consist of True/False, multiple-choice, fill-in-the-blank, and short-answer questions. Short-answer questions will be similar to short homework exercises. The exam will be graded on a scale of 0%-100%. However, the raw point scale might be different. The point value of each question will be shown on the exam paper. Graded exams will be returned in lecture. Once the exam is over, solutions will be posted on the UBlearns Site. You should consider the posted solutions to be required reading.

Final Exam:
There will be a closed book, closed notes, no electronic aids, final exam, given during exam week. The date, time, and place won't be known until after the semester has started, but will be posted in the Course Calendar as soon as possible. The exam will consist of True/False, multiple-choice, fill-in-the-blank, and short-answer questions. Short-answer questions will be similar to short homework exercises. The exam will be graded on a scale of 0%-100%. However, the raw point scale might be different. The point value of each question will be shown on the exam paper. Graded exams will be available in the Lecturer's office after they have been graded. You are encouraged to pick them up.

Grading:
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:
Homeworks20%
Projects25%
Midterm Exam25%
Final Exam30%
Total100%

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-
      0-59F
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 within the course UBlearns Site regularly, and promptly report any discrepancy between the grades shown there and your own records of your grades to the Lecturer or the TA.

Academic Policies:
This course will abide by the CSE undergraduate academic integrity policies, the CSE graduate academic integrity policies (see also Dr. Rapaport's 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.

In this calendar, "B&L" refers to the Brachman & Levesque text listed among the Recommended Texts, and "krrText" refers to the partial draft book version of the lecture notes listed among the Additional Readings.
WeekDayDate 
1 Mon1/12 First Lecture
Introduction to Course
 Wed1/14 Introduction to Knowledge Representation and Reasoning and to Logic:
Chap 1 slides; krrText, Chap. 1 - 3;
"An Approach to Serenity";
B&L, Chap. 1; B&L Slides, Chap 1.
 Fri1/16 The "Standard" Propositional Logic: Chap 2 slides, p. 19-38; krrText, Chap. 4 - Sec. 6.3.2
2 Mon1/19 Martin Luther King, Jr. Day. No classes.
 Tue1/20 First Meeting of Recitation A1
 Wed1/21 HW1 assigned.
Semantics of the "Standard" Propositional Logic: Chap 2 slides, p. 39 - 48; krrText, Sec. 6.3.3 - 6.3.8
truthTable.xls cpw.xls
 Fri1/23 Drop/Add deadline
Model Finding: Chap 2 slides, p. 49-56; krrText, Sec. 6.3.9
cpw.xls
3 Mon1/26
First Meeting of Recitation A2
Semantic Properties of Wfps, Domain Rules: Chap 2 slides, p. 57-72; krrText, Sec. 6.3.10-6.3.11
cpwRules.xls
 Wed1/28 HW1 due; solutions are posted in UBlearns.
HW2 assigned.
The KRR Enterprise, Computational methods for determining entailment and validity: Chap 2 slides, p. 73-78; krrText, Sec. 6.3.11
 Fri1/30
Computational methods for determining entailment and validity: Chap 2 slides, p. 76-96; krrText, Sec. 6.4
4 Mon2/2 Proof Theory of Standard, Classical Propositional Logics: Chap 2 slides, p. 97-110; krrText, Sec. 6.5
 Wed2/4 HW2 due; solutions are posted in UBlearns.
HW3 assigned.
Fitch-Style Proof Theory of Standard, Classical Propositional Logics: Chap 2 slides, p. 108-120; krrText, Sec. 6.5
 Fri2/6 SNePS 3: Chap 2 slides p. 121-124;
Refutation Resolution: B&L, Chap. 4; Chap 2 slides p. 136-143
5 Mon2/9 Project 1 assigned.
Refutation Resolution: B&L, Chap. 4; Chap 2 slides p. 144-154; prover and SNARK
 Wed2/11 HW3 due; solutions have been posted in UBlearns.
HW4 assigned.
Refutation Resolution on Standard Wfps: Chap 2 slides p. 155-166
Predicate Logic Over Finite Models: Chap 3 slides p. 167-180;
B&L, Chap. 2
 Fri2/13 Predicate Logic Over Finite Models: Chap 3 slides p. 181-197;
B&L, Chap. 2
6 Mon2/16 The "Standard" Finite-Model Predicate Logic: Chap 3 slides p. 198-202
Clause-Form Finite-Model Predicate Logic: Chap 3 slides p. 203-215
 Wed2/18 HW4 due; solutions have been posted in UBlearns.
HW5 assigned.
The "Standard" Full First-Order Predicate Logic: B&L, Chap. 2; Chap 4 slides p. 216-244
 Fri2/20 Proof theory of the "Standard" Full First-Order Predicate Logic: B&L, Chap. 2; Chap 4 slides p. 245-256
Clause-Form Full First-Order Predicate Logic: B&L, Chap. 4; Chap 4 slides p. 257-266
7 Mon2/23 Proof Theory of Clause-Form Full First-Order Predicate Logic: B&L, Chap. 4; Chap 4 slides p. 267-282
 Wed2/25 HW5 due; solutions have been posted in UBlearns.
HW6 assigned.
Clause-Form FOL: B&L, Chap. 4; Chap 4 slides p. 283-293
 Fri2/27
Clause-Form FOL: B&L, Chap. 4; Chap 4 slides p. 294-319
8 Mon3/2 HW6 due; solutions have been posted in UBlearns.
Summary of Part I: Chap 5 slides
Midterm Review
 Wed3/4 Midterm Exam. Solutions have been posted in UBlearns.
 Fri3/6 Project 1 due.
Clause-Form FOL, Asking Wh Questions: B&L, Chap. 4; Chap 4 slides p. 317-334
  Mon3/9 Spring Break
 Wed3/11 Spring Break
 Fri3/13 Spring Break
9 Mon3/16 Project 2 assigned.
FOL Wrapup: B&L, Chap. 4; Chap 4 slides p. 335-352
 Wed3/18 HW7 assigned.
Prolog: Chap 6 slides p 366-370
 Fri3/20 Prolog: Chap 6 slides p. 371-388
10 Mon3/23 Prolog: Chap 6 slides p. 389-397
 Wed3/25 HW7 due, Solutions are posted in UBlearns.
HW8 assigned.
A Potpourri of Subdomains: Chap 7 slides p. 398-403
 Fri3/27 R deadline
A Potpourri of Subdomains: Chap 7 slides p. 404-414
11 Mon3/30 SNePS: Chap 8 slides, p. 415-432
Paper: SNePS: A Logic for Natural Language Understanding and Commonsense Reasoning,
Paper: An Introduction to SNePS
 Wed4/1 HW8 due. Solutions are posted in UBlearns.
HW9 assigned.
SNePS: Chap 8 slides, p. 433-445
 Fri4/3 SNePS: Chap 8 slides, p. 446-462
12 Mon4/6
Project 2 due.
Project 3 assigned.
SNePS: Chap 8 slides, p. 463-472
 Wed4/8 HW9 due. Solutions are posted in UBlearns.
HW10 assigned.
SNePS: Chap 8 slides, p. 473-478
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
 Fri4/10 Continue path-based inference examples
Procedural attachment in SNePS: Chap 8 slides, p. 479
SNeRE: Chap 8 slides, p. 480-495
13 Mon4/13 Rules about functions (addition): Chap 8 slides, p. 479
Belief Revision: Chap 9 slides, p. 495-517
 Wed4/15 HW10 due, Solutions will be posted in UBlearns.
HW11 to be assigned.
Relevance Logic: Chap 9 slides, p. 517-540
 Fri4/17 Relevance Logic in SNePS: Chap 9 slides, p. 541-548
14 Mon4/20 Description Logics: Chap 13 slides, p. 590-597
 Tue4/21 Last Meeting of Recitation A1
 Wed4/22
HW11 due, Solutions will be posted in UBlearns.
Description Logics: Chap 13 slides, p. 598-604
 Fri4/24 No class: Graduate Student Conference
15 Mon4/27 Last Lecture
Last Meeting of Recitation A2
Project 3 due.
Course summary: Chap 11 slides
 Wed4/29
Reading Day
 Mon5/4 Final Exam, 11:45 AM - 02:45 PM, Diefendorf, Room 2


Last modified: Wed Apr 22 10:44:14 EDT 2009
Stuart C. Shapiro <shapiro@cse.buffalo.edu>