|
SOMA (Stochastic Opponent Modeling Agents) is a formal, logical-statistical reasoning language within which we can express knowledge about
the behaviors of a group of interest, and compile a set of rules in such a language into an ìagentî.
Within SOMA, we can express rules about the probability that a given person or group will act a certain
way in a given situation. For example, suppose we consider the ìsharecroppersî in
the Pakistan-Afghan drug scenario. In SOMA, we can write rules of the form ìIf a farmer
has level of debt exceeding d, then he will cultivate poppies with over 70% probability.
This can be written in SOMA as a rule of the form:
Will_cultivate_poppies(F):[0.7,1] if debt-level(F,D) & D > d.
SOMA also has mechanisms where the consequents of such rules can be more complex.
For example, we may say that ìIf a farmer has level of debt exceeding d, then the
joint probability that he will cultivate poppies and be hostile to foreign visitors
is over 60%. Such a rule can be encoded as:
(hostile_foreigners(F) and Will_cultivate_poppies(F)):[0.6,1] if debt-level(F,D) & D > d.
Most interesting of all, given a database of facts about the world and a set of such
rules encoding the behavior of either a person or a group, SOMA has developed algorithms
to find the most probable set of actions that that person may or may not take. To do this,
it uses a possible-worlds model in which a world represents a set of actions that the
opponent can take.
SOMA-rules can be readily learned from past data that we may have in a relational
database D of certain concepts. For example, we may have a single relational database for
debt levels of farmers and which plants they cultivate. Using this data we can determine
conditions under which these people behaved in different ways.
We have developed the SOMA language and developed experimental code to assess the performance
of the algorithms used by SOMA. A prototype interpreter is under development.
|