Icosahedron Navigation


You are standing on one vertex of an icosahedron. You'd like to reach the opposite vertex by walking along the edges. Unfortunately, every time you reach a vertex, you get turned around and forget which way you were pointing, which makes this difficult. Luckily, you have some stones with distinct colours that you can set down and move as desired to mark vertices (though you can't mark their orientations). You'd like to (with probability 1) reach the vertex opposite your starting point and declare with certainty that you're standing on it. How many stones do you need? (sited from Jane Street's International Math Olympiad 2022 page)


Nathaniel Thornell and I created three mathematical algorithms to solve the problem. We implemented it in Python to demonstrate that they work, annotating icosahedrons in Blender. See our the document below to learn about the pros and cons of the three solutions.