lecture 4- agent types
DESCRIPTION
MAS course at URV. Lecture 4, agent types (specially interface agents, information agents, hybrid systems, agentification). Based on diverse resources.TRANSCRIPT
![Page 1: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/1.jpg)
LECTURE 4:AGENT TYPES
Artificial Intelligence II – Multi-Agent Systems
Introduction to Multi-Agent Systems
URV, Winter-Spring 2010
![Page 2: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/2.jpg)
Overview
Agent typologyDescription of some types of agents
Collaborative agents (intro)Interface agentsInformation agentsHeterogeneous systems
Agentification mechanisms
![Page 3: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/3.jpg)
Agent properties
AutonomyReactivityProactivityCommunicationMobilityReasoningLearning...
[Lecture last week]
![Page 4: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/4.jpg)
How to classify agents?
There are many different classifications of agents, depending on the employed criteriaResearchers from BTLab proposed a classification that depends on the properties that are emphasized in a particular agent
The classification is not an exact division !!!
![Page 5: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/5.jpg)
Agent classification (BT Lab) (I)
Collaborative AgentsCommunication, autonomy, reasoning
Interface AgentsLearning, autonomy, proactivity
Mobile Agents [recall lecture 3]Mobility
Internet / Information agentsLearning, autonomy, proactivity, mobility
![Page 6: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/6.jpg)
Agent classification (BT Lab) (II)
Reactive agents [recall lecture 2]Reactivity
Hybrid agents [recall lecture 2]Reactivity + reasoning (deliberative)
Heterogeneous systemsMulti-agent systems with different types of agents
![Page 7: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/7.jpg)
Collaborative Agents (I)
Emphasize autonomy, as well ascommunication and cooperation with other agentsTypically operate in open multi-agent environments => multi-agent systems(MAS)Negotiate with their peers to reach mutually acceptable agreements during cooperative problem solving
![Page 8: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/8.jpg)
Collaborative Agents (II)They normally have very limited learningcapabilitiesCollaborative agents are usually deliberativeagents (e.g. based on the BDI model), with some reasoning capabilities
Reactive agents can hardly communicate and collaborate (only through actions that modify the common environment)
[ MAS = second part of the course ]
![Page 9: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/9.jpg)
Collaborative Agents: Rationale
To solve problems that are too large for a single centralised agentTo create a system that functions beyond the capabilities of any of its membersTo allow for the interconnecting and inter-operation of existing legacy systemsTo provide solutions to inherently distributed problems
![Page 10: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/10.jpg)
Collaborative Agents: Applications
Provide solutions to physically distributed problems
air-traffic control, management of a team of robotsProvide solutions to problems with distributed data sources
different offices of a multi-national businessProvide solutions that need distributed expertise
health care provision (family doctors, nurses, specialists, laboratory analysis, …)
![Page 11: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/11.jpg)
HeCaSe2 Architecture
![Page 12: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/12.jpg)
Direct manipulation– The computer is merely a
passive entity waiting to execute detailed instructions
– The user gives commands by operations on the interface objects through input devices
– Interface objects represent software functions and objects
Interface Agents– The user and the agent
engage in a cooperativeprocess
– Software agents ‘know’user’s interests and can act autonomously on their behalf
– (sometimes) agents appear as ‘living’ entities with animated facial expression or body language
HCI: Human-Computer Interaction
![Page 13: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/13.jpg)
Limitations of direct manipulation (I)
Different causes of operation errors:Inconsistency between user model and system model of a complicated software application causes misunderstanding of system’s functionsInterface contains limited information about the use of the system, such as operation sequencesOverloaded with technical jargons and conventions
![Page 14: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/14.jpg)
Limitations of direct manipulation (II)
Limited adaptability, no intelligenceTo suit a wide range of user typesTo adapt to a user’s way of workingTo adapt to changes in user’s preferences
![Page 15: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/15.jpg)
Interface Agents (I)
Emphasise autonomy and learning in order to perform tasks for their ownersSupport and provide proactive assistance to a human that is using a particular application or solving a certain problem
Anticipate user needsMake suggestionsProvide advice… without explicit user requests
![Page 16: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/16.jpg)
Interface Agents (II)
Limited cooperation with other agentsLimited reasoning and planning capabilitesInterface agent = personal assistant = personal digital assistant = personal agent
Kind of “secretary” that helps the user in his work environment
![Page 17: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/17.jpg)
Personal Assistant metaphor (I)
Initially, a personal assistant is not very familiar with the habits and preferences of his employer
It may not be very helpfulIt may even give extra work !
![Page 18: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/18.jpg)
Personal Assistant metaphor (II)
With every experience, the assistant learns bywatching how the employer performs tasksreceiving instructions from the employerlearning from other more experienced assistants
Gradually, more tasks that were initially directly performed by the employer can be taken care of by the assistant
![Page 19: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/19.jpg)
Problems in building interface agents
Competence: How does an agent acquire the knowledge it needs to decide:
when to help the userwhat to help the user with how to help
Trust: How can we guarantee the user feels comfortable delegating tasks to an agent?
![Page 20: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/20.jpg)
Option 1: User-programmed agents (I)
Idea: use a collection of user-programmed rules for processing information related to a particular taskExample: the Oval system (Lay, Malone & Yu, 1988)
The user can develop an e-mail sorting agent by creating a number of rules that process incoming messages and sort them into different folders
![Page 21: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/21.jpg)
User-programmed agents (II)
Once created, these rules perform tasks for the user without having to be explicitly invoked by the user with the arrival of each new messageAnalysis:
Competence: not satisfactoryNo adaptivity to new situations
Trust: not a problem in this case, as agents don’t learn and don’t have proactivity
![Page 22: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/22.jpg)
Op. 2: Agent with extensive knowledge
Idea: At runtime, the agent uses its knowledge to recognise the user’s intentions and to find opportunities for contributing with help, advices, suggestions, ...Example: the UCEgo system (Chin 1991)
Has a large knowledge base about how to use UnixInfers the goals of the user
![Page 23: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/23.jpg)
Agent with extensive knowledge (II)Does reasoning and planning
Volunteer information proactivelyCorrect a user’s misconceptions
Analysis:Competence:
Requires a huge amount of work from knowledge engineerKnowledge is fix once for all, cannot be customised to individual users
Trust: The user may feel loss of control and understanding
![Page 24: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/24.jpg)
Option 3: Interface Agents
Agent
User
Application
Other agents
Interaction
Interaction
Observation
Request advice
Help, suggestions User feedback,
instructions, training examples
![Page 25: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/25.jpg)
Basic hypothesis
Under certain conditions, an interface agent can acquire (automatically) the knowledge it needs to assist its userRepetition:
The use of the application has to involve a substantial amount of repetitive behaviour either within the actions of one user or among users
Variance:The repetitive behaviour is potentially different for different users
![Page 26: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/26.jpg)
Interface Agents: Learning Modes
Learning from the userby observing and imitating the userby receiving positive and negative feedback from the userby receiving explicit instructions from the user
Learning from other agentsasking other agents for advice
![Page 27: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/27.jpg)
Interface Agents: Rationale (I)Less work for the end user and for the application developer
Automation of routine activitiesAutomation of tasks that would take a long time to a human user
The agent can adapt, over time, to its user’s preferences and habits
Learn automatically user profiles, adapted to the user needsThe profile of a user can change dynamically
![Page 28: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/28.jpg)
Interface Agents: Rationale (II)
Know-how among different users in a community may be shared
Communication and (limited) cooperation between interface agents of different users
Use in applications with repetitive behaviourEven if the behaviour is different for each user
![Page 29: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/29.jpg)
Interface Agents: Applications
Mail managementScheduling meetingsNews filtering agentBuying/selling on user’s behalfInternet browsing
![Page 30: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/30.jpg)
Example 1: mail management assistant
Delete uninteresting or potentially harmful messagesPrioritize the messages according to their relevanceSort the incoming messages in the appropriate foldersWarn the user when a very important message arrivesForward a message to another user
![Page 31: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/31.jpg)
Example 2: meeting scheduler
Learn user preferences on different kinds of meetingsMake a meeting proposalAccept a meeting proposalReject a meeting proposalReschedule a previously agreed meetingNegotiate a meeting time with other agents
![Page 32: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/32.jpg)
Problems of personal assistantsSlow learning curve
Agents require many examples before they can make accurate predictions (especially if they cannot be directly trained)No useful assistance during the learning process
Learning from scratchEach agent has to learn on its own, even if there is a bunch of agents dealing with a team of people with similar interests
Difficulty to adapt to completely new situations
![Page 33: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/33.jpg)
Information Agents
Software agents that manage the access to multiple, heterogeneous and geographically distributed information sources. Information agents = Internet agentsMain task: proactive acquisition, mediation and maintenance of relevant information for a user/other agents
![Page 34: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/34.jpg)
Interest of Information Agents (I)
Need of tools to manage the information explosion of the WWWImpossible manual management
![Page 35: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/35.jpg)
Interest of Information Agents (II)
Commercial benefitsProactive, dynamic, adaptive and cooperativeWWW information managerEmbedded in a browser
User benefitsTime and effort to access and analyze dataImprove productivity (more time, better data)
![Page 36: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/36.jpg)
Tasks of information agents (I)
Information acquisition and managementProvide transparent access to different information sourcesRetrieve, extract, analyze, summarize and filter dataMonitor information sourcesUpdate relevant information on behalf of the userExamples: DBs, web pages, purchase of information from providers on electronic marketplaces, ...
![Page 37: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/37.jpg)
Tasks of information agents (II)
Information synthesis and presentationFuse, merge heterogeneous data
Handle conflicts, contradictions, repetitionsProvide unified, multi-dimensional views on relevant information to the user
Not just a mere list of data from different sources
![Page 38: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/38.jpg)
![Page 39: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/39.jpg)
![Page 40: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/40.jpg)
Tasks of information agents (III)
Intelligent user assistanceLearn automatically user preferencesAdapt dynamically to changes in user preferencesPersonalised presentation of informationUse of intelligent user interfaces
Sometimes with believable, life-like characters
![Page 41: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/41.jpg)
Basic skills of an information agent
![Page 42: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/42.jpg)
Basic skill types summary
CommunicationWith information sources, with user, with other information agents
CollaborationWith user, with other information agents
KnowledgeOntology management, user profile learning
Information tasksRetrieval, filtering, integration, visualization
![Page 43: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/43.jpg)
Information retrieval
Classical view: management of huge volumes of data in centralised, static databasesStandard conversational paradigm
User makes a questionSystem returns the subset of documents that are considered relevant to the queryUser evaluates the returned information itemsUser refines the initial question
![Page 44: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/44.jpg)
Benefits of information agents
User may not know how to make a query exactlyAn agent can help to specify the query
System is only reactiveInformation agents can be proactive, anticipating actions that can be beneficial for the user without his explicit command
Systems without memoryAgents can learn the user interests by observing his queries
![Page 45: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/45.jpg)
Information retrieval methodsInput
Set of documentsDomain corpus, or the Web
QueryOutput
Subset of the documents relevant to the queryRequirements
Way of representing the info. of a documentWay to measure the relevance of a document with respect to a query
![Page 46: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/46.jpg)
Vector space model
N text documents, containing t termsEach document is represented by a t-dimensional vector
Each component of the vector represents the weight of the term in the document
dj = (w1j, w2j, ..., wtj) j in 1..N
![Page 47: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/47.jpg)
Assigning weights to terms
TFIDF: Term Frequency Inverse Document Frequency
The weight of a term in a document measures the relevance of that term to represent the documentwij =tfij * log (N / dfi)
tfij = number of appearances of term i in document jN = total number of documentsdfi = number of documents in which term i appears[e.g. a term that appears in all docs. has weight 0]
![Page 48: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/48.jpg)
SimilarityThe similarity between two documents (or a query q and a document dj) is computed with the cosine of the angle formed by the two term vectors (scalar product divided by the product of the norms)
![Page 49: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/49.jpg)
Example
![Page 50: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/50.jpg)
Preprocess: StopwordsFiltering out words with very low discrimination values, to reduce the size of vector termsHighly frequent words without individual meaning
ArticlesPrepositionsConjunctionsAdverbs...
![Page 51: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/51.jpg)
Preprocess: StemmingStemming is the process of reducing a given word to its grammatical rootGroup words with common semantics Reduce size of vector termsAdd flexibility to user queriesStem = portion of a word left after removal of its affixes (i.e. prefixes, suffixes)
Computing / computer / computers / computation / compute / computes / uncomputable => stem: comput
![Page 52: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/52.jpg)
Preprocess: Index building
![Page 53: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/53.jpg)
![Page 54: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/54.jpg)
IR measures: PrecisionPrecision:
Relevant Documents Irrelevant Documents
Search Space
Relevant Search Results All Search Results
All Search ResultsAll Search Results
![Page 55: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/55.jpg)
IR measures: RecallRecall:
Relevant Documents Irrelevant Documents
Search Space
Relevant Search Results All Relevant Documents
All Search ResultsAll Search Results
![Page 56: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/56.jpg)
Precision vs recallPrecision
Of the documents that have been retrieved, how many of them are good?High precision: the system does not select bad documents
RecallOf all the good documents, how many of them have been retrieved?
High recall: the system does not discard good documents
Normally not computable in open environments like the Web
![Page 57: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/57.jpg)
Tradeoff between precision and recallSystem returns 1 very good document:
100% precision, very low recallSystem returns all documents:
100% recall, very low precision
![Page 58: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/58.jpg)
Searching for information on the Web
Option 1: Web search enginesProcess text of web pages (stopwords, stemming)Compute terms vector for each pageStore, for each page, the terms that have a weight over a certain threshold
![Page 59: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/59.jpg)
Web search engines (II)
Build an inverted index (term pages), to be used in the queriesContinuous Web crawling, analysis of web pages and updating of indexes
This approach requires a very high level of resources and bandwidth
![Page 60: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/60.jpg)
Example: Google – see Wired article
Around 24 data centres all around the worldAround 450,000 servers 200 petabytes of hard disk storage – enough to copy the entire Net dozens of times –
Petabyte= 10 ^15 bytes4 petabytes of RAMReceives 100 million queries a dayCollective input-output bandwidth around 3 petabits per second
![Page 61: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/61.jpg)
Drawbacks of web search engines
User has to specify a concrete queryThey typically return a huge number of hitsProblems of natural language ambiguityThe results are not structured in any way (list)The search engine does not learn anything about the user
Not adaptiveSame behaviour for each user
![Page 62: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/62.jpg)
Searching for information on the Web
Option 2: Information agentsLearn (automatically) the preferences of the user => user model, user profile
By supervising the user activitiesBy receiving explicit information/instructions/feedback from the user
Adapt the behaviour to the user preferences
![Page 63: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/63.jpg)
Example: LetiziaAgent developed at MIT (Lieberman, 1997)Helps the user when he is browsing the web to look for information
The agent is actually embedded in the browserLetizia monitors the behaviour of the user while browsing through InternetObserves the user’s actions and makes some reasoning on themGradual automatic discovery of the user interests
![Page 64: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/64.jpg)
Some heuristics in Letizia (I)
If the user saves a bookmark, that shows interest in the content of the current pageIf the user follows a link, that shows a potential interest in the content of the linked pageIf he comes back from a page, that probably shows that the page was not interesting after all
![Page 65: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/65.jpg)
Some heuristics in Letizia (II)
If the user follows a link in the middle of a web page, that probably indicates that he was not interested in the previous linksIf a user spends many time in a web page, or returns often to a certain page, he is probably interested in its contentIf the user makes an explicit query to a web search engine, the used terms describe information in which he is interested
![Page 66: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/66.jpg)
User profileLetizia uses the previous heuristics to discover pages in which the user is interestedAnalyzing the content of these pages, the agent may discover the terms that appear with more frequency
Analysis similar to TFIDFThose terms can be used to represent the user profile[agents, multi-agent systems, tennis, Davis Cup]
![Page 67: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/67.jpg)
Relevant properties
The profile is made automaticallyWithout bothering/interrupting the userWithout explicit instructions or information from the user
The profile is updated automatically, when the interests of the user change
Example: new job, new family status
![Page 68: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/68.jpg)
Web browsingStandard web browsing
Basically depth-first searchFollow a link from the current page, then a link from that page, etc.Sometimes the user can go back to the previous page to try another link, or select a bookmark
It may be difficult for the user to find something, even if it is only 3-4 clicks away
![Page 69: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/69.jpg)
Letizia web browsingLetizia conducts a concurrent breadth-first search rooted from the user's current position
![Page 70: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/70.jpg)
Automatic link suggestionsWhile the user reads a page, Letizia analyzes the pages linked to it, in a depth-first fashionIt can discover which of those pages (at several levels of distance) can be interesting to the user
Content related to the user interests contained in his profile
It can also discover dead linksLetizia can suggest to the user links to be followed in the current page
![Page 71: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/71.jpg)
Letizia recommendation
![Page 72: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/72.jpg)
Heterogeneous systems
Homogeneous system: all agents belong to the same type (e.g. a group of collaborative agents)Heterogeneous multi-agent system
Set of 2 or more agents that belong to 2 or more different types
![Page 73: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/73.jpg)
Heterogeneous system: Rationale
Join different existing programs/applications (not necessarily based on agent technology) in a single agent-based system
Legacy systemsNo need to re-program all the applications to integrate them within a MASThe union can give an added value
![Page 74: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/74.jpg)
Agentification
Ways to transform a standard application into an “agent” that can be integrated and participate in a multi-agent system of collaborative agents to help to solve complex distributed tasks
![Page 75: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/75.jpg)
Option 1: Translator / Transductor
“Bridge” between the application and the other agentsTakes the messages of other agents, and translates them to the program communication protocol (and the other way round)
Application
TranslatorOther agents
ACL
Application data format
![Page 76: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/76.jpg)
Advantages
The code of the application does not have to be modifiedWe only need to know the inputs/outputs of the applicationThe same translator can be used to agentify different applications/resources
Access to an Oracle databaseAccess to a CLIPS rule-based system
![Page 77: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/77.jpg)
Option 2: Wrapper
Add code to the application so that it can communicate with the agents of the MAS
Implies a direct manipulation of the internal data structures of the application
Wrapper Other agents
ACL
Application
![Page 78: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/78.jpg)
Comments on wrappers
Positive aspectsMore computationally efficient than translators
Negative aspectsWe need access to the application source codeIt may not be easy to understand/modify the code of a complex applicationA wrapper is not reusable as a translator
One wrapper for each program to be agentified
![Page 79: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/79.jpg)
Option 3: Re-code the application
Re-write the original program as an agent
Application
New agent application
Other agents
ACL
![Page 80: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/80.jpg)
Comments on re-writing
Negative aspectsMuch more work than the previous optionsIt does not seem really an “agentifying” mechanism
Positive aspectThe resulting agent could be designed to work in a much more efficient way, without external/internal translations between formats
![Page 81: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/81.jpg)
Architectures for heterogeneous systems
Flat systemEach agent can talk directly to any other agent
Federated systemThere are special agents (facilitators), that manage
the connection of the system with the environment, andthe communication between the agents
![Page 82: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/82.jpg)
Federated systems
Agents do not communicate directly, but through facilitatorsFacilitators help agents to find other agents in the system that provide some services
Without having to ask all other agents
Facilit.
Ag.Ag.Ag.Ag.Ag.
Facilit.
Computer 1 Computer 2
![Page 83: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/83.jpg)
Example: RETSINA
![Page 84: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/84.jpg)
RETSINA agentsInterface agents: input/output, learn from user actionsTask agents: encapsulate task-especific knowledge, used to perform/request services to/from other agents/humans
They can coordinate their activitesMiddle agents: infrastructure service (e.g. they know the services provided by other agents)Information agents: monitor and access one or more information sources
![Page 85: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/85.jpg)
Final comment
This classification is not intended to be either exhaustive or a very strict division of agents
Mobile information agentsCollaborative interface agentsCollaborative heterogeneous system
An agent can fall, to a certain degree, in different categories
![Page 86: Lecture 4- Agent types](https://reader033.vdocuments.us/reader033/viewer/2022052307/54b6f49d4a7959f5698b459f/html5/thumbnails/86.jpg)
Readings for this week
Article on Software Agents (Nwana, BT Lab)Link to Letizia at MITKlusch: Information agent technology for the Internet: a surveyWired (Oct06) article: The information factoriesExtra information on RETSINA