Upload
marc-philippe-huget
View
666
Download
2
Tags:
Embed Size (px)
Citation preview
Multiagent Systems(and their use in industry)
Marc-Philippe HugetUniversity of Savoie
@mphuget
SOME ILLUSTRATIONS
2
3
Before…
In movies
Lots of real persons
But that, this was before…
4
Movie
Lord of the Rings: Helm’s Deep battle
What you see…Now…
5
Weta Digital Massive software
…and in backstage
6
iRobot
And numerous other movies…
7
MATSim Singapore
Transport simulation
Every car is an agent with a specific behaviourThe objective is to assert urban decisions androad infrastructure
8
Platform for modelling multi-modal transportationHere, the Great London with an OSM map
http://www.youtube.com/watch?feature=player_embedded&v=R164GYhj8Qs
9
http://agents.fel.cvut.cz/topics/manufacturing_and_logistics
10
http://www.eurobios.com/fr/an-agent-based-model-of-a-corrugated-box-factory
Agents are used to model and simulate production in a corrugatedbox factory, with the on time in full schema
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
12[Ferrand 97]
Finding the “best” position for pylons based on several conflicting opinions
13
Timetable scheduling
Acklin companies: the KIR systemAgents support communication between the consortiumfor insurance claimshttp://www.staff.science.uu.nl/~dasta101/tfg/romefiles/Aart.pdfhttp://www.agentlink.org/resources/webCS/AL3_CS_004_Acklin.pdf
Every agent has user availability andconstraints, altogether they are ableto provide a coherent view
14
Realtime dynamic schedulingIn logistics
http://www.magenta-technology.com
15
16
Source : CASCOM
FP6-IST-2
Coordination of services
17
http://joram.ow2.org
Plastic interfaces
Self-* systemsAutonomic Computing
Asynchronous messaging, part of JBoss, Agents inside for scalability issues
Agents inside to proposeGUI based on SW/HWrequirements
Agents can be used for dynamic adaptationand without control duties
18
And numerous other examples…
WHEN AGENTS COULD HELP YOU
19
Two domains of use
• Simulation• (Distributed-) Problem Solving
20
21
One important thing to bear in mind
Multiagent systems will never be better than algorithmsIf you have an algorithm, go for itIf you only have heuristics, well, there is room for agents…
22
Some words to qualify multiagent systems
Local
Global
Local behaviours into agentsIndividual centered
Collective behaviours as a result ofIndividual behavioursCommunity centered
Cooperation (and coordination)between (heterogeneous) entities
Intelligent behavioursMachine learning
Multiagent systems may scale to millionsof agents if needed. The dynamic featureAllows them to adapt to new dimensions
23
Some other words
Autonomy: agents do not accept orders from others either agents or usersDecentralisation: this is not a master/slave architecture, related to autonomyDistribution: agents are naturally distributed over a networkProactive: agents take into consideration modifications to achieve their goalsRationality: agents use beliefs, desires and intentions for deciding upon next actionsContext-based: agents perceive the environment to adapt their behavioursSocial: agents are organised into groupsHigh-level interaction: agents use protocols to interact and coordinatePlanning-based systems: agents elaborate plans to achieve their goalsAdaptive: agents adapt themselves from modifications from the environmentMobile: agents can hop from platform to platform to be close to data
AGENT PLATFORMS
24
JADE
25
Java Agent DEvelopment frameworkThe de facto standard for agent development
A middleware for the development and run-time execution of peer-to-peer intelligent-agent applicationsRuns seamlessly in the mobile and in the fixed environments
Agent-basedWorkflow-based task descriptionMobile versionFIPA based
http://jade.tilab.com
Madkit
26
MaDKit is an open source modular and scalable multiagent platform written in Java
http://www.madkit.org
AGENT THEORY
27
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
QUESTIONS AND ANSWERS
29
But an agent, this is an object, right?
30
But an agent, this isan object, right?
First answer:
31
But an agent, this isan object, right?
Definitely NO
Right, an agent like objects has a state and a behaviourBUT
– 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
So, you mean an agentis an expert system
33
So you mean an agentis an expert system
Well, this is partly right
For experts, behaviour is IF THEN ELSEDumb agents may have this behaviour
BUT more complex behaviours are possible, and the social dimension has to take into account
34
Do I need to learn a new programming language?
35
Do I need to learn a newprogramming 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