There's a discussion in the forum arguing that computers and software are sufficiently advanced and intelligent (or soon will be) to replace humans in many tasks. I always argue that software has inherent limitations that no computer hardware could ever overcome. Tonight, I was reminded of these limitations again.
I asked my mapping program, Microsoft Streets and Trips 2004, to direct me from Pittsburgh to my girlfriend's theatre in Manhattan. It initially gave me the most "direct" route using the Lincoln Tunnel, but it would have taken me on a huge driving tour through Manhattan that would, in reality, take far longer than an alternate route using the Holland Tunnel.
Unlike stupid online mapping services in which directions seem like an afterthought, the PC software packages usually allow you to set waypoints to refine your route. So I told Streets and Trips to set the Holland Tunnel as a waypoint and recalculate the directions.
Later, I figured out what happened.
When I clicked on the Holland Tunnel to set it as my waypoint, I had actually clicked on the top (outbound) lane. To me, that's just "the Holland Tunnel". I was conceptually clicking on a tunnel, not any particular section of road inside of it. The mapping program, seeing these correctly as two separate one-way road sections, did what it took to get me to pass through that section: it directed me to drive through the tunnel into the city, then turn around and drive back out (hitting the waypoint in the other lane), then driving back in to eventually reach my destination.
Does anyone still want to argue that computers are smart and can replace human judgment?
The program did exactly what I requested. But that's not what I meant. You see, humans have the intelligence to figure out what you meant if it's not exactly what you said.
Growing up, my mother tried her best to prevent my sister and I from becoming television junkies by limiting how long we could watch. She'd say, "That TV better be turned off at 10:00!" While she meant that we couldn't watch any TV after 10:00, that's not what she said. So we'd turn it off at 9:59, and turn it back on at 10:01.
It was off at 10:00. We followed her instructions exactly.
Computers are like smartass kids. If you tell a computer to do something, it does exactly that - no more, no less. There's no "intelligence" behind it. Software can be written with algorithms that allow flexibility, but it's still all deterministic with predefined rules and patterns that were manually specified by a programmer in a cubicle somewhere.
When an unforeseen condition arises, a human can always use judgment to figure out a good possible solution. Computers are restricted to a finite set of predetermined patterns. Hardware can get faster than we could have ever imagined a decade ago, but we'll still never conquer that limit.