Professor Harry Wechsler

Department of Computer Science

George Mason University

Fairfax, VA 22030

e-mail :


(703)993-1533 (office)

(703)993-1530 (sec)

(703)993-1710 (fax)



SUMMER  2003

Session A : May 19 – June 17

Artificial  Intelligence

A01  51388   MTWR  9:30 a.m. – 11.35 a.m.  R   B201

Exam1   :   Monday,    June 2

Exam2   :   Thursday,  June 19



Artificial Intelligence : A Modern Approach by Stuart Russell and Peter Norvig,
nd edition, Prentice Hall, 2003.

Web site:


Office Hours

W    before or after the class or by appointment (SITE II - Rm. 461)


Artificial Intelligence  (4th Edition) by  George Luger, Addison Wesley, 2002

Course Description

The course is about the automation of intelligent behavior. We cover basic principles
and methods for intelligent (heuristic search), game playing , and constraint satisfaction problems (CSP), 
predicate calculus / first-order logic and automatic reasoning (resolution with refutation), knowledge representation,
reasoning with uncertainty and belief (Bayes) networks, (symbolic, connectionist and evolutionary)
learning, natural language processing,  and Human-Computer Intelligent Interaction (HCII). 
LISP, PROLOG, and MATLAB are  the AI programming languages of choice used  to implement
the methods learned during the course. NOTE: because the course is compact you are required to master
only ONE of the AI programming language listed and to use it for one term project of your choice.
  The approach used throughout the course is to address  specific intelligence tasks, motivate how to solve them,
describe algorithmic solutions, and consider comparative performance evaluation.


Programming Languages

Here are some links for LISP, PROLOG  and MATLAB :

1. Getting Lisp

On osf1, there's a Lisp system called LispWorks.  If you don't like telnetting in and running Lisp :-) there are several freeware packages you can try. Several Major Lisp firms offer free ANSI-standard CLTL2 common Lisp systems:


Information on  Online Lisp Tutorials and Starting, Compiling, and Quitting Lisp on OSF1 is available at

You should be aware that there are two other variants of Lisp out there which are NOT Common Lisp. Those variants are Scheme and Emacs Lisp.

2. Getting Prolog


3. Getting  MATLAB

MATLAB primer available at :

access to MATLAB from both CS and IT&E

for further information use 'help' and 'demo'



1. Homework : 50 %

You have to submit Project #1 and one of Projects #2 or #3 (described below after the tentative schedule for the class). You have to use at least one of the AI programming languages on the projecst you choose.

Project  #1 due on or before  June  9    25  %

Project  #2 due on or before  June 16  25  %

Project  #3 due on or before  June 16  25  %


2. EXAM1 : 25 %

June 2, 2003 : closed books and closed notes; please bring (blue) examination book.

Covers :  May 19 –May 29 lectures.


2. EXAM2 : 25 %

June 19, 2003 :  closed books and closed notes; please bring (blue) examination book.

Covers :  June 3 –  June 17 lectures.


Tentative Schedule

May 19

Chs. 1 and 2 : = AI.  

History and Applications.  Is the Brain a Digital Computer by J. R. Searl :


May 20 – May 22

Ch. 3 – 6 : = Problem-Solving. 

Strategies for State Space Search (minmax and alpha-beta pruning), Informed and Heuristic Search Methods, Game Playing, and Constraint Satisfaction Problems, Evolutionary Computation and Genetic Algorithms.

applications: game design

individual study :  Luger / Ch. 14 : PROLOG

May 23 – May 28

Chs. 18 & 20 :=  (Machine) Learning.

Symbolic – Based : Induction (The Problem of Induction at Decision Trees and Conceptual Learning; Connectionist – Based:  Multi-Layer Networks & BackPropagation and Competitive Learning;  Performance Evaluation; REVIEW for EXAM 1

applications : pattern recognition

individual study : MATLAB


June 2


Please bring examination book !

Covers May 19 – May 28 lectures.

May 29 – June 10

Chs. 7 – 10 :=  Knowledge Representation  and Reasoning. Propositional Logic, First Order Logic and Predicate Calculus, Reasoning and Inference, General Problem Solver (GPS) and Resolution Theorem Proving, Knowledge Bases & Experts Systems, Data Abstraction, Knowledge Representation {Semantic Networks, Frames, and Conceptual Dependencies} and Ontologies /see SEMANTIC  WEB : 

applications: expert systems

individual study : Luger / Ch. 15 : LISP


June 11

Chs. 13 – 14 : = Uncertain Knowledge and Reasoning. Uncertainty, Bayesian Nets; Ignorance (Demster-Shafer) and vagueness (Fuzzy sets and fuzzy logic);

applications: decision-making systems

June 11 – June 13

Chs. 15 & 22 – 24 := Comunicating, Perceiving and Acting: HMM (Hidden Markov Models) and Speech Processing,  HCI (Human-Computer Interaction), Natural Language Processing

applications : biometrics and face recognition

applications : adaptive and intelligent interfaces; smart rooms.


June 16

Data Mining and Knowledge Discovery

June 17

Chs. 26 – 27 := Conclusions;  REVIEW for EXAM 2

June 19


Please bring examination book !

Covers June 3 – June 16 lectures.


Project  # 1– due on or before  June 9:   Game Playing / CHECKERS
or another game of your choice (use programming language of your choice)

Game Rules : distributed in class.

Use intelligent search and implement an user interface to play the game.

Schedule time to have your program play against the Instructor &

Submit Short Report that includes (i) task and approach; (ii) representation, data structures,

And GUI; (iii) game strategy (look-ahead, minmax, alpha-beta,..) and evaluation function; (iv) software

tools and hardware platform; and (v) performance evaluation and conclusions.


Project  # 2 – due on or before  June 16 : Reasoning

Programming 1 :  Missionaries and Cannibals (use PROLOG or LISP)

Three missionaries and three cannibals are on one side of the river,
along with a  boat that can hold one or two people. Find a way to get
everyone to  the other side, without ever leaving a group of missionaries
in one place outnumbered by the cannibals in that place. Try using CSP


Programming 2 :  your choice of problem (use PROLOG or LISP)


Project  # 3 – due on or before June 16   :  Learning

Programming 1 : Classification (use MATLAB)

Access UCI repository at  and choose
some classification problem and the corresponding data sets.

Solve and implement the classification task using
DT (Decision Trees). Discuss your results.  For extra credit  (15%) solve and implement the
same classification task using backpropagation (BP) and make a comparison against the
results obtained using DTs.