Course introduces the algorithms and theory of symbolic artificial intelligence. In a few key ways, it follows ECE345 — Algorithms and Data Structures and ECE302 — Probability and Applications.
Lab work is done in Python. Recommended textbook is Artificial Intelligence: A Modern Approach, by Stuart J. Russell and Peter Norvig (AIMA).
Concepts covered
- Basic ideas
- Searching
- Uninformed search
- Node pruning
- Heuristic search
- Greedy best-first search
- A-star algorithm
- Iterative deepening A*
- Constraint satisfaction problem
- Backtracking
- Constraint propagation
- Forward checking
- Generalised arc consistency
- Heuristics
- Degree
- Minimum remaining values
- Least constraining value
- Game solver
- Minimax
- Alpha-beta pruning
- Evaluation functions
- Expectimax
- Knowledge representation and reasoning
- Probabilistic reasoning
- Probability
- Feature vectors
- Independent probability
- Conditional probability (Bayes’ theorem)
- Bayes net
- Probability
Assignments
- Sokoban
- Hungarian method
- Iterative GBFS
- Weighted A-star
- Iterative weighted A-star
- Futoshiki
- Othello