CS724 AI - Spring 1998

Class: CS724 12:00-12:50 MWF Morrill 111
URL: http://www.ndsu.nodak.edu/instruct/juell/cs724s98/home.html

Instructor Dr. P. Juell
Office 256C IACC
Phone 231-8196
Email juell@plains.nodak.edu
Office Hours 2-3 M, 11-12 W, 10:30-11:30 F


week   Sun Mon Tue Wed Thu Fri Sat  
 1 Jan              7   8   9  10
 2     11  12  13  14  15  16  17
 3     18   H  20  21  22  23  24	Holiday - Martin Luther King
 4     25  26  27  28  29  30  31
 5 Feb  1   2   3   4   5   6   7
 6      8   9  10  11  12  13  14
 7     15   H  17  18  19  20  21	Holiday - Presidents' day
 8     22  23  24  25  26  27  28
 9 March1   2   3   4   5   6   7
10      8   9  10  11  12  13  14
            B   B   B   B   B    	Spring Break
11     22  23  24  25  26  27  28
12     29  30  31   1   2   3   4
13 April5   6   7   8   9   H    	Holiday
14          H  14  15  16  17  18	Holiday
15     19  20  21  22  23  24  25
16     26  27  28  29  30   1   R	Reading/review day
   May      F   F   F   F   F   9	Finals
programs due on F of specified week unless otherwise specified tests on W of specified week
week  [reading] {program- (points) due on F unless otherwise noted}
------  AI as a paradigm - 
           take insolvable problem, microworld, bag of tricks
1     [Ch1] AI:  history and applications
      [Ch2] the predicate calculus 
      [Ch10] lisp  
2     [Ch3] structures and strategies for state space search 
            {prog1 (20) simple lisp, due F}
      [Ch4] heuristic search  149
3     [Ch5] control and implementation of state space search 
      [Ch9] an introduction to Prolog  203
4     [Ch6] knowledge-intensive problem solving (rule-based expert systems)
      [Ch7] reasoning with uncertain or incomplete information
            {prog2 (30) due F blocks}
5     [Ch12] automated reasoning
            TEST 1 W
6
            {prog3 (30) due M missionaries and cannibals}
            {prog4 (10) proposal for rules system due W}
7     [Ch8] knowledge representation 333
8     [Ch11] natural language  377
             {prog5 (30) full rule system }
9     [Ch8] [GUS] advanced representation in Prolog (we will use FRL in lisp)
	     {prog6 grammar for English}
10           
	     TEST 2 W
11    [Ch12] automated reasoning
      [Ch13] machine learning: symbolic learning
      [Ch14] machine learning: connectionist (Neural networks)
	     {prog7 (30) simple GUS}
12           genetic algorithms
13           second time around on some topics
               computational linguistics
14
             {prog8 (30) simple GA or NN program}
15
16
             TEST 3 W
             {prog9 (30) grammar solving a problem}
    Final (200)

CS724 AI


EXPECTED BACKGROUND FOR COURSE Ability to deal with formal symbolic notations such as FOPC and mathematics. Skill in programming and reading programs in more than one programming language. Background in data structures and formal notations for describing programs, such as BNF grammars.

GOALS

The student will: develop an understanding of the philosophy of AI and of several AI techniques, will be able to use the techniques and could evaluate the appropriateness of using the techniques for a real problem.

OBJECTIVES

The student will: be able to solve problems using the AI techniques and the overall AI philosophy, will be able to develop programs in LISP, PROLOG and other AI programming notations, will be able to present a case, in English, for using various AI techniques.

MATERIAL

Readings in addition to the book will be required. The material will be on reserve in the library under JUELL CS724. Included is a copy of the foils from last year. Occasionally mail will be sent to your UNIX class number, you are responsible for checking this information twice a week. If you want to get this email at another account, create a .forward file in the root of your class account. In the file specify a line with the email address mail is to be forwarded to.

Problem statements, old tests and notes can be found on the WEB under the class home page. Most of this material can also be found in ~juell/cs724pub on plains. Some of the tools we will use are in ~juell/cs724pub/tools on the classroom machine.

GRADING 
300 points tests (3 at 100 each) 
240 points programs
200 points final 
           (takehome; in the class public directory - 
                file: final; start any time)
 50 points miscellaneous (seldom used)
Normally grades are based on 90+% A, 80+% B, 70+% C, 60+% D and 59-% F. This may be adjusted some.

PROGRAMS DUE IN CLASS, AT THE START OF CLASS, ON DATE DUE. NO CREDIT FOR LATE PROGRAMS.


CS724 AI
PROGRAM 1

Write LISP functions to reverse the top level of a list and to reverse all levels of lists. (Do NOT use the builtin function REVERSE).

(MY-REVERSE '(A B C))    returns  (C B A)
(MY-REVERSE '((A B) (C D)))       ((C D) (A B))
 
(SUPER-REVERSE '(A B C))          (C B A)
(SUPER-REVERSE '((A B) (C D)))    ((D C) (B A))
(SUPER-REVERSE '(((A B C))))      (((C B A)))

To run lisp on either plains or badlands or the classroom machine:

clisp
Once in lisp, if you wish to load (and run) a file called foo:
(load "foo")
In order to get a listing of a lisp run, use script. For example:
script
clisp
(load "foo")
(runsomething)
(bye)
^D
lpr typescript
Use the editor vi to check for matching ()'s. Place the cursor over either the ( or ) and press the % key. The cursor will jump to the matching parenthesis (if any).