Professional Documents
Culture Documents
Agent Oriented Programming: Lucas Schroeder 4/10/2007
Agent Oriented Programming: Lucas Schroeder 4/10/2007
Lucas Schroeder
4/10/2007
Outline
Introduction
Definition
Architecture & Language
Example
New Work
Questions
Introduction
Based on the paper
Agent-oriented Programming
By Yoav Shoham (Feb 1992)
Highly Cited (1619) – Google Scholar
Definitions
Agent
“… an entity whose state is viewed as
consisting of mental components such as
beliefs, capabilities, choices, and
commitments.”
This means anything
But what is gained by adopting this viewpoint?
Agent - Example
“It is perfectly coherent to treat a light switch as
a (very cooperative) agent with the capability of
transmitting current at will, who invariably
transmits current when it believes that we want it
transmitted and not otherwise; flicking the switch
is simply our way of communicating our desires.
However, while this is a coherent view, it does
not buy us anything, since we essentially
understand the mechanism sufficiently to have a
simpler, mechanistic description of its behavior.”
Agent Oriented Programming
Agent Oriented Programming (AOP)
Based off of Object Oriented Programming
(OOP)
Original form –
– Individual separate modules communicating with each
other
– Individual ways of handling incoming messages
Fixes the State (called Mental State) of the
modules (called Agents) to consist of
Beliefs
Capabilities
Decisions
AOP Constraints
Mental State components of Agents have
precisely defined syntax
Other real-world counterpart constraints
Can not have two contradictory beliefs at the
same time
Based off of speech act theory
Messages between agent can
Inform
Request
Offer
OOP vs AOP
OOP AOP
Basic Unit Object Agent
Time component
holding robot , cup
t
Example
Ba3 Bb10like(a, b) 7
Means that at time 3 agent a believes that at time 10 agent
b will believe that at time 7 a liked b
Obligation
Modal Operator OBL (Obligation)
OBLta ,b
means that at time t agent a is obligated (or
commited) to agent b about φ
And therefore
ABLE robot open door CAN robot open door
5 5 5
Mental State Constraints
Internal Consistency
Beliefs & obligations are internally consistent
for any t , a : :Bat is consistent
for any t , a : :OBLta ,b for some b is consistent
Good Faith
Agents only commit to what they believe themselves
capable of and only if they really mean it
for any t , a, b, : OBLta ,b Bat ABLEa
Introspection
Agents have total introspective capabilities and are
aware of their obligations
for any t , a, b, : OBLta ,b Bat OBLta ,b
for any t , a, b, : OBLta ,b Bat OBLta ,b
Persistence of Mental State
Beliefs persist by default
The absence of beliefs also persists by
default
Private Actions
May or may not involve I/O
Communicative Actions
Always involve I/O
Are uniform and common across all agents
Actions
Private action
DO t p action
Inform action
WHERE
INFORM t a fact t – time point
a – agent name
Request action p-action – private action
REQUEST t a action fact – fact statement
action – any action statement
Unrequest action
UNREQUEST t a action
Refrain action
REFRAIN action
Conditional Actions
Conditional actions are triggered by one
condition – a mental condition
Mental condition: a logical combination of mental
patterns
Mental pattern is one of two items:
B fact or OBL a action
Example
REQUEST t b IF B, fact INFORM t 1 a fact
REQUEST t b IF B NOT fact INFORM t 1 a NOT fact
REQUEST t b IF NOT BW fact INFORM t 1 a NOT BW fact