Daily walks and randomness, part 1

I’m frequently inspired to explore a city semi-randomly. By that I mean explore different routes in a neighborhood in a way that I can ultimately synthesize the gathered information and intuitively develop orientation of the city layout. I often combine this with exercise.


  1. No consulting the map.

    Beyond defeating the purpose of the exercise, the ability to navigate using your internal sensors and intuition is trainable, but atrophies if not sustained.

  2. Initiate and terminate at my start point. That is, cover a cycle.

  3. Distance (or equivalently time) in a certain min/max range.

  4. No repeating paths.

    While navigating in a straight line to a certain point and back facilitates the exercise benefit, it severely restricts the learning otherwise achievable in the same time frame. Inner-loops, such as making small circles to complete the overall distance are prohibited.

  5. No repeating points.

    I could cover the same reference point multiple times without repeating a path. Imagine a central plaza with many incident routes. I might choose to repeatedly reenter the plaza by means of a different route without repeating my footsteps. While this doesn’t violate the parameters above, it results in a less interesting visual and learning experience.

To clarify the last two parameters above, my goal is to discover such walks (Hamiltonian Cycles in graph theory), but the process may involve multiple iterations. Until that point, I fully expect to retrace my footsteps at a certain point during one day’s walk, although to a minimal extent.

The following presents my intuitive approach in a typical exploration.


The algorithm

The above high level algorithm may contain some gaps. But generally it should lead to the uncovering of new (Hamiltonian) cycles meeting the established parameters in a modest amount of iterations, assuming the randomness probability meets a minimal threshold. In a follow-up post, I will attempt to carry out a deeper analysis of the above procedure from a graph theory and randomized algorithm perspective.