| 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:
The Oxford Modern English Dictionary gives the following definitions: Autonomous:
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.
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. 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:
It would be quite upsetting if an agent that was entrusted the task of buying cinema tickets, would order flowers instead. If your agents constantly crash when trying to pay your monthly rent, you would soon be visited by your landlord. 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. 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:
|
||||||
| 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.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) Java
(Sun) 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 |
||||||
| 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:
For security reasons, when an agent travels, the receiver of the agent should be able to identify from where the agent originates. 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. 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
"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'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 delivers fast, focused and up-to-date financial information, free of charge.
The Agents Group of the MIT Media Laboratory has built agents for collaborative filtering of e-mail or news. 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 use Microsoft Excel spreadsheets to create advanced neural networks for adaptive artificial organisms and knowledge agents. Alexa Internet harnesses the collective wisdom and experiences of the Internet community to make recommendations on related sites. 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. 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."
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:
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 |
|
||||||
| 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/. |