Upload
oswald-miller
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
Software Agent Technology
Asst.Prof. Surasak Mungsing [email protected]
Overview• Motivation and definitions Why do we need agents? What is an agent?
• Agent architectures technologies, issues, advantages,
disadvantages
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’.
Motivations
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!o Coverage, web pages exploiting indexing
algorithms of engines, broken links.
Tools
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
Solution!
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
And the solution is…Agents
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
Agent Definition (1)
“A Roadmap of agent research and development”, N. Jennings, K. Sycara, M. Wooldridge (1998)
American Heritage Dictionary:agent –” … one that acts or has the power or authority to
act… or represent another”
Agent Definition (2)
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.
"An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors."
Agent Definition (3)
Russell & Norvig
"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."
Agent Definition (4)
Pattie Maes
“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.”
Agent Definition (5)
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 to create 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:
1) is goal-oriented, because it should have at least one goal - to keep continuously balance between its internal and external environments ;
2) is creative because of the ability to change external environment;
3) is adaptive because of the ability to change internal environment;
4) is mobile because of the ability to move to another place;
5) is social because of the ability to communicate to create a community;
6) is self-configurable because of the ability to protect “mental health” by sensing only a “suitable” part of the environment.
Intelligent Agents
Software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing employ some knowledge or representation of a user’s goals or desires.
IBM, Intelligent Agent Definition
Agent Definition (7) [IBM]
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.
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.
Three groups of agents [Etzioni
and Daniel S. Weld, 1995]
“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 AgentsBrenner, Zarnekow and Wittig.
A Basic Definition
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.
Potential agent rewards
Taxonomy of AgentsIntelligen
tAgents
HardwareAgents
Software
Agents
InterfaceAgents
Information
Agents
Cooperation
Agents
TransactionAgents
Intelligent
Agents
Classification Matrix
Information Agent
Cooperation Agent
Transaction Agent
Subareas of D.A.I.
Distributed Artificial Intelligence
Parallel AI
Distributed Problem Solving
Multi-Agent System
Agent as a Black Box
The work of an Intelligent Agent
BDI Architecture
Rao/Georgeff ‘95
• Reactive agent• Deliberative agent• Hybrid agent
Agent Architectures
Architecture of deliberative agents
Architecture of reactive agents
Brooks ‘86
Hybrid Agent
Agent
Sensors
Sensors
Effectors
Effectors
Reactive component
State1
State2
Staten
Action2
Actionn
......
WorldModelWorldModel PlannerPlanner Plan
executorPlan
executor
Deliberative component
Action1
observations modifications
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.
Knowledge Query andManipulation Language
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.
Important KQML speech act types
Important KQML 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’.
Using a Faciltator
Agents Platforms Communications Ontology Applications
Environment of Software Agent
• A place where agents live not always needed
• Agent management creation – termination security
• Agent communication services• Agent directory services
Agent Platform
Agent Communications
• 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
Ontology
Ontology - Example
O n tolog y O 1
a pp le le m on o ra n ge
fr u it
• 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.
OWL (Web Ontology Language)by W3C
OWL extends vocabulary description allowing to express claims such as...
Nothing can be both wine and beer. grandParent and grandChild are inverses. homepage is uniquely identifying property. A W3CTeamPerson is a Person whose
workplaceHomepage is http://www.w3.org/
OWL (Web Ontology Language)by W3C
55
Research is an ORGANIZED and SYSTEMATIC way of FINDING ANSWERS to QUESTIONS.
SYSTEMATIC because there is a definite set of procedures and steps which you will follow. There are certain things in the research process which are always done in order to get the most accurate results.
ORGANIZED in that there is a structure or method in going about doing research. It is a planned procedure, not a spontaneous one. It is focused and limited to a specific scope.
FINDING ANSWERS is the end of all research. Whether it is the answer to a hypothesis or even a simple question, research is successful when we find answers. Sometimes the answer is no, but it is still an answer.
QUESTIONS are central to research. If there is no question, then the answer is of no use. Research is focused on relevant, useful, and important questions. Without a question, research has no focus, drive, or purpose.
http://linguistics.byu.edu/faculty/henrichsenl/ResearchMethods/RM_1_01.html
Definition of Research
56
In academic research, you must not only answer a question, but you must find something new and interesting.
You join a community of researchers.◦ You must advance the collective understanding of this
community. Each community has a cumulative tradition
with a set of interesting questions, tools and methods, practices, a style and language for writing up the research.◦ Research is a conversation and ongoing social activity!
You need critical and careful reading of published research◦ to learn what the community already knows◦ to fit your work into the community◦ to be prepared for your own work to be evaluated
Academic Research
57
Refers to study and research on pure science that is meant to increase our scientific knowledge base.
This type of research is often purely theoretical with the intent of increasing our understanding of certain phenomena or behavior but does not seek to solve or treat these problems.
(http://psychology.about.com/od/bindex/g/basicres.htm)
Basic Research
58
Refers to scientific study and research that seeks to solve practical problems.
Applied research is used to find solutions to everyday problems, cure illness, and develop innovative technologies.
(http://psychology.about.com/od/aindex/g/appres.htm)
Applied Research
59
Action research is research that each of us can do on our own practice, that “we” (any team or family or informal community of practice) can do to improve its practice, or that larger organizations or institutions can conduct on themselves, assisted or guided by professional researchers, with the aim of improving their strategies, practices, and knowledge of the environments within which they practice.
Action Research
http://en.wikipedia.org/wiki/Action_research
http://www.web.ca/~robrien/papers/arfinal.html
AI in Education & ITS Researches
60
61
A Web-based Intelligent Tutoring System for Computer Programming
Abstract
Web Intelligence is a direction for scientific research that explores practical applications of Articial Intelligence to the next generation of Web-empowered systems. In this paper, we present a Web-based intelligent tutoring system for computer programming. The decision making process conducted in our intelligent system is guided by Bayesian networks, which are a formal framework for uncertainty management in Artificial Intelligence based on probability theory. Whereas many tutoring systems are static HTML Web pages of a class textbook or lecture notes, our intelligent system can help a student navigate through the online course materials, recommend learning goals, and generate appropriate reading sequences.
62
Developing Agent-oriented E-Learning Systems
Abstract
The paper proposes an agent-oriented extensible framework based on Extensible Markup Language (XML) family for building a hypermedia e-Learning system available on the World Wide Web. The paper is focus on the implementation solutions of an e-Learning (tutoring) Web-based system by deploying mobile agents that can exchange information in a flexible way via XML-based documents (such as RDF assertion or /and SOAP messages).
63
On the Prospects of IntelligentCollaborative E-learning Systems
AbstractCollaborative learning is question-driven and open-ended by nature. Many of the techniques developed for intelligent tutoring are applicable only in more structured settings, but fortunately there are other interesting opportunities to explore. In this paper we introduce a system called OurWeb, and use it as an exemplar framework for demonstrating some of these opportunities. We claim that effective participation in distributed and self-organizing collaboration requires suf- cient awareness of the resources and dynamics of the community. The feasibility of implementing certain features of this kind is evaluated based on data from two university level courses.