Download TDT4280 Distributed Artificial Intelligence and Artificial Agents

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Agent-based model wikipedia , lookup

Transcript
Nicolas PASTORINO 4th year Student – Telecommunication engineering
PASTORINO Nicolas
Moholt Allé 5-51
N-7050 Trondheim
[email protected]
01/04/2004
TDT4280
Distributed Artificial Intelligence
and Artificial Agents
Exercise 4 : Intelligent Agents & Symbolic
Negotiation
1
Nicolas PASTORINO 4th year Student – Telecommunication engineering
Introduction :
o This exercice’
s goal is to let us come in contact with symbolic
negotiation, and particularly AI planning. This kind of reasoning is
broadly used by symbolic agents ( all of which represent knowledge
in a symbolic manner, and apply symbolic reasoning for achieveing
intelligence ).
o One had to develop a multi-agent system with at least 4 agents,
define goals and initial ressources for each of them, so that it would
be feasable for each agent to solve its problem with the help of the
others. Each agent had to embody at least 2 capabilities, and no
agent was supposed to solve its own problem by itself ( i.e alone ).
System’
s purpose :
o My system architecture is directly built from a concrete real-life
example, involving human people in a complex relationship. This
system is a modelisation of this group of people ( as far as one can
consider a bank as a “person”), and each agent is designed in order
to stick at most to its role it played in reality. Thus, some
capabilities may appear out of concern for a given agent, but they
should immediately then be thought of inside this given context.
o I was not expecting this simulation to come up with the best
solution to the problem implied in the problem specifications and
agent descriptions. But anyway I was really curious to see how this
JADE-based infrastructure would “react” to this ‘
non-functional’
problem, and the analyse of the results may give some logic
answers concerning the events’chaining ( most of them represent
feeling-oriented actions, this could give an idea of how they could
have executed to reach an agreement, a plan. ).
Here are the specifications of my agents :
2
Nicolas PASTORINO 4th year Student – Telecommunication engineering
The Traveller :
The Bank :
Has : Ideas
Needs : Reputation
Capabilities :
borrow(): Motivation -> Future
convince(): Tips -> Interest
Has : Norway
Needs : Netherlands
Capabilities :
plan(): Ideas -> Project
share(): Regrets -> Hope
travel_tell(): Euros -> Catharsis
fullfillDream(): Initiative ->
Reputation
The CommonFriend:
The Host:
Has : Regret
Has : Love
Needs : Catharsis
Needs : Future
Capabilities :
Capabilities :
motivate(): Interest -> Motivation
destabilize(): Norway -> Doubts
comfort(): Doubts -> Tips
meet(): Love -> Netherlands
explain(): Project -> Euros
push(): Hope -> Initiative
o Quantity of messages sent :
?? From CommonFriend to Bank, for establishing their common
plan : 60 in total, and 23 offers.
?? From Bank, to CommonFriend : 87 in total, and 15 offers.
?? From Host to Traveller, for establishing their common plan :
91 in total, 21 offers.
?? From Traveller to Host, for establishing their common plan :
75 in total, 23 offers.
So, CommonFriend and Bank agreed on a common plan, the
following ( the order of the directives depends on which agent is
announcing the end of the negotiation ) :
3
Nicolas PASTORINO 4th year Student – Telecommunication engineering
From BANK :
From COMMON FRIEND :
share>>TRAVELLER;
plan>>TRAVELLER;
push>>HOST;
explain>>COMMON_FRIEND;
fullfillDream>>TRAVELLER;
travel_tell>>TRAVELLER;
plan>>TRAVELLER;
share>>TRAVELLER;
explain>>COMMON_FRIEND; push>>HOST;
travel_tell>>TRAVELLER;
fullfillDream>>TRAVELLER;
And Host and Traveller agreed on a common plan, the following:
From HOST :
From TRAVELLER :
destabilize>>HOST;
meet>>HOST;
comfort>>COMMON_FRIEND;
destabilize>>HOST;
convince>>BANK;
comfort>>COMMON_FRIEND;
motivate>>COMMON_FRIEND; convince>>BANK;
borrow>>BANK;
motivate>>COMMON_FRIEND;
meet>>HOST;
borrow>>BANK;
Discussion :
o The quantity of messages sent is quite important actually. I guess
the more agents we have in a system, the more messages we have
between them to reach an agreement ( the total number of
communication channels between agents when we have n agents is
n*(n-1) / 2, if we do not take in account the mediator agent, so the
subsequent number of messages in total is directly related to the
number of participants ). In this solution, a central mediator agent
handles all the requests and offers and spreads them to the relevant
agents, if I understood correctly. And this apparently leads to a
shrinkable amount of messages.
o An idea could be to represent a capability by a sort of encapsulated
object, instance of a predefined class or whatever. Each agent
4
Nicolas PASTORINO 4th year Student – Telecommunication engineering
participating in the negotiation would set available in a blackboardlike central managing service each of its own capabilities, so that
any other agent could have access to them, and use them in their
planning, or symbolic-problem solving. This would reduce the
number of messages to only the ones between the central managing
system and the agents. Each agent getting blocked in its problem
solving could request the blackboard a function/capability which
would help it taking a step ahead ( customer-like behaviour : pick
up a capabillity ).
o One of the drawbacks of this method is that all capabilities of all
agents would be public, no privacy would be supported ( except if
some agents do not publish all of their capabilities ) .
Final Word / Conclusion :
o Please find in attachment the corresponding configuration files, and
results obtained. I also enclose the file I have been using to run the
simulation : negotiation.bat .
Nicolas.
5