Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th • 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’. 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. 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 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 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 develop N. Jennings, K. Sycara, M. Wooldridge (199 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. "An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors." 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." 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 Barbara determine actions. ” Hayes-Roth 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 •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 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; 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 computerrelated 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 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. “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. 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. Intelligent Agents Intelligent Agents Interface Agents Hardware Agents Informatio n Agents Software Agents Cooperatio n Agents Transaction Agents Distributed Artificial Intelligence Parallel AI Distributed Problem Solving Multi-Agent System Rao/Georgeff ‘95 • Reactive agent • Deliberative agent • Hybrid agent Brooks ‘86 Agent Deliberative component World Model S e n s o r s Planner observations Plan executor E f f e c t o r s modifications Reactive component State1 Action1 State2 .. . Action2 Staten Actionn .. . 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: a sequence of agent message interactions with some common thread. (<Performative> :content <statement/speechact> :sender <name> :receive <name> :language <text> :ontology <text> ) Performative corresponds to speech act types. (ask-one :content (PRICE IBM ?price) :receiver stock-server :language LPROLOG :ontology NYSE-TICKS ) Query formulated using LPROLOG. Ontology is ‘computer systems’. Agents Platforms Communications Ontology Applications • A place where agents live not always needed • Agent management creation – termination security • Agent communication services • Agent directory services • 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 O1 fruit apple lemon orange • 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 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/ 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 55 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 56 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) 57 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) 58 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. http://en.wikipedia.org/wiki/Action_research http://www.web.ca/~robrien/papers/arfinal.html 59 60 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. 61 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). 62 Abstract Collaborative 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. 63