Up: Len's Home page
  
 
  
  
 Machine Reasoning
  
  
  Instructor: Lenhart Schubert
  
 Last taught in fall 2023
  
  Classes: Tuesdays and Thursdays, 9:40am-10:55am, Hylan 102
  
  Office Hours: Tues 5:00-6:00pm & Thu 5:00-6:00pm
  
  Office: WEGMANS 3003
  
  e-mail: my-last-name at cs dot rochester dot edu
  
  
  Grad TA: Yifan Zhu  (FirstLast at rochester.edu).
  TA's 244/444 
    home page 
Assignment submission: uploads.cs444.2023@proton.me
  
  UG TA: Qianqian Wei (q last-name 2 at u dot etc)
  
  TA Office hours (Yifan Zhu): Tues 2:00-3:00pm, Fri. 4:00-5:00pm, WH 2209 
  
  
Goals of the course
  
  The ability to reason and plan based on acquired knowledge is perhaps 
  the most distinctive mark of intelligence -- yet is the weakest faculty
  of current AI systems, including large language models like ChatGPT. 
  The main goal of this course is to learn about techniques for explicitly 
  representing factual knowledge (typically, the sort of knowledge that 
  we can easily express in ordinary language) in a way that enables sound 
  reasoning and effective planning towards desired goals. A central tool 
  will be first-order logic, augmented with specialized techniques for 
  reasoning in the face of uncertainty, and reasoning about important 
  classes of relations such as temporal, taxonomic, and partonomic ones. 
  Recent efforts to enable systems based on neural networks (NNs)
  to reason and plan, or conversely, to support symbolic reasoning and 
  planning systems with NN technology, will be covered as well.
  
  
  Practically speaking, students will reach the point where they can write 
  programs for basic reasoning and planning tasks, and make sense of the 
  current research literature in this area; CSC 444 students will also 
  learn about a subtopic of their choice in greater depth, by completing 
  a project based on reading some recent papers or books and (perhaps) 
  writing programs that implement some ideas they have. 
  
  
Prerequisites
  The standard prerequisites are CSC 173 (computation & formal systems) 
  and CSC 242 (a general course on AI). A solid math background and basic
  knowledge of logic and programming may suffice as well (check with instructor).
  Some prior exposure to functional programming (esp. Scheme, Lisp or Haskell,
  or basics of lambda-calculus) can be advantageous.
  
  
 Credit 
 
  
  The grade for the course will be based on homeworks assigned every other week, 
  plus three Lisp programming assignments, a midterm and final test, and, 
  for 444 students, a research/essay project. See the 
  revised course schedule
                                                         for % weights. 
  For any further grading details, see the grad TA's homepage for 244/444 
  (when it becomes available).
  Here is a link to a pdf file providing 
   guidelines for the graduate project  (to be brought up to date by Sep. 15). 
  
  
 The text and supplementary texts are 
  
  - Brachman & Levesque, Knowledge Representation and Reasoning
      (Morgan Kaufmann, Elsevier, 2004); this is required for grads but need not
      be purchased, as it is now online at
 https://www.cin.ufpe.br/~mtcfa/files/in1122/Knowledge%20Representation%20and%20Reasoning.pdf
 It is a reference for UGs;
- Genesereth & Nilsson, Logical Foundations of Artificial Intelligence
      (Morgan Kaufmann, 1987); This is a useful occasional reference for grads and UGs, 
      elaborating on some formal topics.
  
- Russell & Norvig, Artificial Intelligence (Prentice-Hall, 4th 
      ed. 2020).
      This is supplementary for grads and recommended for UGs as a very readable,
      general book on AI, often used in our department in CSC 242.
  
- Wilensky, Common LISPcraft (Norton); or Peter Seibel,  
      Practical COMMON LISP, Apress, 2005. These are a recommended 
      texts for learning Lisp.  But see also the excellent text by Peter 
      Norvig, Paradigms of Artificial 
      Intelligence Programming; the quite comprehensive free online book
      Practical Common Lisp;
      the collaboratively developed, more brisk Common Lisp guide 
      Common Lisp Cookbook;
      and "Cliki", the Common Lisp
      Tutorial Wiki, containing some useful quick introductions for beginners.
  
 The following are a couple of brief in-house introductions to 
  Common Lisp: 
               
     Lisp Intro (LKS),   
     Lisp Tutorial (GK)
   
  
  
  
Here is a lecture-by-lecture 
     Revised Course Schedule.
  The assignment hand-out and turn-in dates are firm.
  
  
  
Latex'd notes will be provided for a majority of the topics in the class,
  along with more sketchy slides.
 
  Here is a link to the 
  Lecture Notes,
  to be gradually developed; and here are corresponding 
        Slides.
  
   Some supplementary notes and interesting links: