UNIVERSITY OF DAYTON

 

CPS 480/580:  Artificial Intelligence

Fall  Semester 2007       3 credits

Meets:  M, W    3:004:15pm

 201 Miriam Hall

 

 

Professor:  Dr. Jennifer Seitzer                      

Office: 144 Anderson Hall

Email:  seitzer@udayton.edu

Course Web Page:            http://homepages.udayton.edu/~seitzer/cps480

Phone: (937) 229-2197

* Office Hours:  

  • MWF:  10:45-11:45am ;  Thur  1-2pm
  • BY APPOINTMENT – arrange with instructor

*These are tentative and will possibly change due to departmental meetings and other college events as they arise.

 

Mailing Address:

Dr. Jennifer Seitzer, Associate Professor

Computer Science Department

University of Dayton

300 College Park

Dayton, OH 45469-2160

 

Prerequisites:

CPS 350   Data Structures and Algorithms.

 

Catalog Description:

Basic concepts and techniques of intelligent systems.  Emphasis on representations, problem solving, search strategies, expert systems, logic systems, and AI programming.  Design and implementation of AI applications.

 

Motivation:

Artificial Intelligence is the area of computer science that attempts to endow intelligence to computer systems.    Although a precise definition of intelligence is still elusive, one way we may characterize intelligent entities is as those entities that are capable of using language, solving problems, planning, learning, and remembering.  These skills applied to computer systems make up a large part of artificial intelligence.  Indeed, Russell and Norvig, the authors of the textbook we will be studying, emphasize that not only does AI strive to understand intelligent entities, it strives to build them.

 

The authors tell us that an agent is any entity that perceives its environment through sensors and acts upon or changes its environment through actuators or effectors.  In this class, we will consider many manifestations of agents.  We will approach the fundamental techniques of classical artificial intelligence, knowledge representation and heuristic search strategies, using agents to implement, understand, and elucidate. We will learn the basics of the programming language PROLOG, and examine how expert systems are built and used.  We will finalize our study by considering embodied intelligent agents in the form of robots.

 

Objectives:

·         To learn basic heuristic search strategies and algorithms

·         To understand the techniques underlying game programs such as chess and bridge

·         To learn knowledge representation techniques including logic, fuzzy logic, non-monotonic reasoning, frames

·         To understand strategies of reasoning:  forward chaining, backward chaining.

·         To be exposed to intelligent agents, both software and physical robots

·         To program the techniques and algorithms studied in class into working systems

 

Subject Matter   (Tentative list and schedule of coverage):

Week

Date

Topics

Work Assigned

 

Work Due

1

1- Wed, 8/22/07

Introduction  to AI;  Turing Test

Read Chapter 1 Toy Turing Tester

 

2

2- Mon, 8/27/07

Agents

 Chapter 2

 

3- Wed.,8/29/07

Agent Environments

Vacuum Cleaning Agent Program

Toy Turing Tester

3

Mon, 9/3/07

 

No class

No Class – Labor Day

 Holiday

 

4- Wed, 9/5/07

 

Quiz

Quiz

Problem Representation

State Space Search

 

 Vacuum Cleaning Agent Program – Part 1

4

5- Mon., 9/10/07

 

Withdrawal date

More Search

 

Last day to withdraw without record

Chapters 4 and 5

 

6- Wed, 9/12/07

Informed Search

 

 

 Vacuum Cleaning Agent Program – Part 2

5

7- Mon,  9/17/07

Games

Chapter 6

Traveling Salesperson A* Program

 Vacuum Cleaning Agent Program – Part 3

8- Wed, 9/19/07

Computers and Chess; 

 

 

 

6

9- Mon, 9/24/07

Review for Midterm

Semester Team Project:  Game Competition Program

Traveling Salesperson A* Program – Part 1

10- Wed,  9/26/07

Midterm 1

Test on material so far

 

 

7

11- Mon., 10/1/07

Knowledge Representation

Chapter 7, 8

Traveling Salesperson A* Program – Part 2

12- Wed., 10/3/07

Reasoning with Logic

 

Game Competition Program Team Name and members (Part 1)

8

13- Mon., 10/8/07

Resolution; Forward/Backward

Chapter 9, 10

Traveling Salesperson A* Program – Part 3

14- Wed, 10/10/07

First Order Logic; Resolution in First Order Logic

Deductive Inference Engine

 

9

15- Mon., 10/15/07

PROLOG and more Reasoning Systems

Chapters 10

Small Prolog Exercises

 

16- Wed,10/17/07

More PROLOG

 

 Deductive Inference Engine – Part 1

10

17- Mon.10/22/07

Fuzzy Logic

 

Small Prolog Exercises

 

18- Wed,10/24/07

Nonmonotonic Reasoning Systems  (JTMS, stable models)

 

Deductive Inference Engine – Part 2

11

19- Mon.10/29/07

Review for Midterm

 

Deductive Inference Engine – Part 3

20- Wed,10/31/07

Midterm 2

Test on material since last midterm

 

 

12

21- Mon.11/05/07

 

Withdrawal date

Introduction to Knowledge Discovery;  Induction/Deduction

Last day to withdraw with grade of  ‘W’

Chapter 25

 

21- Wed.11/07/07

 

Machine Learning:   Decision Trees

Written Homework

Game Program – Alpha Beta Implementation (Part 2)

13

22- Mon.11/12/07

Machine Learning:  Inductive Logic Programming

 

Semester Team Project:  Game Competition Program (Part 3)

23- Wed, 11/14/07

Machine Learning:  Genetic Algorithms

 

Decision Tree Homework

14

24- Mon.11/19/07

 

 

 

Wed, 11/21/07

No class

Thanksgiving Break

Happy Thanksgiving!

A good novel J

 

15

25- Mon.11/26/07

Robots

 

 

26- Wed, 11/28/07

Robots

 

 

16

27- Mon.12/03/07

Graduate Student Presentations

 

 

28- Wed, 12/05/07

Annual Game Competition

 

Semester Team Project:  Game Competition Program (final)

17

Fri, 12/14/07

Final

 Cumulative AI Final

10:10am-12noon

 All covered material

 

 

 

 

 

Grading Undergraduate Students (Approximate distribution of credit): 

Midterm #1 –                                       20 %

Midterm #2 –                                       20 %

Final Exam –                                        25 %

            Homework and Programs                     25%

            Quiz                                                     05%

            In-Class Grade                                     05%

                         (includes class participation, pop quizzes, and in-class exercises) 

                                                            note:  these cannot be made up

           

 

Grading Graduate Students (Approximate distribution of credit): 

Midterm #1 –                          12 %

Midterm #2 --                          12 %

Final Exam –                            25 %

            Class Assignments                    25 %

            Graduate Assignment                15 %

            Quiz                                         6 %

            In-Class Grade                         5 %

                         (includes class participation, pop quizzes, and in-class exercises)          

                                                note:  these cannot be made up

 

           

Required  Text:          Artificial Intelligence A Modern Approach  Second Edition

By, Stuart Russell and Peter Norvig

ISBN # 0-13-103805-2                      

           

 

Graduate Student Project

Graduate students are required to produce a final project for the course.  This entails choosing a topic of Artificial Intelligence not presented in class (or extending what was presented in class) and doing the following:

1.      read at least two articles on the topic

2.      write a short term paper (10 pages) in your own words describing the topic

3.      write a software program or hardware project (such as a LEGO robot) demonstrating some aspect of the topic

4.      present your paper in a 10-15 minute Powerpoint presentation to the class

5.      demonstrate your simulation or demonstration object to the class in a 5-10 minute demo

6.      Submit term paper, Powerpoint slides, simulation/demonstration object

 

Policy on Makeups, Missed and Late Work:

1.      Late Work:  Work will usually be accepted late and recorded as such. Work is due at the beginning of class.  A 10% penalty is applied for every class day the assignment is late.  No work will be accepted after solutions have been given out, or after the assignment has been graded and returned.

2.      Make-ups:  Tests are expected to be taken on the test date.  Any make-ups must be established with me ahead of time.  There are no make-ups for in-class pop quizzes, exercises, or participation.  To get these points, you must come to class.  

3.      Attendance: Students are expected to come to class.  If a class must be missed, however, students are responsible for all material, assignments, and announcements made during class.  For this reason, you are encouraged to find a colleague with whom you can communicate to share such important information.


Programming Conduct Rules:

¨      Programming assignments are dispensed to reinforce concepts presented in class.  Good programming skills comprise a fundamental component of being a computer scientist.  Your code should be generated by you, by hand;  it should not be automatically generated by a code generator or wizard (such as that provided by Microsoft Visual 6.0).  Assignments in this class are short enough to write by yourself.  As I am trying to endow in you the fundamental techniques and algorithms of artificial intelligence, no graphical user interface (GUI) is necessary or required.

¨      Students may share ideas in composing programs, but may not code them together.  There is no sharing of code, only ideas.  Any collaborative work should be acknowledged in the comments.  Plagiarizing code will result in a zero for the program.

 

Email Communication and Class Computer Accounts:

·        Email:  I prefer to conduct communication through email.  My email address (as indicated above) is seitzer@.udayton.edu.  Please feel free to write me anytime.  I try to check my email many times through the day.  If you do not have an email account, I ask that you get one.  Student email accounts can be acquired from the Systems Administrator.  For information, you may call (937)229-3858.

 

·        Lab Work and Programs: Programming assignments may be written using the platform of your choice in any lab of your choice so long as the system on which you are working has an operational C , C++, or Java compiler.

 

Course Web Pages:

·        The course has its own web page that can be found at URL http://homepages.udayton.edu/~seitzer/cps480.  You are responsible for consulting this page regularly.  Most handouts and other communications will be posted on this page.  Additionally, the textbook has a web page.  Many slides used in class can be procured from the textbook site that can be found at URL http://www.cs.berkeley.edu/~russell/aima.html .

 

Class Email List:

·        Along with web page postings, I regularly send my classes email via the respective Class Email List.   Please make sure you have the correct address logged with the university to receive all class emails.  These lists are maintained by the university.