Knowledge Representation and Reasoning
This course is designed to provide a basic understanding of how to represent knowledge symbolically in a form suitable for automated reasoning. Topics covered include an introduction to symbolic programming languages, reasoning methods, such as, first-order logic, the resolution method, Horn clauses, description logics, inheritance networks, uncertain reasoning, computational tractability of reasoning methods, and the representation of actions and plans. Programming assignments will be done using Lisp and Prolog. (lec 3) cr 3.