Multi-agent Systems, Communication and Coordination

60
Koen Hindriks, Birna van Riemsdijk Multi-agent systemen Multi-agent Systems, Communication and Coordination Koen Hindriks Delft University of Technology, The Netherlands Multi-Agent Systems Course

description

Multi-agent Systems, Communication and Coordination. Multi-Agent Systems Course. Koen Hindriks Delft University of Technology, The Netherlands. Goal So Far. mental states (beliefs, goals) mental state conditions & macros action specifications, built-in actions action rules - PowerPoint PPT Presentation

Transcript of Multi-agent Systems, Communication and Coordination

Page 1: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemen

Multi-agent Systems, Communication and Coordination

Koen HindriksDelft University of Technology, The Netherlands

Multi-Agent Systems Course

Page 2: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

GOAL So Far

• mental states (beliefs, goals)

• mental state conditions & macros

• action specifications, built-in actions

• action rules

• environment & perception

• modules

Page 3: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Outline (today)

• Intro Multi-Agent Systems (MAS)

• Coordination in MAS

• Specifying a MAS in GOAL

• Communication in GOAL

Page 4: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Multi-Agent Systems (MAS)

Page 5: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Multi-Agent System

Environment

A1Agents A2

A3A4

Intersecting spheres of influence of multiple agents acting in an environment

Intersecting spheres:•Action perspective: may interfere, change same parts of environment•Perception perspective: agents may have different views on environment

Page 6: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Multi-Agent System

Environment

A1Agents A2

A3

A4

Various approaches to coordinate activity of multiple agents

Various coordination techniques have been proposed, main ideas:•Communication protocols impose structure on agent communication•Add organization structure on top of multi-agent system

Note: Without explicit agent communication still implicit communication possible via environment if perception spheres overlap

Page 7: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Multi-Agent System

Environment

A1Agents A2

A3

A4

Not all agents need to be ‘connected’ to the environment

Page 8: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Kinds of multi-agent systems• Cooperative versus competitive

– Agents have a common goal of solving a problem together or compete for resources.

• Homogeneous versus heterogeneous– All agents have the same abilities and decision logic, or agents have

different abilities.

• Interaction protocols– Which agents can talk to which other agents?

• Organizational structure– Agents may be organized in various ways (with a leader, or not,

different roles, etc.)

Page 9: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Example – Search and Rescue

• Search & Rescue– Unknown environment (map may be unreliable or

absent)– Search for victims– Providing aid to victims– Aim to minimize time to provide aid to all victims.

Page 10: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Example – Package Delivery

• Package delivery– Known environment (map)– Initial and target location of packages known– Aim to minimize delivery time of all packages.

Page 11: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Advantages of MAS

• Complete tasks quicker through shared effort.

• Achieve tasks otherwise not possible. A MAS provides solutions in situations where action is spatially and temporally distributed.

• A MAS can be distributed over machines across a network.

• A decentralized MAS does not suffer from the "single point of failure" problem.

Page 12: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Cooperation & Coordination

Maaike Harbers,

Page 13: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Examples of Cooperation

http://cacm.acm.org/news/98755-how-football-playing-robots-have-the-future-of-ai-at-their-feet/fulltext

Maaike Harbers,

Page 14: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Cooperation Challenges• Cooperation yields more effective (e.g., quicker)

solutions to a problem…

• But…1. Avoid duplication of effort.

2. Avoid interference, i.e. harmful interactions.

3. Avoid communication overhead, i.e., need to share information with as few messages as possible.

4. Need to synchronize behaviors.

• Coordination needed to address challenges

Page 15: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

What is coordination?

Page 16: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Coordination problems• Without coordination, what would happen here?

• What is the problem: duplication of effort, interference, communication overhead, synchronization?

Page 17: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Coordination problems

http://www.wired.com/gadgetlab/2010/06/dance-dance-revolution-20-robots-think-they-can-dance/

• And what would

happen here?

What is the problem: duplication of effort, interference, communication overhead, synchronization?

Page 18: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Coordination problems• And what would

happen here?

What is the problem: duplication of effort, interference, communication overhead, synchronization?

Page 19: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Coordination problems

Player A / Player B

Defect Cooperate

Defect 2 , 2 5 , 0

Cooperate 0 , 5 3 , 3

Outcomes for actors A and B depend on the combination of A's and B's action.

Prisoner's dilemmaTwo persons are being questioned in separate rooms by the police. Each of them can either admit to a crime (defect) or not (cooperate).

• And what would

happen here?

What is the problem: duplication of effort, interference, communication overhead, synchronization?

Page 20: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Need to be smart• And what would

happen here?

What is the problem: duplication of effort, interference, communication overhead, synchronization?

The wise men problemA king wishing to know which of his three wise men is the wisest, paints a white spot on each of their foreheads, tells them at least one spot is white, and asks each to determine the color of his spot. …

Page 21: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Types of coordination

• Implicit coordination

e.g., flocking behavior

• Explicit coordination

exchange of messages

Page 22: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Klein, G., Feltovich, P., Bradshaw, J. M., & Woods, D. D. (2005). Common ground and coordination in joint activity. Organizational Simulation. W. B. Rouse and K. R. Boff. New York City, NY, John Wiley.

Aspects of joint activityCoordinating behavior makes multiple agents act like a team, they perform a joint activity.

Page 23: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

A. Criteria: example

Making an assignment together• No intention – no assignment or two assignment• No interdepencence – each making one half of the

assignment without seeing the other half

Page 24: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemen

• Interpredictability

– Need to be able to accurately predict what others will do– Not just actions, but the coordination itself

• Common ground

– Pertinent mutual knowledge, beliefs, and assumptions about others’ skills and capabilities

– Joint activity is guided by signaling and coordination devices

• Directability

– Capacity for modifying the actions of the other parties as conditions and priorities change

– Responsiveness of each participant to the influence of the others

B. Requirements for joint activity

Page 25: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemen

Football team•Interpredictability – predict where team members will be on the field and who will be available

•Common ground – who is keeper, who defends, who attacks

•Directability – keeper tells others where to stand during acorner

B. Requirements: example

Page 26: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

C. Choreography of joint activity

• Three phases (functional breakdown)• coordinating tasks is coordinating subtasks• subtasks have an entry, body and exit phase

• Signaling transitions • within and between phases

• Coordination devices • serve to increase interpredictability• examples are organizational structure, convention, communication

protocol

Page 27: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

C. Choreography: example

Traffic•Three phase actions

- entering a road- being on the road- leaving a road

•Signaling transitions- turn signal

•Coordination devices- organizational structure, convention, communication protocol- to discuss…

Page 28: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Coordination structures

Page 29: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Organizational structure

adapted from Bradshaw et al.

Page 30: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Organizational structure in BW4T

• Notion of ‘role’ is central

• Possible roles in BW4T? • searcher• deliverer• manager

Page 31: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Notion of ‘role’ is central

organizationgoals

agents

agentroles

determine

performed by

Organizational perspective

society

agentroles

agentgoals

determine

performed within

Agent perspective

Page 32: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Conventions

Coordination by convention

solution

Page 33: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

• A group of agents• Each agent is able to

solve the BW4T task individually

• Agents do not take into account that there are other agents

• What happens?

Conventions in BW4T

Page 34: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

• Do not enter rooms that are occupied• If you know about a block that can be delivered,

deliver that block• If someone intends to deliver a particular block, do

not try to deliver that block as well

Example of conventions in BW4T

Page 35: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Conventions in organizational structure

If a searcher finds a block,

it must report that to the manager

adapted from Bradshaw et al.

Page 36: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

• A group of agents• Each agent is able to

solve the BW4T task individually

• Agents take into account that there are other agents

• Agents do not communicate

• What happens?

Communication in BW4T

Page 37: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Implicit coordination in BW4T

Room 1

Room 2

Robot 1Robot 2

• And what would

happen here?

Robots do NOT communicate. How do they choose a room?

Page 38: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Specifying a MAS

Page 39: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

MAS Specification

In GOAL, a .mas file is a recipe for launching a

multi-agent system, specifying:

• which environment will be launched,

• how many agents will be launched,

• the agent names for agent processes

• which agents are connected to environment

• which .goal file(s) is (are) used to create an agent.

Page 40: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

MAS Specification

A .mas file is a recipe for launching a MAS:

• which environment will be launched

• environment started by jar file,

• some of which may be initialized using the init command (check out environment doc).

environment{ env = "blocksworld.jar".

init = [configuration="bwconfigEx1.txt"].}

Page 41: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

MAS Specification

A .mas file is a recipe for launching a MAS:

• which agent files will be used

• agent file defines a possible agent type.

agentfiles { "coffeemaker.goal".

"coffeegrinder.goal".}

Page 42: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

MAS Specification

A .mas file is a recipe for launching a MAS:

• which agent processes will be created

• a launch policy specifies when, which and how many agent processes will be created.

• launch maker:coffeemaker. launches one agent process called maker using the agent file referenced by coffeemaker (coffeemaker.goal).

• does not connect agent to an environment.

launchpolicy { launch maker:coffeemaker. launch grinder:coffeegrinder.

}

Page 43: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

MAS Specification

A .mas file is a recipe for launching a MAS:

• which agent processes will be created

• a conditional launch rule is triggered by the environment:

whenever a controllable entity becomes available in the environment, an event is generated.

• the agent created by the launch part of the rule is connected to that entity.

launchpolicy { when entity@env do launch elevator : file1. }

Page 44: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

MAS Specification

A .mas file is a recipe for launching a MAS:

• additional checks in launch rule

• this launch rule can only be applied if there is an available entity of type car, and the rule can be applied at most 3 times.

Remark: launch rules are applied in linear order.

launchpolicy { when [type=car,max=3]@env do launch elevator:file1. }

Page 45: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

MAS Specification: Example

A .mas file is a recipe for launching a MAS:

• environment section may be empty, in that case mas is run without an environment.

• agentfiles and launchpolicy must be non-empty.

agentfiles { "coffeemaker.goal".

"coffeegrinder.goal".}

launchpolicy { launch maker:coffeemaker. launch grinder:coffeegrinder.

}

Page 46: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Agent Identity and Other AgentsHow does an agent know it is not alone?• The names of all agents generated by GOAL are

inserted in the belief base of all other agents.• For example, agent(tarzan) is inserted in the

belief base of agent jane when tarzan is created.

How is an agent able to differentiate itself from other agents? I.e. how does agent jane know she is not tarzan?

• Upon creation, the fact me(<name>) where name is the agent’s name is inserted in the belief base of that agent.

Page 47: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Communication in GOAL

Page 48: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Communication: Primitives

• Communication primitives:– send(<recipients>, <content>)– sendonce(<recipients>, <content>)

• Example: Tarzan sends Jane a message:– send(jane, meeting(date(1,2,2010), time(12,0), duration(1,0), [jane, tarzan]))

Page 49: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

GOAL Agent Architecture• The basis of communication in GOAL is a simple

mailbox semantics.

Agent

EnvironmentReal or simulatedworld of events

actionpercept

Beliefs

Goals

ActionRulesProcess

percepts

message Processmessage

Page 50: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Communication: SemanticsAction: send(<recipients>, <content>)• ground send action can always be performed, i.e.

precondition is true,

• assume agent sender sends message to recipients

• then GOAL puts

sent(<recipients>, <content>)

in the mailbox of sender,• agents that receive message put

received(sender, <content>)

in their mailbox. NB: keep in mind it may take some time before agent b receives the message.

Page 51: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Communication: SemanticsAction: sendonce(<recipients>, <content>)

• same as send(<recipients>, <content>), but

• sendonce action can only be performed if the mailbox of the sending agent does not contain:

sent(<recipients>, <content>)

i.e. precondition is:

not(sent(<recipients>, <content>)

Page 52: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Using Messages in MailboxThe facts in the mailbox can be used like any other facts in the

belief base of an agent.

That is,

• sent(<recipient>, <content>) and• received(name, <content>)

can be used in:– in conditions in action rules– clauses in the knowledge or beliefs section

Page 53: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Using Messages in Mailbox

• After receiving a message from tarzan, agent jane will have:received(tarzan, meeting(date(1,2,2010), time(12,0), duration(1,0), [jane,tarzan]))

in her mailbox.

• Consequently, jane will believe:bel(received(tarzan, meeting(date(1,2,2010), …, …, [jane,tarzan])))

Page 54: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Processing Message Pattern• Inserting received information into belief base and

removing received message:

• Removing received message cleans up the mailbox and makes sure that the action rule is not applied repeatedly (even after the received info is outdated).

• Using received messages in mental state conditions other than for processing the message, and using them in knowledge base, gives less readable code.

if bel(received(A,Proposition)) then insert(Proposition) + delete(received(A,Proposition))

Page 55: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Message Types• GOAL supports three message types, called

moods:

– declarative, typically used to inform

Example: The time is 2 o'clock

operator: ‘:’ : send(jane, :time(14,0))– imperative, typically used to indicate a goal

Example: I want the door to be closed!

operator: ‘!’ : send(jane, !door(closed))– interrogative, typically used to ask a question

Example: How much milk is left?

operator: ‘? : send(jane, ?amountMilk(_))

Page 56: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Message TypesMood operators are translated to Prolog predicates in

mailbox:

– declarative: no predicatereceived(tarzan, time(14,0))

– imperative: impreceived(tarzan, imp(door(closed)))

– interrogative: intreceived(tarzan, int(amountMilk(_)))

See programming guide, section 6.5.

Page 57: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Agent SelectorsFirst argument of a send action is called an agent selector, which can be:•An agent name: send(jane, …)•A variable (to be instantiated): send(Person, …)•A list of selectors: send([jane,tarzan,Person], …)•A quantor:

– send(self, …) : message sent to agent itself– send(all, …) : message sent to all agents (incl. itself)– send(allother, …) : message sent to all other agents

Page 58: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Sending messages to oneself

• Messages sent to oneself change the agent’s own mental state! Sending messages to oneself has special meaning.

• Changes are different for different moods:– send(self, :fact) inserts fact in belief base– send(self, !fact) adopts fact as goal and

deletes fact from belief base.– send(self, ?fact) deletes fact from belief base

N.B.: Do not use messages to self as an alternative way of updating the agent’s beliefs and goals!

N.B.: Do not use messages to self as an alternative way of updating the agent’s beliefs and goals!

Page 59: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Selecting agents to send to

• Suppose agent wants to send to all other agents that are producers of milk that it wants to have milk.

Q: Write an action rule which achieves this:– Use predicates have/1 and producerOf/2.

A: if a-goal(have(milk)), bel(agent(X), producerOf(X, milk))

then send(X, !have(milk))

Page 60: Multi-agent Systems, Communication and Coordination

Koen Hindriks, Birna van Riemsdijk Multi-agent systemenKoen Hindriks, Birna van Riemsdijk Multi-agent systemen

Organisation

• Tutorial this week:– Assignment 4: team agent for BW4T

• Exam:– Specification of material to study will be posted on

blackboard.– Example exams will be made available.