Week in ReviewFrom the EditorFrom The PagesProduct TrackAbout Comp. StratComponent EventsJobs in Components
.
Feature

Intelligent Agents: The Key to
Open eCommerce

Building the next-generation enterprise

Peter Fingar

Peter Fingar is a recognized author and independent consultant focusing on component-based eCommerce.

He can be reached at http://home1.gte.net/pfingar



The business processes and workflows of commerce are today essentially human phenomena. People are adaptive problem solvers and can deal with new situations "on their feet" and handle incomplete, inconsistent information in real-time, usually making good business decisions based on judgment gained from experience. This is precisely what computers must be empowered to do in eCommerce. The challenge of electronic commerce is to capture the information and knowledge in people's heads and place it in computer systems. Like people, the computer systems must be knowledge-based, adaptive and continue to learn from experience. 

Sound like Buck Rogers? Not really. Adaptive, reactive, and reflective task knowledge is the essence of a field of computer science known as distributed artificial intelligence (DAI), popularly known as intelligent agent technology. It is one of the most rapidly advancing computing technologies. Once codified into digital software agents, the task knowledge once isolated to a human specialist becomes available to an entire workforce, assisting the customer service representative at the call center, the salesman in the field and the customers themselves with customer self-service (outsourcing selling and customer service directly to the customer).

The world of eCommerce is not only complex, it is laden with a multitude of tasks. Most tasks are not just straight forward "do this, do that" lists. Successful computer systems underlying eCommerce require judgment and the knowledge of experts such as buyers, contract negotiators and marketing specialists. Agent technology authority Jeffrey M. Bradshaw explains, "Recent trends have made it clear that software complexity will continue to increase dramatically in the coming decades. The dynamic and distributed nature of both data and applications require that software not merely respond to requests for information but intelligently anticipate, adapt, and actively seek ways to support users. Not only must these systems assist in coordinating tasks among humans, they must also help manage cooperation among distributed programs. " 

An open digital market is a complex and non-deterministic system, often producing results that are ambiguous and incomplete. Auctions and contract negotiations are obvious examples. Knowing when to sell in an auction requires judgment based on estimates of demand and price elasticity - the kind of judgment traders use in traditional financial and commodity markets. In addition, configuring and reconfiguring software to participate in different, often simultaneous roles in digital markets could not be accomplished using the old fashioned way of manually configuring software. Further when a price change occurs in a product or product component, real and virtual catalogs in each trading place they can be found must be updated accordingly. Add to this the need to profile customer preferences and create communities of like interest, humans simply would be overwhelmed by the zillion knowledge-based tasks inherent in eCommerce. What is needed is software that can take on these tasks. Such software needs to be "smart" enough for the tasks at hand: simple stimulus-response for handling simple tasks or highly deliberative for mining databases of customer information. Such software must be able to "play the game" of the markets in which they compete. It must be goal seeking just a salesman is goal seeking in the game of competitive selling. The essence of such software is taking task knowledge now contained in the heads of the traditional commerce workforce and codifying it into eCommerce software systems. This is not some Orwellian vision of eCommerce, but characteristics even a casual observer could make of the requirements open digital markets. 

Electronic games, automated traders in the stock market, Deep Blue playing world class chess, case based reasoning determining credit approvals at America Express, and expert systems of all sorts are well known and used today. They deploy various techniques and knowledge from the field of artificial intelligence (AI), a field that was overhyped a decade ago and fallen from grace in the commercial computing press. Quietly, however, AI has continued to play a significant role in many leading information systems. Its use has been limited due to its complexity, monolithic designs and lack of knowledgeable systems developers. On the other hand, and like other technologies such as object technology, AI is making a very strong comeback as it is now crucial in non-deterministic systems such as workflow, data mining, production scheduling, supply chain logistics, and most recently, eCommerce. Its new form is not the monolithic AI systems of the past, but distributed artificial intelligence (DAI).

Going one step beyond distributed object technology, intelligent agents are poised to transform the way we model the enterprise  and build information systems (see Farhoodi & Fingar in references). Both object and agent paradigms address change and complexity. Intelligent agent technology is the next logical step in moving the object paradigm forward and overcoming some of its shortcomings in eCommerce. 

Thanks to the dramatic growth of the Web, computing literature is replete with discussions of software agents. Like objects, however, the term is weary from overuse and misuse. Various names have been used - knowbots, softbots, personal assistants, and smart computer programs. Cutting through the hype the importance of agent technology, varying in "intelligence" from simple stimulus-response sensors to highly deliberative agents capable of learning, is the central feature of software agents, task capabilities. Robust eCommerce systems being built today simply could not function without being able to delegate to software the multitude of tasks that would otherwise be left to armies of people to handle. 

Backing away from technology for a moment, the everyday term, agent, provides a starting definition: "one who acts for, or in the place of, another. "A software agent is a software package that carries out tasks for others, autonomously without direct intervention by its master once the tasks have been delegated. The "others" may be human users, business processes, workflows or applications. A basic software agent has three essential properties: autonomy, reactivity, and communication ability. The notion of autonomy means that an agent exercises exclusive control over its own actions and state without control of some external software entity. Reactivity means sensing or perceiving change in their environment and responding through effectors. And, even the most basic software agents have the ability to communicate with other entities (human users, other software agents, or objects) giving them various forms of social ability. 

Mobility is often mentioned in discussions of essential agent qualities. The notion of mobile agents roaming the web doing the bidding of their masters is all over the computing literature. Debates rage on Internet discussion groups over the nature and necessity of mobility in agents. The need for roaming mobility is highly exaggerated and will more than any misconception create fear and uncertainty that stunts the adoption of agent technology in eCommerce. As with objects, messaging, not roaming is the key. Agents are anchored at nodes of an information network, and although they can be mobile, more than likely they will be stationary or shipped to cooperating information nodes only when it makes more sense to place the functionality at the node versus using network messages: load balancing and conserving network bandwidth. "Parachuting" in where they are needed is perhaps a better metaphor than agents roaming, pilfering and plundering information systems on a network. Mobile agents and mobile objects are important in distributed systems, but care should be taken when using these notions that can trigger fear in the uninitiated. 

"Agenthood" can be measured along two axes: agency and intelligence. Agency is the degree of authority and autonomy given to the agent as it interacts with its user and other agents in an environment. Intelligence is the degree of reasoning and independent learning abilities of the agent. Intelligent agents support a natural merging of object orientation and knowledge-based technologies that have grown out of the field of artificial intelligence. What are these artificial intelligence contributions and why are they important to eCommerce? Even "dumb" software agents incorporate simple Boolean logic: "If the stock price drops to $50, notify the user." If only the world of eCommerce was so absolute, our discussion would be complete. But what we need are knowledge-based agents that can reason under uncertainty, goal-driven agents that can plan, and agents that learn. To pursue these characteristics we turn to the artificial intelligence technologies of fuzzy systems, artificial neural networks, and evolutionary processes such as genetic algorithms. 

If an agent needs to reason with imprecise or incomplete information or linguistic variables, it will need to incorporate fuzzy logic. Fuzzy systems extend Boolean logic to handle degrees of truth that fall in between being completely true or completely false, for example the variable 'Age' whose linguistic values are young, old or middle-aged. Such unsharp boundaries are commonplace in the domain of commerce - after all, cheaper, better and faster are not absolute values. Fuzzy systems enable the building of intelligent agents that can be used for business process monitoring, scheduling, planning, forecasting and natural language processing. 

Artificial neural networks are composed of groups or layers of interconnected processing elements analogous to the neurons of the brain. Each neuron has one or more inputs and one output, and uses the weighted sum of the inputs to produce a value for output or not - determining if the neuron "fires." What is important is not a single neuron, but groups of them whose initial weights are set to initial values. Inputs are applied, and comparing the output to some goal results in measurable errors. Then the weights are reset and the process repeated until the goal is reached. The resetting of the weights is done according to a set of rules, and the backward propagation of errors through the net provides feedback that can "train" the net. In this way the net organizes itself, it learns. Using noisy or incomplete historical or real-time market data a neural net can train itself to learn patterns that lead to critical market conditions, predict trends, and enable agents to improve their performance of tasks over time. 

Evolutionary computing techniques can give agents the ability to evolve their reasoning and behavior in environments where conditions are dynamic, such as multi-buyer, multi-seller market places. Techniques such as genetic algorithms "evolve" software processes through simulations constrained by the laws of reproduction, natural selection, and mutation. Individual processors that prove unfit are eliminated or "die out" through a process of natural selection. Parent solutions to a problem produce offspring that change or "mutate" the parent's behavior. Then the offspring are subject to their fitness as a solution. Evolutionary computing techniques are suited to optimization problems such as resource and job scheduling and production control needed in most supply chain environments. These techniques are relevant in situations where there are many interacting variables that can result in many possible solutions to a given problem. The intelligent agent using such techniques can produce optimal solutions from among all possible solutions. Physical distribution of finished goods, task scheduling in workflows, cash flow optimization, concurrent design and engineering, and dynamic network configuration are typical applications. 

To sum up these "soft" computing approaches in eCommerce we turn to the notion of taking a vacation. Today several resources are available on the web to reserve and book your flights, local transportation and lodging (Travelocity, Expedia, theTrip). Price and availability are the two criteria used to match a user's needs. But what if we wanted to design an intelligent travel agent that could optimize our vacation. For example the lowest airline fare may have us taking an all night red-eye with multiple connections instead of what could have been a 1 hour nonstop flight for a few dollars more. Using price alone and arriving exhausted may not be the optimal start to a the vacation we had in mind. Our intelligent travel agent will have to look at many variables including subjective fuzzy variables to become a really good travel agent. 

In their book, Developing Intelligent Agents , Knapik and Johnson paint the scenario, "Where a nonintelligent agent may compare airfares to find the lowest fare to a specific destination, an agent that provides successive generations of better and better vacation solutions would be much more adept at pleasing the user. You could use a genetic algorithm tool to encapsulate the process, which lets a vacation-planning agent not only formulate a vacation plan, but find the best one for its user's interest, available funds, time, and so on. This would involve dynamically modeling many possible vacations and ranking them based on current criteria. The agent may find that there is snow at a user's favorite ski resort, but that lift-ticket prices just went up. It may also detect additional funds in the user's vacation account, so a little fancier vacation might be possible. As a wide range of vacations are thus modeled and judged for maximum expected utility, a short list of winners eventually emerges, and can be evaluated by the user. If none on the short list is satisfactory, the user can kick the whole process off again, whereby the parameters would be combined or mutated by the genetic algorithm to arrive at a new set of vacation solutions." This illustration of soft computing with appropriate and multiple intelligences weaved throughout software is the future of eCommerce. All possible intelligence, however, is not simply thrown into all possible agents, and there is no single, all-knowing intelligent agent. It is the building in of the right kind of intelligence for the right purpose that is the key to successful design. 

"Intelligent agents" build on the three pillars of a basic software agent. They add the ability to plan and set goals, to reason about the effects of actions, and to improve their knowledge and performance through learning. The architecture of contemporary intelligent agents is object-oriented and is essentially an extension of an object. Objects encapsulate data (attributes) and procedures (methods). Add to this the intelligences of fuzzy systems, artificial neural nets and evolutionary computing techniques, and an object becomes an intelligent agent. Intelligent agents can act autonomously, in the background of mainstream applications, to perceive their environment through sensors and act on the environment to perform and optimize their tasks: information retrieval, monitoring and notifying, information filtering, data mining, coaching, negotiating, configuring and so on - all the multitude of tasks needed in a robust eCommerce environment. The following table highlights the diverse requirements and potential uses of intelligent agent technology in eCommerce.
 
 
Information brokering. Document management.
Task automation. Knowledge sharing.
Learning / performance improvement.  Collaborative application integration.
Risk management.  Product configuration.
Real-time software configuration.  Distributed systems management. 
Workflow management. Data filtering and analysis.
Negotiation .  Tutoring. 
Personal assistance / task delegation.  Condition monitoring and notification. 
Bandwidth management.  Collaborative systems integration.
Communications.  Customization.
Resource scheduling.  Collaborative filtering.
Simulation and gaming. Arbitration. 
Data mining. Supply Chain Optimization.
Production control.  Profiling.
Table 1: Potential Uses of 
Intelligent Agent Technology

An intelligent agent usually operates as a part of a community of cooperative problem solvers, including human users. Each agent has its own roles and responsibilities. Such multiagent systems are essential to open digital marketplaces, especially considering the multiple dynamic and simultaneous roles a single company may need to play in given market sessions (a manufacturer may need to be a broker, provider and merchant, simultaneously). Behavior of intelligent agents (the tasks that they perform and how the tasks are performed) can be modified dynamically, due to learning or influence of other agents - a selling agent that just lost several rounds of sales would certainly modify its behavior in the next round by calling on other agents to help out. As illustrated in Figure 1, a selling agent could collaborate with a price forecasting agent, a data mining agent, a trading rules agent, and a risk management agent, all with their market data feeds and historical task knowledge.
 
 


 Figure 1. A Multiagent System

In summary, business objects make a major contribution to modeling information in the enterprise; intelligent business agents extend this capability to provide the breakthrough in modeling knowledge in the enterprise - task knowledge that was once confined in the heads of specialized human workers. The agent-oriented approach to business objects distinguishes between active, goal-seeking objects (agents) and passive objects. Intelligent agents can facilitate the incorporation of reasoning capabilities. They can learn and improve their performance. Intelligent, task centered user interfaces can provide intelligent assistance to end-users and be a boon to productivity in the world of eCommerce. While most of the literature about software agents describes the use of agents to assist end users (web bots that search other search engines, bargain finders that search for the best buy) this is only the tip of the iceberg in the use of agents. As our discussion has revealed and as shown in Figure 2, agents are needed: 

  • to intelligently handle multitudes of tasks attendant to operating commerce places, 
  • within commerce applications, 
  • as a fundamental part of active business objects, and 
  • to optimally lever heritage or legacy systems. 


Intelligent agents are needed throughout the information architecture of next generation eCommerce systems.
 
 

Figure 2. A Layered, Agent-Enabled Architecture 
for eCommerce 





Getting There.
Using object-oriented intelligent agents in eCommerce is neither science fiction nor should it be off putting. Many of the topics we have discussed are existing commercial offerings of software vendors, and standards organizations are in the midst of major projects related to intelligent agents and eCommerce: CommerceNet's eCo Framework project  http://www.commerce.net/projects/currentprojects/eco/index.htm and OMG's Electronic Commerce Task Force's Agent Working Group(see Agent Workgroup at http://www.osm.net/ecdtf.html

A framework for the future of eCommerce is shown in Figure 3. The architecture's form, like building architecture, follows function. The functions are those inherent in the real world of commerce as we already know it. They are complex, non-deterministic, and often fuzzy. Yet, they are the way of real commerce, and must be the way of eCommerce. The components of the architecture, commerce places, business objects, and an object web that glues them together are essential to building robust multi-buyer, multi-seller value chains in the emerging digital economy. 
 
 


Figure 3. eCommerce Using 
Object-Oriented Intelligent Agent Architecture 

Today we have the technology to build each and every component of the framework. What we lack are the  global consensus, standards, and the will to build the digital economy in one step. Competitive pressure and markets, however, will demand that each step taken toward the fully open digital market economy will place increasing competitive pressure to take yet the next step. Since the ultimate digital economy is not a single end-state, corporations are in for a long journey. Those that will succeed will do so not with the systems they have in-place today, but with a solid enterprise architecture that has the central design goal of agility made possible through adaptive, smart software - intelligent agents.

References.

1. Jeffrey M. Bradshaw. Software Agents. MIT Press, 1997. 

2. Faramarz Farhoodi and Peter Fingar, "Competing for the Future with Intelligent Agents," Distributed Object Computing magazine, October, 1997. (available at http://home1.gte.net/pfingar/agents_doc_rev4.htm

3. Faramarz Farhoodi and Peter Fingar, "Developing Enterprise Systems with Intelligent Agent Technology," Distributed Object Computing magazine, October, 1997. Available at http://home1.gte.net/pfingar/docmag_part2.htm

4. Michael Knapik with Jay B. Johnson. Developing Intelligent Agents for Distributed Systems: Exploring Architecture, Technologies, and Applications, McGraw-Hill, 1997.

5. http://ecommerce.media.mit.edu/publications.html

6. Ravi Kalakota, Jan Stallaert and Andrew B. Whinston.  Implementing Real-time Supply Chain Optimization Systems. Office of Naval Research under Grant N00014-95-1-1206, October, 1996. http://cism.bus.utexas.edu/jan/sc_imp.html
# # # 
 
 
 

 

Site Created by 
Sprout Communications
info@sigs.com© SIGS Publications, Inc. 1999.