Johns Hopkins

605.451: Principles of Artificial Intelligence, Fall 1998

Paul McNamee


The class meets Mondays from 7:15 - 10:00pm in room K-8.
This course examines the theory, techniques, and applications of Artificial Intelligence. The course addresses two major areas: representation and reasoning. Topics focusing on representation include symbolic, production rule, and object-based schemes. Topics focusing on reasoning may include weak methods (e.g. path finding, constraint propagation, games, heuristic search), deduction, uncertainty management, non-monotonic reasoning, natural language, machine learning, neural networks, and planning. The languages Common Lisp and Prolog are introduced as a tools for expressing symbolic knowledge. Students who complete this course or those with previous AI / Lisp experience may be interested in 605.452 Artificial Intelligence Programming, a follow-on course that has a theme of developing programming skills appropriate for writing large AI systems (not offered every year).
Schedule of Topics:
September14 R&N 1-3 Representations, State Space Search
September21 Handout, R&N 4 Heuristic Search
September28 Handout, R&N 5 Linear Space Heuristic Search, Game Playing
October5 Handout, W&H 1-4 Introduction to Lisp
October12 Handout, W&H 5,7 Lisp and Symbolic Manipulation
October19 Handout, W&H 6 Lisp and Recursive Programming
October26 R&N 22 Natural Language: Grammars, Parsing
November22 R&N 22 Information Retrieval, Midterm Exam
November9 R&N 6,7 Propositional and First Order Logic
November16 R&N 9 Logic and Theorum Proving, Introduction to Prolog
November23 Handout, R&N 10 Logic Programming and Prolog
November30 R&N 11,12 Expert Systems and Rule-Based Programming
December7 Handout Overview of Neural Networks
December14 Handout, R&N 19 Reasoning with Uncertainty
Coursework will be a combination of weekly assignments, midterm and final exams, and a research paper / project. Homework will be a mix of problems and small programing assignments which are designed to reinforce the material covered in lectures and the reading. The lowest grade on the homework assignments will be dropped and students with an `A' average for the course will not be required to take the final exam. In general, late work will not be accepted unless I am contacted before the material is due. You are primarily responsible for the material covered during lectures but should also read the chapters in the text and the assigned handouts.
Work for this class is expected to be the result of individual effort. It is perfectly acceptable to make use of published examples and code in the literature with attribution. Furthermore, while it is permissible to discuss the general nature of lecture material and assignments with your peers, this does not extend to revealing solutions or source code. Uphold the academic integrity of the university. Students using without reference, published material or copying another's work will receive an `F' on the assignment and the matter will be referred to the dean. If you have any questions about this policy or any other questions about an assignment, contact me during the week.


  1. HW #0: Apply for a UNIX account right away and send me email.


  1. Search Overview handout.
  2. Korf Search Summary Paper.
  3. Samuel's Checking playing and Machine Learning paper.
  4. Scientific American Computer Chess article.
  5. Lisp Handouts (many of these are from material provided by Marty Hall):

Lisp Resources:

Prolog Resources:

FTP Sites:

AI Sites / Resources:

JHU on-line resources

Paul McNamee