Agents and other 'Intelligent Software' for e-Commerce

Maria Gini, Department of Computer Science and Engineering, University of Minnesota

CSOM, 12 February 1999

Outline of Talk

[A.] Intelligent agents for E-Commerce.
[B.] What is an agent? Is Agent Based Programming a Good Idea?
[C.] Approaches to implementation.
[D.] A case study.
[E.] Trends and Future Work.

A. Intelligent agents for E-Commerce

What could an intelligent agent do?

How far is this from reality? What is needed to make this a reality?

Examples of Problems in e-Commerce appropriate for Agents

How large is the market for E-Commerce?

On-line retail sales were more than $2 billions in 1997 and are expected to reach $17 billions in 2001.

On-line business-to-business sales were $8 billions in 1997 and are expected to reach $327 billions by 2002. (from Forrester Research & Yankee Group 1997)

The percentage of revenue obtained in business to business sales on the Internet is expected to increase from 15% in 1997 to 42% in 2000. (from Hambrecht&Quist survey 1997)

Essential Functions of Markets and Agents

Yannis Bakos (CACM 1998) has identified the following essential functions of a market:
  1. matching buyers and sellers (determination of product offerings, search of buyers for sellers and sellers for buyers, price discovery);
  2. facilitating transactions (logistics, settlement, trust);
  3. providing institutional infrastucture (legal, regulatory).
Existing software agents mostly help to search for product and price information, negotiation mechanisms are limited to auctions.

Stages of Consumer Buying Behavior and Representative Agents

  1. Identification of need.
  2. Information retrieval and product brokering.
    PersonalLogic, Firefly.
  3. Brokering of merchant.
    Examples: Bargainfinder from Anderson Consulting, Excite's Jango.
  4. Negotiation.
    Examples: Kasbah and Tete-a-Tete (MIT Media Lab), AuctionBot (University of Michigan), Magnet (University of Minnesota)
  5. Purchase and delivery.
  6. Service and evaluation.

B. What is an agent? Is Agent Based Programming a Good Idea?

What is an agent? (Part I)

" An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors." (from Russell and Norvig, "Artificial Intelligence: a Modern Approach")

The problem with this definition is that if we define the environment as whatever provides input and receives output, and we consider input to be sensing, and producing output to be acting then every program is an agent.

What is an agent? (Part II)

A weak notion (from Woodridge and Jennings) Essential properties of agents:

What is an agent? (Part III)

A stronger notion (from Woodridge and Jennings) An agent has mental properties, such as knowledge, belief, intention, obligation. In addition, and agent has other properties such as:

What is an agent? (Part IV)

One last definition:

Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing, employ some knowledge or representation of the user's goals or desires (from IBM).

Are these agents?

Agent based programming provides three important abstractions:

1. the autonomous agent abstraction; 2. the cognitive agent abstraction; 3. the society of agents abstraction. Computer scientists use abstraction mechanisms (procedural abstractions, abstract data types, objects, etc.) all the time.
  1. The autonomous agent abstraction:
    • Autonomy implies ability to make decisions and to initiate actions without direct human supervision. This allows us to view agents as entities that have goals to achieve and are capable of initiating actions to achieve their goals.
    • Autonomy implies the existence of other autonomous entities. This allows us to see agents as members of a society of agents.
  2. The cognitive agent abstraction:
    • In everyday life, we use a folk psychology to explain and predict the behavior of complex intelligent systems (such as people). example: Maria intended to prepare her slides. example: Jane believed it was raining.
    • The intentional stance is a convenient way of talking about complex systems, which allows us to predict and explain their behavior without having to understand how their mechanism actually works.
  3. The society of agents abstraction:
    To be members of a society agents need to communicate. They need:
    • Shared transfer semantics: Agents need to be able to share data (for example, CORBA, OLE, etc).
    • Shared domain semantics: Agents need to share the semantics of the domain on which they operate (for example, ontologies, process handbooks, STEP, etc.) An ontology is a description (like a formal specification of a program) of the concepts and relationships that can exist for an agent or a community of agents.
    • Shared task communication semantics: Agents need to share activities to accomplish their tasks, so they need representations of different types of interaction, agent communication languages, infrastucture for finding and routing, negotiation protocols, etc.
    • Shared coordination semantics: Agents need to coordinate their activities, so they need models for task interactions, task dependencies, coordination, and negotiation.
    (from Charles Petrie)

C. Approaches to implementation.

Architectures for Agents

(from Russell and Norvig, "Artificial Intelligence: a Modern Approach", Chapter 2. Look there for more details.)

How to Design and Implement Agents

Two major approaches:
  1. procedural approach: use a scripting language (such as Tcl) or write mobile code (such as Java applets);
  2. declarative approach: define a universal agent communication language (such as KQML).

Procedural approach

A universal language is needed for all platforms and applications.

Major issues:

Declarative approach

Software agents are software components that communicate with their peers by exchanging messages in an expressive agent communication language. The language must be sufficiently expressive to communicate all sorts of information, but also reasonably compact.

Example: ARPA Knowledge Sharing Effort in which intercommunication between agents is performed using speech acts. This implements situated interactions more than ``intelligent'' behavior in isolation.

D. A case study: MAGNET

The University of Minnesota's MAGNET (Multi-Agent Negotiation Testbed) system is a agent-based approach to complex contracting and supply-chain management problems. MAGNET is designed to support the execution of complex plans among a population of independent, autonomous, heterogeneous, self-interested agents. We call this activity \emph{Plan Execution By Contracting}. Plan Execution by Contracting is a way to schedule activities among multiple self-interested agents. It is appropriate for domains such as logistics, dynamic planning and scheduling, coordination of supply-chain management with production scheduling.

The MAGNET system includes:

Agents interact through Market Sessions. Each session is initiated by a single agent for a particular purpose, and multiple agents may join an existing session as clients. A MAGNET agent has four basic functions: (i) planning, (ii) negotiation, (iii) execution monitoring, and (iv) resource management.

There are two agent roles:

Information on MAGNET and related papers can be found on the Web at

E. Trends and Future Work


Where to find more information

Special issue of Comm. of ACM, Vol 37, N 7, 1994.

Nicholas R. Jennings and Michael J. Wooldridge, "Applications of Intelligent Agents", in Nicholas R. Jennings and Michael J. Wooldridge (Ed.), Agent Technology Foundations, Applications, and Markets, Springer-Verlag, 1998.

Jeffrey Bradshaw (ed.), Software Agents, AAAI Press/The MIT Press, 1997.

Jeffrey Rosenschein and Gilad Zlotkin, "Designing Conventions for Automated Negotiation" AI Magazine, Fall 1994, 29-46.

Yannis Bakos, "The emerging role of electronic marketplaces on the Internet", Comm. of the ACM, 41(8):33--42, Special Issue on Information Systems and Economics, Robert J. Kauffman and Frederick J. Riggins (eds.), August 1998.

Robert H. Guttman, Alexandros G. Moukas, and Pattie Maes. "Agent-mediated electronic commerce: a survey", Knowledge Engineering Review, June 1998.

An organized collection of information on agents is at \newline

Information on MAGNET and related papers can be found on the Web at