Distributed Artificial Intelligence (DAI) is a subfield of artificial intelligence research dedicated to the development of distributed solutions for complex problems regarded as requiring intelligence. DAI is closely related to and a predecessor of the field of Multi-Agent Systems.
Distributed Artificial Intelligence (DAI) is an approach to solving complex learning, planning, and decision making problems. It is embarrassingly parallel, thus able to exploit large scale computation and spatial distribution of computing resources. These properties allow it to solve problems that require the processing of very large data sets. DAI systems consist of autonomous learning processing nodes (agents), that are distributed, often at a very large scale. DAI nodes can act independently and partial solutions are integrated by communication between nodes, often asynchronously. By virtue of their scale, DAI systems are robust and elastic, and by necessity, loosely coupled. Furthermore, DAI systems are built to be adaptive to changes in the problem definition or underlying data sets due to the scale and difficulty in redeployment.
DAI systems do not require all the relevant data to be aggregated in a single location, in contrast to monolithic or centralized Artificial Intelligence systems which have tightly coupled and geographically close processing nodes. Therefore, DAI systems often operate on sub-samples or hashed impressions of very large datasets. In addition, the source dataset may change or be updated during the course of the execution of a DAI system.
Multi-agent systems and distributed problem solving are the two main DAI approaches. There are numerous applications and tools.
The objectives of Distributed Artificial Intelligence are to solve the reasoning, planning, learning and perception problems of Artificial Intelligence, especially if they require large data, by distributing the problem to autonomous processing nodes (agents). To reach the objective DAI require:
- A distributed system with robust and elastic computation on unreliable and failing resources that are loosely coupled
- Coordination of the actions and communication of the nodes
- Subsamples of large data sets and online machine learning
There are many reasons for wanting to distribute intelligence or cope with multi-agent systems. Mainstreams in DAI research include the following:
- Parallel problem solving: mainly deals with how classic artificial intelligence concepts can be modified, so that multiprocessor systems and clusters of computers can be used to speed up calculation.
- Distributed problem solving (DPS): the concept of agent, autonomous entities that can communicate with each other, was developed to serve as an abstraction for developing DPS systems. See below for further details.
- Multi-Agent Based Simulation (MABS): a branch of DAI that builds the foundation for simulations that need to analyze not only phenomena at macro level but also at micro level, as it is in many social simulation scenarios.
Areas where DAI have been applied are:
- Electronic commerce, e.g. for trading strategies the DAI system learns financial trading rules from subsamples of very large samples of financial data
- Networks, e.g. in telecommunications the DAI system controls the cooperative resources in a WLAN network http://dair.uncc.edu/projects/past-projects/wlan-resource
- Routing, e.g. model vehicle flow in transport networks
- Scheduling, e.g. flow shop scheduling where the resource management entity ensures local optimization and cooperation for global and local consistency
- Multi-Agent systems, e.g. Artificial Life, the study of simulated life