Skip to main content

All Software is Artificial Intelligence

The original question, ‘Can machines think?’ I believe to be too meaningless to deserve discussion. — Alan Turing 1

The question of whether a Machines can Think … is about as relevant as the question of whether Submarines can Swim. — Edsger W. Dijkstra 2

Intelligence is “the ability to learn or understand or to deal with new or trying situations.” Something is artificial if it is “humanly contrived.” Therefore, something that is humanly contrived and has the ability to learn or understand or deal with new or trying situations is artificial intelligence.

By that standard, an email server is artificial intelligence.

An email server learns what address each email is intended for. It understands what servers can deliver to different addresses. It can deal with new situations, including changes in connectivity and traffic.

Similarly, all3 software is artificial intelligence.

That is not what most people are talking about when they talk about “artificial intelligence.” It is worth exploring how the term is used.

Artificial intelligence is a term used for software when the operation of the software cannot be explained.

Traditionally, this was software that didn’t exist. When no one knew how to build software that could play chess or go at a high level that was artificial intelligence. When these problems were solved it was no longer artificial intelligence; it was min-max algorithms and customized hardware doing highly parallelized alpha-beta pruning.

With current technology, it is possible to create software whose operation cannot be explained. This is done with techniques collectively known as machine learning.

The techniques and technologies vary greatly but the underlying process remains the same. Start with a large amount of data and write a computer program that will transform that data into another computer program.

The initial computer program can be explained. It creates a neural net, or Bayesian filter, or large language model, et cetera. But once the data set is large enough and the analysis or output is complex enough, the resulting computer program can no longer be explained. The results are sometimes interesting and sometimes valuable. Because it is not explainable, it is called artificial intelligence.

  1. A. M. Turing, Computing Machinery and Intelligence, Mind, Volume LIX, Issue 236, October 1950, Pages 433–460 

  2. E. W. Dijkstra, The threats to computing science, EWD898, November 1984 

  3. All non-trivial software. Trivial programs, like Hello World, may not be considered intelligence.