AI Design-a-Course
- AI opening website from 2000-2001
- AI opening website from 2001-2002
- Topics
- Week 1: Basic Lisp primitives, procedure definition, predicates and cond.
- Reading: Winston/Horn Ch. 1-4 (lists, procedures, conditionals, case)
- Homework: Problems from Winston/Horn Ch. 2
List processing basics: first, rest, caddr's etc (second,third..),
cons onto list, append, make-list, nthcdr, butlast,last,
length, reverse, assoc - indexed sublists,
math primitives, max, min, expt
- Week 2: Procedure abstraction, recursion
- Reading: Winston/Horn Ch. 5 (recursion)
tail recursion, back tracking, double recursion - factorial/fibonacci/towers of hanoi, methods for efficient recursion
Advanced parameters: rest, key, and aux parameters
- Homework: Problems from Winston/Horn Ch. 4
Various procedure definitions: divisible-by-3, palindromep,
right-triangle?, functions to mimic OR, AND (with multiple args), NOT
- Lab1: writing functions, cons-all, which, intersection, pair-it
- Week 3: Data abstraction, functional programming, iteration/loops
- Reading: Winston/Horn Ch. 6, 7
Data abstraction, functional programming: mapcar, lambda,
remove-if, count-if, funcall and apply, lambda (anon. procedures)
Loops: do, dolist, dotimes
- Homework: Winston/Horn Ch. 5 - "squash" lists together
- Lab 2: writing recursive functions
Trim-first, keep-first, efficient fibonacci, insertion sort,
present-p in all sublists
- Week 4: File I/O, printing and reading, Breadth and Depth first searches
- Reading: Winston/Horn Ch. 8, 9
"format" - like printf, reading from/writing to files,
reading from the input stream, read-line, read-char
- Homework: Winston/Horn Ch. 7
Writing iterative functions to solve recursive problems
- Lab 3: Breadth and depth first searches
Use putprop to create a graph, find paths between nodes,
Use function "expand" to remove circular paths
- Week 5: Tracing programs, debugging, rules for good programming, Best first searching
trace, step, break, time, describe, dribble
- Homework: Winston/Horn Ch. 9
Write functions for file reading and writing: reading database files
- Lab 4: Best first search (see Tanimoto)
use best first search to determine the best route between two French ciities ("map" is a graph)
- BIG QUIZ on weeks 1-5
- Week 6: A-Star searching, Arrays in Lisp, accessing elements, macros and backquoting
- Reading: Winston/Horn Ch. 11 - arrays
- Lab 5: use A-Star search to find path between two French cities (see Tanimoto)
- Week 7: Structures and Classes, methods
- Reading: Winston/Horn Ch. 14
classes, methods, make-instance
- Homework: Winston/Horn Ch. 11 - writing functions to
access property lists
- Week 8: Algorithms for pattern matching
- Week 9: 1st Quarter Exam and review
- Week 10, 11:
Structures in Lisp, ISA relationships, Searching a base of facts, expert systems
- Homework: Winston/Horn Ch. 13 - structures
- Lab 8: Linneus, is-a relationships (see Tanimoto)
- Week 12: Classes
- Week 13: Computer vision, image files, Lisp arrays and file reading
- Lab 9A and
Lab 9B, Computer Vision/2D arrays in Lisp
- pgm image files (ascii format)
- 4 and 8-connected objects in an image.
counting the 4 and 8-connected objects in the image
- Edge detection techniques
horizontal and vertical differencing, Robert's cross, Sobel operator
- Week 14, 15: Propositional
Logic and Predicate Calculus, Wang's algorithm for proving theorems
- Week 16-17: Machine learning,
genetic algorithms
- Other areas of AI research
- Machine Learning, decision trees, version spaces, neural networks, perceptrons
- statistical approaches to uncertainty: bayesian uncertainty/probability,
- Game playing, min-max trees, alpha-beta pruning
- intelligent agents