- When: Tuesday & Thursday, 5:00 - 6:20pm
- Where: ICS 174 UCI campus map
- Course Code: 34900
- Discussion section : Wed 9:00-9:50 and 10:00-10:50 PCB 1200.
- Optional. It purpose is to explore topics in more depth, to work on concrete examples, or to get help in understanding difficult parts of the material.
- Instructor: Kalev Kask
- Email: kkask@uci.edu; when sending email, put CS271 in the subject line
- TA: Reza Asadi
- Reader: Ananya Ananya
- Textbook
Course Overview
The goal of this class is to familiarize you with the basic principles of Artificial Intelligence.
Topics covered Include: Heuristic search, Adversarial search, Constraint Satisfaction Problems,
Knowledge representation, (Classical) Planning.
We will cover much of the content of chapters 1-10 in the course book.
Background:
We will assume basic familiarity with the concepts of algorithms and data structures, and some programming experience.
Course-Grade:
- Homeworks 20%
- Project 30%
- Final 50%
Assignments:
There will be a few homework-assignments (one per topic, mostly weekly), a project, and a final exam.
For homework/project submissions, we will use a course
gradescope page.
Discussion:
There is a discussion section on Wed 9:00-9:50 and 10:00-10:50 in PCB 1200. This is where you can discuss course material,
and discuss homework/project related issues/questions.
We will use a course Piazza page for questions and discussion.
Please post your questions there; you can post privately if you prefer, or if (for example) your question needs to reveal
your solution to a homework problem. I prefer to use Piazza for all class contact, since it enables responses by
either myself, the TA, or fellow students (if public), which should get you answers more quickly.
Note: when posting privately, please post to "Instructors" (which includes the instructor & TAs).
Project:
You will be required to do a project. This includes submitting a written report at the end of the quarter :
- Due to the large number of students enrolled, each project will be a team project (ideally 3 students per team).
- Project involves writing a computer program utilizing
AI methods/techniques/concepts (learned in this course) to solve a problem.
- Boolean (propositional) satisfiability :
- input is a set of clauses in CNF form,
e.g. "(3,-5,6),(-9,2,1)" means (X3 ∨ ¬ X5 ∨ X6) ∧ (¬ X9 ∨ X2 ∨ X1)"
- output is a vector of 0's and 1's of length n that satisfies the formula, or NULL if no such assignment exists,
e.g. "(1,0,1,0,0,0,0,0,0)"
- Game of Othello :
- initially, the input is a vector of 64 symbols {0,W,B} defining the starting board
- the computer moves first
- output after each computers move is a pair (i,j) that defines the computers move on the 8x8 board
- after computers move, it should expect as input a pair (x,y) that defines opposing players move
- until the game is over (current player cannot move).
- (Classic) Sokoban,
input is 5 lines defining the board :
- sixeH sizeV, e.g. "3 5"
- nWallSquares a list of coordinates of wall squares, e.g. "12 1 1 1 2 1 3 2 1 2 3 3 1 3 3 4 1 4 3 5 1 5 2 5 3"
- nBoxes a list of coordinates of boxes, e.g. "1 3 2"
- nStorageLocations a list of coordinates of storage locations, e.g. "1 4 2"
- playes initial locatin x and y, e.g. "2 2"
output is a single line, beginning with nMoves followed by a sequence of letters (U,D,L,R) indicating direction of the move, e.g. "1 D".
- Mastermind :
input is (a) number of colors and positions, (b) a response to each guess by the computer;
output is a series of guesses, each consisting of a color per position.
- Each team needs to submit a written report (one report per team) at the end of the course.
- There will be a competition between teams solving the same problem; team with best performing program will get bonus points.
- Teams should be formed and project selection finalized by early Nov.
- Further details TBA.
Syllabus:
Subject to changes
Week |
Topic |
Date |
Reading |
Lecture |
Slides |
Homework |
Week 1 |
- Introduction, History, Intelligent agents.
|
09-27 |
RN Ch. 1, 2 |
|
Set 1
|
|
Week 2 |
- Problem solving, state space, search space
- Uninformed search: Breadth-First, Uniform cost, Depth-First, Iterative Deepening
|
10-02
10-04 |
RN Ch.3.1-3.4 |
|
Set 2
|
Homework 1
|
Week 3 |
- Informed heuristic search: Best-First, Greedy search, A*.
- Informed heuristic search cont. Properties of A*. Branch and Bound, Iterative Deepening A*, generating heuristics automatically. Beyond classical search, AND/OR search.
|
10-09
10-11 |
RN Ch.3.5-3.7 |
|
Set 3
|
Homework 2
|
Week 4 |
- Game playing: Adversarial search. Game tree, MINIMAX algorithm, evaluation function.
- Game playing: Alpha/Beta pruning, stochastic games.
|
10-16
10-18 |
RN Ch. 4
RN Ch. 5 |
|
Set 4
|
Homework 3
|
Week 5 |
- Game playing cont.
- Constraint satisfaction problems: Formulation, Search.
|
10-23
10-25 |
RN Ch. 6 |
|
Set 5
|
Homework 4
|
Week 6 |
- Constraint satisfaction problems cont.: Inference.
- Knowledge and Reasoning:
Logical agents, Propositional inference.
|
10-30
11-01 |
RN Ch. 7 |
|
Set 6
|
|
Week 7 |
- Knowledge and Reasoning:
Propositional logic : inference.
- Knowledge representation:
First-order Logic.
|
11-06
11-08 |
RN Ch. 8 |
|
Set 7
|
Homework 5
|
Week 8 |
- First-order Logic cont.
- First-order Logic cont.
|
11-13
11-15 |
RN Ch. 9 |
|
Set 8
|
Homework 6
|
Week 9 |
- Classical Planning: Planning systems, propositional-based, STRIPs planning.
- No class 11-22 (holiday)
|
11-20 |
RN Ch. 10 |
|
Set 9
|
|
Week 10 |
- Classical Planning: Planning graphs, Planning as satisfiability and state-space search.
- Extra : Selected topics from Machine Learning.
|
11-27
11-29 |
|
|
Final Study Guide
|
Homework 7
|
Week 11 |
- Extra : Selected topics from Machine Learning.
- Extra : Selected topics from Machine Learning.
|
12-04
12-06 |
|
|
Project Report Guidelines
|
|
Week 12 |
- Project reports due Sun 12/09 midnight
- Final Thu 12/13 4:00-6:00pm
|
12-13 |
|
|
|
|
Resources on the Internet
Essays and Papers
|