CS 663 - Artificial Intelligence

Credits: 3

Course Description

Overview of modern artificial intelligence. Covers topics such as predicate logic, searching and game trees, knowledge representation techniques, methods to represent uncertain information and to reason about it, reasoning about action and planning, expert systems, machine learning and neural networks.

Prereqs: CS 555 or consent of instructor.

Needed Skills

Students must have a solid background in propositional and predicate logic, be familiar with data structures such as lists, trees and graphs, and have basic knowledge of a declarative programming language such as PROLOG.

Learning Outcomes

Successful students will:

1. Learn algorithms for searching (depth-first, breadth-first search, best-first search, A*

2. Hill climbing, simulated annealing, a-b pruning) and will understand the scope of their applicability

3. Become familiar with knowledge representation and reasoning lannguages and techniques (clausal logic, logic programming, default logic, frame systems, semantic networks, inheritance networks, probabilistic and possibilistic formalisms) and will be able to model domain knowledge in these systems

4. Gain understanding of application areas such as planning, reasoning about action, abduction, diagnosis

5. Gain understanding of basic techniques and algorithms of inductive learning (version space algorithm, algorithms learning decision trees)

6. Learn basic principles behind the concept of a nural network and will understand issues of their design and applicability.

Week by Week Course Outline

This is a sample outline. Exact outline will be determined by the instructor offering this course.

Weeks Topics
1 Overview of artificial intelligence
2-3 Basic search techniques (depth-first search, breadth-first search, iterative deepening). Informed search: best first, A*, iterative deepening IDA
4 alpha-beta pruning, game playing
5-7 knowledge representation: clausal logic, logic programming, default logic, frame systems, semantic networks, inheritance networks
8 Expert systems
9 Planning and reasoning about action
10 Abduction and diagnosis
11-12 Machine learning: version spaces, learning decision trees, ID3 algorithm
13 Fuzzy sets, fuzzy logic
14 Neural networks
15 Review


Exact details about examinations in this course will be determined by the instructor offering the course and will be made available in the syllabus during the first class meeting. Typically there will be two in-class examination during the semester and a two-hour final examination.


A student's grade will be determined by a weighted average of homework assignments, programming projects, midterm examinations, and the final examination. The faculty offering the course will make the details available at the start of the course. A typical weighting is:

Homeworks and projects: 35%
Midterm Examinations (2@15%): 30%
Final Examination: 35%

Possible Textbooks

S. Russell, P. Norvig,
Artificial Intelligence, A Modern Approach,
Prentice Hall, 1995.

D. Poole, A. Mackworth, R. Goebel,
Computational Intelligence, a logical approach,
Oxford University Press, 1998