Artificial Intelligence

The aim of artificial intelligence (AI) researchers is to build computer systems that are as intelligent as, or even more intelligent than, humans. Since the concept of "intelligence" is quite fluid in the eyes of humans, AI is a "moving target"; a task which now seems to us to be requiring great inteligence may seem relatively simple and unexciting 20 years later. Today's hand-held calculators perform arithmetic with an accuracy and speed that would have amazed the people of a few centuries ago. Nowadays, we take them for granted, because the "magic" has gone out of making machines perform arithmetic; we know exactly how to do it.

The term "artificial intelligence" was coined by John McCarthy in 1955. Since then, researchers have had significant theoretical and practical successes in automating several tasks. Game playing, in which most humans initially thought that a lot of intelligence was involved, is one of these. A computer program beat the (human) world chess champion in a fair match for the first time on May 11, 1997. Playing board games like chess involves computing the different board positions that would result from alternative move sequences in a very fast way and then using properly encoded "expert" chess knowledge to choose the best move based on these alternatives. Games with greater "branching factors" (i.e. number of alternative moves) are harder to automate; we are still a long way from a program which plays the game of Go like a champion.

The basic idea behind most AI programs is that of search; these programs are able to solve problems in various domains because they systematically "move" in the state space (a possibly infinite network of different problem states) to look for a state corresponding to a solution. In this way, the task of solving a problem is reduced to the quite mechanical task of calculating the small changes that would be caused by applying the various alternative "operators" (rules, moves, etc.) that are available for this specific problem, and the ability to recognize a trivial solution when it is given. For instance, it is theoretically possible to write a program which plays highest-quality chess by just coding the rules for the legal moves and a description of what the board looks like when a checkmate occurs into the search algorithm. Practical reasons related with the chess rule which demands that moves should be made in a specified time interval mean that this simplistic approach does not work for today's computers; that is why additional routines which assign "goodness" values to board positions (using knowledge taken from experts) are needed to concentrate the search toward more promising regions of the state space.

Expert systems were the first commercial applications of AI research.These programs consist of three components:
1) The knowledge base, where the expert knowledge about a certain domain (like a specific branch of medicine, geology, engineering, etc.) is encoded in a standard format. The acquisition of this knowledge from the human experts is usually the hardest part of the job.
2) The inference engine, which is a program whose job is to find answers to questions by searching through the knowledge base.
3) The user interface, which is the "outermost layer", this part conducts a dialogue with the user, prompting her for questions, asking questions when necessary during the reasoning, and explaining its decisions to the user.
Since the inference engine and user interface are independent of the specific domain of expertise, it is possible to build and sell a combination of these two parts (named an expert system shell) separately. The buyer can have her knowledge base built separately and "plug" it into the shell.

Natural language processing (NLP) is one of the most important (and difficult) AI topics. Spellchecking of text documents is one of the simpler applications of NLP. More advanced NLP tasks is the direct processing of speech signals to convert them to text, syntactic and semantic analyses of text, and generation of natural language text (or sound) as response to a user statement. The purpose of semantic analysis is to "understand" the text: The meaning of the processed sentence has to be converted to an internal representation employed by the program. Several important scientific and philosophical issues arise here, and a full-scale natural language understanding system is still many, many years away.

Robotics is a mixture of artificial intelligence with other kinds of engineering. AI aims to automate the mind, robotics aims to automate the body. The processing of sensor (e.g. camera, microphone, sonar, etc.) data and the calculation and planning tasks needed to command the motors for moving the robot from one point to another are the additional areas of interest of robotics researchers.