BDI software agent
Encyclopedia
The Belief-Desire-Intention (BDI) software model (usually referred to simply, but ambiguously, as BDI) is a software model developed for programming intelligent agent
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.
'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, intention and desire are both pro-attitudes (mental attitudes concerned with action), but intention is distinguished as a conduct-controlling pro-attitude. 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
CTL*
. 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
.
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.
rational software agent
, imbued with particular mental attitudes, viz: Beliefs, Desires and Intentions (BDI).
linage of BDI systems:
This basic algorithm has been extended in many ways, for instance to support planning ahead, automated teamwork, and maintenance goals .
. This section bounds the scope of concerns for the BDI software model, highlighting known limitations of the architecture.
Intelligent agent
In artificial intelligence, an intelligent agent is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals . Intelligent agents may also learn or use knowledge to achieve their goals...
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 BratmanMichael Bratman
Michael E Bratman is Durfee Professor in the School of Humanities & Sciences and Professor of Philosophy at Stanford University. His interests include philosophy of action and moral philosophy. His work in those areas led him to the Belief-Desire-Intention model that is used in many areas,...
'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, intention and desire are both pro-attitudes (mental attitudes concerned with action), but intention is distinguished as a conduct-controlling pro-attitude. 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
Axiomatic system
In mathematics, an axiomatic system is any set of axioms from which some or all axioms can be used in conjunction to logically derive theorems. A mathematical theory consists of an axiomatic system and all its derived theorems...
of some BDI implementations, as well as to formal logical
Logic
In philosophy, Logic is the formal systematic study of the principles of valid inference and correct reasoning. Logic is used in most intellectual activities, but is studied primarily in the disciplines of philosophy, mathematics, semantics, and computer science...
descriptions such as Anand Rao and Michael Georgeff
Michael Georgeff
Michael Peter Georgeff is a computer scientist and entrepreneur who has made contributions in the areas of Intelligent Software Agents and eHealth.- Overview :...
's BDICTL. The latter combines a multiple-modal logic
Modal logic
Modal logic is a type of formal logic that extends classical propositional and predicate logic to include operators expressing modality. Modals — words that express modalities — qualify a statement. For example, the statement "John is happy" might be qualified by saying that John is...
(with modalities representing beliefs, desires and intentions) with the temporal logic
Temporal logic
In logic, the term temporal logic is used to describe any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time. In a temporal logic we can then express statements like "I am always hungry", "I will eventually be hungry", or "I will be hungry...
CTL*
Computational tree logic
Computation tree logic is a branching-time logic, meaning that its model of time is a tree-like structure in which the future is not determined; there are different paths in the future, any one of which might be an actual path that is realised...
. 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
Multi-agent system
A multi-agent system is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve...
.
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.
BDI Agents
A BDI agent is a particular type of boundedBounded rationality
Bounded rationality is the idea that in decision making, rationality of individuals is limited by the information they have, the cognitive limitations of their minds, and the finite amount of time they have to make a decision...
rational software agent
Intelligent agent
In artificial intelligence, an intelligent agent is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals . Intelligent agents may also learn or use knowledge to achieve their goals...
, 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 rules, allowing forward chainingForward chainingForward chaining is one of the two main methods of reasoning when using inference rules and can be described logically as repeated application of modus ponens. Forward chaining is a popular implementation strategy for expert systems, business and production rule systems...
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 databaseDatabaseA database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
(sometimes called a belief base or a belief set), although that is an implementationImplementationImplementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.-Computer Science:...
decision.
- Beliefset: Beliefs are stored in database
- 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 Interpreter
This section defines an idealized BDI interpreter that provides the basis of the PRSProcedural Reasoning System
In Artificial Intelligence, the Procedural Reasoning System is a framework for constructing real-time reasoning systems that can perform complex tasks in dynamic environments...
linage 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
This basic algorithm has been extended in many ways, for instance to support planning ahead, automated teamwork, and maintenance goals .
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 systemMulti-agent system
A multi-agent system is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve...
. 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 theoristsDecision theoryDecision theory in economics, psychology, philosophy, mathematics, and statistics is concerned with identifying the values, uncertainties and other issues relevant in a given decision, its rationality, and the resulting optimal decision...
and planning research questions the necessity of having all three attitudes, distributed AIDistributed artificial intelligenceDistributed artificial intelligence is a subfield of artificial intelligence research dedicated to the development of distributed solutions for complex problems regarded as requiring intelligence...
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 systemMulti-agent systemA multi-agent system is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve...
.. - 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.
'Pure' BDI
- Procedural Reasoning SystemProcedural Reasoning SystemIn Artificial Intelligence, the Procedural Reasoning System is a framework for constructing real-time reasoning systems that can perform complex tasks in dynamic environments...
(PRS) - IRMA (not implemented but can be considered as PRS with non-reconsideration)
- UM-PRS
- Distributed Multi-Agent Reasoning SystemDistributed Multi-Agent Reasoning SystemIn artificial intelligence, the Distributed Multi-Agent Reasoning System is a platform for intelligent software agents developed at the AAII that makes uses of the BDI software model. The design for dMARS is an extension of the intelligent agent cognitive architecture developed at SRI...
(dMARS) - AgentSpeak(L) - see Jason below.
- AgentSpeak(RT)
- Agent Real-Time System (ARTS)
- JAM
- JACK Intelligent AgentsJACK Intelligent AgentsJACK Intelligent Agents or JACK is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty. Ltd. and is a third generation agent platform building on the experiences of the Procedural Reasoning System and Distributed Multi-Agent...
- JADEX (Open Source Project)
- Jason (Open Source Project)
- SPARK
- 3APL3APLAn Abstract Agent Programming Language or Artificial Autonomous Agents Programming Language or 3APL is an experimental tool and programming language for the development, implementation and testing of multiple cognitive agents using the Belief-Desire-Intention approach.-Overview:3APL was developed...
- 2APL
- GOAL Agent Programming LanguageGOAL Agent Programming LanguageGOAL is an agent programming language for programming rational agents. GOAL agents derive their choice of action from their beliefs and goals. The language provides the basic building blocks to design and implement rational agents by means of a set of programming constructs...
- CogniTAO (Think-As-One)
- LS/TS - Living Systems Technology Suite
Extensions and Hybrid Systems
- JACK TeamsJACK Intelligent AgentsJACK Intelligent Agents or JACK is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty. Ltd. and is a third generation agent platform building on the experiences of the Procedural Reasoning System and Distributed Multi-Agent...
- CogniTAO (Think-As-One)
- LS/TS - Living Systems Technology Suite
- Brahms
See also
- Artificial IntelligenceArtificial intelligenceArtificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
- Action selectionAction selectionAction 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 agents and animats—artificial systems that exhibit...
- Software agentSoftware agentIn computer science, a software agent is a piece of software that acts for a user or other program in a relationship of agency, which derives from the Latin agere : an agreement to act on one's behalf...
- Intelligent agentIntelligent agentIn artificial intelligence, an intelligent agent is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals . Intelligent agents may also learn or use knowledge to achieve their goals...
- Reasoning
- Belief revisionBelief revisionBelief 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 agents....