Intelligent agents behind autonomous machines
Intelligent machines would require the capability of the nervous system i.e. to operate many simultaneous foreground and background processes and bring background processes into the foreground immediately when necessary, says Sonal Chawla
OUR nervous system has the amazing capability of controlling many processes at different levels of conscious awareness. Consider a situation when a person is driving a car to a known and familiar destination while chewing gum and simultaneously having a serious political discussion with a friend sitting along. The argument may be at the highest level of consciousness followed by awareness of the familiar driving route and then by the sensation of gum in the mouth.
The noticeable thing,
however, here is that different processes are being controlled
simultaneously by our nervous system in addition to processes that are
going on at the sub-conscious level (watching traffic hazards on the
road) and body regulation processes (maintaining the heartbeat, focusing
the eyes on the road).
Truly intelligent machines would require this very capability of the nervous system that is to operate many simultaneous foreground and background processes and bring background processes into the foreground immediately when necessary. Such an autonomous, goal- directed computerised process that is launched into a computer system or network to perform background work while other foreground processes are continuing is called intelligent agent. An intelligent agent is a background process that sleeps until it wakes up on schedule or until a trigger sets into motion.
An agent, in fact, is defined as referring to a component of software or hardware that is capable of acting exactly in order to accomplish tasks on behalf of its user. It is an umbrella term, meta-term or class, which covers a range of other more specific agent types, and then goes on to list and define what these other agent types are.
Let us now investigate the typology of agents. Typology is the study of types of entities. There are several dimensions to classify existing software agents:
Firstly, agents may be classified by their mobility, i.e. by their ability to move around some network. This yields the classes of static or mobile agents. Mobile agents are computational software processes capable of roaming wide area networks (WANs) such as WWW, interacting with foreign hosts, gathering information on behalf of its owner and coming back home having performed the duties set by its user. These duties may range from a flight reservation to managing a telecommunications network.
Secondly, agents may be classed as either deliberative or reactive. Deliberative agents derive from the deliberative thinking paradigm i.e. the agents possess an internal symbolic, reasoning model and they engage in planning and negotiation in order to achieve coordination with other agents. These agents on the contrary do not have any internal, symbolic models of their environment, and they act using a stimulus or response type of behaviour by responding to the present state of the environment in which they are embedded.
Collaborative agents emphasise autonomy and cooperation (with other agents) in order to perform tasks for their owners. They may learn, but this aspect is not typically a major emphasis of their operation. In order to have a coordinated set up of collaborative agents, they may have to negotiate in order to reach mutually acceptable agreements on some matters. These agents play a major role in managing telecommunications networks and in business process management.
Interface agents emphasise autonomy and learning in order to perform tasks for their owners. They perform tasks of a personal assistant who is collaborating with the user in the same work environment.
Please do note the distinction between collaborating with the user and collaborating with other agents, as is the case with collaborative agents. Collaborating with a user may not require an explicit agent communication language as one required when collaborating with other agents.
How it works
Essentially, interface agentsí support and provide assistance, typically to a user learning to use a particular application such as a spreadsheet or an operating system. The user agent observes and monitors the actions taken by the user in the interface, learns new short cuts and suggests better ways of doing the task. Thus, the user agent acts as an autonomous personal assistant that cooperates with the user in accomplishing some task in the application. As for learning, interface agents learn typically to better assist its user in four ways, that is:
The agents may sometimes be classified by their roles. For example, WWW information agents. This category of agents usually exploits Internet search engines such as WebCrawler, Lycos and Spiders. Essentially, they help manage the vast amount of information in wide area networks like the Internet. These agents are referred to as information or Internet agents. These agents also play roles of report agents, presentation agents, analysis and design agents, testing agents, and packaging agents and help agents. Below drawn figure shows how an information agent, typically within some browser like Netscape, uses a host of Internet management tools such as Spiders and search engines in order to gather the information. The information agent may be associated with some particular indexer(s), e.g. a Spider. A Spider is an indexer able to search the WWW, depth-first, and store the topology of the WWW in a database management system (DBMS). Other searching and indexing engines or spiders such as Lycos or WebCrawler can be used similarly to build up the index.
The user information agent, which has been requested to collate information on some subject, issues various search requests to one or several URL search engines to meet the request. Some of this search may even be done locally if it has a local cache. The information is collated and sent back to the user.
The category of hybrid agents combines two or more agent philosophies in a single agent. Hybrid agents refer to those whose constitution is a combination of two or more agent philosophies within a singular agent. These philosophies include a mobile philosophy, an interface agent philosophy, collaborative agent philosophy, etc.
Heterogeneous agent systems, unlike hybrid systems described in the preceding section refers to an integrated set-up of at least two or more agents that belong to two or more different agent classes. A heterogeneous agent system may also contain one or more hybrid agents. The work on heterogeneous agent systems is ongoing and there is a need for methodologies, tools, techniques and standards for achieving such interoperability amongst heterogeneous information sources.
Possible intelligent agents include an e-mail agent, a data-mining agent, a newsagents etc. Each of these would operate in the background performing information related tasks that save time or increase the usefulness of information .The e-mail agent would scan incoming e-mail to identify the comparatively few incoming messages that call for the recipient to be interrupted instead of just going on a list to be read at the recipientís convenience. The data-mining agent would sort and filter data in a database to identify trends, surprises and other new information the user might want. The newsagent would scan articles in a computerised news service to cobble together a personalised daily news bulletin containing only articles of interest to a particular individual. These types of agents would be able to learn about the individualís changing interests instead of being told what to do by programming or by check off lists.
An intelligent agent can also be launched into a network to interrogate various travel providers to find the vacation that most closely suits someoneís desires. The other major areas are:
Systems and network management
Systems and network management is one of the earliest application areas to be enhanced using intelligent agent technology. The movement to client and server computing has intensified the complexity of systems being managed, especially in the area of LANs, and as network centric computing becomes more prevalent, this complexity further escalates. Users in this area (primarily operators and system administrators) need greatly simplified management, in the face of rising complexity. Agent architectures have existed in the systems and network management area for some time, but these agents are generally fixed function rather than intelligent agents. However, intelligent agents can be used to enhance systems management software. For example, they can help filter and take automatic actions at a higher level of abstraction, and can even be used to detect and react to patterns in system behaviour. Further, they can be used to manage large configurations dynamically.
Mobile access and management
As computing becomes more pervasive and network-centric, it shifts the focus from the desktop to the network. Users want to be more mobile and they not only desire to access network resources from any location they also want to access those resources despite bandwidth limitations of mobile technology such as wireless communication and network volatility.
Intelligent agents that reside in the network rather than on the users' personal computers can address these needs by persistently carrying out user requests despite network disturbances. In addition, agents can process data at its source and ship only compressed answers to the user, rather than overwhelming the network with large amounts of unprocessed data.
Messaging software (such a software for e-mail) has existed for some time and is also an area where intelligent agent function is currently being used. Users today want the ability to automatically prioritise and organise their e-mail, and in the future, would like to do even more automatically, such as addressing mail by organisational function rather than by person. Intelligent agents can facilitate all these functions by allowing mail handling rules to be specified ahead of time, and letting intelligent agents operate on behalf of the user according to those rules.
Information access and management
Information access and management is an area of great activity, going by the rise in popularity of the Internet and the explosion of data available to the users. Here, intelligent agents help users not only with search and filtering but also with the categorisation, prioritisation, selective dissemination, annotation, and (collaborative) sharing of information and documents.
Collaboration is a fast-growing area in which users work together on shared documents, using personal video-conferencing, or sharing additional resources through the network. One common denominator is shared resources, another is teamwork. Both of these are driven and supported by the move to network-centric computing. One of the most popular and most heard of examples of such an application is the groupware packet called
Workflow & administrative management
Administrative management includes both workflow management and areas such as computer or telephony integration, where processes are defined and then automated. In these areas, users need not only make processes more efficient but also has to reduce the cost of human agents. Intelligent agents can be used to ascertain and then automate the user wishes or business processes.
Adaptive user interfaces
Although the user interface has been transformed with the advent of graphical user interfaces (GUIs), for the most computers remain difficult to learn and use. As capabilities and applications of computers improve, the user interface needs to accommodate the increase in complexity. As user populations grow and diversify, computer interfaces need to learn user habits and preferences and adapt to individuals. Intelligent agents can help with both these problems.
When combined with
speech technology, intelligent agents enable computer interfaces to
become more human or more social while interacting with mortal users.