No Slums
Posted on January 17, 2008
Filed Under Computer Science |
Thanks, Google Maps!
Two years ago, my friends and I were looking into apartments near TCNJ. We wanted to check out a candidate in Pennsylvania: it was really easy to get to, it was within 10 minutes of campus, and it was affordable. It met all of our criteria, and the floor plans looked like they would provide each of us a reasonable amount of space. As a bonus, Trenton’s rail station is halfway between the college and the apartment complex, giving us easy access to New York City and Philly. How could it be any better?
According to Google Maps, it was a straight shot from the entrance of the college to the border of Pennsylvania, and only had two turns: the turn out of our college, and the turn onto the bridge. We departed.
We soon passed near the only landmark we were familiar with, the turn for Trenton Station, and continued on our way.
Did I mention that Trenton was the 14th most dangerous city in the United States in 2006? It turns out that between the train station and the river, the city rapidly deteriorates. We eventually were driving through a section of town where buildings were either run-down or rubble, and most corner shops had so much metal over the windows that it was impossible to tell whether or not they were open for business. In the end, we got to the bridge in one piece, but it’s not a trip that I’d ever want to make again.
Thankfully we decided to make the voyage at 2:00 in the afternoon and not after sundown. We all agreed that we would never take THAT route again (We didn’t end up renting the apartment, even though it was very nice and cheap). My car, made from plastic and upholstery and glued together with hopes and dreams, also doesn’t want to make the trip ever again.
It is notable that there is a similar route that takes you a much safer way: Taking two roads, Olden Avenue and Route 1, all of the dangerous areas are bypassed, and only 5 minutes are added to the voyage.
The most dangerous place on Olden Avenue is McDonalds, and the worst condition on Route 1 is potholes. Slightly longer, vastly preferable.
Caught Unaware
On one hand, I’m an idiot. I was driving through an unfamiliar area of a dangerous city, and I didn’t ask around to see if anyone knew the area. It turns out that eyeballing the satellite view of an area doesn’t always give a good indicator of how rough it will be [Note: exaggeration. Kind of.].
Live and learn!
However, idiocy isn’t the only reason that someone could be led on this route. Route 31 is a long road, and getting directions from Clinton Township, New Jersey (an hour away) gives you the exact same path through Trenton.
Having lived in Clinton Township, I can attest to the fact that Trenton is generally considered a seedy city, but that the opinion is that the state capital can’t be that bad (Camden is also within the same state and holds the #1 Most Dangerous honors countrywide). I could easily see someone taking that route without ever thinking twice. Poor Aunt Mildrid only wanted to visit a new shop in Pennsylvania!
I decided shortly after that incident that a “No Slums” option should exist in Google Maps. It doesn’t even need to be directly called “No Slums”. The ghetto-avoidance could be on by default, and a checkbox could be available named “Straightest Route”, “Damn the consequences!”, or “Do the Kessel Run in Under 12 Parsecs.”
You Will Be… Mist!
Love it or hate it, Portal by Valve Software is an excellent fable of algorithms gone awry. The game features a malevolently passive-aggressive narrator who lures you through a deadly obstacle course, all the while giving thinly-veiled threats. When I say passive aggressive, it’s no joke: until the last 5 minutes of the game, all of the player deaths are accidental. You can fall into poison, accidentally redirect ball-lightning into yourself, accidentally step in front of a turret, just so happen to step on a platform that gets led into fire, and fail to move out of the way of a rocket, but you will not be directly attacked by the computer. The computer simply sets up dangerous situations, where it so happens to place you. If you happen to die, oops!
This is an extreme, yet entertaining, example of how the coldness of algorithms could be hazardous to humans, and there is an I, Robot-esque lesson to be gleaned: innocuous mistakes can cause ostensibly malevolent behavior.
To the person who is harmed by a computer, however, there is no difference.
Nobody sets out to design a system that is accident-prone. Systems designed for human use aren’t programmed to inflict harm or discomfort on the users. No rational programmer would purposely omit a test case or a sanity check in order to harm users.
At the end of the day, people simply make mistakes. Some bugs are simply too subtle to be noticed until they rear their ugly heads. Software is complex enough without having to worry about how it interacts with people. Once you add people, you have to worry about incorrect input, attacks, extra disconnections, movement, responsiveness, display, usability, etc. The problem suddenly becomes a few orders of magnitude harder, and all you’ve done is changed your spec to specify that someone is going to use the software.
Pay Me My Money Down
We must also consider the cost of willful ignorance of algorithmic interactions with humans. Robert X. Cringely, in the article “The Next Microsoft“, declares that Google acts unaccountable towards the results of their algorithms:
“Algorithms — the smarter the better — are at the heart of Google’s success. But Google’s major failing nearly always comes down to confusing algorithmic efficiency with moral, ethical, or even business correctness. Sometimes good algorithms do bad things and the tendency at Google is to simply not care: it was the ALGORITHM’s fault. But even worse, since algorithms can’t be held responsible like the person who wrote or authorized the use of the algorithm ought to be, there is at Google a sense of unaccountability. Stuff happens, they’ll say, when algorithms are fluxing toward optimization and producing collateral damage: it’s not our fault.”
Cringely goes on to drive home the algorithm/human connection.
Google’s defense, of course, is that the company will make everything right once you prove to them that they made a mistake. But Google is defendant, judge, and jury. And even if they face reality and do the right thing, it may already be too late for smaller advertisers. An algorithmic change by Google can result in AdWords budgets that worked well for years becoming suddenly depleted. All of the advertiser’s money is gone, often with little to show for it. Worse still, there is no money left for ads that might generate revenue. Google says it will do the right thing, but doing that six months later has no effect for a merchant five months out of business.
As Gerald Weinberg once said, “No matter what they tell you, it’s always a people problem.“
On one hand, Google is a victim of its own branding and reach. Google is famous for being a decentralized company, and the decisions made by one department certainly don’t reflect on the decisions of other departments. However, when a team that works for Google has an underwhelming release, or a customer is inconvenienced, Google, as a whole company, is the bad guy in the eyes of the investors and the users.
On the other hand, that’s a purpose of a brand: to create a trusted umbrella of products, each tied to the reputation of the company as a whole.
I hate to pick on Google twice in one day, as I have immense respect for how they have transformed the industry and for how they treat their employees. However, I’ll eat my hat when Google sends a StreetView team through the area Maps sent me. Since I like Google and don’t own a hat, I will actually go out and buy one to eat. It’ll be a New York Rangers hat so that I at least get the satisfaction.
Algorithms and People
This raises an issue that will be more important as computers take over our lives: What does it means for algorithms to be correct?
From a formal standpoint, algorithms are simply a method of performing work. They have a set of initial conditions, and working algorithms produce valid output to satisfy some problem. Formal algorithm correctness is fairly black-and-white: either it works in all conditions, or it does not.
Nowadays, that’s not good enough. Algorithms interact with people more than ever. Social bookmarking sites suggest content based on patterns. Traffic revenue for all kinds of websites are determined by complex advertisement algorithms. Human emails are vetted for spam-like qualities, and discarded. Humans are now agents in path-finding algorithms. Our credit card transactions are currently being monitored for potential fraud. An increasing number of medical procedures have a level of automation.
The requirements that are bestowed upon algorithms increase the same way software does when you include people. The algorithm can’t annoy the user: a person would be pretty pissed by having to go through California and Maine to get to Texas from Oklahoma, and no matter how hard you try, a person won’t run around a city block seven times in a row. Spam filters can’t flag your grandfather’s email simply because he doesn’t punctuate his emails and talks about Viagra. Credit Card companies can’t flag your purchases as identity theft and freeze your account just because you bought a souvenir on your first trip to Mexico.
A human being can withstand very extreme conditions, but that doesn’t mean he wants to.
Algorithms also can’t harm its users. No human is going to be around following 1 million g-forces at 3 million degrees, even if it correctly flies them from JFK to Frankfurt. Nobody wants to get led into slums, and quite a few people would be displeased (and hurt) if a plane on autopilot landed on a highway instead of on a runway.
Be nice to the people who will interact with your algorithm. You may be one of the users someday!
Popularity: 28% [?]
Comments
Leave a Reply
