# 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?

• Imagine a system in which when a customer lifts the handset of a telephone to dial a long-distance phone call, an agent within the telephone automatically collects bids from the various carriers and decides which carrier to use. The telephone companies have an agent that automatically declares the price per minute for which it is willing to carry the call. The agent in the telephone decides which bid to accept, using an appropriate auction method (such as best bid wins and gets second best price).
• Imagine a system in which when a person wants to place an international phone call to a customer who does not speak the same language, an agent automatically translates the conversation between the two languages.
How far is this from reality? What is needed to make this a reality?

#### Examples of Problems in e-Commerce appropriate for Agents

• Procurement: obtaining materials, services. managing inflow into the organization towards the end user.
• Brokering Services: finding information about products, sellers, and prices, providing protection for privacy, validating purchasers credit, billing and accounting, etc.
• Digital Libraries and Recommending Services: retrieving information from distributed sources, filtering information on contents, collaborative filtering.
• Notification Services: notifying of new books or CDs, notifying when specific products are available at a specific price.

#### 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.
Examples:
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:
• autonomy: agents operate without direct intervention of humans, and have control over their actions and internal state;
• social ability: agents interact with other agents (and possibly humans) via an agent communication language;
• reactivity: agents perceive their environment and respond in a timely and rational fashion to changes that occur in it;
• pro-activeness: agents do not simply act in response to their environment, they are capable of taking the initiative (generate their own goals and act to achieve them).

#### 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:
• mobility: agents can move around from one machine to another and across different system architectures and platforms;
• veracity: agents do not knowingly communicate false information;
• benevolence: agents always try to do what they are asked of;
• rationality: agents will try to achieve their goals and not act in such a way to prevent their goals from being achieved.

#### 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?

• a thermostat
• a payroll program
• a spell checker

#### 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.)
• Simple reflex agent The agent works by finding a rule whose condition matches the current situation, as defined by perception, and then doing the action associated with the rule. The agent has no memory.
• A reflex agent with internal state The agent works by finding a rule whose condition matches the current situation, as defined by perception and by the stored internal state, and then doing the action associated with the rule. The internal state acts as a memory and allows for a better selection of the rule to apply.
• An agent with explicit goals The agent has an explicit goal, and when choosing an action it will select an action that achieves the goal. The decision process requires some planning ("what will happen if I do action A"). This agent is more flexible than the simple reflex agent, and is capable of achieving goals.
• A utility-based agent The agent has a utility function that maps a state onto real number that describes how well the agent is performing. This agent not only achieves goals, but it maximizes some measure of performance.

#### 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:

• Portability: scripts must run everywhere. Higher level language is better.
• Connectivity: language must be embeddable. Must allow gluing and composition.
• Security: environment needs to be protected from agent (and viceversa)

#### 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.

### 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:

• a set of agents
• a market infrastructure which provides a domain ontology, the plan execution by contracting protocol, and authentication services.
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:

• the Contractor. A Contractor is an agent who has a plan to satisfy some goal, and needs resources outside its direct control in order to carry out that plan.
• the Supplier. In response to a call-for-bids, some Supplier agents may offer to provide the requested resources or services, for specified prices, over specified time periods.
Information on MAGNET and related papers can be found on the Web at
http://www.cs.umn.edu/Research/airvl/magnet/

### E. Trends and Future Work

#### Trends

• More sophisticated negotiation strategies (risk assessment, coalition formation, etc).
• Agents that can be trusted.
• Mobile agents, agents integrated in pagers, phones, etc.

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

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 http://www.cs.umbc.edu/agents/

Information on MAGNET and related papers can be found on the Web at http://www.cs.umn.edu/Research/airvl/magnet/