Class Projects

Electrical Network Approximation to Constrained Minimum k-Cut (Multiway Cut)
We propose a novel, fast method for approximating the minimum k-Cut problem by using electrical networks. Our approach has similar performance to the current best LP approximation but much faster empirical runtime. (pdf, code)

DominAI: An AI for the imperfect information game of Dominoes
We develop an algorithm for approximating good play in imperfect information games and show an application of the algorithm to the team-based game of Venezuelan dominoes. (pdf, poster, code)

GameBoy emulator on bare metal Raspberri Pi
We developed a complete (though not cycle-accurate) CPU/GPU emulator for the original GameBoy, built on top of the Raspberry Pi without an operating system. (code)

Unsupervised learning for brain tumor categorization
We correctly infer tumour regions without reference to masked examples by using unsupervised learning, showing that a simple approach for unknown or little-known classes of tumors can yield possibly useful insights into these classes. (pdf, poster, code)

Other Projects

Autonomous, multi-objective path planner for the AUVSI–SUAS competition
Currently working on a path-planning algorithm for fixed-wing search-and-rescue UAVs with real-time objective creation, modification, and updating. No code will be available until the end of the competition, but progress and mathematical descriptions of the solution can be found on my blog. (blog, competition)

Chocolate-Arch: A tiny 8-bit processor
I designed an 8-bit architecture made to fit on a Lattice iCEStick (with 1K LUTs). A small team of us began a complete implementation on an FPGA along with an external Arduino-based debugger during a hackathon. (code)