Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

Software Agents

ECEG-7521

Introduction

Surafel Lemma Abebe (Ph. D.)


Outline
• What are software agents?
• Software agents vs. software
• Agents vs. objects
• Types of software agents

Surafel Lemma Abebe (Ph.D.) 2


What are software agents?
• Agents and multi-agent systems (MAS)
– Are branch of Artificial Intelligence (AI)
– Attempts to combine
• AI
• Distributed system
• Software engineering

• Evolved from multi-agent systems (MAS) which fall under distributed artificial
intelligence (DAI)

• DAI
– Focus on development of distributed solutions for complex problems regarded as
requiring intelligence

• Agents inherit many of DAI’s and AI’s motivations, goals and potential benefits
– Modularity, speed, reliability
– Operation at the knowledge level, easier maintenance, reusability and platform
independence
Surafel Lemma Abebe (Ph.D.) 3
What are software agents?
• Defining agents is difficult. Why?
– Agent researchers do not own the term agent
– Is an umbrella term for a heterogeneous body of research and
development

• Synonyms
– Knowbots (knowledge-based robots), softbots (software robot), taskbots
(task-based robots), …

– Reasons for having synonyms


1. Agents come in many physical guises
factory => robots, computer networks => softbots, perform specific task
=> taskbots
2. Agents can play many roles
Personal assistance => knowbots
3. Multiplicity of roles
Many adjectives (e.g., search agents, report agents, …)
Surafel Lemma Abebe (Ph.D.) 4
What are software agents?
• Some definitions
– “An agent is anything that can be viewed as perceiving its
environment through sensors and acting on that environment
through effectors” (Russell and Norvig 1995)

– “[An agent is] a piece of software that performs a given task


using information gleaned from its environment to act in a
suitable manner so as to complete the task successfully. The
software should be able to adapt itself based on changes
occurring in its environment, so that a change in circumstances
will still yield the intended result” (Hermans 1996)

– “A software entity that performs tasks on behalf of another


entity, be it a software, a hardware, or a human entity” (Shehory
2014)

Surafel Lemma Abebe (Ph.D.) 5


What are software agents?
• Dimensions of agenthood
– Core set that we find central to the definition and
development of software agents
• Autonomy
• Intelligence
• Sociality
• Mobility

Surafel Lemma Abebe (Ph.D.) 6


What are software agents?
• Dimensions of agenthood…
– Autonomy
• Refers to the ability of an agent to perform unsupervised
computation and action, and to pursue its goals without
being explicitly instructed for doing so
• Refers to the encapsulation of data and functionality
within the agent
• Autonomous agent is assumed to have full control of its
internal state and its behaviors

Surafel Lemma Abebe (Ph.D.) 7


What are software agents?
• Dimensions of agenthood…
– Autonomy…
• Autonomy enabling components
– Internal state
» Holds and maintains the state of the agent in its environment
as perceived and interpreted by the agent itself
» E.g., agent location
– Behavior
» Allow an agent to pursue its goals in an autonomous manner
» Initiated and controlled by the agent
» Is an activity comprised of more than one elementary action
– Pro-activeness
» Agent initiates actions, e.g., in anticipation of states and events
» Suggests a higher level of agent autonomy
» Could exist with re-activeness

Surafel Lemma Abebe (Ph.D.) 8


What are software agents?
• Dimensions of agenthood…
– Intelligence
• Software agents need not be intelligent; however,
intelligence and agenthood are frequently associated with
one another
• Originates from the agent having to act on behalf of another
• Intelligent agents
– Agents that reason about serving others and act accordingly
• Agent intelligence may require capabilities such as
– Learning, reasoning, planning, and decision making
» Allow agent to make educated decisions and to behave
rationally
» Allow agent to be goal-oriented

Surafel Lemma Abebe (Ph.D.) 9


What are software agents?
• Dimensions of agenthood…
– Intelligence…
• To facilitate the capabilities mentioned above, an agent
may need some specialized software constructs
– E.g., BDI (Belief Desire Intention)
» Belief component holds facts that are believed to be true
by the agent
» Desire (Plan) component builds and manipulate plans
» Intention component for plan selection
• Involves filtering, refinement, and eventually
decision-making mechanism

Surafel Lemma Abebe (Ph.D.) 10


What are software agents?
• Dimensions of agenthood…
– Intelligence…
• E.g., goal based agent architecture
– Agent interacts with the environment by receiving sensors (or
other) input and acting on the environment via actuators
– Reasoning component may rely on
» Rule base
» An inference system
» A decision tree

Surafel Lemma Abebe (Ph.D.) 11


What are software agents?
• Dimensions of agenthood…
– Sociality
• Agent might need to interact with other agents and coordinate,
collaborate, or compete to meet its goals
• Infrastructure level communication component
– Should allow message sending, receiving, and processing
– Should support specific communication languages, message formats, and
protocols
– Should be able to parse and understand messages
• Architecture should include models or data of both self and other agents
– E.g., contact info., capabilities, logs of past interactions
• Reasoning component should include means for reasoning about others
and about the interaction with them
• Same for planning, decision making, and learning modules
– i.e., shared plans, joint decision making, multi-agent adaptation and learning
• Mechanisms for collaboration, for team and coalition formation could be
required
• Should have negotiation and argumentation modules to be used in
competitive environment
Surafel Lemma Abebe (Ph.D.) 12
What are software agents?
• Dimensions of agenthood…
– Mobility
• Agents may be able to change their logical or physical location
• When do we say an agent moved?
1. When agent moves from its current execution environment to another
2. When agents reside on mobile devices and the device moves
• Mobility type (1) requires more infrastructure than (2)
– Agent moving to another execution environment
» Needs to save record its state before moving
» Generate a copy of itself on the target host
» Stop its execution on the source host
» Resume execution on the target
• Target host requirement
– Infrastructure such as docking station
» Resources required for execution by agent
» Guard the target host from over exploitation and attacks

Surafel Lemma Abebe (Ph.D.) 13


What are software agents?
• Dimensions of agenthood…
– Other dimensions
• Adaptability
• Agent emotion
• Agent security
• …

Surafel Lemma Abebe (Ph.D.) 14


Software agents vs. software

Surafel Lemma Abebe (Ph.D.) 15


Software agents vs. objects
• Objects definition
– Computational entities that encapsulate some state, are able to
perform actions, or methods on this state, and communicate by
message passing

• Differences between objects and agents


1. Degree to which agents and objects are autonomous
• Object is thought to exhibit autonomy over its state through
encapsulation
• But object doesn’t have control over its behavior
– If a method is public, other objects can invoke it whenever they wish
• Agents request actions to be performed
– The request could be denied by the agent that receives the request
• Summary (slogan)
Objects do it for free; agents do it for money

Surafel Lemma Abebe (Ph.D.) 16


Software agents vs. objects
• Differences between objects and agents…
2. Flexible (reactive, pro-active, social) autonomous
behavior
• Objects have nothing to build systems that integrate these types of
behaviors

3. Thread of control
• Standard object model has a single thread of control in the system
• Many efforts to concurrency in object-oriented programming
– E.g., thread in JAVA
– But do not capture the idea we have of agents as autonomous entities
• Each agent is assumed to have at least one thread of control in a
multi-agent system

Surafel Lemma Abebe (Ph.D.) 17


Types of software agents
• Systematic classification of agents
– Several dimensions to classify agents
• Mobility: static or mobile
• Pro-active or re-active
• Combining some dimensions

Surafel Lemma Abebe (Ph.D.) 18


Types of software agents
• Collaborative agents
– Emphasize autonomy and cooperation
– Could learn
– May have to negotiate in order to reach mutually acceptable
agreements on some matters
– General characteristics
• Autonomy
• Social ability
• Responsiveness and pro-activeness
=> Hence, they are (or should/would be) able to act rationally and
autonomously in open and time-constrained multi-agent environments
– Goal
• Creating a system that interconnects separately developed
collaborative agents
– Enable the ensemble to function beyond the capability of any of its members

Surafel Lemma Abebe (Ph.D.) 19


Types of software agents
• Collaborative agents…
– Motivation
• To solve problems that are too large for a centralised single agent to do
• To allow for the interconnecting and interoperation of multiple existing
legacy systems
• To provide solutions to inherently distributed problems
• To provide solutions which draw from distributed information sources
• To provide solutions where the expertise is distributed
• To enhance
– Modularity (which reduces complexity)
– Speed (due to parallelism)
– Reliability (due to redundancy)
– Flexibility (i.e. new tasks are composed more easily from the more modular
organization)
– Reusability at the knowledge level (hence shareability of resources);
• To research into other issues, e.g. understanding interactions among
human societies

Surafel Lemma Abebe (Ph.D.) 20


Types of software agents
• Collaborative agents…
– Challenges
• Engineering the construction of collaborative agent systems
– Design methodologies/meta-tools which allow for quicker implementation
• Inter-agent coordination
– Should agents be allowed to lie or be truthful when negotiating
– Develop theories of coordination to avoid deadlocks
• Stability, scalability and performance issues
– Minimum levels of performance
– Stability needs to be formally proven
• Legacy systems
– A way to integrate agents and legacy systems
• Learning
– Would learning not lead to instability?
– How to ensure that agent spend much time learning, instead of participating in its setup?
• Evaluation of collaborative agent systems
– How to verify and validate to ensure they meet their functional specification?
– Are unanticipated events handled properly?

Surafel Lemma Abebe (Ph.D.) 21


Types of software agents
• Interface agents
– Emphasize autonomy and learning in order to
perform tasks
– Example
• Personal assistant who is collaborating with the user in
the same work environment
– Difference with collaborative agents
• May not require an explicit agent communication
language

Surafel Lemma Abebe (Ph.D.) 22


Types of software agents
• Interface agents…
– Support and provide assistance
– Learns in four ways
• By observing and imitating the user
• Through receiving positive and negative feedback from the user
• By receiving explicit instructions from the user
• By asking other agents for advice

Surafel Lemma Abebe (Ph.D.) 23


Types of software agents
• Interface agents…
– Objective
• To have indirectly managed human-computer interface
• To help untrained users use the computer and network
– Engage user in cooperative process in which human and software agents can
both initiate communication, perform tasks and monitor events

• Hypothesis
– Agents can be trusted to perform competently some tasks delegated to them
by their users

• Requirement
– There is substantial repetitive behavior in using the application
» Helps learning
– The repetitive behavior is potentially different for different users
» If the same, a knowledge base approach could be used

Surafel Lemma Abebe (Ph.D.) 24


Types of software agents
• Interface agents…
– Motivation
• Reduce work and information overload
• To delegate boring and laborious tasks
– Benefits
• General Benefits
– Make less work for the end user and application developer
– Adapt, over time, to its user’s preferences and habits
– Know-how among the different users in the community may be shared
» E.g. when agents learn from their peers
• Memory aid
– Retrieve documents/emails similar to the one at hand
• Filtering
– E.g., type of news
• Match making
– E.g., buyers and sellers

Surafel Lemma Abebe (Ph.D.) 25


Types of software agents
• Interface agents…
– Challenges
• Demonstrating usability and if it really reduces user’s
workload
• Testing and selecting the best machine learning technique
• Analyzing the effect of various machine learning
mechanisms on the responsiveness of agents
• Extending interface agents to be able to negotiate with other
peer agents
• Improve competency to gain users’ trust
• Guaranteeing the users’ privacy

Surafel Lemma Abebe (Ph.D.) 26


Types of software agents
• Mobile agent
– Computational software processes capable of roaming wide
area networks (WANs) such as the WWW
– Interacting with foreign hosts, gathering information
– Are autonomous and cooperative
– Could exchange data or information with other agents without
necessarily giving all its information away

– Hypothesis
• Agents need not be stationary

– Motivation
• Have practical advantage
– E.g., reservation agents

Surafel Lemma Abebe (Ph.D.) 27


Types of software agents
• Mobile agent…
– Benefit
• Reduced communication costs
– E.g., transferring raw data
• Limited local resources
• Easier coordination
• Asynchronous computing
– Could operate when you are not even connected
• Flexible distributed computing architecture
• Provide more choice for consumers

Surafel Lemma Abebe (Ph.D.) 28


Types of software agents
• Mobile agent…
– Challenges
• Transportation
– How does an agent move from place to place? How does it pack up and
move?
• Authentication
– How do you ensure the agent is who it says it is, and that it is
representing who it claims to be representing?
– How do you know if it has navigated various networks without being
infected by a virus?
• Secrecy
– How do you ensure that your agents maintain your privacy?
– How do you ensure someone else does not read your personal agent and
execute it for his own gains?
– How to ensure your agent is not killed and its contents core-dumped?

Surafel Lemma Abebe (Ph.D.) 29


Types of software agents
• Mobile agent…
– Challenges…
• Security
– How do you protect against viruses?
– How do you prevent an incoming agent from entering an endless loop
and consuming all the CPU cycles?
• Cash
– How will the agent pay for services?
– How do you ensure that it does not run unnecessarily and run up an
outrageous bill on your behalf?
• Performance
– Effect of having thousands or millions of such agents on a WAN?
• Interoperability/communication/brokering services
– How to manage language differences?
– …

Surafel Lemma Abebe (Ph.D.) 30


Types of software agents
• Reactive agent
– Do not possess internal, symbolic models of their environments
– Act/respond in a stimulus-response manner to the present state of the
environment in which they are embedded
– Simple and interact with other agents in a basic way

– Hypothesis
• Smart agent systems can be developed from simple agents which do not have
internal symbolic models, and whose smartness derives from the emergent
behavior of the interactions of the various modules

– Motivation
• Robustness and fault tolerance
• Flexibility and adaptability
• Response times

Surafel Lemma Abebe (Ph.D.) 31


Types of software agents
• Reactive agent…
– Challenges
• Expanding the range and number of applications based
on reactive agents
• Methodology
• Non-functional issues
– Scalability and performance

Surafel Lemma Abebe (Ph.D.) 32


Types of software agents
• Hybrid agent
– Refer to those whose constitution is a combination of two or
more agent philosophies within a singular agent
– Mix different types of agents and minimize deficiencies and
maximize strengths

– Hypothesis
• For some application, the benefits accrued from having the
combination of philosophies within a singular agent is greater than
the gains obtained from the same agent based entirely on a singular
philosophy

– Challenges
• Hybridism usually translates to ad hoc or unprincipled designs
• Expanding the range and number of applications
– They are very application-specific
Surafel Lemma Abebe (Ph.D.) 33
Types of software agents
• Heterogeneous agent systems
– Refers to an integrated set-up of at least two or more agents which
belong to two or more different agent classes
– May also contain one or more hybrid agents

– Hypothesis
• Programs that interoperate would provide added value as an ensemble than
they do individually

– Benefits
• Standalone applications can be made to provide value added services
• Increase the lifetime of legacy system
– How?
» Re-writing
» Transducer
» Wrapper

Surafel Lemma Abebe (Ph.D.) 34


Types of software agents
• Heterogeneous agent systems…
– Challenges
• What is appropriate agent communication language?
• How are agents capable of communicating in this
language constructed?
• What communication architectures are conducive to
cooperation?

Surafel Lemma Abebe (Ph.D.) 35

You might also like