Programming Projects

University of Alberta

Welcome to Undergraduate Artificial Intelligence Society (pdf)

Gradient Descent Towards Neural Networks (pdf) (video)

Cellular Automata Presentations (pdf) (pdf2)

Eight Queens Puzzle Solution (C)

Uses hill-climbing search to solve the classical eight queens puzzle. Starts in a given starting configuration (numbered by which row a piece is in), and locally makes improvements to find the solution. The improvements are based on a heuristic of how many conflicts (queens that attack each other) exist on the board, and tries to reduce this to zero. To avoid getting stuck in ridges, the algorithm automatically chooses a random neighbour amongst ones with the same lowest heuristic.

Screen Shot 2019-12-26 at 2.17.05 AM

University of Nevada, Reno

Poker Hand Simulator (C)

A poker hand simulator written by me and Zeb Burke-Conte in the C programming language.  The simulator randomly generates several poker playing hands, and outputs who has the winning hand:


Supports up to 29109 hands simultaneously being generated:

Screen Shot 2019-12-26 at 2.33.31 AM

Missionaries and Cannibals Puzzle Simulator (iPython)

A Python program I wrote using a Breadth-first search to solve an extension of the famous Missionaries and Cannibals puzzle.  The program prompts the user for the number of cannibals, missionaries, and people that are able to cross the boat at a time, which leads to many interesting variations of the initial puzzle.