Sheffield Hallam University Overview

Download Report

Transcript Sheffield Hallam University Overview

Introduction to Intelligent Software
Agents
Martin Beer,
School of Computing & Management Sciences,
Sheffield Hallam University, Sheffield,
United Kingdom
[email protected]
Contents
• Agents as Tools of the Information Society
– Information Society
– Intelligent Software Agent as a tool of Information
Society
– Benefits from Intelligent Agent
• Fundamental Concepts of Intelligent Software Agents
– What is an Agent?
– Definition of Intelligent Software Agents
– Characteristics of Intelligent Software Agents
– Classification
The Information Society
• On the Way to the Information Society
– Digitization
– Networking
– Internet
• Tools of the Information Society
– Browsers
– Search Engines
Intelligent Software Agents
• Intelligent Agents are
– a new category of information society tools
– software programs that independently perform
tasks on behalf of a user in a network environment
• Intelligent Agents in the Business Area
• Intelligent Agents in the Private Area
Economic Potential(1/2)
• Potential Benefit from the User’s Viewpoint
– Improvement of efficiency in working with internet
• Time-saving
• Increase in speed of arriving at solutions in internet
– Improvement of effectiveness in working with
internet
• Overcome the characteristics of human problem solving
– Increase in the transparency and optimizations
• Comparing information from various sources
• User can select the most favorable
• Intelligent agents have made Adam Smith’s ‘Invisible
hand’ visible in the electronic business world
Economic Potential(2/2)
• Potential Benefit from the Viewpoint of the
Information and Communications Industry
– Sales for intelligent agent (OVUM’s expectation)
• 19 million dollars in 1996
• 357 million dollars in 1998
• 4.6 billion dollars in 2006
– OVUM expects that the agents for private
household will become the primary innovation
factor and from the start of the next millennium the
sales with private households will exceed those of
business and government
What is an Agent?
• Agents are autonomous
– Capable of acting independently
– Over their own internal state
System
Output
Input
Environment
What makes Agents
Interesting?
• Trivial (ie non-interesting) agents
– Thermostat
– Unix daemon (biff, ftpd etc)
• An intelligent Agent is a computer system capable of
flexible autonomous action in some environment
(Mike Wooldridge)
• By flexible we mean
– Reactive
– Pro-active
– social
Reactivity
• If a program’s environment is guaranteed to
be fixed, the program need never worry about
its own success or failure
– Example of a fixed environment – a compiler
• The real world is not like that
• Things change
• Information is incomplete
– Many (most?) environments are dynamic
Reactivity
• Software is hard to build for dynamic
environments
– Program must take into account the possibility of
failure
– Ask itself whether it is worth executing!
• A reactive system is one that maintains an
ongoing interaction with its environment and
responds to changes that occur in it
– (in time for the response to be useful)
Proactiveness
• Reacting to the environment is easy
– (eg stimulus -> response rules)
• But we generally want agents to do things
for us
• Hence goal directed behaviour
• Proactiveness = generating and attempting to
achieve goals
– Not driven solely by events
– Taking the initiative
• Recognising opportunities
Social Ability
• The real world is a multi-agent environment
– We cannot go around attempting to achieve goals without
taking others into account
• Some goals can only be achieved with the
cooperation of others
– Similarly for many computer environments – witness the
Internet
• Social ability in agents is the ability to interact with
other agents (and possibly humans) via some kind of
agent communication language and perhaps
cooperate with others
Other Properties
• Mobility
– The ability of an agent to move around an electronic network
• Veracity
– An agent will not knowingly communicate false information
• Benevolence
– Agents do not have conflicting goals, and that every agent
will therefore always try to do what it is asked of it
• Rationality
– Agent will act to achieve its goals, and will not act in such a
way as to prevent its goals from being achieved – at least
insofar as its beliefs permit
• Learning/adaption
– Agents improve their performance over time
Definition of Intelligent Software
Agents(1/2)
• Three Major Categories of Agents
– Human Agent / Hardware Agent / Software Agent
Definition of Intelligent Software
Agents(2/2)
• Two Major Requirement for Intelligent Agent
– Autonomous Processing
– Communication / Cooperation with other objects
• A Definition of Intelligent Software Agent is
– a software program that can perform specific tasks
for a user and possesses a degree of intelligence
that permits it to perform parts of its tasks
autonomously and to interact with its
environment in a useful manner
– Information / Cooperation / Transaction Agent
Information Agent
• Task
– search for information in distributed systems or
networks
• locate information sources
• extract information from the sources
• filter the information of relevance for the user from the
total quantity of found information using the user’s
interest profile
• prepare and present the results in an appropriate form
Cooperative Agents
• Task
– solve complex problems by using communication and
cooperation mechanisms with other objects, such as
agents, humans or external resources
• used when a problem exceeds the capabilities of
an individual agent or agents already exist that
already have a solution and whose knowledge
can be used by other agents
• The demands on intelligence are higher than
that of pure information agent
Transaction Agent
• Task
– processing and monitoring of transaction in classical
database environments and in the areas of network
management and electronic commerce
• Such agents normally operate in very sensitive
areas and represent their users for tasks that
demand a high degree of responsibility, for
example in the purchase of products using a
user’s credit card
Characteristics of Intelligent Software
Agents(1/2)
• The characteristics can be grouped into two
large categories : internal and external
• Internal properties
– determine the actions within the agent
– Ex : the ability to learn, reactivity, autonomy,
goal-oriented
• External properties
– affect the interaction of several agents or humanagent communication
– Ex : communication, cooperation
Characteristics of Intelligent Software
Agents(2/2)
Internal Properties(1/4)
• Reactivity :
– Capability of reacting appropriately to influences
or information from its environment
– Agent must have suitable sensors or possess its
own internal model of its environment
• Proactivity / goal-orientation
– Capability for an agent itself to take the initiative
under specific circumstances
– Require that the agent has well-defined goals or
even a complex goal system
Internal Properties(2/4)
• Reasoning / learning
– The intelligence of an agent is formed from three main
components:
• its internal knowledge base,
• the reasoning capabilities based on the contents of the
knowledge base,
• and the ability to learn or to adapt to changes to the
environment.
– Reasoning power requires rationality
– Rational processing requires the existence of a goal system
– Ability to learn from previous experiences and to
successively adapts its behavior to the environment is as
important for the intelligent behavior of an agent
Internal Properties(3/4)
• Autonomy
– Capability to follow its goals autonomously, that is,
without interactions or commands form the
environment
– To permit autonomous behavior, agent must be
provided with those resources and capabilities,
e.g.
• availability of an electronic network,
• capability to navigate through the network(mobility),
• capability to make contact with other
agents(communication).
• Goal-orientation and ability to learn.
Internal Properties(4/4)
• Mobility
– Ability to navigate within electronic communications
networks
– Demands on network environment and raise questions
regarding security, data privacy, and management
– Reduces the network loading. It can go to the computer or
agents with the required information, not sending a series of
messages over network. Then perform all tasks locally on
the target computer
– Agency : Meeting points, serves as marketplace or
discussion and communication forum
External Properties(1/2)
• Communication / Cooperation
– Interaction with its environment(human users,
other agents, arbitrary information sources)
– Communication require standardized protocol for
exchange of information
– Cooperation must augment the communications
capability
External Properties(2/2)
• Character
– It’s desirable for agent to demonstrate human
traits
– An agent’s most important characteristics are
honesty, trustworthiness, and reliability
– It is important that agents with a high degree of
interaction with people exhibit emotional states,
such as joy, sadness, frustrations.
Classification
• Three Criteria
– Intelligence, Mobility, Number of Agents
Information Agents
Cooperation Agents
Transaction Agents
Agents and Objects
• Are agents just objects by another
name?
• Object
– Encapsulates some state
– Communicates by message passing
– Has methods, corresponding to operations
that may be performed on this state
Main Differences
• Agents are autonomous
– Agents embody a stronger notion of autonomy than objects,
and in particular, they decide for themselves whether or not
to perform an action on request from another agent
• Agents are smart
– Capable of flexible (reactive, pro-active, social) behaviour,
and the standard object model has nothing to say about
such types of behaviour
• Agents are active
– A multi-agent system is inherently multi-threaded, in that
each agent is assumed to have at least one thread of active
control
Summary
• An agent is a computer system that is
capable of independent action on behalf of
its user or owner
• A multi-agent system is one that consists of a
number of agents which interact with one
another
• In order to interact successfully, agents need
the ability to cooperate, coordinate and
negotiate
Two key problems
• How do we build agents that are capable of
independent, autonomous action in order to
successfully carry out tasks that we delegate to
them?
• How do we build agents that are capable of
interacting (cooperating, coordinating, negotiating)
with other agents in order to successfully carry out
the tasks that we delegate to them, particularly when
other agents can not be assumed to share the same
interests/goals?