Skip to main content

All I Want For Christmas is a Super-Intelligent Public Transit System - Part 1

I was having a friendly debate with another commenter over at Chicagoist, in an article lamenting the latest round of RTA cuts. Upon floating some rough ideas for how Chicago's transit system (or, indeed, any city's transit system) could be made to operate more dynamically, I was rebuked by a solid wall of skepticism.

I think my biggest problem--and my problem with most technology--is that I simply don't see the benefit outweighing the expense of implementation coupled with ongoing maintenance. I honestly believe that a simple, fixed route bus system runs about as efficiently as it is possible for a bus system to run.


Could it be? That nearly the simplest possible approach to a bus system one can imagine happens to be the most efficient? I find that to be highly unlikely. Many problem domains don't favor simple approaches. Said another way: the universe is complex; deal with it. Take one example from the field of computer science: sorting numbers. Specifically, how can we efficiently store a collection of numbers that will allow us to quickly search the collection to see if a certain number is already there? One very simple approach is to store the numbers in a sequence, then put that sequence in order using bubble sort, then perform a binary search on the now-sorted collection.

The approach to sorting described above works fine when you're only sorting and searching through a few different numbers. But once you start dealing with thousands, millions, or billions of them, the performance breaks down badly. A more complicated approach to sorting involves using a specialized construct known as a red-black tree. A red-black tree is much, much more difficult to create and work with than the simple approach (believe me, I had to suffer through it in college). But it's also much faster, and handles searching through even very large collections of numbers with acceptable performance.

In many ways, the number sorting example is analogous to comparing a fixed route bus system against the one I will present in this post. Just as with the simple number sorting example, the simple bus system (fixed-route) works OK when the system is small. Suppose that the entire city of Chicago consisted of two high rise condo buildings, one grocery store, and two large office buildings. Every person lives in one of the high rises, works from 9:00AM-5:00PM in one of the offices, and goes grocery shopping every day from 6:00PM-6:30PM. This kind of city is the perfect candidate for a dumb fixed route system! You can set up bus routes that go back and forth between each high rise, and the grocery store and offices. Even if you create "express" routes between each of these buildings (a pretty sweet deal for everyone), that's only ten total routes. You can probably even eliminate some of these if, for example, two of the buildings are close together, or a building is in between two other buildings (the bus can just stop at the building in the middle), etc. And, because everyone is on the same schedule, you only need to run each of the routes at one point during the day (for example, the "high rise to office" routes only need to run a little bit before 9:00AM every day). Cheap, effective, and simple.

But what happens when the people in the high rises start to work different hours from each other? Or start wanting to go grocery shopping early in the morning, before work? Or (gasp), the city starts to grow and a developer builds a whole bunch of townhouses that are scattered around all the existing buildings? In other words, what if our simplistic, imaginary Chicago started to look more like the real thing? You either need to start adding more routes (more buses, drivers, and money), or having existing routes make additional stops (slower commute times, lower frequency of trips), or both.

Fortunately for us, in the real Chicago, the streets are laid out in a nice gridlike fashion with perpendicular "major" streets roughly a half mile apart in all directions. This general layout admittedly lends itself pretty well to a fixed-route system, at least as well as any particular layout could. But regardless of the street layout, and ignoring the fact that many people still need to make trips that don't align to these routes very well, the fixed-route system still breaks down in the face of dynamic human behavior. That's just the price we pay for being free-willed, living beings instead of cold, calculating robots. Just to give a non-comprehensive sample of some pesky human-caused problems that spring to mind...


  • Many people don't follow the same schedule every day. They might go into work early, leave late, or attend to errands/appointments in a completely different location before heading to work.

  • Certain neighborhoods start to become "hot" and lots of people suddenly want to live, dine, or get drunk there. It takes months or years for this sort of information to filter through the bureaucracy before changes to routes are implemented to meet the changed transit need - if ever. By the time the schedules/routes do change, the hot place might have moved somewhere else (coincidentally, I always keep up with these things; I rode my vintage bike to the hot spots way back before anyone else even knew about them).

  • Some people work in different locations some or all days, possibly at different hours. People are moving in to, and out of, the city every day, for a myriad of reasons (excitement over taking advantage of a large urban transit system, followed by the inevitable letdown upon seeing that system in action, being chief among them, I'm sure).

  • People might choose different modes of transit to get to their final destination depending on the season, time of day, their mood, and the alignment of the stars. They might bike in the summer, and in the winter take a bus during rush hour, or drive if it's a weird (i.e. non-rush hour) time.

  • One fine day, a whole bunch of people from all over might be interested in attending the same air show/Hungarian festival/llama parade.



Even if the CTA waved a magical wand (in a union-approved fashion, obviously), read every single rider's mind one evening, figured out their itineraries for the next day, and completely re-organized all their fixed routes to optimally[1] accommodate the day's transit needs given their stock of buses and drivers, it still wouldn't be that useful. The next day, everything would change again!

at this time, please open your favorite media player and start some overly dramatic/cheesy music What are we to do? Is there no hope? Are we stuck with this naive, frustrating, and inefficient way of using our buses? In a word: no! Stay tuned for our next installment; if you want to work ahead, I'd suggest watching some X-Files reruns.

[1] "Optimally" is surprisingly difficult to define in cases like these, and often boils down to what exactly you want to optimize. You can't have it all. For example, you can either minimize the average length of every rider's trip, or minimize the amount of time every rider has to wait before the bus arrives, but not both. For more details than you could ever want to know, as usual, see Wikipedia.

Comments

Jenkins said…
Are you suggesting we all use taxi cabs to get everywhere? Because THAT'S as "super-intelligent" as I can think of, but it doesn't seem very environmentally friendly or efficient.

PS - just because the CTA operates with no "delays" doesn't mean the buses & trains aren't overcrowded.

PPS - did you know that once upon a time the el trains used to have more complex stopping patterns, where they wouldn't stop at every station along the route? It was the equivalent of the Metra "express" routes - at some of the older stations, like the Logan Square station I think, you can see "A" and "B" labels that represent which of the two train routes would stop at that station!
Jeff said…
No, it's subtly different from cabs, as you'll see in the next post where I actually lay the groundwork. The crucial difference is that with taxis, the riders have to have a pre-established relationship with each other before they can share a ride. With the system I'll propose, that is not necessary. In fact, the riders do not need to know about anyone else to be able to take advantage of more efficient routes.

The burden of finding other people to share the ride should be shifted from the riders themselves to a central computer, when the necessary data is available.

Popular posts from this blog

Don't Trust the Process

Don't Trust the Process Prelude The first thing I did, after signing the offer letter, was to uninstall the Blind app from my phone. My brain needed a long break from that one. The anonymous commentary from tech employees is valuable, but I don't love the picture it paints of us. Next, I cancelled all the five-hour-long "virtual onsite" interviews I had scheduled for early January and closed my in-progress homework assignments. The feeling of liberation from this was palpable. I had finally landed a new job, one that I was very excited about. More on that later. For now, let's delve into the months of misery leading up to it. As is tradition in my field, allow me to lay out a statement of scope. Not in Scope A solution to these problems. If you're someone who thinks that nobody can present complaints without bundling them with a neatly packaged solution, you should probably turn back now. Any treatment of those coming from less advantage

Happy Anniversary

There's something you should know about me.  I absolutely dread doing home improvement projects. The scope of the task in question doesn't make any difference.  Even something as simple as hanging up a picture frame fills me with trepidation and angst. It's not that I'm lazy, or unwilling to do the work.  One major problem is that these simple jobs never, ever turn out quite so simple as I'd hoped.  Before I discovered toggle bolts, I mangled several spots in our walls.  But then I became enlightened in the ways of properly hanging objects on plaster and lath walls. So I proceeded with confidence to the next project, now equipped with the correct tools.  But the hole I drilled wasn't big enough to insert the folded wings, so I had to keep widening it.  And since I didn't have a large enough drill bit, and didn't want to spend another hour going to the hardware store, this involved wiggling the drill around in a circular motion and hoping for the best. 

Reflections on working as an election judge

I don't know how to start with this. There are a number of isolated moments that stand out in my mind. Some are poignant, like the woman who, upon hearing we couldn't find her registration in the computer, shook her head and said, her quiet frustration palpable, "I just won't vote, then." She put her driver's license away and calmly walked out of the room. We had already told her about the Voter Verification Hotline, but she didn't seem all that interested in waiting on hold for what promised to be a very long time. So she left without casting her ballot. I tend to personalize negative outcomes in a way that isn't warranted (my wife can attest to this), so I had to acknowledge, then dismiss, the sinking feeling that the situation was somehow my fault. Some moments were joyful, in that primitive "caveman starts fire" sense, like when our one troublesome ePollbook (the custom laptop builds used to check in voters) finally connected to th