Fall 2005

Department of Electronic Engineering, National Yunlin University of Science and Technology

Course    : AI Programming

Time       : Monday 9:10-12

Place       : ES 102

Instructor: ¶À¥Ã¼s

Office     : ES 705 (Extension: 4330)

AI Lab    : ES 715 (Extension: 4391)

Email      : wongwk@yuntech.edu.tw

Office Hours: Thursday 10-11 am, Friday 10-11 am.

Syllabus

Related Webs:

Introductory notes on Java implementation of Chinese chess

Assignments:

Assignment 1: SLD derivation, Java implementation of Chinese chess interface.

Assignment 2:  Basic prolog programming, palindrome check, sum of list, max-depth automata, knight's path on chessboard; improvement of Java program in Assignment 1.

Assignment 3: Depth-first search, breadth-first search applications of the blocks world; node-counting in best-first search application to the eight-puzzle problem. Experiment with various heuristic functions. Compare their heuristic power and the number of nodes generated.

Assignment 4: Consider the eight-puzzle problem. Compare the best-first A* search, iterative deepening A* search, and recursive best-first search. Experiment with various start states.

Final project: Design and implement a five-in-a-row tic-tac-toe game that uses the minimax search.

Date Content Text and reference reading Lecture notes Comments
9/12 Introduction to artificial intelligence Poole et al.: Chapter 1 Poole: Chapter 1, Lectures 1, 2, 3
9/19 Propositional and predicate logic, semantics, interpretation, model, logical consequences Poole et al.: Chapter 2 Poole: Chapter 2, Lectures 1, 2
9/26 Bottom-up proof procedure, soundness & completeness of this procedure, Poole et al.: Chapter 2 Poole: Chapter 2, Lectures 3, 4
10/3 Top-down proof procedure, SLD resolution, unification;

Java implementation of chess

Poole et al.: Chapter 2 Poole: Chapter 2, Lectures 5, 6

TA: Java notes 1

Assignment 1 out
10/10 National Day (Holiday)
10/17 Introduction to Prolog Bratko: Chapters 1, 2 Park: Chapters 2, 3 Assignment  1 due
10/24 Syntax & meanings of Prolog programs, lists Bratko: Chapters 2, 3 Park: Chapters 4, 5 Assignment 1 extended deadline
10/31 Lists, operators, arithmetic, structures;

Java implementation of chess

Bratko: Chapters 3, 4 Park: Chapters 5, 6

TA: Java notes 2

Assignment 1 due again

Review assignment 1, Java

11/7 Structures, backtracking Bratko: Chapters 4, 5 Park: Chapters 6, 7 Assignment 2 due

Review assignment 1, Prolog

11/14 Programming style, data structures, basic problem solving strategies Bratko: Chapters 6, 7, 8 Park: Chapters 11, 12, 13
11/21 Basic problem solving strategies, best-first search Bratko: Chapters 11, 12 Park: Chapter 13, 14 Assignment 3 out
11/28 Best-first search Bratko: Chapter 12 Park: Chapter 14 Review assignment 2, Prolog: poor documentation, no examples
12/5 Problem decomposition, AND/OR graph, language processing Bratko: Chapter 13 Park: Chapter 15 Assignment 3 due
12/12 Game playing Bratko: Chapter 22 Park: Chapter 18 Review assignment 3: Data collection, data analysis, hypothesis generation
12/19 Knowledge representation & expert system Bratko: Chapter 15 Park: Chapter 21 Assignment 4 out
12/26 Planning, discussion on Assignment 4 Bratko: Chapter 17 Park: Chapter 17 Assignment 4 due

Final Project out

1/3 Holiday
1/10 Review assignment 4 and final project Final Project due 1/7