Image courtesy of SmartCreative
RATS in Houghton?
No need to be feel scared or cringy – the RATS are not the kind you are probably thinking of. As far as I know, we don’t have that kind here. Inspired by my friend, Rickey Gates, and his 2018 adventure that took him through Every Single Street of San Francisco and coupling that inspiration with my academic interest in Graph Theory, I had plans of doing something similar in Houghton. But it was scheduled as a set of unstructured activities during the recovery weeks after the completion of Spring Marathon (on 25th April 2020) and before the next training cycle started.
But then COVID-19 came around and things changed. Keeping in line with The greatest good for the greatest number for the longest possible time philosophy that I so am in love with, organizers of the said Spring Marathon diligently postponed the event to the second half of 2020. That meant I could temporarily pause the race-specific workouts (i.e., speed, tempo, race pace portions) for the next few weeks and revert to general aerobic base building. As part of this general aerobic base building process, I thought about completing this project now instead of waiting till later. Unlike Rickey, I am yet to pay my dues and earn my stripes … at least in running. Thus, I had to come up with a glamorous catchier name than Every Single Street to catch the attention (whose attention? I don’t know). After some research and thought, I settled on Run All The Streets In Houghton or RATS In Houghton for short.
Running All The Streets
As noted briefly before, this particular project had some academic relevance to one of my personal interests: Graph Theory. Its creator, Leonhard Euler – the Beethoven of Mathematics (or taking the timeline of their birth/lifespan into account, Beethoven might have been the Euler of Music Composition), happens to be one of my favorite mathematicians of all time! Irrespective of Who is Who of What, Euler’s work spans just about every field of Mathematics and his work has undoubtedly stood the test of time … including bringing our astronauts back to earth in the early days of space exploration. In Graph Theory’s technical mumbo jumbo,
- a node (or a vertex) is a point of interest,
- an edge (or a segment) is a line that connects a pair of nodes (or vertices) and
- a route (or a path) is a set of edges (or segments).
A route (or a path) can be one of the following:
- Eulerian Path (i.e., every edge is visited exactly once allowing for revisiting vertices)
- Eulerian Circuit (i.e., an Eulerian Path that starts and ends on the same vertex)
- Hamiltonian Path (i.e., a path that visits each vertex exactly once).
The general essence of a route finding problem involves the following well known steps:
- Given a set of nodes (or vertices), check for a route’s existence. It may involve traversing an edge (or a segment) more than once.
- If a route does exist, then
- draw the route (i.e., construction),
- list all other possible routes (i.e., enumeration) and
- amongst all possible routes, find one that has the least distance or takes the least amount of time to traverse (i.e., optimization).
For this project,
- a node (or a vertex) would be the point of intersection of two or more streets,
- an edge (or a segment) would be the portion of a street that connects two nodes (or vertices); throwing some common sense and safety into the mix, a street would be replaced by its sidewalk when the latter existed, and
- a route (or a path) is a collection of edges that covers a portion of the city.
A quick glance at our city map indicated that this project wasn’t something I could do in one shot (or even in one day). Even with divide and conquer approach, it would have taken too much time and effort (maybe futile at the end?) to design individual outings that didn’t involve traversing a given street (or a portion thereof) more than once. Taking the dead end streets, 3-/5-way intersections, same starting/ending point for different outings, etc. into account and remembering a profound quote I read recently (see below), I threw optimization out of consideration.
An unattainable best is the enemy of all attainable betters.
Instead, in the interest of completing the project within a reasonable amount of time, I settled on the following:
- Keep the number of outings manageable (too many outings means too many GPX files and that leads to a data management problem) with medium to medium long distance per outing.
- Pursue each outing as a practical experience of the messenger problem (think of a US Postal Service Mail Delivery Person).
- Cover 10-15% more distance compared to a set of optimized outings.
Mike Needham, Google Maps and OpenStreetsMap.org helped define the limits of Houghton via its Tax Map and named streets. Without Mike’s timely and valuable advice, help and feedback, I would have most certainly run one too many irrelevant miles.
A vast majority of these runs were at an easy effort but I did pick up the pace or do some fartlek-style intervals or hill repeats whenever the course or the conditions permitted. These runs took me through several streets that I had never before had a reason to explore. The original plan included conversations with people along those streets, taking in the sights (of lovely spring/summer flora) and smells (of rain and grillables), and making time to capture as much of these in photographs. As one would expect under the given conditions, the streets were bare and I barely saw other living entities while on these outings. Those I did see were kind enough to wave/honk from their cars OR pause their own activity and check on my welfare while maintaining sufficient distance.
# | Date | Distance miles |
Time h:mm:ss |
Avg. Pace min/mile |
Elevation Gain feet |
01 | 2020-03-26 | 10.41 | 1:53:17 | 10:52 | 538 |
02 | 2020-03-27 | 6.77 | 1:08:37 | 10:08 | 725 |
03 | 2020-03-28 | 8.44 | 1:30:13 | 10:41 | 755 |
04 | 2020-03-29 | 8.25 | 1:37:09 | 11:46 | 755 |
05 | 2020-03-30 | 10.00 | 1:54:10 | 11:25 | 1617 |
06 | 2020-03-31 | 10.51 | 1:47:23 | 10:13 | 951 |
07 | 2020-04-01 | 11.51 | 2:09:59 | 11:17 | 948 |
08 | 2020-04-02 | 0.17 | 0:02:04 | 12:10 | 13 |
09 | 2020-04-02 | 7.40 | 1:22:02 | 11:05 | 531 |
Total | 73.46 | 13:24:54 | 10:57 | 6833 | |
Daily average (8 days) | 9.18 | 1:40:36 | 10:57 | 854 | |
Outing average (9 outings) | 8.16 | 1:29:26 | 10:57 | 759 |
Visualization
After some extensive research to import and display multiple GPX files in the same map but without a straight line connecting one run’s ending point to next run’s starting point, I found that My Maps feature within Google Maps not only did what I was looking for but also color coded each outing for visual aesthetics. A lesson I learned the hard way: importing data into My Maps doesn’t work in Safari (i.e., the browser in Apple’s Mac) but it does in Chrome (Google’s browser). The rectangle looking thing with an arrow in the top-left portion of the map’s title bar has a set of controls to selectively display (or hide) outings as well as associated metrics.
It still is nearly impossible to articulate the combination of overwhelming emotions that many of us have been experiencing during this global pandemic. While mostly working from home under Gov. Whitmer’s shelter in place executive order issued on 23rd March 2020 to do our part in flattening the curve, getting out of the house to find some fresh air and think through things has been a refuge – a necessary act to preserve as well as gain physical and mental sanity. As with 2019-20 Ski The Keweenaw, 2020 RATS In Houghton too has been a lucky byproduct of this refuge … using the time associated with these outings more for praying than just playing and to be grateful for our outdoors.
I have a much better appreciation for the services provided by the US Postal Service and the City of Houghton – with regards to year-round mail delivery and garbage pickup, winter snow removal and spring-time road cleanup. I’ll do my best to not complain if I am not the recipient of these services on any given day. I am pretty sure I won’t extend this project to other modes of movement: BATS (biking), HATS (hiking), SATS (skiing; it’s possible when the right snowpocalypse happens) or WATS (walking) but I’d like to spend some time and optimize the routes for divide and conquer process … maybe a student from my past or future semesters will help me?
Fantastic and inspiring! Nice work Gowtham
Thank you, Billy!
Awesome!
Did you try to compute optimized pathways or did you just wing it?
I ran every street in my town too, but I gave up on trying to do it efficiently. It would be interesting to see how much more I ran than the minimum required. Perhaps I’ll try to compute that some day.
https://app.strava.link/Nwm7zuZna6
There was minimal time spent in optimization of pathways. I drew up the potential paths for each outing in Strava and do my best to stick with it :)
Nice work on completing this in your town!!