Return to Home Page INTELLIGENT AGENTS
Overview of Intelligent Agents Technology

B Y   E D W I N   R O E S T E N B U R G

Intelligent Agents have been discussed for many years. The advent of the internet and the Java language has rekindled the enthusiasm, and within just a few years, an abundance of allegedly Intelligent Agents were created. However, no clear definition of what constitutes an Intelligent Agent has been established, with the result that the simplest of search engines and monitoring systems are now called Intelligent Agents. A discussion follows of what piece of software can be called an Intelligent Agent and why. In addition, disciplines are discussed that need to be understood for Intelligent Agents to be useful and effective.

What are Intelligent Agents? Although many definitions have been used to describe Intelligent Agents, no definition can thus far be considered definitive. It seems however that most serious researchers agree on the following two suppositions: 
  • Intelligent Agents are autonomous
  • Intelligent Agents are intelligent
Although the second supposition seems obvious, it will be shown that the general understanding of intelligence, as well as autonomy, is ambiguous. 

The Oxford Modern English Dictionary gives the following definitions: 

Autonomous:

    Acting independently, or having the freedom to do so.

    It is difficult to imagine a software agent that is free to do whatever it wants to do. It would be unacceptable for a software agent to suddenly buy a nice Porsche with money you don't have, without having told the agent to do so. This also raises the question of liability. 

    It is fair to say, that when it comes to software agents, the word autonomous should be interpreted differently (hence its ambiguity): 

    The ability to perform actions to reach a goal, without intervention from the owner, but not going beyond the limits bestowed upon the agent.

Intelligence:
    Wisdom, which is in turn defined as: Experience and knowledge together with the power of applying them critically or practically.

    This description contains ambiguous terms like 'critically' and 'practically', and hence the description itself is ambiguous. Unlike the relative ease of the new and more restrictive description for 'autonomy', it is not so easy to give a different (more restrictive) description of intelligence. 

In order for anything to be intelligent, a certain number of criteria must be met. The ones easily identified are perception, cognition and memory. Without memory, everything that is learned is immediately forgotten. Since intelligence involves learning, memory is a critical factor. In order to learn new things without actively being taught, perception is crucial. 

Although perception, cognition and memory are necessary for an agent to be intelligent, these ingredients are not sufficient. An agent that knows about your favorite music, but is unable to suggest new styles based on your interest, can hardly be called intelligent. It could, for example, suggest something new (which it may have stored beforehand) when there is currently nothing interesting for you on the radio. This scenario can be extended, but it should be clear by now that for an agent to appear intelligent it must be able to perform actions on its own. 

This example demonstrates the need of learning from observation and experience. If you don't want your agent to interrupt your dinner with new styles of music, the agent will learn this by observing your behavior (for example, you may turn the volume low or maybe even turn the radio off). This example also touches on the idea of an agent going someplace to learn something new. When an agent is stuck in a sandbox, without communication with other agents or other people, it will never expand its knowledge and experience beyond what it learns from you. Therefore, mobility and communication add to the usefulness of an agent. 

Additionally Intelligent Agents must be: 

  • Predictable

  • It would be quite upsetting if an agent that was entrusted the task of buying cinema tickets, would order flowers instead. 
  • Robust

  • If your agents constantly crash when trying to pay your monthly rent, you would soon be visited by your landlord. 
  • Effective

  • Overzealous agents that return all documents in the world on the growing of garden flowers would be of no use. The agent must know when to stop searching, and be able to filter the best information for you. 
Being adaptive is another key-point for the perception of intelligence. Many software packages can be adjusted by the user. For example, in some packages the user can choose to use a menu designed for novice users, and at a later time choose a more extensive menu structure designed for more experienced users. This is called adaptable. More and more packages suggest changes to the user interface, or user experience in general, based on user observation. For example, some packages suggest a different menu structure based on the time the user spends navigating through the menu. This is called adaptive. In terms of intelligence the latter (adaptive) has a higher ranking. 

Communication is not only necessary for intelligence, it is also important for autonomy. An agent that can communicate and ask other sources (possibly agents) for help, is much more autonomous than an agent that cannot. 

So, what constitutes an Intelligent Agent? The following are suppositions that need not be present in every Intelligent Agent; which criteria are important depends on the goal of the agent. 

Intelligent Agents are: 
 

  • mobile 
  • able to communicate 
  • pro-active 
  • re-active 
  • predictable
  • effective 
  • robust 
  • able to plan 
  • adaptive 
  • adaptable 
Related Disciplines It becomes obvious that in order to understand the possibilities of Intelligent Agents, and in order to be able to create useful Intelligent Agents, experience and knowledge in many related fields is needed. Some of these fields are: 

Artificial Intelligence

Intelligent Agents need to plan and reason about what they are doing. Further more, natural language processing for agent to human communication is important. These topics are discussed in the discipline of Artificial Intelligence. Note that Artificial Intelligence draws on Cognitive Psychology for gaining understanding of the thought process as conducted by human beings. 
Cognitive Psychology
An agent must be able to understand the tasks delegated to it, in order to create a proper plan for its execution. The agent also needs to be able to communicate to the user. Both these issues (problem understanding and human understanding) are topics in the field of cognitive psychology and bear a relation with the autonomy of agents. 
Human Computer Interaction
Requests made of Intelligent Agents may not always be exact. For an agent to effectively communicate with human beings, a more anthropomorphic and adaptive user interface is needed. In a travel agency you may ask for a nice sunny holiday around December. To convey this information to a software agent in a traditional user interface would be rather difficult: What does 'sunny' mean? What matches the criteria 'around December'? A human agent would easily come up with a nice holiday in beginning November if the price is significantly lower. However, we stated nothing about price in our question. 

Also at issue is the fact that agents interacting with human beings are useless if they cannot convey the information to their users. When a user can communicate with the agent on a more "human" level, the user will feel more in control. This feeling of control is important if agents are to be used as a mainstream technology. 

This explains somewhat why a more anthropomorphic user interface is required for an Intelligent Agent to be effective. Note that this again relates back to Artificial Intelligence in some respects (for example, natural language understanding). 

Sociology
Since in our definition of an Intelligent Agent, our agents are likely to roam the world in order to reach their goals, it seems reasonable to expect the agents to behave accordingly. Some topics may be fanciful in one country, but a taboo in another. Natural language (a problem much discussed within the Artificial Intelligence circles) in different countries is an issue not to be underestimated (doing so could cause your agents not to be useful, and could also cost you millions in lawsuits). 
Security Agents that go around giving your credit card number to everybody, thieving information, and sabotaging the military defense systems, are not considered friendly and secure. Obviously security is an important issue, and many algorithms for encryption (e.g. RSA), data hiding and procedure hiding have been developed. However, it is clear that encryption is only part of the equation. Agents should not be allowed to be malicious. This means that definitions and standards are needed to specify what agents can and cannot do. Deleting files from a computer's hard disk is something it should not be allowed to do, at least not without prior consent of the user. 

Agents that live forever could be considered viruses, and could potentially cause network congestion. Thus agents need an expiration date and time. If for some reason the agent refuses to die after expiration, the owner and the receiver should both be able to forcefully terminate the agent. For the owner this means possible remote termination. Remote control is also needed in case an agent needs to be called back (or terminated) because of a change in plans or when the agent has gone astray. 

The introduction of digital signatures has helped applet technologies to be more easily accepted. Digital signatures provide users with a means of disabling applets coming from a company the user does not trust. A similar mechanism (if not exactly the same) could be used for agent technology. 

Agent Architectures and Languages When building an agent architecture, one has to consider the communication standards, the execution standards and the environment in which agents live. 

Communication standards ensure that agents can convey information between one another and ask questions. However, this is only half the battle. Communication also means conveying information to the user (human being) and asking sensible questions of the user. For inter-agent communication, several standards have been proposed. One of these standards is IBM's JMT (Java-Based Moderator Templates for Multi-Agent Planning). For agent to user communication, developers have relied so far on the conventional graphical and command-line user interfaces. A more anthropomorphic user interface still remains to be established. 

When an agent travels to another place, it will need some means of interacting with and getting support from that place. Writing the "places" in the same language as the agent is written in certainly facilitates this, but, even then, execution standards are needed. When an agent arrives at a place, it needs to know how to interact with that place in order to perform its tasks. A universal language like Java is a great step forward in this respect. 

Languages proposed to build the different parts of an agent architecture (including "places") are TeleScript and Java. Although other languages can be used (like C++ and TCL), TeleScript and Java are mostly used today mainly because of their built-in facilities. See UMBC AgentWeb for a list of possible languages. Some features of TeleScript and Java are: 

TeleScript (General Magic)
TeleScript provides the environment (called "place") in which agents can live. On top of that, TeleScript has the simple "go" command that sends agents on their way to another place. The simplicity of these built in features is appealing, but comes at the price of less versatility (TeleScript is specifically written to program servers and networks). 

Java (Sun)
When Java is used for agents, it makes a difference whether you think in terms of applets or in terms of more general mobile code. Applets have the advantage that they are relatively easy to implement and that the transport mechanism is fully taken care of. The "place" an Applet travels to is typically a web-browser, and facilities for capabilities, expiration time and encryption are all in place. A disadvantage is that the Applet cannot roam; it is bound to the one place it is sent to. The Applet can send information back to the originator, but will not travel anywhere else. 

In terms of more general mobile code, one could think about using RMI (remote method invocation). Using this mechanism, it is relatively easy to build mobile code that can travel for as long as it likes. The "places" agents travel to can be anything that supports RMI and have a public HTTP-server or FTP-server. 

Java versus TeleScript
If you compare the two languages, they are conceptually very similar. The main difference is that TeleScript is specifically written to program servers and networks, whereas Java is more versatile. The languages can complement each other: TeleScript for agent simplicity and Java for the front end. 

Travel When we travel, we travel to one place at a time. Agents however, can be cloned, and each clone can be sent to a different place; thus, we have parallel travel. Obviously this can speed up the process significantly. Clones are often called offspring, and in this sense do not need to have the exact specification of their parent process. For example, offspring may not be allowed to create new offspring. The cloning process needs to be coordinated carefully, since unlimited cloning could leave you with millions of agents out there congesting the network. 

Another advantage of cloning is that the parent process stays on the sender's machine. This means that nobody but the owner can kill the agent, which in turn ensures that your agent will not die without your knowledge. This adds to the sense of security and being in control, an aspect that should not be underestimated. It is not yet known how the process of cloning can be controlled at a level other than the developer of the agent. It should be clear that some control beyond the developers' realm is needed, as the developers could have malicious intent. 

Agents need to carry a number of items with them when they travel: 

  • Authentication information.

  • For security reasons, when an agent travels, the receiver of the agent should be able to identify from where the agent originates. 
  • Current state and goal.

  • This facilitates communication. Without a goal, an agent would not have a reason to communicate. Without the current state, an agent would not know what to ask for. 
  • Capabilities.

  • What is the agent allowed to do (file read/write, system shutdown, credit card purchase, what type of agents can it communicate with, etc.)? 
Fields of Interest Knowing that Intelligent Agents draw on the knowledge contained in many different fields gives the impression that they can be used for many purposes. Although this statement is most certainly true, practicalities prevent us from doing so. With the advent of the Internet, mobility is no longer a big problem. Autonomy is feasible with current techniques, but by no means a trivial task. The more complicated requirement is intelligence. Intelligence has been discussed in relation to many fields. Some positive results have come from these. The discussion of these are beyond the scope of this paper, but the interested reader can look for example at AI Intelligence, where many of the results (like neural networks and genetic algorithms) are described. 

Knowing these limitations helps to understand why the scope of Intelligent Agents is currently somewhat limited. With the maturing of technology and understanding of the related fields, it should be possible to expand the scope. 

Examples As intelligence is an ambiguous term, classification of agents is difficult. The examples that follow are somewhat classified, but other classifications are certainly possible. Note that some agents may apply to more than one category. For example, shopping agents can be used at home, but also for e-Commerce. 

Business

  • WARREN INC

  • "Web Agents for Retrieval of Reliable Economic News for Investment Counseling" provides an integrated financial picture for managing an investment portfolio over time using the information resources already available over the Internet. 
  • IBM Conference Tracker

  • IBM's free Java-based service that lets you track and schedule technology conferences nationwide. Conference Tracker is an e-business solution that monitors over a thousand conferences around the U.S. and provides a fast, easy way to track and schedule them. 
  • FinanceWise

  • FinanceWise delivers fast, focused and up-to-date financial information, free of charge. 
Information search and filtering
  • Collaborative Interface Agents

  • The Agents Group of the MIT Media Laboratory has built agents for collaborative filtering of e-mail or news. 
  • Mata Hari

  • Mata Hari is the latest release of a powerful metasearch tool that lets you compose sophisticated query statements to gather information you want from the Web. 
  • DataBots with Imagination!

  • DataBots use Microsoft Excel spreadsheets to create advanced neural networks for adaptive artificial organisms and knowledge agents. 
  • Alexa Internet

  • Alexa Internet harnesses the collective wisdom and experiences of the Internet community to make recommendations on related sites. 
  • BullsEye

  • Rather than relying on a single agent technology, BullsEye uses a group of intelligent agents to accurately locate Web content, news, people, books, software, businesses, colleges, FAQs, and health answers. 
  • WiseWire

  • Company quote: "We like to think of WiseWire as a library in reverse. In an actual library, people search for interesting documents. In contrast, WiseWire is a virtual library where documents search for and find interested people." 
Desktop Agents
  • Remembrance Agents

  • Remembrance Agents are a new class of applications that watch over a user's shoulder and suggest information relevant to the current situation. While query-based memory aids help with direct recall, remembrance agents are an augmented associative memory. For example, a database or search engine can answer direct questions like "how do I get to Central Square?" Remembrance Agents instead offer the kind of information you didn't even know enough to ask about, like "there's a great coffee-shop just around the corner." 
Hurdles Finally, think about the possible hurdles that need to be overcome before agents will be commonplace. Agents need to be trustworthy and safe. This means ensuring a proper encryption for data, proper handling of capabilities, intelligence without doubt, and so on. Some of these hurdles are technical in nature, and some are already pretty much accepted (for example security). Others, like intelligence, need more research and time before an acceptable level will be reached where agents can be commonplace. Intelligence endeavors like Neural Networks, Classifier Systems and Genetic Algorithms have contributed significantly, but not yet sufficiently. 

A proper communication standard is needed. Again, this is not just a technical problem. Standards cause political battles as companies try to gain as much individually as possible. Politics sometimes obstructs the rapid use of good technology. IBM proposed their Java Moderator Templates Communication as a standard. 

The choice of a common language will facilitate the building of useful agents. Java is a good candidate for this, and will no doubt enable many companies to start building agents. Some companies that use Java to build tools and libraries to aid in the development of Intelligent Agents are: 
  • IBM
IBM's Intelligent Agents Home Page
  • Object Space
Voyager
  • General Magic
Odyssey

Liability is another problem to overcome. Every day, thousands of people make credit card purchases over the phone. Who is liable when you disagree? We can expect the same thing to happen with credit card purchases made by agents, whereby liability can be handled the same way. It is, however, worthwhile pointing out that this process of entrusting people over the phone, or for example in restaurants, with your credit card number is culture specific. Credit card use in Europe, for example, is very different from credit card use in the United States, in that the threshold of the trust-level is much higher. 

Conclusion It seems that there is a lot of potential for Intelligent Mobile Agents. Some of the difficulties are on a technical level, and will undoubtedly be resolved within the next few years. Other problems of a more human nature (like trust) will mainly take time. It is my firm belief that Intelligent Agents will be used, but the question is to what extend. Can we expect to see companies use Intelligent Agent for classifying and searching documents? I definitely think so. Can we expect to see home users trust Intelligent Agent to purchase a car for them? Probably not (although I'm sure agents will be used to help the process along). 

The potential is there, and many companies are taking a stab with different levels of success. It is not a question of whether Intelligent Agents will find their way into our lives, it is more a question of when

References
Return to Home Page As an Internet Specialist with Seer Technologies, Inc., Edwin Roestenburg has designed and implemented Web pages and online applications. He has several years of experience in research and industrial application of system design, human factors, and artificial intelligence. In particular he enjoys working with leading edge technologies such as VRML, XML, Java and of course Intelligent Agents. Edwin has a Master of Science in Human Computer Interaction from DeMontfort University and is a member of the Internet Technology Group and the Java Lobby.
Edwin can be reached at http://members.xoom.com/Antje_Edwin/