Intelligent Software Agents:
Definitions and Applications

David Wallace Croft
Senior Intelligent Systems Engineer
Special Projects Division, Information Technology
Analytic Services, Inc. (ANSER)
croftd@nexos.anser.org

1997-10-03


Definition: Agent

Agent:
One that is authorized to act for another. Agents possess the characteristics of delegacy, competency, and amenability.

Delegacy:
Discretionary authority to autonomously act on behalf of the client. Actions include making decisions, committing resources, and performing tasks.

Competency:
The capability to effectively manipulate the problem domain environment to accomplish the prerequisite tasks. Competency includes specialized communication proficiency.

Amenability:
The ability to adapt behavior to optimize performance in an often non-stationary environment in responsive pursuit of the goals of the client. Amenability may be combined with accountability.

Examples of human agents include booking agents, sales agents, and politicians.


Definition: Software Agent

Software Agent:
An artificial agent which operates in a software environment.

Software environments include operating systems, computer applications, databases, networks, and virtual domains.

Delegacy for software agents centers on persistence. "Fire-and-forget" software agents stay resident, or persistent, as background processes after being launched. By making decisions and acting on their environment independently, software agents reduce human workload by generally only interacting with their end-clients when it is time to deliver results. Additionally, autonomous automation can lead to super-human performance in terms of volume and speed.

Competency within a software environment requires knowledge of the specific communication protocols of the domain. Protocols such as SQL for databases, HTTP for the WWW, and API calls for operating systems must be preprogrammed into the software agents, limiting their useful range.

Amenability for non-intelligent software agents is generally limited to providing control options and the generation of status reports that require human review. Such agents often tend to be brittle in the face of a changing environment, necessitating a modification of their programming to restore performance.


Definition: Intelligent Software Agent

Intelligent Software Agent (ISA):
A software agent that uses Artificial Intelligence (AI) in the pursuit of the goals of its clients.

Artificial Intelligence is the imitation of human intelligence by mechanical means. Clients, then, can reduce human workload by delegating to ISAs tasks that normally would require human-like intelligence.

Many researchers that formerly referred to their work as AI are now actively engaged in "agent technology". Thus the word "agent" by itself generally connotes ISAs in the terms of the present-day research community.

Delegacy for ISAs is far more absolute. ISAs have the capability to generate and implement novel rules of behavior which human beings may never have the opportunity or desire to review. As ISAs can engage in extensive logical planning and inferencing, the relationship of trust between the client and the agent is or must be far greater, especially when the consumption of client resources is committed for reasons unexplained or multiple complex operations are actuated before human observers can react.

Competency as practiced by ISAs adds higher order functionality to the mix of capabilities. In addition to communicating with their environment to collect data and actuate changes, ISAs can often analyze the information to find non-obvious or hidden patterns, extracting knowledge from raw data. Environmental modes of interaction are richer, incorporating the media of humans such as natural language text, speech, and vision.

Amenability in ISAs can include self-monitoring of achievement toward client goals combined with continuous, online learning to improve performance. Adaptive mechanisms in ISAs mean that they are far less brittle to changes in environment and may actually improve. In addition, client responsiveness may go so far as to infer what a client wants when the client himself does not know or cannot adequately express the desired goals in definitive terms.


Agent Variants

Mobile Agents:
Also known as traveling agents, these programs will shuttle their being, code and state, among resources. This often improves performance by moving the agents to where the data reside instead of moving the data to where the agents reside. The alternative typical operation involves a client-server model. In this case, the agent, in the role of the client, requests that the server transmit volumes of data back to the agent to be analyzed. Oftentimes the data must be returned by the agent to the server in a processed form. Significant bandwidth performance improvements can be achieved by running the agents within the same chassis as the data. Mobile agent frameworks are currently rare, however, due to the high level of trust required to accept a foreign agent onto one's data server. With advances in technologies for accountability and immunity, mobile agent systems are expected to become more popular.

Distributed Agents:
Load-balancing can be achieved by distributing agents over a finite number of computational resources. Some mobile agents are self-distributing, seeking and moving to agent platforms that can offer the higher computational resources at lower costs.

Multiple Agents:
Some tasks can be broken into sub-tasks to be performed independently by specialized agents. Such agents are unaware of the existence of the others but nonetheless rely upon the successful operations of all.

Collaborative Agents:
Collaborative agents interact with each other to share information or barter for specialized services to effect a deliberate synergism. While each agent may uniquely speak the protocol of a particular operating environment, they generally share a common interface language which enables them to request specialized services from their brethren as required.

Social Agents:
Anthropomorphism is seen by some researchers as a key requirement to successful collaboration between humans and agents. To this end, agents are being developed which can both present themselves as human-like creations as well as interpret human-generated communications such as continuous speech, gestures, and facial expressions.


Application Generalities

Applications for Intelligent Software Agents (ISAs) include problem domains that require human-like intelligence operating autonomously.

A small list of the human-like intelligence capabilities that may be required of ISAs by the problem domain spans some of the most difficult areas of research being pursued in Artificial Intelligence (AI) to date.

Once the human-like intelligence capabilities are automated, however, autonomous operation permits ISAs to process vast volumes of data which would be unmanageable by human agents. Additionally, ISAs can analyze, assess, plan, and react to environmental events at super-human speeds.


Applications

To date, ISAs have been successfully employed in multiple application endeavors, some of which are listed below.

One might imagine an agent which is involved in all of these activities, sequencing through each of those states in response to environmental events, acting independently or in collaboration with a human client.


Clients

While AI methodologies have been in demand by potential consumers for some time, the recent enhanced accessibility of resources available via the Internet has raised the awareness among potential end-users of the need for ISA capabilities. The number of application arenas continues to expand as future clients increasingly find themselves swamped by information overload.

Application Arenas

End-Users

Information overload can be successfully managed by the employ of Intelligent Software Agents, effectively converting raw data into digestible knowledge and appropriate action.


References

Andrew Leonard
Bots: The Origin of New Species
Ch. 3.8, "MrChat meets dr. frankenstein", p55.
1997, HardWired: San Francisco

Lenny Foner, MIT Media Lab
"What's an Agent, Anyway? A Sociological Case Study"
http://foner.www.media.mit.edu/people/foner/Julia/Julia.html
1997-07-21

Stan Franklin and Art Graesser, Institute for Intelligent Systems, University of Memphis
"Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents"
http://www.msci.memphis.edu/~franklin/AgentProg.html
1996-06-19


Back

http://www.alumni.caltech.edu/~croft/research/agent/definition/
David Wallace Croft, croftd@nexos.anser.org
© 1997 Analytic Services, Inc. (ANSER)
Posted 1997-10-03.