In computing cooperative distributed problem solving is a
network of semi-autonomous processing nodes working together
to solve a problem, typically in a
multi-agent system. That is concerned with the investigation of problem subdivision, sub-problem distribution, results synthesis, optimisation of problem solver coherence and co-ordination. It is closely related to distributed
constraint programming and distributed constraint optimization; see the links below.
Aspects of CDPS
Neither global control or global data storage – no individual CDPS problem solver (agent) has sufficient information to solve the entire problem.
Control and data are distributed
Communication is slower than computation, therefore:
Loose coupling between problem solvers
Efficient protocols (not too much communication overhead)
problems should be modular, coarse grained
Any unique node is a potential bottleneck
Organised behaviour is hard to guarantee since no one node has the complete picture