Please stand by while the maze is being constructed…

Move with arrow keys and insert/delete. (Also F1 to recenter.) Or click in the direction in which you want to move.

Projection:

Visited: ?

Steps to starting point: ?; to green point: ? ←but using this info is considered cheating!

Show/hide mathematical explanations

✱ There is
also a *toy*
version of the same game (to illustrate how quotienting works),
and a different game in the same
world as this one.

This is a maze in
the hyperbolic
plane, displayed using
the Poincaré
disk
or Beltrami-Klein
model (see this
video for explanations and illustrations about projections of the
hyperbolic plane). The fundamental pattern used to construct the maze
is the
uniform tiling of the hyperbolic plane by regular quadrilaterals
(“squares”?) with angles of 2`π`/5=72° at each vertex (less
than the 90° of a Euclidean square because the hyperbolic plane is
negatively curved); a circle has been drawn at the center of every
square.

Use the up and down arrows to move up and down, left and right to rotate left and right, and insert and delete to move left and right without turning. (Note that since the hyperbolic plane has curvature, even if one moves without turning, one can return to one's starting point with a different orientation. So it would be meaningless to have a “compass” in the hyperbolic plane.)

Since the hyperbolic plane is infinite, the maze has been made
“periodic”, in much the same way that the Euclidean plane can be made
“periodic”, that is, transformed into a flat torus by quotienting by
a lattice
of periods, typically a square lattice in computer games, so that one
“loops around” if one goes to far. Here something analogous has been
done, by quotienting out by
a discrete
subgroup `Γ`, acting without fixed points, of the
group PSL(2,ℝ) of
orientation-preserving isometries of the hyperbolic plane which is
contained in the group `Δ` of symmetries of the tiling (the
(2,3,5) triangle
group); here, `Γ` is a normal subgroup and
the quotient (PSL(2,ℝ)∩`Δ`)/`Γ` is
the projective
special linear group PSL(2,89) on
the finite
field with 89 elements: since #PSL(2,89) = 352440, the period
domain consists of 88110 cells (each cell has 4 orientation-preserving
symmetries because it is a square), 176220 edges (each edge has 2
orientation-preserving symmetries) and 70488 vertices (each vertex has
5 orientation-preserving symmetries). If one prefers, the maze lives
on a
compact Riemann
surface
of genus
8812 (having 352440 symmetries),
whose universal
cover is the hyperbolic plane (and `Γ` is its fundamental
group). Or on
the Cayley
graph of PSL(2,89) for two generators `R` (rotation
around a cell) and `T` (translation to the next cell).

The number 89 was chosen because it is the
smallest mod which the three
polynomials `X`⁴+1, `X`⁴−(3/2)`X`²+(1/4)
and `X`⁴+(1/2)`X`²−(1/4) split
completely (they are the minimal polynomials of the coefficients
of `R` and `T` as elements of PSL(2,ℝ)), making it
possible to define `R` and `T` in
PSL(2,`F`) without requiring any extension.

The maze generation is not particularly smart: the algorithm first
carves a tree inside the graph and then randomly removes another 8.5%
of walls (a completely heuristic value to make the maze more
interesting). The distance to the starting point and “green point” (a
point at maximal distance from the starting point) determines the
color of the circles; the proposed goal is to first reach that target
and then return to the starting point by using a path that is
not homotopic
(even with the walls removed) to the first path (in other words, by
“looping” in the sense that it defines a non-trivial element
of `Γ`).

David Madore