The belief–desire–intention software model (BDI) is a software model developed for programming
intelligent agent
In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
s. Superficially characterized by the implementation of an agent's ''beliefs'', ''desires'' and ''intentions'', it actually uses these concepts to solve a particular problem in agent programming. In essence, it provides a mechanism for separating the activity of selecting a plan (from a plan library or an external planner application) from the execution of currently active plans. Consequently, BDI agents are able to balance the time spent on deliberating about plans (choosing what to do) and executing those plans (doing it). A third activity, creating the plans in the first place (planning), is not within the scope of the model, and is left to the system designer and programmer.
Overview
In order to achieve this separation, the BDI software model implements the principal aspects of
Michael Bratman
Michael E. Bratman (born July 25, 1945) is an American philosopher who is Durfee Professor in the School of Humanities & Sciences and Professor of Philosophy at Stanford University.
Education and career
Bratman graduated from Haverford Colle ...
's
theory of human practical reasoning (also referred to as Belief-Desire-Intention, or BDI). That is to say, it implements the notions of belief, desire and (in particular) intention, in a manner inspired by Bratman. For Bratman, desire and intention are both pro-attitudes (mental attitudes concerned with action). He identifies commitment as the distinguishing factor between desire and intention, noting that it leads to (1) temporal persistence in plans and (2) further plans being made on the basis of those to which it is already committed. The BDI software model partially addresses these issues. Temporal persistence, in the sense of explicit reference to time, is not explored. The hierarchical nature of plans is more easily implemented: a plan consists of a number of steps, some of which may invoke other plans. The hierarchical definition of plans itself implies a kind of temporal persistence, since the overarching plan remains in effect while subsidiary plans are being executed.
An important aspect of the BDI software model (in terms of its research relevance) is the existence of logical models through which it is possible to define and reason about BDI agents. Research in this area has led, for example, to the
axiomatization of some BDI implementations, as well as to
formal logical descriptions such as Anand Rao and
Michael Georgeff's BDICTL. The latter combines a
multiple-modal logic (with modalities representing beliefs, desires and intentions) with the
temporal logic In logic, temporal logic is any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time (for example, "I am ''always'' hungry", "I will ''eventually'' be hungry", or "I will be hungry ''until'' I ...
CTL* CTL* is a superset of computational tree logic (CTL) and linear temporal logic (LTL). It freely combines path quantifiers and temporal operators. Like CTL, CTL* is a branching-time logic. The formal semantics of CTL* formulae are defined with resp ...
.
More recently, Michael Wooldridge has extended BDICTL to define LORA (the Logic Of Rational Agents), by incorporating an action logic. In principle, LORA allows reasoning not only about individual agents, but also about communication and other interaction in a
multi-agent system
A multi-agent system (MAS or "self-organized system") is a computerized system composed of multiple interacting intelligent agents.Hu, J.; Bhowmick, P.; Jang, I.; Arvin, F.; Lanzon, A.,A Decentralized Cluster Formation Containment Framework f ...
.
The BDI software model is closely associated with intelligent agents, but does not, of itself, ensure all the characteristics associated with such agents. For example, it allows agents to have private beliefs, but does not force them to be private. It also has nothing to say about agent communication. Ultimately, the BDI software model is an attempt to solve a problem that has more to do with plans and planning (the choice and execution thereof) than it has to do with the programming of intelligent agents. This approach has recently been proposed by
Steven Umbrello and
Roman Yampolskiy
Roman Vladimirovich Yampolskiy (russian: link=no, Роман Владимирович Ямпольский; born 13 August 1979) is a Russian computer scientist at the University of Louisville, known for his work on behavioral biometrics, secu ...
as a means of designing
autonomous vehicles
Vehicular automation involves the use of mechatronics, artificial intelligence, and multi-agent systems to assist the operator of a vehicle (car, aircraft, watercraft, or otherwise).Hu, J.; Bhowmick, P.; Lanzon, A.,Group Coordinated Control o ...
for human values.
BDI agents
A BDI agent is a particular type of
bounded rational software agent, imbued with particular ''mental attitudes'', viz: Beliefs, Desires and Intentions (BDI).
Architecture
This section defines the idealized architectural components of a BDI system.
* Beliefs: Beliefs represent the informational state of the agent, in other words its beliefs about the world (including itself and other agents). Beliefs can also include
inference rule
In the philosophy of logic, a rule of inference, inference rule or transformation rule is a logical form consisting of a function which takes premises, analyzes their syntax, and returns a conclusion (or conclusions). For example, the rule of ...
s, allowing
forward chaining
Forward chaining (or forward reasoning) is one of the two main methods of reasoning when using an inference engine and can be described logically as repeated application of ''modus ponens''. Forward chaining is a popular implementation strategy ...
to lead to new beliefs. Using the term ''belief'' rather than ''knowledge'' recognizes that what an agent believes may not necessarily be true (and in fact may change in the future).
** Beliefset: Beliefs are stored in
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
(sometimes called a ''belief base'' or a ''belief set''), although that is an
implementation
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.
Industry-specific definitions
Computer science
In computer science, an implementation is a real ...
decision.
* Desires: Desires represent the motivational state of the agent. They represent objectives or situations that the agent ''would like'' to accomplish or bring about. Examples of desires might be: ''find the best price'', ''go to the party'' or ''become rich''.
** Goals: A goal is a desire that has been adopted for active pursuit by the agent. Usage of the term ''goals'' adds the further restriction that the set of active desires must be consistent. For example, one should not have concurrent goals to go to a party and to stay at home – even though they could both be desirable.
* Intentions: Intentions represent the deliberative state of the agent – what the agent ''has chosen'' to do. Intentions are desires to which the agent has to some extent committed. In implemented systems, this means the agent has begun executing a plan.
** Plans: Plans are sequences of actions (recipes or knowledge areas) that an agent can perform to achieve one or more of its intentions. Plans may include other plans: my plan to go for a drive may include a plan to find my car keys. This reflects that in Bratman's model, plans are initially only partially conceived, with details being filled in as they progress.
* Events: These are triggers for reactive activity by the agent. An event may update beliefs, trigger plans or modify goals. Events may be generated externally and received by sensors or integrated systems. Additionally, events may be generated internally to trigger decoupled updates or plans of activity.
BDI was also extended with an obligations component, giving rise to the BOID agent architecture to incorporate obligations, norms and commitments of agents that act within a social environment.
BDI interpreter
This section defines an idealized BDI interpreter that provides the basis of SRI's
PRS lineage of BDI systems:
[
]
# initialize-state
# repeat
## options: option-generator (event-queue)
## selected-options: deliberate(options)
## update-intentions(selected-options)
## execute()
## get-new-external-events()
## drop-unsuccessful-attitudes()
## drop-impossible-attitudes()
# end repeat
Limitations and criticisms
The BDI software model is one example of a reasoning architecture for a single rational agent, and one concern in a broader
multi-agent system
A multi-agent system (MAS or "self-organized system") is a computerized system composed of multiple interacting intelligent agents.Hu, J.; Bhowmick, P.; Jang, I.; Arvin, F.; Lanzon, A.,A Decentralized Cluster Formation Containment Framework f ...
. This section bounds the scope of concerns for the BDI software model, highlighting known limitations of the architecture.
* Learning: BDI agents lack any specific mechanisms within the architecture to learn from past behavior and adapt to new situations.
* Three attitudes: Classical
decision theorists and planning research questions the necessity of having all three attitudes,
distributed AI research questions whether the three attitudes are sufficient.
* Logics: The multi-modal logics that underlie BDI (that do not have complete axiomatizations and are not efficiently computable) have little relevance in practice.
* Multiple agents: In addition to not explicitly supporting learning, the framework may not be appropriate to learning behavior. Further, the BDI model does not explicitly describe mechanisms for interaction with other agents and integration into a
multi-agent system
A multi-agent system (MAS or "self-organized system") is a computerized system composed of multiple interacting intelligent agents.Hu, J.; Bhowmick, P.; Jang, I.; Arvin, F.; Lanzon, A.,A Decentralized Cluster Formation Containment Framework f ...
.
* Explicit goals: Most BDI implementations do not have an explicit representation of goals.
* Lookahead: The architecture does not have (by design) any lookahead deliberation or forward planning. This may not be desirable because adopted plans may use up limited resources, actions may not be reversible, task execution may take longer than forward planning, and actions may have undesirable side effects if unsuccessful.
BDI agent implementations
'Pure' BDI
*
Procedural Reasoning System In artificial intelligence, a procedural reasoning system (PRS) is a framework for constructing real-time reasoning systems that can perform complex tasks in dynamic environments. It is based on the notion of a rational agent or intelligent agent u ...
(PRS)
* IRMA (not implemented but can be considered as PRS with non-reconsideration)
* UM-PRS
* OpenPRS
*
Distributed Multi-Agent Reasoning System (dMARS)
*
AgentSpeak(L) – see Jason below
* AgentSpeak(RT)
[Vikhorev, K., Alechina, N. and Logan, B. (2011)]
"Agent programming with priorities and deadlines"
. In Proceedings of the Tenth International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2011). Taipei, Taiwan. May 2011., pp. 397-404.
* Agent Real-Time System (ARTS) (ARTS)
[Vikhorev, K., Alechina, N. and Logan, B. (2009)]
"The ARTS Real-Time Agent Architecture"
. In Proceedings of Second Workshop on Languages, Methodologies and Development Tools for Multi-agent Systems (LADS2009). Turin, Italy. September 2009. CEUR Workshop Proceedings Vol-494.
* JAM
*
JACK Intelligent Agents
JACK Intelligent Agents is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty. Ltd. (AOS) and is a third generation agent platform building on the experiences of the Procedural ...
* JADEX (open source project)
* JASON
*
GORITE
GORITE or Goal ORIented TEams is a Java platform for implementing Team Oriented designs for Intelligent software agents.
See also
* Belief-Desire-Intention software model
* Procedural Reasoning System
References
* Ralph Rönnquist,The Goal ...
* SPARK
*
3APL An Abstract Agent Programming Language or Artificial Autonomous Agents Programming Language or 3APL (pronounced triple-A-P-L) is an experimental tool and programming language for the development, implementation and testing of multiple cognitive age ...
*
2APL 2APL (A Practical Agent Programming Language) is a modular BDI-based programming language that supports the development of multi-agent system
A multi-agent system (MAS or "self-organized system") is a computerized system composed of multiple i ...
*
GOAL agent programming language
GOAL is an agent programming language for programming cognitive agents. GOAL agents derive their choice of action from their beliefs and goals. The language provides the basic building blocks to design and implement cognitive agents by programmin ...
* CogniTAO (Think-As-One)
[CogniTAO (Think-As-One)](_blank)
/ref>[TAO: A JAUS-based High-Level Control System for Single and Multiple Robots Y. Elmaliach, CogniTeam, (2008) ]
* Living Systems Process Suite[Living Systems Process Suite](_blank)
/ref>[Rimassa, G., Greenwood, D. and Kernland, M. E., (2006)]
The Living Systems Technology Suite: An Autonomous Middleware for Autonomic Computing
. International Conference on Autonomic and Autonomous Systems (ICAS).
* PROFETA
* Gwendolen (Part of the Model Checking Agent Programming Languages Framework)
Extensions and hybrid systems
* JACK Teams
* CogniTAO (Think-As-One)
* Living Systems Process Suite
* Brahms
* JaCaMo
See also
* Action selection Action selection is a way of characterizing the most basic problem of intelligent systems: what to do next. In artificial intelligence and computational cognitive science, "the action selection problem" is typically associated with intelligent agen ...
* Artificial intelligence
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
* Belief revision Belief revision is the process of changing beliefs to take into account a new piece of information. The logical formalization of belief revision is researched in philosophy, in databases, and in artificial intelligence for the design of rational age ...
* Intelligent agent
In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
* Reasoning
Reason is the capacity of consciously applying logic by drawing conclusions from new or existing information, with the aim of seeking the truth. It is closely associated with such characteristically human activities as philosophy, science, lang ...
* Software agent
In computer science, a software agent or software AI is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin ''agere'' (to do): an agreement to act on one's behalf. Such "action on behal ...
Notes
References
* A. S. Rao and M. P. Georgeff
Modeling Rational Agents within a BDI-Architecture
In Proceedings of the 2nd International Conference on Principles of Knowledge Representation and Reasoning, pages 473–484, 1991.
* A. S. Rao and M. P. Georgeff
BDI-agents: From Theory to Practice
In Proceedings of the First International Conference on Multiagent Systems (ICMAS'95), San Francisco, 1995.
*
*
* K. S. Vikhorev, N. Alechina, and B. Logan
The ARTS Real-Time Agent Architecture
In Proceedings of Second Workshop on Languages, Methodologies and Development Tools for Multi-agent Systems (LADS2009). CEUR Workshop Proceedings, Vol-494, Turin, Italy, 2009.
{{DEFAULTSORT:Belief-Desire-Intention Software Model
Belief revision
Multi-agent systems