LCCD projects

  

OASYS: Opinion Analysis System

  

STORY

  

SOMA: Stochastic Opponent Modeling Agents

  

CAGE: Cultural Adversarial Game Engine

  

T-REX

LCCD Applications

  

Tribes in the Pakistan-Afghanistan Border Region

  

Drug Trade in Afghanistan

  

Minorities at Risk

  

Terrorism in Peru

  

Conflict in Guatemala

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.

Last updated: February 15, 2008
Contact us with questions or comments