Multiagent systems (and their use in industry)


Published on

Published in: Technology
  • Be the first to comment

Multiagent systems (and their use in industry)

  1. 1. Multiagent Systems (and their use in industry) Marc-Philippe Huget University of Savoie @mphuget
  3. 3. In movies Before… Lots of real persons But that, this was before… 3
  4. 4. Now… What you see… Lord of the Rings: Helm’s Deep battle Movie 4
  5. 5. …and in backstage Weta Digital Massive software 5
  6. 6. iRobot And numerous other movies… 6
  7. 7. Transport simulation Every car is an agent with a specific behaviour The objective is to assert urban decisions and road infrastructure MATSim Singapore 7
  8. 8. Platform for modelling multi-modal transportation Here, the Great London with an OSM map 8
  9. 9. 9
  10. 10. Agents are used to model and simulate production in a corrugated box factory, with the on time in full schema 10
  11. 11. Agent are frequently used in biological and social sciences •Understanding social networks •Simulating ants, herds and crowds •Understanding micro- and macro- economies Here, simulating ant nests 11
  12. 12. Finding the “best” position for pylons based on several conflicting opinions [Ferrand 97] 12
  13. 13. Timetable scheduling Every agent has user availability and constraints, altogether they are able to provide a coherent view Acklin companies: the KIR system Agents support communication between the consortium for insurance claims 13
  14. 14. Realtime dynamic scheduling In logistics 14
  15. 15. 15
  16. 16. Source : CASCOM FP6-IST-2 Coordination of services 16
  17. 17. Asynchronous messaging, part of JBoss, Agents inside for scalability issues Plastic interfaces Agents inside to propose GUI based on SW/HW requirements Self-* systems Autonomic Computing Agents can be used for dynamic adaptation and without control duties 17
  18. 18. And numerous other examples… 18
  20. 20. Two domains of use • Simulation • (Distributed-) Problem Solving 20
  21. 21. One important thing to bear in mind Multiagent systems will never be better than algorithms If you have an algorithm, go for it If you only have heuristics, well, there is room for agents… 21
  22. 22. Some words to qualify multiagent systems Local Global Local behaviours into agents Individual centered Collective behaviours as a result of Individual behaviours Community centered Multiagent systems may scale to millions of agents if needed. The dynamic feature Allows them to adapt to new dimensions Intelligent behaviours Machine learning Cooperation (and coordination) between (heterogeneous) entities 22
  23. 23. Some other words Autonomy: agents do not accept orders from others either agents or users Decentralisation: this is not a master/slave architecture, related to autonomy Distribution: agents are naturally distributed over a network Proactive: agents take into consideration modifications to achieve their goals Rationality: agents use beliefs, desires and intentions for deciding upon next actions Context-based: agents perceive the environment to adapt their behaviours Social: agents are organised into groups High-level interaction: agents use protocols to interact and coordinate Planning-based systems: agents elaborate plans to achieve their goals Adaptive: agents adapt themselves from modifications from the environment Mobile: agents can hop from platform to platform to be close to data 23
  24. 24. AGENT PLATFORMS 24
  25. 25. JADE Java Agent DEvelopment framework The de facto standard for agent development A middleware for the development and runtime execution of peer-to-peer intelligentagent applications Runs seamlessly in the mobile and in the fixed environments Agent-based Workflow-based task description Mobile version FIPA based 25
  26. 26. Madkit MaDKit is an open source modular and scalable multiagent platform written in Java 26
  27. 27. AGENT THEORY 27
  28. 28. What is a multiagent system? A multiagent system is a set of real or virtual autonomous entities (called agents) which are pro-active or reactive (depending on needs) and interact together so as to achieve an activity which is of its own, or shared between entities 28
  30. 30. But an agent, this is an object, right? 30
  31. 31. But an agent, this is an object, right? First answer: 31
  32. 32. But an agent, this is an object, right? Definitely NO Right, an agent like objects has a state and a behaviour BUT – Agents have control over their behaviours, they may decide whether to answer positively or not to a call from another agent. As a consequence, they can refuse to do something – Interactions between agents are richer than method calls between objects. Agents exchange goals, plans, actions, hypotheses, beliefs – Agents have different ways to behave: reactive one, goal-driven, social one 32
  33. 33. So, you mean an agent is an expert system 33
  34. 34. So you mean an agent is an expert system Well, this is partly right For experts, behaviour is IF THEN ELSE Dumb agents may have this behaviour BUT more complex behaviours are possible, and the social dimension has to take into account 34
  35. 35. Do I need to learn a new programming language? 35
  36. 36. Do I need to learn a new programming language? NO Agents are frequently/easily programmed with object-oriented languages, Java is the most used one Scala can be considered too, especially with the notion of actors, or with the Akka project 36