Title: Multi Agent Systems
1Multi Agent Systems
LabIS http//labis.vsb.cz/
2Content
- Introduction to the Theory of Multi-Agent Systems
- A Brief Summary of the Project Logic and
Artificial Intelligence for Multi-Agent Systems
(Logic MAS) - The Project in more details
- Logic and Communication (TL Language, Ontology)
- Geographical Data and Infrastructure
- Process Management (has been presented by
Prof. Ivo Vondrák) - Further research
- Discussion
3Multi Agent System
- Distributed application
- runs on many computers over the network
(Internet). - Composed of agents
- there can be hundreds or thousands of agents
which cooperate to achieve their goals. - No centralized control
- agents are (less or more) intelligent and
autonomous - generally, there is no central dispatcher
4Agent Characterisation
- (Jacques Ferber)
- Agent is a physical or virtual entity
- a) which is capable of acting in an environment
- b) which can communicate directly with other
agents - c) which is capable of perceiving it's
environment (to a limited extent) - d) which can offer services and possesses skills
- e) may be able to reproduce itself
- f) tends towards satisfying it's objectives
- g) may be able to learn by experience
- h) etc., more...
5Object vs. Agent
Object Agent
Encapsulates methods and attributes Encapsulates behaviour
Communicates by method calling Communicates by asynchronous messages in a higher language
Performs a predefined task when called Performs a task if it wants to
Synchronization of threads is necessary Agents are not dependent on each other
Less autonomous More autonomous
Predefined behaviour Dynamic, intelligent and autonomous behaviour
without intelligence n 0.
Intelligence of a degree n gt 0.
6Agents can perceive an environment
- Agents can carry out actions which modify agent's
environment. - Agents can perceive the environment and make
decisions based on it.
7Agents communicate with each other
- Outer languages
- define an envelope format for languages and are
not concerned with the content - (KQML, FIPA-ACL)
- Inner languages
- are concerned only with the content. The content
of a message can be specified in any language
that agents can understand - (Prolog, JESS, XML, ...)
Hello
1030
What's the time?
fine, thanks
How are you?
8Agents learn by experience
- Artificial intelligence
- Expert systems
- Logic and intelligent decisions in difficult
situations - Autonomy
?
?
?
9Knowledge representation
- Ontology
- is widely used for describing some parts of the
real world. Can be represented in different
logical languages (e.g. W3C OWL) which can be
easily interpreted by computers and humans.
Today, there are many ontology databases and
libraries which are focused on different topics
(mobile devices, cars, vines, weather and many
others).
What is the weather?
OK, I will consider it ...
It is raining, rather take an umbrella
10Agents features
- Agents can clone themselves
- They are able to move from one computer to
another one.
Clone
Change PC
11Multi Agent World
Agents
Knowledge Desires Plans
Communication
Environment
Perception
Actions
Internal representation of environment
12Some Application Areas
- Robotics
- Traffic simulation and navigation
- Ubiquitous computing
- Air traffic control
- Network management
- Distributed data mining
- Manufacturing systems
- And many others...
Emergency and critical situations
13Standardization
- FIPA (Foundation for Intelligent Physical Agents)
- Standards for Intelligent Multi-agent systems.
- Cooperation with universities and companies.
- Conferences, seminars, workshops on multi-agent
systems - Standards for communication languages and
protocols.
14Content
- Introduction to the Theory of Multi-Agent Systems
- Logic and Artificial Intelligence for Multi-Agent
Systems (Logic MAS) - The Project in more details
- Logic and Communication (TL Language, Ontology)
- Geographical Data and Infrastructure
- Process Management (has been presented by
Prof. Ivo Vondrák) - Further research
- Discussion
15LOGIC MAS The pilot project conducted at the
Research Laboratory of Intelligent Systems
(LabIS http//labis.vsb.cz/ )
- The main goal
- Research of information technologies needed for
coordination of autonomous intelligent agents in
extraordinary or emergency situations
16Logic Multi-Agent World
- See the next presentantion
- VSE-MAS-B
17Communication Language based on TIL
- FIPA SL
- TL Language
- TL vs. TIL
- Ontologies
- Examples
- Implementation
- Example
18Communication Language based on TIL
- A crucial point in a multi-agent environment
communication - Message
- a unit of communication
- can be of an arbitrary form, but
- has to be structured in terms of attributes
- sender, receiver,. . .
- performative (communicative act) inform,
query, request,. . . - content semantics of the message, encoded in
a content language - ontology vocabulary of concepts used in the
content
19FIPA SL
- FIPA (The Foundation for Intelligent Physical
Agents) - creates widely accepted standards for MAS
- one of them is the content language FIPA SL
(Semantic - Language)
- FIPA SL is based on FOL (First-order logic)
- gt
- widely known, well elaborated logic, but
- mathematical logic stenography of mathematics
- weak expressive power, over inferring / under
inferring - - an extension is needed in order to make it
possible to communicate in a standardised natural
language - the type of a message (query, request,. . . )
- the distinction between empirical and analytical
concepts - to properly analyse modalities possible,
necessary - to properly analyse attitudes believing,
knowing, thinking, wanting, seeking, etc.
20FIPA SL
- SL Syntax well defined (grammar)
- SL Semantics (meaning) poor
- the standard work just contains Section Notes on
Semantics (really just notes) - derived from FOL semantics? not applicable
because of numerous extensions beyond FOL - intuitive is it?
- The poor semantics may lead to serious
misunderstandings between agents.
21TL Why?
- We propose a new content language TL
- TL is a FIPA compliant content language
- TL is based on Transparent Intensional Logic
(TIL) - gt rich bi-dimensional hierarchy of types
- great expressive power
- fine-grained rigorous semantics
- Makes it possible to analyse natural language
expressions in a fine-grained way (and formal
languages too, e.q. SL) - a universal semantic tool (specification of
semantics, combining different languages
together,. . . ) - Appropriate for
- (complex) knowledge representation
- human-level communication
22TL vs. TIL
- The TIL language of constructions is not apt for
computerised processing, because - the TIL language
- is not standardised
- uses non-ASCII characters (not found on the
keyboard) - We need a standardised notation for types as well
as for encoding constructions - The epistemic base needs extending a type of
sequences is useful (and also a construction of
it) - There is no way of fixing ontologies in TIL (any
entity of any order can be trivialised) we need
to specify the chosen conceptual systems to work
with
23TL vs. TIL
- the TL type base is an extension of TIL epistemic
base
TL name TIL equivalent Description
Bool ? Truth values
Indi ? Individuals
Date ? Times
PSW ? Possible worlds
String
Integer
Float ?
Action Type of action
24TL vs. TIL
- Compound (molecular) types
- collections of partial functions (as in TIL)
- (Float,Indi? Bool) (???)
- finite sequences of objects of particular types
Indi - Constructions
- variable x or xType
- trivialization A oA
- application (F A B C) F A B C
- abstraction \xTypeA ?x A
- sequence (SequenceType A B C)
- shortcut application C_at_w,t Cwt
25Grammar of TL (fragment)
- TLExpression Construction
- Macro.
- Macro SequenceMacro.
- Construction Trivialization
- Variable
- Application
- Abstraction.
- Trivialization "" Concept
- "" PrimitiveValue
- "" Construction.
- Concept UpperCaseAtom
- "" "(" UpperCaseAtom ArgList ")".
- ...
26TL and Ontologies
- An ontology is a vocabulary of domain-specific
concepts (FIPA) - All concepts used by a content language must be
defined in an ontology - Any concept in an ontology can be used by a
content language - TL types must be specified for concepts to be
used in TL - Ontologies are usually frame-like structures
(frames with slots) - The latest trend is Semantic Web OWL
(Description Logics). - It is not neglected by FIPA
- but not supported (as yet)
27Example
- Every prime number is odd. (not true)
- Ontology (part)
- TIL analysis
- o? ?xo? oPrime x oOdd x
- TL notation
- (All \xInteger(Impl (Prime x) (Odd x)))
Name TIL type TL type
Prime (??) (Integer-gtBool)
Odd (??) (Integer-gtBool)
All, ? (?(??)) ((Integer-gtBool)-gtBool)
Impl, ? (???) (Bool,Bool-gtBool)
28Example
- The highest mountain is in Asia.
- TIL analysis
- ?w?toInwt ?w?toHighestwt oMountainwtwt oAsia
- TL notation
- \w\t(In_at_w,t ((\w\t(Highest_at_w,t Mountain_at_w,t)
w) t) Asia)
Name TIL type TL type
Highest (?(??))?? ((Indi-gtBool)-gtIndi)_at_
Mountain (??)?? (Indi-gtBool)_at_
In (???)?? (Indi,Indi-gtBool)_at_
Asia ? Indi
29Implementation of TL
- TL is implemented in the MAS framework JADE
(work in progress) - JADE
- open-source, extensible development framework in
Java - strictly FIPA compliant
- Ontologies are frame-like, edited by Protege.
- Working on integration of OWL ontologies into TL.
- Any agent can simply choose TL as the content
language for his messages.
30Example
- The scenario contains
- large car parking, railway station
- Agents
- Driver would like to park close to the railway
station - Dispatcher of the car parking managing available
pull-ins - Sketch of their dialogue
- Driver I want you to park me somewhere not far
from the railway station. - Dispatcher OK, I can park you at this pull-in
(concrete position). - Driver Good.
31Ontology for the Example
Concept TL type
TheDriver Indi
TheDispatcher Indi
TheTrainStation Indi
Pull-in Indi
Near (Indi,Indi-gtBool)_at_
Arrange (Indi,Bool_at_-gtAction)
Park (Indi,Indi-gtBool)_at_
32Communication
- Driver
- call for proposal
- \xIndi(Arrange TheDispatcher
- \w\t(And
- (Park_at_w,t TheDriver x)
- (Near_at_w,t TheTrainStation x)))
- A call for proposal is a communicative act which
- takes one argument
- returns the action to be proposed
- such that the responding agent will fill in the
parameter x the parking place
33Communication
- Dispatcher
- propose
- (\xIndi(Arrange TheDispatcher
- \w\t(And
- (Park_at_w,t TheDriver x)
- (Near_at_w,t TheTrainStation x)))
- (Pull-in
- (Position
- "ltgmlPolygongt
- ltgmlouterBoundaryIsgt
- ltgmlLinearRinggt
- ltgmlcoordinatesgt
- 0,0 100,0 100,100 0,100 0,0
- lt/gmlcoordinatesgt
- lt/gmlLinearRinggt
- lt/gmlouterBoundaryIsgt
- lt/gmlPolygongt")))
34Communication
- Driver
- Accept proposal
- (same content as the last one)
1 Call for proposal
Dispatcher
2 Propose
Car Agent
3 Accept proposal
35Future work on TL communication
- Integration of TL with Semantic Web
- namely the Ontology Web Language (OWL)
- specification of ontologies for TL based
communication - Methodology of agents communication using the TL
language - Future Research
- Specification of an accurate inference machine
based on the expressive language such as TL - Implementation of the inference machine
36Content
- Introduction to the Theory of Multi-Agent Systems
- Logic and Artificial Intelligence for
Multi-Agent Systems (Logic MAS) - The Project in more details
- Logic and Communication (TL Language, Ontology)
- Geographical Data and Infrastructure
- Process Management (has been presented by
Prof. Ivo Vondrák) - Further research
- Discussion
37Connecting GIS and Multi-agent systems
38Relations between GIS and MAS
- Identity situated agent corresponds to a
feature stored in the geo-database - Causal agents can affect other features or
their attributes (behaviour of agents is affected
by state of GIS) - Temporal synchronization between MAS and GIS
- Topological provides information about
topological relations between features
39Environment perceiving
40Environment built in a vector layer
Creation of infrastructure agents
Geo Database
Vector geodata export to geodatabase
41Agent Based Environment
42Agent types
- Infrastructure agents
- streets, crossroads, other infrastructure objects
- Mobile agents
- vehicles, humans
- Database agent
- providing access to geographic databases
- Visualization agent
- performing visualization of static and dynamic
agents
43Implementation environment
- JADE
- Java Agent DEvelomement framework framework
that simplifies agent creation and deployment - PostGIS
- Open source spatial database, used for data
storage and perception of the environment - GRASS, JUMP, 3D visualization module
- Used for visualization purposes only
44Implementation environment
User Interface (JUMP, GRASS, 3D)
Database Agent
ACL
ACL
Geo Database
Other Agents
ACL
45Application screenshots
46Application video
47Content
- Introduction to the Theory of Multi-Agent Systems
- Logic and Artificial Intelligence for
Multi-Agent Systems (Logic MAS) - The Project in more details
- Logic and Communication (TL Language, Ontology)
- Geographical Data and Infrastructure
- Process Management
- Discussion
48Process management in MAS
- MAS software process is similar to the standard
information system development process - There are some differences, however
- functions, properties and skills of MAS are very
close to the real world situations - emphasis is placed on social behavior of system
components and the whole system - emphasis on the autonomy of components
- emphasis on communication level between
components - components of such systems are Agents
- Methodology used during the development process -
UML
49MAS Development Process
- Tools that support this development process
- standard software process and methodology
- UML tools with some extensions Behavior
Activity Diagram - etc.
50Basic definitions
- Agent term describes a software abstraction, an
idea, or a concept, similar to OOP terms such as
methods, functions, and objects. The concept of
an agent provides a convenient and powerful way
to describe a complex software entity that is
capable of acting with a certain degree of
autonomy in order to accomplish tasks on behalf
of its user. But unlike objects, which are
defined in terms of methods and attributes, an
agent is defined in terms of its behavior. - Behavior refers to the actions or reactions of an
object or organism, usually in relation to the
environment. The complexity of the behavior of an
organism is related to the complexity of its
nervous system (internal structure, knowledge and
skills). - Realization is the element that provides an
description for implementation of an element that
specifies behavior, by other words, the
Realization is one of possible implementation of
Process this implementation is specified by one
Behavior Activity Diagram
51Basic definitions
- Process is a naturally occurring or designed
sequence of operations or events, possibly taking
up time, space, expertise or other resource,
which produces some outcome. A process may be
identified by the changes it creates in the
properties of one or more objects under its
influence. The Processes form the Behavior of an
Agent. - Activity is something done as an action. It is
atomic action within the Process. - Process or Activity Nodes are the graphical
representation of afore mentioned terms.
52Agents Behaviors
- What is the Behavior of an Agent?
- We have to specify
- everything that an Agent can do,
- including Agents abilities and potency of
- solving the problems he/she/it can meet, and of
- responding to changes in the environment
- There are several types of behavior templates
corresponding to Agents classification - simple reactive behavior
- simple proactive behavior
- hybrid behavior (combined reactive and proactive
behavior) - The Behavior is defined by Processes within the
Agents life
53Agents Processes
- Process is a tool for describing Agents
elementary Behaviors - Each description of a Process consists of the
following - input objects
- output objects (in agreement with the goals of
the process) - a set of possible realizations (executing the
function, mapping Inputs ? Outputs) - Its execution depending on a current situation
- Each Process can be realized in several ways
possible realizations of the process
54Internal Structure of Agents
- Processes can be defined as
- internal within an Agent
- external in the global repository
- (Internal) Processes within a given Agent
- executable only by the given Agent
- they can extend or restrict globally defined
processes too - (External) Processes saved in the global
repository - executable by all the Agents within the MAS
- possibility of learning and changing the Behavior
55Internal Structure of Agents
Process may have different control flows defined
by Realizations
Process defined in the global repository
Only one possibility to connect the Agents
message passing
56Activity Diagram Extension
57Activity Diagram Extension
58Realizations of Process
- Realization describes an algorithm of
transforming Inputs into Outputs depending on a
current situation (Agents reactions) - Each Realization has to be in accordance with the
parent process definition (objectives, input and
output objects) - Each Realization is one Behavior Activity
Diagram based on the UML Activity Diagram
(from the visual point of view) - For these purposes, the Multi-Agent Technology
calls for an extension of the standard UML
approach
59Metamodel of MAS Model
60Intelligence Behavior
- Intelligence contained in the activities
- weather forecast, etc.
- Intelligence of the control flows routing
- suitable car to a given cargo assignment, etc.
- Intelligent selection of Process Realizations
- reconfiguration approach
61Behavior Reconfiguration
- Agents Behavior can evolve during its life
- as a reaction to a current situation in the
moment of emergency (when executing a process). - This reconfiguration is based on the current
state (objects, environment, etc.) of an Agent
and/or the whole MAS, and it works with sets of
particular Realizations of Processes.
62Behavior Reconfiguration
63Behavior Reconfiguration
- Each Process node within the Behavior Activity
Diagram can be a reconfiguration point the
position of Behavior that can be changed - Basic reconfiguration algorithm
- selection of applicable Realizations from a given
Process set - selection of the most suitable Realization
- execution of the selected Realization
- Tools for support of the reconfiguration
- simple branching based on conditions
- logical tools
- Artificial Intelligence, Expert Systems
64Selection of an applicable Realization
- Process approach- Realizations are combinedwith
a given Process withinthe modeling phase- easy
selection- low intelligence and flexibility - Logical approach- real-time selection of
Realizations - - errors can occur- describing from the
logical point of view may be difficult- high
intelligence and flexibility
65Selection of a Realization
- Modified reconfiguration algorithm
- specification of the set of process Realizations
based on the process approach - defining a set of applicable Realizations for a
given Process based on the process approach - selection of the most suitable Realization from a
defined set based on the logical approach - execution of the selected realization
- Terms usable in this algorithm
- Input and Output Objects (step 1 and 2)
- values of Objects and Scores (step 3)
- FCA, TIL, etc.
66Selection of a Realization
- Process and Logical approach together
67Behavior Reconfiguration
- Which are the assets of this approach?
- possibility of an independent life of each Agent
- intelligence built in an Agent Behavior
- easy distribution of knowledge on process
management among the Agents - easy way to distribute knowledge on system
adaptability and evolution among the Agents
68AgentStudio
69Future Architecture of AgentStudio
70Future Work
- development of the tool for Agents behavior
modeling (.NET) - behavior-model extensions (message
specifications, interfaces, etc.) - automatic generation of Agents based on their
internal Behavior - involvement of Logic in Agents behavior
management (reconfiguration, branching,
controlling, etc.) - distribution of the Behavior specifications and
learning process - development of application methods of the whole
MAS management - knowledge management and distribution
- system states monitoring
71- Introduction to the Theory of Multi-Agent Systems
- Logic and Artificial Intelligence for
Multi-Agent Systems (Logic MAS) - The Project in more details
- Logic and Communication (TL Language, Ontology)
- Geographical Data and Infrastructure
- Process Management
- Discussion