Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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