Basically, AI (artificial intelligence) is the art of making machines appear to be able to 'think'. There are basically, at the very highest level, two sorts of AI: sentient AIs and non-sentient AIs. Sentient means 'aware of your own existence' and is generally regarded to be a good sign of intelligence. All humans are sentient, and the jury is still out on whether animals are, but machines are definitely not.
No machine has ever been created that is sentient. In the hit movie The Matrix the fictional world of the future had been taken over by 'sentient AIs', and the makers placed this date somewhere around the 22nd Century. Although many people have claimed to have made one, to date, nobody ever has.
There is a universally accepted way of telling if a machine is sentient or not and it is called the Turing Test - named after the mathematical genius Alan Turing. Basically, a reasonably intelligent human is placed in front of a keyboard and screen and uses these to talk to the machine. If the human thinks that, after its conversation in front of the monitor, it was actually talking to another human, then the machine can be said to be at least as intelligent as a human being and therefore can be described as being sentient. These programs are known as chatterbots in some circles and can often be found on the Internet in IRC (Internet Relay Chat) chat rooms.
Creating an AI that passes the Turing Test has been the goal of many programmers for decades, ever since the first computers, in fact. However, while making a computer program that is so good at being human it can fool another human isn't yet feasible. Making an AI that is specialised in a particular field is possible, and such AIs are often more advanced than most humans.
For instance, a few years ago IBM developed Deep Blue, and at the time it was the most advanced chess-playing computer in the world. Computers that play chess have been around for a long time because chess is a problem that is easily amenable to mathematical analysis. Deep Blue was the culmination of chess computers and was so good at its job it even beat the chess Grand Master of the time, Kasparov. However, Deep Blue for all its apparent intelligence, was little more than a large calculator. It beat humans by a technique known as 'lookahead' - that is, after every move was made it would work out every possible move it could make, then looked at every possible move the human player could make for each one and so on. Even with very fast processors this took several minutes. The best move would then be chosen. It was not using skill or wit, just maths.
For this reason, Deep Blue is often not referred to as an artificial intelligence at all. However, there are other programs that imitate human intelligence in a particular field in just the same way. Computer games are a classic example of this, where the problem is very well defined. For instance, the AI might need to know only how to strategically place its troops in any given situation and it is perfectly possible to write an AI that can beat most humans in this scenario.
More usefully there are other AIs customised for specific areas of knowledge. These are not usually referred to as AIs but instead as expert systems. These are programs that have a vast body of knowledge in them and allow humans to ask it questions to which it will give the answer, usually through a simple input and output system. Expert systems have been developed for medicine, engineering etc, and they allow humans to have at hand more information than could possibly be memorised. These systems may appear to match a simple definition of 'intelligent' but they have several shortcomings. Expert systems are excellent at their job if the question falls in their 'knowledge domain' - the stuff they know. However, if the question is even slightly outside this domain they often fail completely. Whereas a human can generalise, such programs cannot.
Generalisation is something that most AI programs are not able to do, but all humans can. Simply put, generalisation is the creation of new knowledge from old. For instance, Fred works in a factory. The cables in the factory have a lightning sign on them. This means that they carry live electricity and are therefore dangerous. One day, a new bit of machinery arrives. This new machine also has a lightning sign on, so Fred generalises that this new machines must also carry live electricity and therefore must also be dangerous.
OK, so this is a very simple example, but it demonstrates clearly the point about generalisation. Programs that work purely on logic tend to find it difficult to create new knowledge from old. However, a new type of AI system does not and this system is the neural net.
Basically, a neural net is a mathematical model of a brain. It arose from research into how the brains of biological beings work. A neural net is not based on logic at all, but on a series of neurones that are linked to other neurones and have weights attached to them (mathematical weights, not big iron blocks with 1kg written on them).
Such systems can learn from their experiences and also generalise. Neural nets are an exciting area of research but they have weaknesses as well as strengths. For starters, neural nets don't operate on a knowledge level so they are useless for expert systems. They are also bad at logic problems - chess being an example of this. Neural nets also take a lot of work because they must be trained before they can be used. In this sense they are a bit like a children because they have to be given the expected inputs and outputs potentially hundreds of times before they get it right.
An area in which they are good though, is where the data it is being given is noisy - in other words full of information which is unexpected. Image recognition is one application of neural nets that is used at the moment, as is face and voice recognition. However, neural nets are unpredictable. This is illustrated quite well by the story of some researchers working on neural net image recognition for the military. These researchers were working on a way of making a computer recognise whether there was a tank in a given picture or not. They took lots of photos, some with a tank in, some with no tank. They then trained a neural net with these photos and after a lot of time and effort tried the net out with their photographs. They were very happy indeed because with almost every photo they gave it, the net successfully told them if there was a tank there or not. They decided to give it one last test and took some new sets of photos, then gave them to the net to work on. Suddenly it all came crashing down around them, the net persistently got it wrong. They didn't know what was going on, until further investigation revealed that the original net hadn't learnt to recognise tanks at all. All the photos of the tanks had been taken on sunny days, and all the ones without tanks on cloudy days. The net had learnt to distinguish between the weather, not the tanks. This is the problem that plagues so much neural net research, but it has recently, nevertheless, come a long way.
Creatures is a program written by Millennium Interactive. It's marketed as a game and has gained an international following for its inventive use of AI, or more specifically, ALife. What made Creatures so revolutionary was that it simulated simple biological creatures called Norns which lived out their digital lives in a world called Albia. Norns were, and still are, quite extraordinary - they have their own brains, bloodstream, immune system, reproductive system and more. Norns are born not knowing much and it is up to the player to teach them about their world and bring them up as well as they can. This sounds easy but it's actually very difficult. For instance, some of the plants in Albia make Norns sick, but they look pretty, so baby Norns will eat them if you're not careful. You can try and stop this by punishing them when they do something bad by giving them a slap, and rewarding them when they do something good with a tickle.
The Norns were powered by a small net of about 1000 neurons. Even this was enough for them to generalise new knowledge and even learn simple English. In fact, you could teach them any language you wanted because when they hatch they don't know the names of anything and you have to tell them yourself. 'Creatures' was a turning point in artificial intelligence and even more so in the study of artificial life. Creatures is one of the most fascinating programs, guaranteed to keep you amused for hours.
ALife is different from AI because ALife sets out to replicate biological life itself, even if the results are not very intelligent. This field was born with a program called Tierra which had many small computer programs competing for processor time. The code for any program could mutate at any time and the result was a model of evolution.
Computer Game AI
One of the areas many AI programmers are employed in is computer game development. AIs have often played the part of the evil aliens, the battlefield commander and occasionally allies or even parts of your own team. However, most games have always focussed on graphics to the detriment of the artificial intelligence. This meant that many games would look beautiful but could be easily beaten by experienced players, or worse, the AI could only win games by 'cheating', ie using the fact that it had access to the main game code to find out things the player could not. This is often very frustrating for the player.
However, this situation is gradually improving with some games companies putting more work into the AI than graphics. It's too early to see whether such games will be popular or not, but it could become a whole new genre.
Agents are generally programs that can process large amounts of data into a form that is customised for the agents user. Agents often learn from experience, with the human specifying what results are good and bad for a particular query. In this way agent searches improve over time. Although agent programs are not strictly artificially intelligent, they are an exciting new area of research.
AI, although a comparatively recent science, has matured a lot recently and new applications are springing up all over the place. Although AI has almost always featured in games, it has usually been sidelined - until now. AI is finally becoming accepted as a field of computer science in its own right.