Thursday, September 21, 2017

Computer Limitations

I had my first encounter with computer programming in a college math class in 1978. Turing machines, if-then switches. Fun times. A year or so later, I took an actual programming course; we wrote programs in BASIC on punch cards. Really fun times.

Software and hardware have changed, but not so some of the most basic lessons I learned at the time, and one of the most important lessons about computers is this.

Computers are stupid.

They are tireless, and they are insanely fast. But they are stupid. And as we contemplate the increasing wave of edtech products that claim to have artificial intelligence baked in (though in virtually all cases what's actually baked in is a complex algorithm), we must remember one simple truth about these stupid, stupid machines.

A computer cannot do anything that a human does not know how to do.

Take for instance the many programs that now claim they can read a student's character and personality by monitoring facial expressions and answering patterns. The first question we have to ask is, are there any human beings who know how to do that?

Is there any person who can look at still pictures or video shots of a single human face and definitively analyze that person's character?

Because if there's no human who can do it, then there's no human who can program a computer to do it because (say it with me) computers are stupid.

There may well be actions that a human could not complete, because it would take a gazillion person-hours to do it, like compute Pi out to a zillion places-- but a human still knows how to do it, and so a human can tell a computer how to do it.

Can a human predict exactly what the stock market will do next? Does a human know how to predict who will win the 2020 Presidential election? Does a human know how to read personality via facial expressions (and remember-- we already debunked phrenology)? Can a human look at ten multiple choice questions and know definitively how well a student understands algebra? Can a human use only sentence length and vocabulary choice to determine whether an essay is any good or not? Does a human know how to look at one test and predict exactly how a specific student will fare on an entirely different test?

The answer to all of these is "no." And that means that a computer program can't do any of these things, either.

When someone presents you with a computer program that allegedly does something magical, the question to ask is, "How can it do that, exactly?" If no human knows the algorithm for achieving that goal, then no computer programmer knows how to tell software to achieve that goal.

Computers are not magical. They're just fast, tireless, persistent, and stupid.


  1. Computers are not stupid. We people are stupid. Believing a computer can assess a human being is not a computer's idea. Only people could come up with that notion. Trusting computers to make decisions about human life is stupid.

    You have to admit it, without computers relatively few people would have a clue about your opinions. And computers everywhere aren offering the opportunity for people to choose to read what you think.

    And the computer doesn't even twist your words. People do. Objects are not stupid.

  2. Machine learning and AI learn how to do things on their own, through trial and error. The computers aren't programmed to do a task, they learn how to do the task on their own. For example, AI masters 49 Atari 2600 games without instructions | Ars Technica:
    "Using these abilities, Deep-Q is able to perform reinforcement learning, using rewards to continuously establish visual relationships between objects and actions within the convolution network. Over time, it identifies visual aspects of the environment that would promote good outcomes.

    This bio-inspired approach is based on evidence that rewards during perceptual learning may influence the way images and sequences of events or resulting outcomes are processed within the primate visual cortex. Additionally, evidence suggests that in the mammalian brain, the hippocampus may actually support the physical realization of the processes involved in the “experience replay” algorithm."

    By letting the computer learn how to do a task, computers can do things without being programmed explicitly, and, by extension, computers will be able to do things that humans don't know how to do.