63
Software Agent Technology Asst.Prof. Surasak Mungsing Ph.D. [email protected]

Asst.Prof. Surasak Mungsing Ph.D. [email protected]

Embed Size (px)

Citation preview

Page 1: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Software Agent Technology

Asst.Prof. Surasak Mungsing [email protected]

Page 2: Asst.Prof. Surasak Mungsing 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

Page 3: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 4: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 5: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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!

Page 6: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 7: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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)

Page 8: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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.

Page 9: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

"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

Page 10: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

"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

Page 11: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

“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

Page 12: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 13: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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”

Page 14: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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.

Page 15: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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]

Page 16: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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.

Page 17: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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.

Page 18: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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]

Page 19: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

“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

Page 20: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 21: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Taxonomy of AgentsIntelligen

tAgents

HardwareAgents

Software

Agents

InterfaceAgents

Information

Agents

Cooperation

Agents

TransactionAgents

Intelligent

Agents

Page 22: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th
Page 23: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Classification Matrix

Page 24: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Information Agent

Page 25: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Cooperation Agent

Page 26: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Transaction Agent

Page 27: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th
Page 28: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Subareas of D.A.I.

Distributed Artificial Intelligence

Parallel AI

Distributed Problem Solving

Multi-Agent System

Page 29: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Agent as a Black Box

Page 30: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

The work of an Intelligent Agent

Page 31: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

BDI Architecture

Rao/Georgeff ‘95

Page 32: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

• Reactive agent• Deliberative agent• Hybrid agent

Agent Architectures

Page 33: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Architecture of deliberative agents

Page 34: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Architecture of reactive agents

Brooks ‘86

Page 35: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Hybrid Agent

Agent

Sensors

Sensors

Effectors

Effectors

Reactive component

State1

State2

Staten

Action2

Actionn

......

WorldModelWorldModel PlannerPlanner Plan

executorPlan

executor

Deliberative component

Action1

observations modifications

Page 36: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 37: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Dialog

Dialog: a sequence of agent message interactions with some common thread.

Page 38: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

KQML format

(<Performative>:content <statement/speechact>:sender <name>:receive <name>:language <text>:ontology <text>)

Performative corresponds to speech act types.

Page 39: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Important KQML speech act types

Page 40: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Important KQML speech act types

Page 41: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Example

(ask-one:content (PRICE IBM ?price):receiver stock-server:language LPROLOG:ontology NYSE-TICKS)

Query formulated using LPROLOG. Ontology is ‘computer systems’.

Page 42: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Using a Faciltator

Page 43: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th
Page 44: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Agents Platforms Communications Ontology Applications

Environment of Software Agent

Page 45: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

• A place where agents live not always needed

• Agent management creation – termination security

• Agent communication services• Agent directory services

Agent Platform

Page 46: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Agent Communications

Page 47: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

• 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

Page 48: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

Ontology - Example

O n tolog y O 1

a pp le le m on o ra n ge

fr u it

Page 49: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

• 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

Page 50: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 51: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th
Page 52: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th
Page 53: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th
Page 54: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th
Page 55: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 56: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 57: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 58: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 59: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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

Page 60: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

AI in Education & ITS Researches

60

Page 61: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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.

Page 62: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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).

Page 63: Asst.Prof. Surasak Mungsing Ph.D. surasak.mu@spu.ac.th

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.