Khalil Virji
COMP 424 - Artificial Intelligence
This was an Artificial Intelligence course that I took during my fifth year at McGill. Some of the
topics we covered are listed below.
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
We had four written assignments throughout the course which were focused on class material. For our
final project, we were required to build an intelligent agent for the board game Colosseum
Survival . The project was done in pairs and my partner and I implemented our agent using
Monte-Carlo Tree Search equipped with 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.