640 likes | 785 Views
ITE711. Asst.Prof . Surasak Mungsing Ph.D. s urasak.mu@spu.ac.th. Software Agent T echnology. Overview. • Motivation and definitions Why do we need agents? What is an agent? • Agent architectures technologies, issues, advantages, disadvantages. Motivations. Why do we need agents?
E N D
ITE711 Asst.Prof. SurasakMungsing Ph.D. surasak.mu@spu.ac.th
Overview • • Motivation and definitions • Why do we need agents? • What is an agent? • • Agent architectures • technologies, issues, advantages, disadvantages
Motivations • Why do we need agents? • Increasingly networked, temporary connectivity increasing (wireless). • Data overload (e-mail, web pages, fax, …). • Greater exchange of digital information • Increasingly dependent upon electronic sources of information. • Desire to be ‘better informed’.
Tools • Inadequacy of current tools • Browsers are user driven, Pull technology marginally better. • ‘Friendly’ software becoming more difficult to use (e.g. MS Word!) • WWW too polluted for casual browsing, intelligent search tools required; even search engines eginning to fail us! • Coverage, web pages exploiting indexing algorithms of engines, broken links.
Solution! • Need software solution (agents) that can act in our place: • can interact with (say) Internet data sources • can process e-mail, voice, fax and other electronic message sources • can communicate with other agents • can accurately represent our needs and preferences in the networked information environment • can negotiate
And the solution is…Agents • So, what is a software agent? No generally agreed definition. Has characteristics: • Something that acts on behalf of another • Is sociable, capable of meaningful interaction with other agents (and humans) • Can make decisions on our behalf • Is capable of adapting to changing environments and learning from user interaction • Is mobile
Agent Definition (1) • An agent is an entity which is: • Situated in some environment. • Autonomous, in the sense that it can act without direct intervention from humans or other software processes, and controls over its own actions and internal state. • Flexible which means: • Responsive (reactive): agents should perceive their environment and respond to changes that occur in it; • Proactive: agents should not simply act in response to their environment, they should be able to exhibit opportunistic, goal-directed behavior and take the initiative when appropriate; • Social: agents should be able to interact with humans or other artificial agents “A Roadmap of agent research and development”, N. Jennings, K. Sycara, M. Wooldridge (1998)
Agent Definition (2) American Heritage Dictionary: agent – ” … one that acts or has the power or authority to act… or represent another” Does this means that … an agent carries out a task in favor of someone who has delegated it ? • To avoid tedious description of tasks we sometimes prefer our agents to be able to infer (predict, guess) our goals ... • … so the agents should have some knowledge of task domain and their user.
Agent Definition (3) • "An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors." Russell & Norvig
Agent Definition (4) • "Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed." Pattie Maes
Agent Definition (5) • “Intelligent agents continuously perform three functions: perception of dynamic conditions in the environment; action to affect conditions in the environment; and reasoning to interpret perceptions, solve problems, draw inferences, and determine actions.” Barbara Hayes-Roth
Agent Definition (6)[Terziyan, 1993, 2007] • Intelligent Agent is an entity that is able to keep continuously balance between its internal and external environments in such a way that in the case of unbalance agent can: • change external environment to be in balance with the internal one ... OR • change internal environment to be in balance with the external one … OR • find out and move to another place within the external environment where balance occurs without any changes … OR
Agent Definition (6)[Terziyan, 1993, 2007] • closely communicate with one or more other agents (human or artificial) to be able tocreate a community, which internal environment will be able to be in balance with the external one … OR • configure sensors by filtering the set of acquired features from the external environment to achieve balance between the internal environment and the deliberately distorted pattern of the external one. I.e. “if you are not able either to change the environment or adapt yourself to it, then just try not to notice things, which make you unhappy”
Agent Definition (6) [Terziyan, 1993] • The above means that an agent: • is goal-oriented, because it should have at least one goal - to keep continuously balance between its internal and external environments ; • is creative because of the ability to change external environment; • is adaptive because of the ability to change internal environment; • is mobile because of the ability to move to another place; • is social because of the ability to communicatetocreate a community; • is self-configurable because of the ability to protect “mental health” by sensing only a “suitable” part of the environment.
Agent Definition (8) [FIPA: (Foundation for Intelligent Physical Agents),www.fipa.org] • An agent is a computational process that implements the autonomous, communicating functionality of an application.
Agent Definition (9) [Wikipedia: (The free Encyclopedia),http://www.wikipedia.org] • In computer science, an intelligent agent (IA) is a software agent that exhibits some form of artificial intelligence that assists the user and will act on their behalf, in performing non-repetitive computer-related tasks. While the working of software agents used for operator assistance or data mining (sometimes referred to as bots) is often based on fixed pre-programmed rules, "intelligent" here implies the ability to adapt and learn.
Three groups of agents [Etzioni and Daniel S. Weld, 1995] • Backseat driver: helps the user during some task (e.g., Microsoft Office Assistant); • Taxi driver: knows where to go when you tell the destination; • Concierge: know where to go, when and why.
A Basic Definition “Intelligent software agents are defined as being a software program that can perform specific tasks for a user and possessing a degree of intelligence that permits it to performs parts of its tasks autonomously and to interact with its environment in a useful manner.” From Intelligent Software Agents Brenner, Zarnekow and Wittig.
Potential agent rewards • In the Internet: • efficiency: agent is given goal and returns the result; • effectiveness: agent can terminate search when acceptable solution found. Has a higher degree of multi-threading; • transparency and optimization: correlation between multiple data sources possible => higher quality results.
Taxonomy of Agents Intelligent Agents Intelligent Agents Hardware Agents Software Agents Interface Agents Information Agents Cooperation Agents Transaction Agents
Subareas of D.A.I. Distributed Artificial Intelligence Distributed Problem Solving Multi-Agent System Parallel AI
BDI Architecture Rao/Georgeff ‘95
Agent Architectures • Reactive agent • Deliberative agent • Hybrid agent
Architecture of reactive agents Brooks ‘86
Agent Deliberative component E f f e c t o r s S e n s o r s World Model Planner Plan executor modifications observations Reactive component State1 Action1 State2 Action2 . . . . . . Staten Actionn Hybrid Agent
Knowledge Query andManipulation Language • KQML based upon speech act theory • KQML differentiates between three layers: communication, messages and content • communication: protocol • messages: speech acts • content: content or meaning of message • KQML deals with speech acts.
Dialog Dialog: a sequence of agent message interactions with some common thread.
KQML format (<Performative> :content <statement/speechact> :sender <name> :receive <name> :language <text> :ontology <text> ) Performative corresponds to speech act types.
Example (ask-one :content (PRICE IBM ?price) :receiver stock-server :language LPROLOG :ontology NYSE-TICKS ) Query formulated using LPROLOG. Ontology is ‘computer systems’.
Agents do it for money ... Objects do it, because they are commanded to ...
Environment of Software Agent • Agents • Platforms • Communications • Ontology • Applications
Agent Platform • A place where agents live • not always needed • Agent management • creation – termination • security • Agent communication services • Agent directory services
Ontology • How do communicating agents understand each other? • Systems which communicate and work together must share an ontology. • Ontology • A common vocabulary and agreed upon meanings to describe a subject domain. • An ontology is a specification of a conceptualization. • An ontology is a description of the concepts and relationships that can exist for an agent or a community of agents
OWL (Web Ontology Language)by W3C • OWL is designed for use by applications that need to process the content of information instead of just presenting information to humans. • OWL is an extension to RDF and RDF Schema • Three sublanguages: • OWL Lite • classification hierarchy and simple constraints • OWL DL • maximum expressiveness, computational completeness, and decidability • OWL Full • maximum expressiveness and the syntactic freedom of RDF with no computational guarantees.