About Me

I am a final year PhD student in machine learning attending the University of Alberta, under supervision of Michael Buro and Levi Lelis. My research area is called policy tree search, which is the combination of policy learning from reinforcement learning methods with tree search algorithms. I did my undergrad in Computer Science and Mathematics at Wilfrid Laurier University.

My work has been published at several top conferences and journals, including AAAI and ICML. I have a passion for writing performant research algorithms and models in C++.

Outside of my research, I’m a huge hockey fan. My pastimes include running, video games, and learning various topics in math/physics.

Hire Me!

I’m currently looking for machine learning researcher/engineering job opportunities. If you think I would be a good fit to work for you, or you know someone who would like to have me on their team, feel free to reach out!

News

  • July 2025: I’ll be at ICML 2025 presenting our work “Subgoal-Guided Policy Heuristic Search with Learned Subgoals”. Checkout our poster here here
  • May 2025: Our work “Subgoal-Guided Policy Heuristic Search with Learned Subgoals” has been accepted to ICML 2025! Checkout the publication here

CV

You can find an up to date copy of my CV here.

Research

See my research page which highlights some of the research I’ve done throughout my PhD and undergraduate degree. My work has been published at several top conferences and journals, including AAAI and ICML.

My research is focused on a class of algorithms called policy tree search, which uses a policy to guide the search. In particular, I am interested in finding ways to train policies from search trees where no solution was found. Previous policy tree search algorithms require solution trajectories to train their policies. In the event a search terminates prematurely due to budget constraints, these methods discard the search tree and waste the search effort. Being able to use the data generated from failed search attempts can provide exponential savings during the training process, allowing policies to be learned on problems which would otherwise be too costly for the other methods.

Projects

See my project page which highlights some of the projects I’ve worked on in my free time. I’m a huge C++ fan, so most of them are written in that. The projects I’m most proud of is tinytensor, which is a C++ multi-dimensional array and automatic differentiation library with CUDA acceleration. It supports many of the deep-learning intrinsics as you would find in PyTorch!

Notes

I’m passionate about learning various topics in math/programming. You can find my notes on the topics I’m learning here.

Contact

You can contact me or find me at the following: