How does Artificial Intelligence Work?

There are various forms of artificial intelligence (AI) out there today. It is a tough question what to even call an AI and what to merely call a software program. There is a tendency in software, where when something that used to be called “AI” matures and integrates itself into the technological backdrop, it doesn’t get called AI anymore. The programmers of the 1950s might call numerous embedded software in our world “artificial intelligence” – for example, the microchip in your car that regulates fuel injection, or the database at the supermarket which stores records of all sales, or the Google search engine.

But the field that calls itself “Artificial Intelligence” tends to be slightly different than the much larger group of “software developers in general”. AI researchers tend to be looking at more complex, adaptive, capable, or even vaguely human-like forms of software. Workers in AI also tend to be interdisciplinary and well-versed in areas of science and math foreign to the typical programmer, including but not limited to: formal statistics, neuroscience, evolutionary psychology, machine learning, and decision theory.

In the field of artificial intelligence, there are two main camps: the Neats, and the Scruffies. The division has held practically since AI was founded as a field in 1956. The neats are advocates of formal methods such as applied statistics. They like their programs to be well-organized, provably sound, operate based on concrete theories, and freely editable. The scruffies like messy approaches, such as adaptive neural networks, and consider themselves hackers, throwing anything together as long as it seems to work. Both approaches have had impressive successes in the past, and there are hybrids of the two themes as well.

All artificial intelligence designs are at least superficially inspired by the human brain, as by definition artificial intelligence is about mimicking some aspect of intelligence. AIs have to build concepts of the things they manipulate or work with, and store those concepts as chunks of data. Sometimes these chunks are dynamic and frequently updated, sometimes static. Generally an AI is concerned with exploiting relationships between data to achieve some goal.

Goals are often assigned based on utility. When presented with a goal, an AI system can generate subgoals, and assign these subgoals utility values based on their predicted contribution to the primary goal. The AI proceeds to pursue subgoals until the primary goal is accomplished. Then it is free to move on to a new (but frequently similar) primary goal. What differs widely among AI is how all these dynamics are implemented.