AIPatterns

Artificial Intellegence Patterns
Home

Pandemonium
-- Architecture
-- Original
-- for Abstraction
-- for Problems

Emotions
-- Emotion Patterns

C++ Implementation

Bibliography

Contact

Pandemonium and Problems

Pandemonium Patterns for

Decision-Making, Projection and Problem-Solving

Decision-Making
Pandemonium may be used to choose from a set of options. Each demon in a set is responsible for one option. A demon watches its input and evaluates its option. If the result of this evaluation are sufficiently positive, the demon shrieks. better the option looks, the louder the shriek. The owner of the set of demons pays attention to the loudest shriek(s); the owner can pick the option with the loudest demon. This pattern is particularly useful for deciding "What should I pay attention to next?". From a software-engineering point of view, a demon can be a way of encapsulating the way an option is evaluated.

Projection
Pandemonium can be used to project the state of a system into the future. A set of demons is used to repeatedly make the decision "What will happen next?" or "What will I do next?". The result of each decision is used to update the state of (a copy of) the system.

Multiple Emotional Projection
Pandemonium can be used to create a number of possible future states of a system. A set of demons using emotions for evaluation, is repeatedly used to project the state of a system into the future (see the Projection pattern, above). Between each projection, the state of the system is reset but the emotions (belonging to the demons) are not reset. Because the starting emotional state of the demons can be different in each projection, the results of each projection can be different. The emotions of the demons perturb the projections. While the value of the results of each projection may be low, the value of the distribution of results of all the projections may be higher.

Problem-Solving
Pandemonium may be used to solve certain types of problems that required multiple decisions. A set of demons is used to repeatedly decide "Which decision should I make next?". Each decision to be made, can be addressed by a set of demons, as described in the Decision-Making pattern, above.

Multiple Emotional Problem Solving
Pandemonium can be used to find solutions to hard problems - problems in which the solution-space is too large to search exhaustively. A set of demons using emotions for evaluation, is repeatedly tries to find a solution to a problem (see the Problem-Solving pattern, above). Between each try, the state of the system is reset but the emotions (belonging to the demons) are not reset. Because the starting emotional state of the demons can be different in each projection, the results of each projection can be different. The emotions of the demons perturb the exploration of the solution-space. This is a technique for finding multiple different solutions to a problem, so that the best may be kept.