ABSTRACT

It’s all very well to suggest that we need to incorporate some AI into practical software systems in order to boost their power, but what exactly is this AI stuff? Before I venture to answer this question, let me put to you a simpler question: at what height is a person tall? I imagine that you feel quite confident about the meaning of the word “tall” and about the concept of “tall people,” but can you then give me a definition of “tall” such that I can apply the term only when appropriate? No, you can’t do this, and similarly I cannot give you a definition of AI such that you will be able to clearly decide between AI software and non-AI software. This is unfortunate, and it causes a lot of problems. But what it does not mean is that the term AI has no useful meaning, any more than it means that the term “tall person” is devoid of useful content. Therefore, in order to gain the comfortable warm feeling that comes with knowledge of what important terms like AI mean, in a general sense at least, we must spend some time looking at example AI problems and noting their salient features. But first, for those readers who really do like a succinct definition, here’s a popular one for AI:

Artificial Intelligence: is that field of computer usage which attempts to construct computational mechanisms for activities that are considered to require intelligence when performed by humans.