Sunday, August 3, 2008

Intelligent agent paradigm

The "intelligent agent" paradigm became widely accepted during the 1990s.[96] An intelligent agent is a system that perceives its environment and takes actions which maximizes its chances of success. The simplest intelligent agents are programs that solve specific problems. The most complicated intelligent agents are rational, thinking human beings.[97] The paradigm gives researchers license to study isolated problems and find solutions that are both verifiable and useful, without agreeing on one single approach. An agent that solves a specific problem can use any approach that works — some agents are symbolic and logical, some are sub-symbolic neural networks and others may use new approaches. The paradigm also gives researchers a common language to communicate with other fields—such as decision theory and economics—that also use concepts of abstract agents.

Integrating the approaches

An agent architecture or cognitive architecture allows researchers to build more versatile and intelligent systems out of interacting intelligent agents in a multi-agent system.[98] A system with both symbolic and sub-symbolic components is a hybrid intelligent system, and the study of such systems is artificial intelligence systems integration. A hierarchical control system provides a bridge between sub-symbolic AI at its lowest, reactive levels and traditional symbolic AI at its highest levels, where relaxed time constraints permit planning and world modelling.[99] Rodney Brooks' subsumption architecture was an early proposal for such a hierarchical system.

Tools of AI research

In the course of 50 years of research, AI has developed a large number of tools to solve the most difficult problems in computer science. A few of the most general of these methods are discussed below.

Search

Main article: search algorithm

Many problems in AI can be solved in theory by intelligently searching through many possible solutions:[100] Reasoning can be reduced to performing a search. For example, logical proof can be viewed as searching for a path that leads from premises to conclusions, where each step is the application of an inference rule.[101] Planning algorithms search through trees of goals and subgoals, attempting to find a path to a target goal.[102] Robotics algorithms for moving limbs and grasping objects use local searches in configuration space.[75] Many learning algorithms have search at their core.[103]

There are several types of search algorithms:

Logic

Logic[107] was introduced into AI research by John McCarthy in his 1958 Advice Taker proposal. The most important technical development was J. Alan Robinson's discovery of the resolution and unification algorithm for logical deduction in 1963. This procedure is simple, complete and entirely algorithmic, and can easily be performed by digital computers.[108] However, a naive implementation of the algorithm quickly leads to a combinatorial explosion or an infinite loop. In 1974, Robert Kowalski suggested representing logical expressions as Horn clauses (statements in the form of rules: "if p then q"), which reduced logical deduction to backward chaining or forward chaining. This greatly alleviated (but did not eliminate) the problem.[101][109]

Logic is used for knowledge representation and problem solving, but it can be applied to other problems as well. For example, the satplan algorithm uses logic for planning,[110] and inductive logic programming is a method for learning.[111]

There are several different forms of logic used in AI research.

Probabilistic methods for uncertain reasoning

Many problems in AI (in reasoning, planning, learning, perception and robotics) require the agent to operate with incomplete or uncertain information. Starting in the late 80s and early 90s, Judea Pearl and others championed the use of methods drawn from probability theory and economics to devise a number of powerful tools to solve these problems.[115]

Bayesian networks[116] are very general tool that can be used for a large number of problems: reasoning (using the Bayesian inference algorithm),[117] learning (using the expectation-maximization algorithm),[118] planning (using decision networks)[119] and perception (using dynamic Bayesian networks).[120]

Probabilistic algorithms can also be used for filtering, prediction, smoothing and finding explanations for streams of data, helping perception systems to analyze processes that occur over time[121] (e.g., hidden Markov models[122] and Kalman filters[123]).

Planning problems have also taken advantages of other tools from economics, such as decision theory and decision analysis,[124] information value theory,[66] Markov decision processes,[125] dynamic decision networks,[125] game theory and mechanism design[126]

Classifiers and statistical learning methods

The simplest AI applications can be divided into two types: classifiers ("if shiny then diamond") and controllers ("if shiny then pick up"). Controllers do however also classify conditions before inferring actions, and therefore classification forms a central part of many AI systems.

Classifiers[127] are functions that use pattern matching to determine a closest match. They can be tuned according to examples, making them very attractive for use in AI. These examples are known as observations or patterns. In supervised learning, each pattern belongs to a certain predefined class. A class can be seen as a decision that has to be made. All the observations combined with their class labels are known as a data set.

When a new observation is received, that observation is classified based on previous experience. A classifier can be trained in various ways; there are many statistical and machine learning approaches.

A wide range of classifiers are available, each with its strengths and weaknesses. Classifier performance depends greatly on the characteristics of the data to be classified. There is no single classifier that works best on all given problems; this is also referred to as the "no free lunch" theorem. Various empirical tests have been performed to compare classifier performance and to find the characteristics of data that determine classifier performance. Determining a suitable classifier for a given problem is however still more an art than science.

The most widely used classifiers are the neural network,[128] kernel methods such as the support vector machine,[129] k-nearest neighbor algorithm,[130] Gaussian mixture model,[131] naive Bayes classifier,[132] and decision tree.[103] The performance of these classifiers have been compared over a wide range of classification tasks[133] in order to find data characteristics that determine classifier performance.

Neural networks


A neural network is an interconnected group of nodes, akin to the vast network of neurons in the human brain.
A neural network is an interconnected group of nodes, akin to the vast network of neurons in the human brain.

The study of artificial neural networks[128] began in the decade before the field AI research was founded. In the 1960s Frank Rosenblatt developed an important early version, the perceptron.[134] Paul Werbos developed the backpropagation algorithm for multilayer perceptrons in 1974,[135] which led to a renaissance in neural network research and connectionism in general in the middle 1980s. Other common network architectures which have been developed include the feedforward neural network, the radial basis network, the Kohonen self-organizing map and various recurrent neural networks. The Hopfield net, a form of attractor network, was first described by John Hopfield in 1982.

Neural networks are applied to the problem of learning, using such techniques as Hebbian learning[136] Holographic associative memory and the relatively new field of Hierarchical Temporal Memory which simulates the architecture of the neocortex.[137]

No comments: