Content • 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
Multi 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
AgentCharacterisation • (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...
Object vs. Agent without intelligence: n = 0.Intelligence of a degree n > 0.
Agents 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.
Agents 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 10:30 What's the time? fine, thanks How are you?
Agents learn by experience • Artificial intelligence • Expert systems • Logic and intelligent decisions in difficult situations • Autonomy ? ? ?
Knowledge 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
Agents’ features • Agents can clone themselves • They are able to move from one computer to another one. Clone Change PC
Multi Agent World Agents Knowledge Desires Plans Communication Environment Perception Actions Internal representation of environment
Some 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
Standardization • 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.
Content • 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
LOGIC & MASThe 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 Multi-Agent Systems
Logic & Multi-Agent World • See the next presentantion • VSE-MAS-B Multi-Agent Systems
Communication Language based on TIL • FIPA SL • TL Language • TL vs. TIL • Ontologies • Examples • Implementation • Example
Communication 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
FIPA 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) => + 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.
FIPA 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.
TL – Why? • We propose a new content language: TL • TL is a FIPA compliant content language • TL is based on Transparent Intensional Logic (TIL) => + 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
TL 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
TL vs. TIL • the TL type base is an extension of TIL epistemic base
TL 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 x:[Type] • trivialization – ’A ~ oA • application – (F A B C) ~ [F A B C] • abstraction – \x:[Type]A ~ x A • sequence – (Sequence:Type A B C) • shortcut application – C@w,t ~ Cwt
Grammar of TL (fragment) TLExpression = Construction | Macro. Macro = SequenceMacro. Construction = Trivialization | Variable | Application | Abstraction. Trivialization = "’" Concept | "’" PrimitiveValue | "’" Construction. Concept = UpperCaseAtom | "#" "(" UpperCaseAtom ArgList ")". ...
TL 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)
Example Every prime number is odd. (not true) • Ontology (part) • TIL analysis: [ox[o [oPrime x] [oOdd x]]] • TL notation: (’All \x:[Integer](’Impl (’Prime x) (’Odd x)))
The highest mountain is in Asia. TIL analysis: wt[oInwtwt[oHighestwtoMountainwt]wtoAsia] TL notation: \w\t(’In@w,t ((\w\t(’Highest@w,t ’Mountain@w,t) w) t) ’Asia) Example
Implementation 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.
Example 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.
Communication Driver: call for proposal \x:[Indi](’Arrange ’TheDispatcher \w\t(’And (’Park@w,t ’TheDriver x) (’Near@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 parameterx = the parking place
Communication Dispatcher: propose (\x:[Indi](’Arrange ’TheDispatcher \w\t(’And (’Park@w,t ’TheDriver x) (’Near@w,t ’TheTrainStation x))) #(Pull-in (Position "<gml:Polygon> <gml:outerBoundaryIs> <gml:LinearRing> <gml:coordinates> 0,0 100,0 100,100 0,100 0,0; </gml:coordinates> </gml:LinearRing> </gml:outerBoundaryIs> </gml:Polygon>")))
Communication Driver: Accept proposal (same content as the last one) 1: Call for proposal Dispatcher 2: Propose Car Agent 3: Accept proposal
Future 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
Content • 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
Connecting GIS and Multi-agent systems Storing Maintaining Gathering data Geoinformatic system (GIS) Presenting Analyzing
Relations 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
Environment built in a vector layer Creation of infrastructure agents Geo Database Vector geodata export to geodatabase
Agent 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
Implementation 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
Implementation environment User Interface (JUMP, GRASS, 3D) Database Agent ACL ACL Geo Database Other Agents ACL
Content • 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
Process 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
MAS Development Process “Tools” that support this development process • standard software process and methodology • UML tools with some extensions – Behavior Activity Diagram • etc.
Basic 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”