COMP 424 - Artificial Intelligence
An artificial intelligence (AI) course that I took during my fifth year at McGill. Topics included:
Uninformed Search - state space graph, search tree, BFS, DFS, uniform-cost search,
depth-limited search, iterative deepening search
Informed Search - heuristics, best-first search, heuristic search, admissible
heuristics, consistent heuristics, A* search, dominance
Local Search for Optimization - hill climbing, simulated annealing, parallel search,
local beam search, genetic algorithms
Constraint Satisfaction Problems - constructive vs local search approaches,
backtracking search, constraint graph, arc consistency, AC-3, forward checking
Searching Under Uncertainty - partial observability, unobservability,
non-deterministic actions, conformant planning, AND-OR search, belief states
Game Playing - minimax search, evaluation functions, alpha-beta pruning, forward
pruning, monte-carlo tree search (MCTS), upper confidence trees, exploration vs exploitation
tradeoff
Knowledge Representation and Logic - propositional logic, propositional inference,
model checking, normal forms (CNF, DNF, Horn), validity and satisfiability, forward
chaining, backward chaining, first-order logic (FOL), quantifiers, FOL inference, FOL
proofs, resolution, skolemization
Planning - STRIPS planning, progression/forward planning, regression/backward
planning, planning as logic
Modelling Uncertainty - bayesian probability, probabilistic inference, naive bayes
model, bayesian networks, inference in bayesian networks, variable elimination algorithm,
bayes ball algorithm
Learning in Bayesian Networks - maximum likelihood estimation (MLE), laplace
smoothing, latent variables, learning with missing data, expectation maximization (EM), soft
vs hard EM, k-means clustering
Causal Graphical Models - causation vs correlation, do-operator, causal vs
probabilistic conditioning, identifying causal effects, back-door paths
Utility and Decision Theory - axioms, lotteries, maximum expected utility (MEU),
decision graphs, value of information
Bandits - bandit problems, greedy bandits, epsilon-greedy bandits, softmax action
selection, optimistic initialization, upper-confidence bounds, contextual bandits
Markov Decision Processes (MDP) - sequential decision-making, MDP framework, policy
iteration, policy evaluation, bellman equation, value iteration, reinforcement learning
For the final project, we built an agent for the board game Colosseum
Survival . The project was done in pairs and my partner and I implemented ours using
Monte-Carlo Tree Search equipped with some domain-specific heuristics.
The project code and report
can be found here and a demo of our
agent beating a random agent is shown below.