mas course - lect11 - urv applications

74
LECTURE 11: Applications of MAS at URV (I) Artificial Intelligence II – Multi-Agent Systems Introduction to Multi-Agent Systems URV, Winter-Spring 2010

Upload: antonio-moreno

Post on 15-Jan-2015

473 views

Category:

Technology


2 download

DESCRIPTION

MAS course at URV, lecture 11, applications developed at URV

TRANSCRIPT

Page 1: MAS course - Lect11 - URV applications

LECTURE 11: Applications of MAS at URV (I)

Artificial Intelligence II – Multi-Agent Systems

Introduction to Multi-Agent Systems

URV, Winter-Spring 2010

Page 2: MAS course - Lect11 - URV applications

Outline of the talkSome specific projects developed by the members of ITAKA

Personalised access to touristicinformationAgent-based ontology constructionAgent-based distributed task executionNext session: Applications in health care

http://deim.urv.cat/~itaka

Page 3: MAS course - Lect11 - URV applications

TURIST@ Personalised recommendation of touristic activities

Page 4: MAS course - Lect11 - URV applications

Introduction

There exist many problems in the access to touristic information:Huge amount of unstructured dataDepends on different organisationsDifferent update speedsDifferent formats (text, maps, …)

Page 5: MAS course - Lect11 - URV applications
Page 6: MAS course - Lect11 - URV applications
Page 7: MAS course - Lect11 - URV applications
Page 8: MAS course - Lect11 - URV applications

Proposed solutionUse a multi-agent system that models each entity that offers cultural activities independently but allows a centralised access point

Structured information searchUse information on the user’s preferences to filter irrelevant information and makeproactive recommendations

Page 9: MAS course - Lect11 - URV applications

Description of the MASPersonal Agent: represents a tourist and allows a transparent access to the MAS Recommender Agent: recommends touristic activities and keeps user profilesBroker Agent: mediates the search of information Activity agents: each one represents an entity that manages touristic activities

Monuments, Museums, Itineraries, Exhibitions, Sports, Conferences, Concerts, Theatres, Cinemas

Page 10: MAS course - Lect11 - URV applications

Personal Agent 1

Personal Agent 2

Personal Agent 3

Broker Agent

Recommender Agent

Itineraries Agent Exhibitions AgentMonuments Agent Museums Coordinator

Museum Agent 1 Museum Agent 2

User Profiles

Data Base

Page 11: MAS course - Lect11 - URV applications

Personal AgentFunctionalities:

Eases the communication between the user and the agentsInitializes the user profile with a questionnaireAllows structured information searchTalks with the Broker to get the activitiesthat fulfill the user constraintsObtains the evaluations of the performedactivities and sends them to theRecommender

Page 12: MAS course - Lect11 - URV applications

Activity AgentEach activity type has been modeled with a particular agent (e.g. the Exhibition Agent has information on all exhibitions in Tarragona) Each museum has its own agent, as they are managed autonomouslyFunctionalities:

Keeps a local databaseNotifies the Broker and the Recommender when thereare new activities

Page 13: MAS course - Lect11 - URV applications

Broker Agent

It does not have any graphical interfaceEases the search of activitiesFunctionalities:

Keeps a list of activities with the most frequently requested characteristics. This cache allows a fast response to the most usual queriesCommunicates with the Recommender to tell him the requests made by users, so that the Recommender may update the user profile

Page 14: MAS course - Lect11 - URV applications

User profileA user is represented with a vector of properties

Demographic informationAge, country, studies, arrival and departure date, physical disabilities, spoken languages, accompanying persons and maximum price to be paid for an activity

We keep preference values of the user with respect to some characteristics of activities

Art, history, science, music, sport, cinema and theatre

The user profile is initialised withthe information given by the userin a questionnaire

Linguistic value Numerical value Nothing 0

Little 0.25 Medium 0.5 Rather 0.75 A lot 1

Page 15: MAS course - Lect11 - URV applications

Recommender Agent

It has a graphical interface that allows to interact with itRequests the evaluations of the activities (a posteriori) and stores them in a databaseManages and updates user profilesMakes intelligent recommendation of activities

Page 16: MAS course - Lect11 - URV applications

User profile adaptation (I)

Explicit user profile changesUsing the score that the tourist has given to a visited activity

if ai ≥

medium then ui = ui + ai * di

di = Horrible (-0.1), Bad (-0.05), Good (0), Very Good (+0.05), Excellent (+0.1)

Only the attributes relevant to the visited activity are modified

The modification depends on the relevance of the attribute and on the score given by the tourist

Page 17: MAS course - Lect11 - URV applications

User profile adaptation (II)

Implicit user profile changes

Observing the queries that the tourist makes to the system

21 ii ua

ii uu−

+=

The vector a is an activity obtained as a result of a query and selected by the user

In a given attribute, the user profile may increase or decrease

Page 18: MAS course - Lect11 - URV applications

Recommendation methods (I)

Content-based recommendationWeighted matching between the characteristics of the activities and the values in the user profileThe items that have a higher similarity with the user profile are recommendedEach user is treated independently

Page 19: MAS course - Lect11 - URV applications

Recommendation methods (II)

Collaborative recommendationEach user is compared with other users, to detect people with similar interestsUsers are grouped in classes with a clustering algorithmA user is recommended the items that have been highly visited by other users in the same group

Page 20: MAS course - Lect11 - URV applications

Collaborative recommendation

Turist@ uses an unsupervised clustering algorithmIt uses the demographic attributes of the user profile to make the groupsFilters the activities made by users belonging to the group of the present touristRecommends the activities made by at least 50% of the people of the group

Page 21: MAS course - Lect11 - URV applications

Other aspects of the prototype (I)

Personal agent executing in a mobile device (PDA, mobile phone)

Page 22: MAS course - Lect11 - URV applications

Other aspects of the prototype (II)

Locates and shows in a map the position of the activities

Tracks the tourist positionand proactivelyrecommends activities near his position and adapted to his preferences

Page 23: MAS course - Lect11 - URV applications

Other aspects

of the prototype (III)Makes a personalised planning of the activities recommended to the user, in a given time interval

Page 24: MAS course - Lect11 - URV applications

Agent-Based Ontology Construction

Page 25: MAS course - Lect11 - URV applications

MotivationThe Web is a huge repository of information for many domains of knowledge

Web search engines are useful, but they present some limitations

Difficulty of setting the most appropriate search queryTedious evaluation of the huge amount of potential resources obtainedUnstructured results (list)

Page 26: MAS course - Lect11 - URV applications
Page 27: MAS course - Lect11 - URV applications

Main goalMethodology for representing the Web resources in a structured way depending on the main topics of a desired domain

Main tasks:Discover the most relevant knowledge related to a desired domain from the Web

Represent that knowledge in an structured way

Use that representation to classify and categorize related Web resources

Page 28: MAS course - Lect11 - URV applications

Ontology learning

Ontologies are a good alternative for representing the domain’s knowledge structure efficiently

Manually created ontologies are usually incomplete and easily outdated

Computer-based Ontology Learning can be a useful approach when dealing with highly dynamic domains

Page 29: MAS course - Lect11 - URV applications

ApproachProcessing huge repositories like the Webis very time consuming

Multi-agent systems provide advantages such as scalability, flexibility and autonomy

Suitable for the implementation of dynamicand distributed systems

Expert’s supervision is recommended in order to limit the search to the really interesting knowledge areas

Page 30: MAS course - Lect11 - URV applications

Taxonomy learning

Through a novel methodology developed at ITAKA, we are able to obtain automatically and in an unsupervisedway, taxonomies of terms and Web resources that are relevant for a domain

Page 31: MAS course - Lect11 - URV applications

Methodology bases

Evaluation of English linguistic patterns to discover taxonomical relationships

Use the size and redundancy of information from the Web to infer information relevance and trustiness

Use exhaustively Web search engines to obtain in an efficient and scalable way

Representative corpus of resources for the domain

Web-scale statistics about the suitability of the discovered knowledge

Page 32: MAS course - Lect11 - URV applications

Example

These figures indicate a very high relationship between temperature and sensor; thus, temperature sensor is likely a subclass of sensor

Page 33: MAS course - Lect11 - URV applications

Results (I)Hierarchical representation of terms that are taxonomically related to an initial concept

Discovery of individualities (named-entities) that are considered instances

Categorisation of relevant Web resources

Lists of simple sentences (text nuggets) which involve the discovered concepts, from which it is possible to extract new complex (non-taxonomic) relationships

Page 34: MAS course - Lect11 - URV applications

Results (II)

Taxonomy for the Taxonomy for the cancer domaincancer domain

Page 35: MAS course - Lect11 - URV applications

Results (III)

Page 36: MAS course - Lect11 - URV applications

Results (IV)

Page 37: MAS course - Lect11 - URV applications

Text nuggets

Concept Sentences

breast cancer [breast_cancer][receives][radiotherapy][the pill][protects][against][breast_cancer][most breast_cancers][are][ductal carcinomas]

colon cancer [colon_cancers][start][as][polyps]colorectal cancer [most colorectal_cancers][begin][as][a polyp]

[all colorectal_cancer patients][require][a colostomy][most colorectal_cancers][start][in][the glandular cells]

lung cancer [lung_cancer][causes][paraneoplastic syndromes][spiral_scans][find][lung_cancer][lung_cancer][tend to develop][in][smokers][asbestos exposure][increases][lung_cancer risk][lung_cancer treatment][depends][on][tumor size]

Sentences expressing relationships between concepts in a direct and unequivocal way

Page 38: MAS course - Lect11 - URV applications

Distributed ontology building processFrom an initial domain, we are able to obtain

Initial taxonomy of termsList of sentences that relate those terms with new ones

For each interesting related concept we can perform recursive taxonomical analyses to widen the search

A final complex semantic structure (ontology) of terms and Web resources relevant for the domain is obtained by aggregating the partial results

Page 39: MAS course - Lect11 - URV applications

Multi-agent systemThe taxonomy learning process is very time consuming

A centralised and sequential approach is unviable

A multi-agent based approach can be suitableSeveral tasks can be performed concurrentlyAgents performing those tasks can be dynamically managedA distributed approach can use the computational power and Internet bandwidth of a computer networkCoordination between agents is required to obtain a final result

Page 40: MAS course - Lect11 - URV applications

Architecture

The learning process is decomposed in several units modelled by different autonomous entities (agents)

Inter-agent communication allows them to coordinate their efforts and share results to achieve the final goal

Three basic types of agentsUser AgentInternet Agent(s)Coordinator Agent

Page 41: MAS course - Lect11 - URV applications

User AgentAllows the interaction of the human expert with the system

FunctionsInitialize a new searchControl the ontology construction processVisualize partial resultsCompose the final ontology

Page 42: MAS course - Lect11 - URV applications

Internet Agent

Implements the taxonomy constructionmethodology

For a specific query, returns a partial taxonomy and a set of sentences to widen the search

Its initialisation/finalisation is controlled dynamically depending on the learning requirements

Several entities can be executed concurrently through several nodes of the computer network

Page 43: MAS course - Lect11 - URV applications

Coordinator agent

Coordinates the ontology construction process

Functions:

Receives expert’s orders

Creates, configures and finalises appropriate Internet Agents to explore Web domains

Composes partial results returned by each Internet Agent to obtain a final ontology

Page 44: MAS course - Lect11 - URV applications

Interaction steps (I)

Parameters: initial concept, number of web pages, max. depth

Page 45: MAS course - Lect11 - URV applications

Interaction steps (II)

Page 46: MAS course - Lect11 - URV applications

Interaction steps (III)

Page 47: MAS course - Lect11 - URV applications

Interaction steps (IV)

Page 48: MAS course - Lect11 - URV applications

Case study (I)

Concept Sentences

breast cancer [breast_cancer][receives][radiotherapy][the pill][protects][against][breast_cancer][most breast_cancers][are][ductal carcinomas]

colon cancer [colon_cancers][start][as][polyps]

colorectal cancer [most colorectal_cancers][begin][as][a polyp][all colorectal_cancer patients][require][a colostomy][most colorectal_cancers][start][in][the glandular cells]

lung cancer [lung_cancer][causes][paraneoplastic syndromes][spiral_scans][find][lung_cancer][lung_cancer][tend to develop][in][smokers][asbestos exposure][increases][lung_cancer risk][lung_cancer treatment][depends][on][tumor size]

cervical cancer [cervicography or colposcopy][screening][for][cervical_cancer]

skin cancer [ozone depletion][increases][skin_cancer risk][fair-skinned people][develop][skin_cancers]

Cancer domain

Page 49: MAS course - Lect11 - URV applications

Case study (II)

Concept Sentencescranial radiotherapy

[cranial_radiotherapy][causes][hair loss]

beam radiotherapy

[external beam_radiotherapy][include][x-ray therapy]

hyperplastic polyp

[hyperplastic_polyps][occur][in][gastric mucosa]

[colorectal hyperplastic_polyps][are][benign lesions]

Page 50: MAS course - Lect11 - URV applications

Case study (III)

Page 51: MAS course - Lect11 - URV applications

Agent-based parallel execution of complex tasks

Page 52: MAS course - Lect11 - URV applications

Motivation (I)Artificial Intelligence applications involve quite usually the processing of large amounts of data and the execution of complex analytical processes

Grid Computing allows taking profit from unused computers, obsolete equipment or underused intranet nodes

This results in a reduction of the cost, implied by parallel execution, configuring a highly scalable approach

Page 53: MAS course - Lect11 - URV applications

Motivation (II)In the last years, agents and multi-agent systems have appeared as a new promising computer engineering paradigm

They provide a high level approach for implementing complex systemsThey provide an environment in which several entities can be executed in a highly distributed and flexible mannerThey offer an added value thanks to features such as elaborated communicative skills and mobility capabilities

Page 54: MAS course - Lect11 - URV applications

Goals of this work

To design and implement a novel, high level, general purpose, flexible and robust platform for the parallel execution of tasksover a computer network using mobile agents

The developed platform has been used as a test-bed for a complex Web-based knowledge acquisition system

Page 55: MAS course - Lect11 - URV applications

Distributed agent platform

General description

Physical Topology

Platform Components

Platform Management

Event Management

Page 56: MAS course - Lect11 - URV applications

Agent platform basic ideasIt provides an efficient framework in which execution tasks can be easily modelled over individual agents that are transparently allocated over network nodes by a load balancing policyTasks should be independent as communication between concurrent tasks is not supportedAgents are based on the FIPA specifications and implemented with JADE

Page 57: MAS course - Lect11 - URV applications

Physical topology

Page 58: MAS course - Lect11 - URV applications

Platform components (I)The server’s mission is to monitor the available client nodes and to initiate, distribute and finalize the agents that will execute tasksClient nodes can be incorporated dynamically by registering into the server, providing local information about their hardware characteristics

They will host the agents that will execute the tasks requested by the server at each moment

Page 59: MAS course - Lect11 - URV applications

Platform components (II)Grid Manager Agent (GMA): located in the server, offers a registering service for client nodes and manages tasks by creating mobile agents

Event Manager Agent (EMA): located on the server, monitors agent events. It allows to implement error recovery measures

Registry Agent (RA): in the client side, allows registering a node into the server, by specifying the client’s hardware configuration

Page 60: MAS course - Lect11 - URV applications

Platform components (III)Working Agent (WA): it is dynamically created by the GMA and associated to the task to be executed. It moves to a free client nodeNode Manager: located in the server, it performs the scheduling by means of a load balancing policy ID Manager: located in the server, it works as a name service for WAsRequest Server: located in the server, it provides a service for receiving from the user new tasks to be executed

Page 61: MAS course - Lect11 - URV applications

Platform management (I)

JADE environment and the platform components are initialisedA set of client nodes should be setup. This can be performed dynamically at any moment of the platform lifecycle

Page 62: MAS course - Lect11 - URV applications

Platform management (II)

Once the server is aware of the availability of a node, it will send tasks to be executed on that computer

Each task is defined as an object that encapsulates its characteristics, final results and hardware requirementsThey are assigned to client nodes using a scheduling policy

Page 63: MAS course - Lect11 - URV applications

Platform management (III)

WAs travel across the network, bringing the task request, task characteristics, execution state and source code

Only one copy of the task source code is needed in the server side

When the task has been executed, the result is returned to the server, that can present it to the user

Page 64: MAS course - Lect11 - URV applications

Event management

EMA is able to monitor the state of platform component

It is able to detect whenever a particular node, agent container or agent has failedA fail recovery mechanism is implemented to ensure the correct finalisation of tasks

Page 65: MAS course - Lect11 - URV applications

Case study

Description

Task modelling

Performance

Page 66: MAS course - Lect11 - URV applications

Domain ontology construction from the Web

It uses several knowledge acquisition techniques to extract domain concepts and relations from the analysis of thousands of Web resourcesThe learning process is divided in several stepsthat are iteratively executed as new knowledge is retrieved

Page 67: MAS course - Lect11 - URV applications

Knowledge acquisition methodology

The learning process evolves in a tree-like expansion, defining new and independent tasks for each new term to explore

Page 68: MAS course - Lect11 - URV applications

Computational costDue to the enormous size of the Web and the unsupervised nature of the method, the degree of computational effort required is hugeNot only CPU power but also Internet bandwidthand RAM are required

In a sequential implementation with one computer, the runtime needed to learn a domain ontology may take several hours

Domainontology

#Taxon. #No-taxo. #Web queries

Runtime

insect 668 236 58286 10 hours

CPU 134 121 13934 6 hours

tea 236 1430 57148 17 hours

Page 69: MAS course - Lect11 - URV applications

Task modellingEach learning step has been modelled as a task, with the appropriate input and output parametersWe have designed a scheduler that defines and prioritizes free slots on available client nodes according to the amount of available RAMA Web-based interface has been designed

It allows specifying domains to explore, request the execution of learning tasks (associated to discovered concepts) and the visualization of partial results

Page 70: MAS course - Lect11 - URV applications

Performance (I)

Domain 1 node 2 nodes 4 nodesBreast cancer 1083 s. 1093 s. 1095 s.Lung cancer 980 s. 992 s. 1029 s.Colon cancer 627 s. 667 s. 705 s.Ovarian

cancer715 s. 812 s. 841 s.

Total 3405 s. 2085 s. 1095 s.

Page 71: MAS course - Lect11 - URV applications

Performance (II)

Runtime vs Paralelism

0

500

1000

1500

2000

2500

3000

3500

4000

1 node 2 nodes 4 nodes

Degree of paralelism

Run

time

(sec

onds

)

Page 72: MAS course - Lect11 - URV applications

Performance (III)Cancer Gantt diagram

0 1000 2000 3000 4000 5000 6000

CPU 4

CPU 3

CPU 2

CPU 1

Seconds

Page 73: MAS course - Lect11 - URV applications

Platform benefitsFlexibility: nodes can be added or removed at runtimeScalability: the performance scales linearly with respect to the number of available nodesRobustness: it implements fail-safe measures, by constantly monitoring the platform stateHigh-level nature: the use of agents and object-oriented programming provides a high level environment that can be easily configuredGenericity: components have been designed in a general-purpose manner

Page 74: MAS course - Lect11 - URV applications

Extra material for this week

Presentation of Turist@ (in Catalan)David Sánchez’s PhD thesis: Domain ontology learning from the WebArticle General-purpose agent-based parallel computing