Upcoming Individual Project

2 minute read


It’s been a really long time (nearly 9 months!) since I posted on this, but as a part of my ongoing professional development, I’ve decided that 2019 will see me posting weekly at the very least. I’ve been working on various projects behind the scenes, but I’d like to introduce two new projects that I will be working on in the coming future. One will be an independent project and another will be done with a close friend of mine. Without further ado, I’ll introduce the first project.

The Solo Project - Ahriman’s Moon

Problem Formulation

I recently got married, and while on the honeymoon cruise, my fiancee and I did a lot of reading. One evening, while reading the second book of the Warhammer 40k Ahriman series from the Black Library, I had a vision of a fun stochastic problem for simulation as well as true mathematical analysis. The rules are such:

  1. Ahriman wants to reach the center of a moon but must go through a spherical maze with several entrances.
  2. All possible entrances have a guaranteed path to the center as each entrance is connected.
  3. Due to inconsistincies in the warp (a magical mysterious force of the universe), Ahriman can only remember some $m$ moves previously.
  4. With some probability $p$, Ahriman gains warp insight and knows some amount $\rho$ of the shortest path to the center and travels it.
  5. Ahriman never makes the same move on a path twice unless a dead end is reached.
  6. Otherwise, behave as a random walk.

We can approach this problem as an $n$-layered sphere of nodes that form circles of points at various rotations. We can ask ourselves several questions about this problem:

  • What is the average normalized path lengths based on $n$, $\rho$, $p$, and $m$?
  • What is the minimum $p$ or insight needed for various sized $n$ for Ahriman’s expected time to reach the moon less than infinity?
  • Does this converge to some constant ratio?

Solving the Problem

In order to solve this, I will need to separate my objectives into planning increments (because working on a scrum team has contagious effects). Based on how I complete my first objectives, I can determine my next increment with higher accuracy.

By January 27th, 2019, I’d like the following accomplished:

  • Determine the best way to randomly generate a spherical maze with a guaranteed solution
  • Prototype a 2-dimensional solution to the problem in R or Python (to be determined)
  • Create an animation of a solved version of the 2-dimensional solution
  • Have necessary classes created in a C++ implementation for future simulation

Additional News

Hopefully, two weeks from now, I’ll have some great updates on the above project. Tomorrow, I’ll be posting details on the joint project with an old friend of mine, Logan Farr.