Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Software Agents
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Software Agents: Characteristics and Classification


[attachment=26288]

Introduction

Before we try to define what is a Software Agent, let us first try to understand
the meaning and characteristics of an agent. We are all, in one sense or another,
familiar with the concept of an agent. Probably most of us have dealt with travel
agents and we know the role undertaken by them. The main representative role of
a travel agent, for example, is that it acts on behalf of others. This characteristic
can be considered as the first fundamental property of agency. A travel agent acts
on behalf of a traveler in a variable degree of autonomy. In other words, when a
travel agent calls an airline to reserve a seat, they do so autonomously; that is,
they do not tell the airline to whom do they need a seat, they just say we need a
seat. This is the second characteristic of agency – autonomy. A third characteristic
of an agent is the degree of proactivity and reactivity in their behavior.


What is an Agent?

Based on the above discussion, an agent can be defined, along with its
characteristics as follow:
“An agent is an entity that:
· acts on behalf of others in an autonomous fashion
· performs its actions in some level of proactivity and reactivity
· exhibits some levels of the key attributes of learning, co-operation, and
mobility.”
This definition, which is based on the definition given in [5], is equally true for
software agents. But what exactly is a software agent and how does it differ from
a software object? You may think of a software agent as one (or more) software
object(s) that conforms to the above characteristics of agents and can be described
as inhibiting computers and networks, assisting users with computer-based tasks.
It is the responsibility of the programmer, however, to determine what an agent
can do, as well as the information required from the user or software to have an
agent performs its actions in a reactive manner. The behavior of the agent can be
set by another software, which you can think of as a sort of a super agent, that
forks (or clones) new agents when a task requires extra help.


Classification of Software Agents

Classification refers to the study of types and entities. There are several
dimensions to classify existing software agents. They can be classified according
to: the tasks they perform; their control architecture; the range and effectiveness
of their actions; the range of sensitivity of their senses; or how much internal state
they posses [6]. In this paper we classify agents, along several ideal and primary
characteristics that agents should exhibit. We identify three characteristics:
autonomy, learning, and cooperation, which we have discussed in Section 1. Our
classification here is based on [4]. Let us start by elaborating a bit more on these
characteristics. Autonomy refers to the characteristic that an agent can operate on
its own without the need for human guidance.


Collaborative Agents

As the proliferation of computer communication networks was a big step toward
the development of “virtual societies”. Collaboration between individuals (in the
virtual society) requires that communication links be established and used
effectively. Distributed Artificial Intelligence, which is a subfield of Artificial
Intelligence, is concerned with a virtual society of problem solvers (agents)
interacting to solve a common problem [5].
The goal of collaborative agents is to interconnect separately developed
collaborative agents, thus enabling the ensemble to function beyond the
capabilities of any of its members. Implementing efficient ways of cooperation
among agents is actually one of the central issues for Multi-Agent Systems
development [19].