- Interfacing with other similar processes across the network
- Collaboration / Negotiation with such processes to achieve a goal
- Reactivity to perceived changes in its environment
- Taking the initiative to proceed into goal-directed actions, a behaviour called proactiveness
- Supporting its operation in an autonomous manner, that is, requiring minimal or no human interaction.
- Personal Assistants : Self-Contained systems that schedule, organise and optimize personal productivity tasks. Possible applications include mail filtering and classification systems, meeting schedulers and miscellaneous information filters.
- Visitor Hosting Systems where the hosting and scheduling of activities, meetings and events participated to by visitors at a site, are organized and coordinated through the cooperation of local agents with the visitors' personal agents. An example of such a system is the Visitor Hosting System at Carnegie Mellon University.
- Data Mining where information-specific agents provide a context for data searches in vast databases or other information sources (like the web for example) from which, cooperating intelligent personal agents will extract a selection of useful information. This field is one of the fastest-evolving ones at the moment given the explosive growth of the amount of accessible information via networks and communications.
- Network Management where collaborative agents collect and exchange local information on network statistics in order to achieve automation and optimization of decisions on network administration tasks like routing, access, service provisions, monitoring and statistical evaluation, within a global view.
- Air/Land Traffic Control in which a multi-agent system is installed in both controlling sites and travelling vehicles to help resolve control decisions in routing and scheduling.
- autonomy
- the ability to self-support its operation without the intervention of human or others, as well as the ability to retain control over its actions and internal states
- social ability
- the ability to interface and interact with other agents via a communication language
- reactivity
- the behavior according to which perception of environmental changes results to a response by the agent in a timely fashion
- proactiveness
- the ability to take the initiative and thus exhibit, self-contained goal-directed behaviour
- mobility
- By mobility, we mean the capability of an agent to move around some network. So we may class agents as static or mobile
- behavioural model
- We may also class agents considering the way they model their environment and internal states. Deliberative Agents possess an internal symbolic reasoning model and use it for planning and negotiation to achieve coordination. Reactive agents do not have any internal representation of their environment and use a stimulus-response behaviour model.
- primary attributes
- Other ideal primary attributes of agents can be used to classify them. Nwana proposes three: autonomy , learning and cooperation . Of course all agents will exhibit all these three at least at a minimal degree. But the level of sophistication that an agent exhibits in each of these, will allow us to classify agents as collaborative , colaborative learning , interface and smart .
- roles
- A last and less well-defined criterion is the role of an agent. Identifying agents by their role is a method subject to interpretation, but we can roughly identify some major roles of general nature, such as information agents (e.g. internet search bots) or control agents (e.g. train traffic control systems).
- Name
- Contact number
- Ticket or Reservation Type (more on this below)
- Address
- Remarks
- Historical remarks
- Agency address
- Fax No
- Fragile baggage
- First available flight
- Group seat request
- Medical case
- Meal details (baby, vegetarian, religion-based etc)
- Disabilities (wheelchair, blind, deaf etc)
- Smoking or non-smoking seat
- Departure city
- Arrival city
- Date required for travel
- Choice of carrier
- Direct or flight with connecting city
- One-way or return booking
- HOTEL NAME
- In date
- Out date
- Room type
- Currency
- Visa and Health Information
- Weather
- Tourist Attractions
- Human-like nature which implies high standards of user friendliness
- Autonomy-Intelligence
- Initiative, which can be used to make offers to customers, (i.e. does not depend on user's initiative).
- Also plans for implementing learning and creativity can allow a travel agent to treat customers on a more personal basis.
- When customers know exactly what they want they can make a phone call to their favourite travel agency and book in a matter of minutes.
- When customers know exactly what they want they can connect to a relevant web site, or even connect to several web sites and compare ticket prices. The big drawback though is that at peak hours, (usually at noon), Internet access is really slow and it can get quite annoying.
- When customers book through human travel agents they usually expect, (and receive), good service. They rely on the agents and can blame them if something goes wrong with the booking.
- When booking through software agents, success depends on the customer. If anything goes wrong, the customer cannot hold anyone else responsible but himself.
- Uncertain customers can seek the advice of their favorite travel agency regarding where they should go according to the money they have available and their personal desires.
- Uncertain customers that are seeking advice from software agents on the Web have no hope in finding any, (at least for the next few years).
- Abstract:
The evolution of modern software agent technology has given rise to an extensive overuse of the term agent. The result of this abusive usage of the word agent and the terminology that relates to it, is a great confusion as to what an agent is, what types of agents can be identified, and what are the properties and characteristics with respect to which such an identifications can be achieved. Further, due to the recent broadening of application areas we shall need a typology framework as a ground for our discussion of agent systems. We shall use these fundamental elements of agent theory to investigate potential software agent uses in travel resrvation systems. We need to analyze the needs and specifications of travel reservation systems, and find solutions or proposals for agent systems based on our typology. We shall also look at some examples of applications of the like that are currently available on-line, and comment on them in a brief case-study. Finally, we shall attempt an approach to other, more deep issues, concerning agent systems as models of minds and the application of agent theory to the fields of artificial intelligence. We will not properly address these issues, we will simply provide the reader with some thoughts, ideas and questions on the general subject of agent theory and intelligent systems, solely as a starting point for further research.
Contents
1 Software Agents
- 1.1 Intelligent Systems?
- 1.1 What is an agent anyway?
- 1.2 Agent applications
- 1.2 Agenthood
- 2.1 A weak notion of agency
- 2.2 A critique on the weak notion of agency
- 2.3 A strong notion of agency
- 1.3 Agent Types
- 3.1 Classification criteria
2 Travel Reservation Systems: General Structure
- 2.1 General Descriptions
- 2.2 System Basics
- 2.3 Main Facilities of Reservation Systems
- 3.1 Passenger Records
- 3.2 The Beginning Of A Journey
- 3.3 Other Basic Features
- 3.4 Further Services
- 2.4 Some Hidden Details
- 2.5 Travel Reservation Systems: Conclusions
3 Software Agent Application
- 3.1 Our Definition of a Software Agent
- Figure 1 : Model of a Software Agent
- 3.2 Autonomy... a key feature
- 3.3 A Clerical Agent...and how some of its features could be inherited by a Travel Agent
4 Case Study : Examples of Current Applications
- 4.1 Travel Information Software Systems
- Figure 2 : A typical agent form
- 4.2 Travelocity
- 4.3 Finally, A Friendly User Interface?
- 4.4 Picking up the phone vs Turning on the computer
- 4.1 Time Consumption:
- 4.2 Reliability:
- 4.3 Support:
5 Afterthoughts : on minds and their ways...
- 5.1 A theory of minds
- 5.2 Is Deep Blue intelligent?
- 5.3 A society of agents
- 5.4 Minds and systems
- 5.5 Motivations
- 5.6 More questions
1 Software Agents
1.1 Intelligent Systems?
Personal Digital Assistants (PDAs) that can automatically arrange your meetings and timetable in collaboration with your cooperate's PDAs? Or PDAs than can schedule your visit to an industrial site, by cooperation with the site's databases, to yield the most productive combination of meetings, on-site tours, travel and accomodation? Air traffic control via automated negotiation? Stock exchange managers that will take the initiative of redirecting investments according to your personal financing policy? Under the current industrial standards, the above proposals might sound like science fiction. In fact, the evolution of software agent technology may provide the rationale to view them as possible applications that, although futuristic, do not lie very far away from the potential implementation standards of recent research. Yet, before we take the leap towards this whole new system design concept, there are quite a few issues that need be addressed.
1.1 What is an agent anyway?
Well, this seems to be the most embarrasing question for the agent-based computer community. We will address this question and attempt a systematic approach to it in section 1.2 . At this point it should be enough to roughly understand that by the term agent we generally mean a process running locally at a network node, and which encapsulate the following characteristics:
The above weak notion of agenthood ( [2] Wooldridge & Jennings, 1994, p.4 ) will provide us with sufficient ground to build up a discussion on some of the more practical issues of agent classification and application.
1.2 Agent applications
It would be senseless to march straight into an investigation of past and temporary agent theory and applications research without a clear understanding of what is the motive to use agent technology in applications. This will guide us into visualising a set of goals that we wish to achieve by researching and designing multi-agent systems, as well as the spectrum of industry sections that would benefit from their application. We can thus construct an application map to represent the fields of hardware software system design that will be affected by this new technology. In our application map we will be able to identify the potential for development of new kinds of applications and services, and place them in perspective to current ones.
To begin with, we should first ask the questions :
"Who is interested in agent technology?" and
"Who is currently investigating agents?"
The answer seems to be that an overwhelmingly big market has grown in the past few years for agent applications, mainly due to the high productivity and problem solving capability that multi-agent systems can provide in applications such as:
Of course, this list is not at all an exhaustive one, or one that even remotely represents the width of the applications area, but it should be giving some insight into the nature of problems to which agent system may provide efficient and innovative solutions
1.2 Agenthood
Perhaps one of the most important isuues, is to give a definition for the term agent . Woolridge and Jennings in their paper ( [2] , Intelligent Agents: Theory and Practice, 1994 ) propose tw general usages of the term. In actuality, the second is a more strict and contentious version of the first.
2.1 A weak notion of agency
Acoording to this - rather lax - definition, an agent system is one which can be proven to have the following properties:
A similar definition appears in another important paper ( [3] , Genesereth and Ketchpel, 1994 ) where software agents are described by the following:
" [Agents are] software components that communicate with their peers by exhanging messages in an expressive agent communication language. "
These two are very close to the definition we saw in section 1.1.1 . In the next two sections we'll investigate some arguments and extensions on this approach towards the definition of agenthood.
2.2 A critique on the weak notion of agency
Nwana in his recent paper ( [1] , Nwana, 1996 ) makes a distinction between two strands (as he calls them) of agent-based research. In this distinction emphasis is given to the fact that recently, the overuse of the term agent has become so extensive that its definition needs be re-examined and placed in the context of an agent typology. This re-examination of classification and terminology, he claims, belongs to the second strand of research which is a natural extension of the first, under the scope of contemporary evolution of agent technology. Although he uses Wooldridge and Jennings' [2] agenthood definition, he insists on investigating the diversification of agent types, and therefore (due to the broadening of agent type range) he establishes a new viewpoint on agenthood; one that both defines, identifies and classifes a system as an agent of a certain agent class by means of projecting the various agent properties into different dimensions . Thus agents are not directly defined by the acquisition of the properties mentioned in section 1.2.1 , rather they are identified to belong to classes depending on the emphasis and sophistication that they exhibit in some of them. Nwana points out that agent has become an umbrella term which encapsulates a wide range of systems with very diverse properties. He reasons his approach of further classifying different agent types claiming that this policy will reduce the ambiguity and incoherence within the agent-based computer community which is caused by the broadness of the more general term.
2.3 A strong notion of agency
Since by both its nature and its origin of evolution, agent theory is part of Distributed AI, agent theorists, mostly being of the AI discipline, have proposed even more strict predicates for the chrisma of agenthood in certain cases. These predicates formulate what is referred to by[2] Wooldridge and Jennings as a strong notion of agency . This notion concentrates not only on the exhibition of the properties described in section 1.2.1 , but also on the concepts used to implement and realise the system. According to this view, an agent is not just a system that complies with the behavioural characteristics of autonomy, interoperation, reactiveness and proactiveness, but a system who's also implemented using conceptualisms that usually apply to humans. So an agent, is also a system that is characterised by mentalistic attributes, too. This view is also supported by [1] Nwana in his recent paper.
Certainly, the attributes considered differ accross systems and researchers, but we can highlight some of the most outstanding ones, which are beliefs , knowledge , desire , intention and obligation . Impementations that are aspired by these notions, use agent-specific mathematical formulations and modellings, usually reffered to as modal logic which is - very roughly speaking - the equivalent of boolean logic for emotional or BDI systems.
1.3 Agent Types
It is obvious by our discussion so far, that the term agent covers a very wide range of different kinds of hardware and software systems. While these systems share the properties of agents in general, they largely differ in many important aspects of their nature and construct, having different goals, behavioural models, capabilities and potential application ranges. In fact, the diversity of agent types arises from and is directly related to the plethora of different application fields in which they are used. In this context we will attempt an approach to agent classification beginning with the analysis of agent types with respect to their operations, goals, and objetives, characteristics that greatly vary between individual tasks and applications.
3.1 Classification criteria
As in any attemt to classify either concepts or entities, it is sensible to first define a reasoned set of criteria by means of which the classification is to be made. Nwana [1] proposes the following four dimensions of agent typology (as he prefers to name them):
Also, it is possible to identify a few other, secondary attributes of agents that still may give us some classification/characterization options. Such attributes are versatility (potential undertaking of a variety of tasks) or benevolency , or competitiveness , or veracity (the property of an agent being always truthful, as opposed to lying knowingly).
Combinations of the above classification criteria will yield a multitude of different agent types. We will discuss the most important ones in the following sections, which consist of a review of the most important chracteristics of some of the agent classes proposed in Nwana's "Software Agents: An Overview", 1996 [1] .
2 Travel Reservation Systems: General Structure
2.1 General Descriptions
This section will deal with existing travel reservation systems and their structure. It is important to know and understand the basic workings of such systems before moving on to improve them using new technologies, such as 'intelligent' software agents.
To start with, we have to recognise the requirements of any reservation system Since such systems already exist, a general overview can be obtained by investigating one of the. The most well-known distributed systems are Sabre, Galileo and Amadeus. They all more-or-less offer the same facilities, but for our purposes, Sabre [12] will be taken into consideration.
The main thing we have to keep in mind is that these systems deal with people, with varying choices and tastes. Therefore the main link between the agent's reservation system and customer should be the customer's details. From here we can now start to build up the customer's itinerary, which can be a simple one-way or return trip, or even one with multiple segments, including various modes of travel and places of stay.
We'll also have to discuss what other facilities can be offered, such as weather information, visa and health requirements, tourist attractions etc.
In this section, we will briefly describe the most common of these facilities and services, but will not delve into the depths of data structures, relational database entries and other technical descriptions, since this would deviate from our main cause.
2.2 System Basics
To start with, any information given to or taken from the system should be up to date. Nobody cares what tomorrow's flight availability was like last week, so all data should be kept up-to-date, by one means or another. Although Sabre is a bad example, the user interface should be made as concise and friendly as possible. However, since the systems have been used by trained personnel so far (travel agents, tour operators etc), this point was somewhat overlooked so far.
Sooner or later though, these systems will be made accessible to the general public, where the interface in such a system must have a user-friendly interface, since nobody will want to read a 300-page manual just to book a journey from A to B! And since most people (whether trained personnel or not) are impatient by nature, the system should be responsive. We can thus see that such a system is a very good example of a 'soft' real-time system.
2.3 Main Facilities of Reservation Systems
All reservation systems have some basic facilities and properties, and they shall be discussed here. Remember that any examples shown are taken from a Sabre-based system, but keep in mind that since all major distributed reservation systems cooperate with each other, they will have a lot in common as far as input/output information is concerned.
3.1 Passenger Records
As was mentioned above, the most important set of data used in any reservation system is customer details. After all, without customers (ie travellers), there would be no need to write this article in the first place! Systems keep Passenger Name Records (PNR), whose main aim is to store such details. The obvious (and mandatory) fields would be:
Other fields would include:
As far as the ticket or reservation type, the best way to describe this field is by quoting some examples from Sabre:
The above are just a small excerpt of available entries using Sabre, but hopefully they have given a good example of the depth of information stored on a customer. For group travel, multiple PNRs can be created and linked under one main record, making both the agency and overall system more efficient.
3.2 The Beginning Of A Journey
Now that the agent knows who the customer is, the next obvious step would be to actually book all travel details required. Availability is the main concern on both the customer's and agent's head, so any reservation system should allow the user to check for availability of travel seats. Obviously, any traveller has at least one point of departure and one point of arrival. More complex itineraries can be built from the simple origin-destination city pair model.
Using airline reservations as a model, here are the most obvious entries required by any system to give results:
These should be enough for the system to list all flights between the city pair. From here, the agent can select what fare class is required, and availability can be displayed. However, just the above information is not enough to make a complete booking, so some further input on behalf of the agent is required. This would include:
A segment is defined as each origin-destination city pair (connecting cities are considered as a separate segment). By adding more segments, the system can be used to create more complex travel plans, such as outgoing and return flights with different connecting cities and stops.
3.3 Other Basic Features
The full functionality of any travel reservation system can only be obtained when more than one varied services can be merged into a single system. A travel agent's life can be made very complicated if he has to use separate unrelated systems to book flight tickets, make hotel arrangements and arrange for car-rental agreements. Thankfully, most systems, including Sabre, interrelate these services, thus making everything more efficient and reliable.
Unfortunately, unlike airlines where there is a strict 'regime' to follow concerning reservations, HOTELS AND car-rental companies have a much less formal approach to such systems. This means that unless all (or at least, the majority of) hotels and car-hire companies agree to use similar or compatible systems, there will still be major loopholes in the existing reservation systems. Another problem is the vast number of hotels and car-hire companies, in relation to airlines.
That said, for hotels which are connected to such systems, the main (and obvious) entries required would be:
Very similar entries are also used for car-rental agreements. Again, the assumption has to be made that companies keep up-to-date information on their status, so anybody using the system can be sure of whatever type of travel reservations they make.
3.4 Further Services
The above sections discussed the main features required to make any reservation system work properly and satisfactorily to meet most customer's demands. However, as more and more up to date information can be obtained on-line, these systems can integrate more facilities allowing one to access this material, such as:
2.4 Some Hidden Details
When one is connected to a reservation system, some data may indeed be out of date, or even not accounted for at all. Thus the ability to directly connect to an airline's computer systems and retrieve data from there should be available. This can be either done by direct access methods, where the agent can actually dial-up the airline's server and request information, or a neater method would be via the reservation system being used. Sabre allows for such access methods, where the travel agent can connect to an airline's database and retrieve up-to-date or more information as required.
In the case where a direct connection to an airline's computer system is not possible, a form of message queuing exists (think of it as a primitive form of electronic mail). Reservation details are queued in the airline's 'inbox', and they can then proceed to confirm the booking, returning another message to the travel agent.
2.5 Travel Reservation Systems: Conclusions
Have these reservation systems matured? In a way, yes. However, there is still much to be done in the way of user-interfaces, especially if they are to be made available to the general public via on-line services. A very good example of such an effort is Travelocity, a company who is now providing their services via the web [15] (See [16] for an article discussing the methods used to implement these services).
In this section, we didn't discuss the actual UI used, but it can be said that since these systems are not yet available to the public, not much has been done to improve the interface to the levels found in other home software applications.
As far as functionality is concerned, the systems used by most companies provide for almost all contingencies, and since the major systems are inter-accessible, the overall result is a broader range of facilities for the users. There is still much improvement left to be done on the side of hotel, car-rental and sea travel reservations, since the original development of these systems took into account the increasing demand in air travel only, with some extra facilities allowed for other services as well.
3 Software Agent Application
3.1 Our Definition of a Software Agent
Throughout our research we have come across a plethora of software labeled as Agents . Some better defined and more robust than others. Unfortunately there are no legal requirements a piece of software must fulfill in order to be rightfully called an Agent . Consequently several critics have classified software according to their own standards, [1] .
In our case we obviously had to be careful so as not to fall in traps of falsely labeled software. We were also forced not to be very strict in our judgments since Software Agent Technology is still at its infancy.
Ideally agents should act according to the given facts of a situation and their past experience, but this method of approach is still at very early stages, since it involves learning, judgment of situations and in general elements that make up the human consciousness. The following model was proposed by Deepak Kumar and Stuart C Shapiro [23] .
Figure 1 - Model of a Software Agent
The above model has the ability to decide whether a request involves judgment according to the agent's beliefs, or if it is just a matter of performing a logical operation. The part labeled Agent's Beliefs can either be a predetermined set of beliefs provided by the manufacturer, or it may have the ability to learn new things and update old beliefs.
Autonomy, or the ability to act independently, is a vital characteristic that can make an agent's behaviour be more human like and boost its productivity. Clearly there is a direct link between the quality of the technology implementing the agent's beliefs and the extend of its autonomy.
In this paper we mainly focus on distributed agents that can run on different applications and platforms. The advantage of this is that agents may wander around in networks undertaking several tasks. One or more Fascilitator agents may act as policemen within communities of agents, dealing with assigning agents to different tasks and reporting on the availability of agents. In such a system, otherwise called Distributed Artificial Intelligence , different agents may collaborate in different ways in order to generate optimum results.
3.2 Autonomy... a key feature
A key feature in software agents, if not vital, is autonomy. Actually if an object is not able to operate in a certain environment without human intervention then it would be very unprofessional to give it the name Agent . Of course the extend of autonomy can vary and one often wonders how autonomous must a piece of software be in order to be called an Agent .
Web Spiders [20] , an active example of information agents, can wander around in the world wide web gathering , indexing or classifying information according to their clients' requests. From the ethical point of view, Spiders may be developed in the future that will even be able to perform censorship within the web.
A good example of an autonomous software agent is SUMPY [22] , an agent which was built with the purpose to preserve the order and optimize disk utilization in a UNIX file system. SUMPY wanders around in the system and is able to know its position at any time by issuing commands and evaluating the system's responses, (i.e. response time etc.). The way in which the system responds will influence SUMPY's decision as to whether it should compress or backup files or simply to continue wandering around. It also has the ability to put itself into sleep when there is high CPU demand by the users, since the agent's operation is CPU consuming.
SUMPY is made up of four separate layers that work independently and can intercommunicate. These layers could be labeled as WANDER, COMPRESS, BACKUP and SLEEP. Each one issues commands to the system at random and irrespective of each other. The fact that they work in parallel reduces the overall system failure probability while it increases the overall efficiency and productivity of the system.
3.3 A Clerical Agent...and how some of its features could be inherited by a Travel Agent
A more human-like agent, Virtual Mattie [21] , was created in the Institute for Intelligent Systems of The University of Memphis. VMAttie's purpose is to perform the day to day tasks of a clerical worker autonomously and without any human intervention. Everyday duties include e-mail or other form of high-level communication with humans and/or other agents, acknowledge incoming messages, arrange weekly seminars, update mailing lists, compose and send reminders to speakers, etc.
The architecture of VMAttie allows reasoning, scheduling, problem solving and even learning and creativity. Research on this project still continues and it has been suggested to implement emotions such as guilt for not sending a notice on time and anxiety for not understanding a concept. It is obvious that this is a quite advanced software agent that attempts to cover most of the aspects that make up a, real-life, human agent. Aaron Sloman calls such agents complete !
Virtual Mattie exhibits some features that could be used in a software travel agent. In fact VMattie could be transformed into a good travel agent for the following reasons:
4 Case Study : Examples of Current Applications
4.1 Travel Information Software Systems
A travel agent, software or human, must not operate on behalf of any single airline or any other similar company, so that it will be able to obtain optimum offers for their clients. Therefore, by definition, the perfect software travel agent will be one owned by a travel agency and will work to obtain optimum packages for its customers.
Figure 2 - A typical agent form
The form shown in figure 2 was taken from the TISS travel agent, [24] , and it has many similarities with forms found in many other travel agent sites. One may assume that provided the user-customer knows what he/she wants, filling up such forms and submitting them would be a piece of cake.
- Question: Do you always know what you want when you enter a travel agency?
Many times customers, usually looking for holiday packages, depend on their travel agent to show them what is available according to their taste and budget. We searched through the Internet hoping to find software travel agents that were more intelligent, and by that we mean, being able to interact with the user on a more personal basis. We tried to find travel agents that could treat different customers in a different way, or know what to advertise to whom. For example, if a customer had a record that showed he/she was a Mediterranean fan , then if there was a special offer on a Greek Island tour, the agent should send that customer an e-mail, highlighting the offer.
4.2 Travelocity
Travelocity, [15] , is a Software Travel Agent jointly created by Worldview and The SABRE Group, Inc, [12] . which already has access to one of the largest travel databases in the world. It is a fully-interactive web site, providing everything and anything to do with travel. Their continuously updated databases contain maps, photos, weather advisories, currency converters, video highlights of tourist hot spots. Airline, hotel and car reservations can be requested, with current prices returned to the user, allowing them to make bookings with just one mouse-click (so to speak).
Surely there must be more than plain magic to all this. The Travelocity site has more than 300,000 Web pages which can be searched instantaneously (or so they say). Unfortunately, this is not all so true. Yes, their servers are powerful and fast, and can churn out 30 to 40 Web pages per second, with their database handler being able to process 5,000 requests per second (more information on the technical aspects of the site here [16] ).
4.3 Finally, A Friendly User Interface?
To those in the business, it is a well known fact that computer reservation systems are monsters as far as user interface is concerned. This is a major problem when such a system is to be made available to the general public. Nobody wants to type in more information than is necessary, and most importantly, more than once. It seems that Travelocity has overcome this problem, as much as is allowed by current standards in Web browsers. After creating an account (can be temporary or permanent by choice) by entering user name and password, one can enter the system, and begin their search for a travel service.
Making a request, is relatively simple. For example, custom travel itineraries are compiled on the fly by completing interactive questionnaires, and any results can be sorted in a number of methods, such as price or airline preference. As an example, a return flight from London Heathrow to Los Angeles was requested, and results were given, the whole procedure taking less than a minute. This sure seems to be much better than going down to the travel agent, waiting in a queue and having to deal with waiting for the tour operator to tap away at his/her keyboard every time you ask a question.
Airline, hotel and car-rental reservations are available to all, but to make a real booking, credit card details are obviously required. These can be passed on using a secure server using SSL, which will, hopefully, allow more wary users to use the site. Now, one may ask, what happens if more than one booking is made. Does he/she have to enter the credit card details every time? This is where user profiles comes in. Once a user has created a permanent account, any repetitive information can be entered. This would include such details as name, address, contact numbers and credit card details. These can then be used over and over with a single mouse-click whenever a booking is required. Of course, not everybody will feel safe about leaving such sensitive information to 'strangers' so entering information more than once may be a problem that will not be easily overcome.
4.4 Picking up the phone vs Turning on the computer
So should people give up the traditional way of booking business and holiday trips and use the World Wide Web instead? The truth is that existing software agents are not as effective and people will not be ready to risk it.
4.1 Time Consumption:
4.2 Reliability:
4.3 Support:
In our investigation on software agents, in general, we have outlined certain key characteristics that make a piece of software an AGENT. Among these was the ability to learn, which can be a big advantage. On the other hand Artificial Travel Agents need not be that complicated in order to implement the basics. The main problem that we have spotted on existing software agents, which was lack of differentiating between customers, could be overcome by developing software which will be able to shuffle through customers' existing records and determine their preferences.
Even though lack of speed is a major drawback of any application in the World Wide Web, we avoid to discuss it here since speed is mainly affected by the structure of the Internet and individual applications have little to do with it.
5 Afterthoughts : on minds and their ways...
5.1 A theory of minds
What do we mean by mind and intelligence ? Of course we cannot, and we will not attempt to, provide a definition for these two inter-related notions over which researchers, philosophers and scientists have been endlessly disputing since the question was first asked. (whenever that was)
Alternatively, we can discuss and investigate the ways minds work in order to achieve, not intelligence, but the ability to accomplish tasks which we consider needind intelligence to deal with. This we will do by considering a model proposed by Marvin Minsky in his book [26]The Society of Mind . We'll question on the mechanisms relied upon to make this mind-model capable of exhibiting intelligent behaviour.
The ideas we'll use to understand and investigate this model are not new. Minsky presented those ideas a little more than a decade ago. What is new in our investigations is that, by looking at those ideas, we will try to build insights on a model that might be suitable for designing large agent applications. After all, as we shall see shortly, Minsky's mind theory describes a magnificently complicated in physique, but simple in principle agent-system.
5.2 Is Deep Blue intelligent?
Recently, a chess-playing computer system called Deep Blue managed to beat humanity's world champion, G. Kasparov . Certainly, beating Kasparov needs great knowledge, skill and experience with chess. But would you say that Deep Blue is intelligent? Or that it is knowledgeable? Or skillful? Deep Blue is a system that "knows" how to play good chess. It does not understand chess. It just plays good chess. And there is a major difference between the two. Probably it is the basis on which we differentiate between expert systems (systems that are good at solving problems on a specific domain) and intelligent systems. (systems that perceive, understand, learn and think in ways similar to human minds)
5.3 A society of agents
In contrast to experts systems, Minsky proposes a model of a mind that consists of a network of agents that perform tasks so that the interoperation and coordination of tasks within the network leads to problem solving. The agents are interconnected in hierarchies and hetererarchies so that mental tasks consist of decomposing them into smaller tasks and then assignment to agents capable of perfoming them. In the words of the author:
- I'll call society of mind this scheme under which each mind is made of many smaller processes. These, we'll call agents. Each mental agent by itself can do some simple thing that needs no mind or thought at all. Yet, when we join these agents in societies - in certain very special ways - this leads to true intelligence.
5.4 Minds and systems
The interesting idea behind this mind theory is its potential for application in general agent systems. If we can think of a human like mind as a vast network of agents working independently and in cooperation (or conflict) to achieve tasks, then why not think of a large agent-based computer network as a structure resembling that of a mind, with agents that perform tasks both to achieve local and global objectives? These agents would cooperate and compete for the resources of the network, while they would also control on global-level the behaviour of the network. Telecommunications companies would be dreaming of networks like this one. Information flow in the world-wide community would become a totally different idea. The mere notions of information , resource and task would have to be given new thought and maybe new meanings.
5.5 Motivations
Why should we want to build such systems? Mainly because the exploitation of the ingenious mechanisms with wich minds work will yield great benefits in computational power.
Problem solving will be more efficient due to the modularity of processes. Each agent knows well how to do something and contributes with its capability to the performance of a global objective. Agents, thus, have scope and are also dispensable beyond that scope, as soon as their function is obsolete (another agent has been developped for it) or useless.(the task they were part of is no longer performed or their hierarchical predecessor is ceased)
Redundancy (i.e. the existence of more than one agents to do a particular job) in such a sytem will make such systems reliable . It must be noted though that the problem solving mechanisms are more complicated when there exist multiple agents capable of performing a certain task.
Sharing of resources in such systems takes a whole new meaning, as we can consider all resources of the system (storage, agent abilities etc) as system memory and experience. This set of experiences, facts and states that the system owns will become the embodiment of the system's awareness. May this awareness be awareness of its own existence, environment, or whatever is appropriate for the application considered.
If a local objective attempts to solve a problem for which the solution has already been found once (a similar objective has been accomplished earlier) then this experience can be used to solve the new problem too. Experience is inherent in the system. This of course means that the system must have some mechanism to identify similar problems by analogy, or by rule-based methods, and possibly revise problem-solving methods and problem-solving rules.
These are just a few thoughts on how such systems would operate in better way than today's sytems can. Of course they are just ideas and motivations for the development of large-scale agent-based intelligent systems, and the theory and implementation behind them involves considering very fine details on how such mind-like systems work.
5.6 More questions
Visions like the one we developped in the previous sections might look attractive and challenging, but before delving into their implementation possibilities, we must deal with a new wave of questions arising from their mere conception. Are these systems going to have some centralized hierarchy of agents? If yes, how will they be coordinated? If no, will the goals and objectives they perform be global? Will they be just dynamically determined compositions of local goals? And if the goals are going to be dynamically determined, does this mean that these systems will be able to plan? And if they plan, how will they do this? Does this mean that systems of this kind will have intentions or judgement upon them? Or will they develop awareness, or consiousness of their existence? In Minsky's model minds are composed of unintelligent agents into a single and utter unity that is intelligent. Will large scale systems of agents in apropriate interconnections and operating mechanisms assume the properties of a mental entity on global perspective?
Behind each of these questions lie even mor questions about minds, intelligents, and intelligent systems. It is not the purpose of this article to consider them separately or answer them at all. Instead, what this article tried to do is to capture the idea behind a theory of minds and propose these questions as a starting point for further thought on intelligence and its potential presence in agent systems.
List of References:
1 | Software Agents: An Overview | |||||||||||
Hyacinth S. Nwana, 1996 | ||||||||||||
Knowledge Engineering Review vol. 11:3, 205-244 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Paper investigating possibilities for the classification and typology of software agents. | ||||||||||||
On-Line : http://www.cs.umbc.edu/agents/introduction/ao/ | ||||||||||||
Download Postscript : http://www.cs.umbc.edu/agents/introduction/ao.ps | ||||||||||||
Obtained From : WWW, I.C. Central Library | ||||||||||||
Notes : |
2 | Intelligent Agents, Theory and Practice | |||||||||||
M.J.Woolridge and N.R.Jennings, 1995 | ||||||||||||
Knowledge Engineering Review vol. 10:2, 115-152 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : One of the most important papers on agent theory, architectures and languages. | ||||||||||||
On-Line : http://www.doc.mmu.ac.uk/STAFF/mike/ker95/ker95-html.html | ||||||||||||
Download Postscript : http://www.cs.umbc.edu/agents/introduction/ker.ps | ||||||||||||
Obtained From : WWW, I.C. Central Library | ||||||||||||
Notes : |
3 | Software Agents | |||||||||||
Genesereth and Ketchpel, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : An important paper on agents software engineering and agent languages. | ||||||||||||
On-Line : | ||||||||||||
Download Postscript : http://logic.stanford.edu/sharing/papers/agents.ps | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
4 | Intelligent software Agents on the Internet | |||||||||||
Bjorn Hermans, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Thesis on agent technology, functionality and current research, as well as foresights on future developments | ||||||||||||
On-Line : http://www.hermans.org/agents/ | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
5 | UMBC AgentWeb | |||||||||||
UMBC, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Information, resources and links about software agent technology | ||||||||||||
On-Line : http://www.cs.umbc.edu/agents/ | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
6 | Is it an agent, or just a program? A taxonomy for autonomous agents. | |||||||||||
Stan Franklin and Art Graesser, 1996 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Paper on autonomous agent typology | ||||||||||||
On-Line : http://www.msci.memphis.edu/~franklin/AgentProg.html | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
7 | Zombies on the Web | |||||||||||
David Chalmers, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Philosophical-Scientific discussion and reference list on the concept ot a 'zombie' | ||||||||||||
On-Line : http://ling.ucsc.edu/~chalmers/zombies.html | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
8 | A Philosophical Encounter | |||||||||||
Aaron Sloman, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Discussion on the relation and interdependence between the Philosopher and the AI Researcher | ||||||||||||
On-Line : http://www.cs.bham.ac.uk/~axs/cog_affect/ijcai95.text | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
9 | Personal WebWatcher Project | |||||||||||
D. Fraytag, T. Joachims, T. Mitchell, D. Mladenic, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : A www agent that helps you surf the net and learns from experience | ||||||||||||
On-Line : http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-4/text-learning/www/pww/index.html | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
10 | Agents and Sex | |||||||||||
under UMBC's AgentWeb, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : What do agents and sex have in common? | ||||||||||||
On-Line : http://www.cs.umbc.edu/agents/sex/ | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
11 | Lovemaker V3.1 | |||||||||||
Jeff MacGregor, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Agent Humor | ||||||||||||
On-Line : http://www.cs.umbc.edu/agents/humor/lovemaker.shtml | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WWW | ||||||||||||
Notes : |
12 | The SABRE Group, Inc. | |||||||||||
, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Company's Homepage | ||||||||||||
On-Line : http://www.sabre.com | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : The world's leading company providing computer reservations. Not available to the general public though, since Sabre cooperates with travel agents and services only. |
14 | EasySABRE | |||||||||||
, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : A publicly available version of the SABRE system, however, it is text-based and crude to use. | ||||||||||||
On-Line : http://www.easysabre.com | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
15 | Travelocity Website | |||||||||||
Travelocity, 1997 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : An online travel reservation system | ||||||||||||
On-Line : http://www.travelocity.com | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WEB | ||||||||||||
Notes : Main example used for this article as a case study. |
16 | The Working Web | |||||||||||
Lee Bruno, 1997 | ||||||||||||
Data Communications vol. April 1997, pp 50-60 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Article describing the creation of Travelocity's online services. | ||||||||||||
On-Line : http://www.data.com/case_studies/working.html | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : I.C. Central Library | ||||||||||||
Notes : |
17 | Intelligent Agents: A Technology and Business Application Analysis | |||||||||||
Kathryn Heilmann, 1995 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : Information on Intelligent Travel Agents | ||||||||||||
On-Line : http://haas.berkeley.edu/~heilmann/agents/#exsum | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : WEB | ||||||||||||
Notes : |
18 | Intelligent Agents: A Technology and Business Application Analysis | |||||||||||
Kathryn Heilmann, 1995 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : http://haas.berkeley.edu/~heilmann/agents/#exsum | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : Information on Intelligent Travel Agents |
19 | The Open Agent Architecture | |||||||||||
SRI Artificial Intelligence Centre, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : http://www.ai.sri.com/~oaa/main.html#2 | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
20 | Ethical Web Agents | |||||||||||
Nasa, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : http://rbse.jsc.nasa.gov/eichmann/www-f94/ethics/ethics.html | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
21 | Virtual Mattie - An Intelligent Clerical Agent | |||||||||||
Stan Franklin, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : http://www.msci.memphis.edu/~franklin/vmattie.html | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
22 | Sumpy: A Fuzzy Software Agent | |||||||||||
Hongjun Song, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : http://www.msci.memphis.edu/~songh/publications/sumpy.html | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
23 | Architecture of an Intelligent Agent in SNePS | |||||||||||
Deepak Kumar and Stuart C. Shapiro, | ||||||||||||
SIGART Bulletin vol. 2, No.5 | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
24 | Travel Information Software Systems | |||||||||||
, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : http://www.tiss.com | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
25 | Swiss Air homepage | |||||||||||
, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : | ||||||||||||
On-Line : http://www.swissair | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : | ||||||||||||
Notes : |
26 | Society of Minds | |||||||||||
Marvin Minsky, | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : An investigation of minds, intelligence and how intelligence can be built by lifeless, unintelligent parts. | ||||||||||||
On-Line : | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : Out of print in U.K. -- I.C. Central Library has a copy | ||||||||||||
Notes : |
27 | HAL's Legacy | |||||||||||
Edited by David G. Stork , 1997 | ||||||||||||
MIT Press | ||||||||||||
| ||||||||||||
| ||||||||||||
Content : A collection of articles by renowned AI researchers and scientists concerning 2001's HAL supercomputer as related to today's state of the art technological capabilities in AI systems | ||||||||||||
On-Line : | ||||||||||||
Download Postscript : | ||||||||||||
Obtained From : Bookstores | ||||||||||||
Notes : |
No comments :
Post a Comment
Note: only a member of this blog may post a comment.