-- for Abstraction
-- for Problems
-- Emotion Patterns
AIPatterns.Org is a collection of information about artificial
Anyone that would like to comment, criticize, challenge, question,
correct, or make contributions is urged to contact Brian Marshall
Definition of AI Patterns
An AI pattern is a design for a relatively simple, independent
technique or object that can be used in software to add an aspect
of intelligence to decision-making, projection/estimation, pattern
recognition or problem-solving.
General AI Patterns
In its general form, pandemonium consists of an object that owns a
a set of shrieking demons and uses the information being shrieked to
make decisions. Each demon monitors its input for certain conditions.
If the conditions are observed, the demon shrieks. The volume of a
shriek is based on the degree to which the input matches the conditions
and/or the importance the demon attaches to the conditions. Pandemonium
can be used to...
- monitor a situation and trigger an action when required;
delegate the requirement to watch for a condition.
- implement abstraction - ex. to turn sensations into perceptions
or to turn perceptions into conceptions.
- make decisions, solve easy problems, explore the solution
space of hard problems.
- project the state of a system into the future; generate multiple
possible projections of system state.
An emotion object maintains a goodness-value that, possibly in
conjunction with other emotions, is used to make a decision. The
goodness-value of an emotion changes as a result of evaluations
of events that have occurred. An emotion can also be used to evaluate
hypothetically how good/bad and event would be (without having major
effect on the stored goodness-value). Emotions can be used to...
- make decisions where the number of considerations would make
hard-wiring the logic difficult. For example, it is easier to
hard-wire the reasons a deer should be afraid, and to run away
when the fear is great enough, than it is to hard-wire when a
deer should run away.
- perturb the process of repeatedly attempting to find a
solution to a problem so that, in different attempts, different
possible solutions will be tried.
- perturb the process of repeatedly projecting the future state
of a system so that different possibilities are projected.
This could be useful in conjunction with Monte Carlo methods.