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.
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 |