Nov 11, 2000 - grocery shopping system are a buyer agent that acts as a buyer, and a store server ... (3) Exclusive agent cooperative protocol. A role agent.
IEICE TRANS. INF. & SYST., VOL.E83–D, NO.11 NOVEMBER 2000
1940
PAPER
Design and Implementation of an Agent-Based Grocery Shopping System Kwang Hyoun JOO† , Nonmember, Tetsuo KINOSHITA† , and Norio SHIRATORI† , Regular Members
SUMMARY We propose an agent-based grocery shopping system, which automates grocery shopping process. Agents gather grocery information from several store server agents and compare it with user’s preferences of groceries and stores. The agents could adapt to user’s up-to-date preferences by learning from his/her evaluation of previous shopping results. The proposed agent-based grocery shopping system is composed of three role agents: a user agent, an information management agent, and a store server agent. These role agents cooperate to buy the best groceries of user preference. A role agent is formed by an organization agent. The organization agent is responsible for organizing primitive agents and coordinating message delivery. A primitive agent executes a specific task/function using the accumulated knowledge to achieve user’s goal. We have designed four agent communication protocols to facilitate cooperation between the user agent, the information management agent, and the store server agent. In this paper we focus on the protocols which support the user agent. By implementing a prototype of the agent-based grocery shopping system, we have verified that it is instrumental in purchasing the best groceries of user preference from several grocery stores. We have found that, (1) our agentbased grocery shopping system reduces the user’s effort to buy groceries; (2) it saves user’s time to buy groceries at a store; (3) it covers functional requirements of grocery shopping system from the user’s viewpoint; (4) it supports the five stages of consumer buying behavior model. key words: electronic commerce, distributed agent system, cooperative protocol
1.
Introduction
The rapid advancement of information and communication technology has made it possible for people to buy various products on the Internet. Consumers can buy personal computers, television sets, and books at a cyber store through the Internet. Most of these products are made at factories, and have specifications. Television sets and personal computers have model numbers. The functions and features of these products are welldefined. If the user decides what to buy, he/she can order a product from a provider who sells it at the lowest price. It is rare, however, for people to buy grocery foods on an electronic market. Every family purchases fruits, meats and vegetables regularly. These expenses take up a large portion of the family budget. Housewives Manuscript received November 1, 1999. Manuscript revised April 13, 2000. † The authors are with Research Institute of Electrical Communication, Graduate School of Information Science, Tohoku University, Sendai-shi, 980–8577 Japan.
or other members of the family visit supermarkets and grocery stores almost everyday to buy them. Grocery shopping is an important, but a time-consuming family activity. It is desirable for people to purchase grocery foods in the electronic market by automating the grocery shopping process. The absence of standards in groceries accounts for low electronic transactions of groceries on the Internet. Another reason is that there are no proper mechanisms to facilitate their electronic transactions. We propose an agent-based grocery shopping system, which supports electronic exchange of groceries by comparing grocery information on user preferences, as a prototype of electronic commerce system for the products with no specific standard. In addition, we propose four agent communication protocols for grocery shopping on the Internet. The aim of this paper is to show the effectiveness of preference knowledge in grocery shopping and of the cooperative protocols of User Agent, P1 and P2, proposed in Sect. 4. In Sect. 2, we examine current electronic commerce systems on the Internet, and some well-known agents that are related to electronic commerce. In Sect. 3, we analyze the general requirements for a grocery shopping system, and propose an agent-based grocery shopping system. In Sect. 4, our design concept of the agentbased grocery shopping system is described. In Sect. 5, we explain the implementation of the agent-based grocery shopping system and evaluate it by experiment. Finally, the conclusion is drawn in Sect. 6. 2.
Current Electronic Commerce System
Electronic commerce between company and consumer is a comparatively new mode of business that has developed since the Internet was opened to the general public. Most of the researches in EC technology on the Internet have been focused on (1) Web and its protocol, (2) Encryption technology for security, (3) Electronic shopping mall implementation technology, (4) Electronic payment system, and (5) Electronic certification. Current company/shop to consumer electronic commerce systems on the Internet are mostly implemented as web pages. Amazon, a well-known Internet bookstore, has its own home page and sells books on
JOO et al.: DESIGN AND IMPLEMENTATION OF AN AGENT-BASED GROCERY SHOPPING SYSTEM
1941
the Internet. Some Internet stores are gathered at common Internet web site known as Internet shopping mall. There are many electronic shopping mall web sites on the Internet now, and the number continues increasing dramatically. 2.1 Personal Support Requirements in Internet Shopping Shopping at a web-based store, however, has many aspects to be improved, because there are so many shops on the Internet and there are so many goods in them. (1) It requires user’s direct intervention. Shopping at the web-based store requires user’s attention and decision all the way. He/She should access store home pages by himself/herself, read the texts, see the images, and listen to the sounds within each web page. He/She should visit around the store web site by store web site on the Internet until he/she has decided where to buy a product. (2) It is time-consuming. It takes up a great deal of time if the user wants to buy several products from various stores. He/She should connect himself/herself to numerous stores to gather product information and understand the contents of each store web page. (3) Product comparison is difficult. If the user wants to buy goods from best providers, he/she should gather product information on several stores for comparison. It is very difficult to remember product specifications and prices of each store, especially if he/she wants to buy several products at one time. Were it not for a comparison tool that gathers product information and compares it, it would be well-nigh impossible for the user to sift through the information from numerous stores. A personal support agent, which helps the user to reduce his/her workload and save the time for shopping, makes current electronic commerce system more convenient. 2.2 Existing Personal Support Agents in Electronic Commerce There are some agents that assist the user to buy goods at an electronic market. Guttman [4] suggests categorizing agent-mediated commerce systems based on consumer buying behavior model which has six stages: (1) need identification, (2) product brokering, (3) merchant brokering, (4) negotiation, (5) purchase and delivery, and (6) product service and evaluation. He categorizes existing agents based on this model. Most of them support one or two stages of the model. Agents that support product brokering stage are PersonaLogic [8], Firefly [7], and Tete-a-Tete [4], [14]. Bargain Finder [9], Jango [10], Kasbah [3], [11], and Tete-a-Tete support merchant brokering stage. Agents, which support negotiation stage, are Kasbah, Auction Bot [12], and Tete-
a-Tete. Product brokering agents recommend a product or products to the user; Firefly recommends CDs or films. Merchant brokering agents refer a merchant to the user; Bargain Finder brings a merchant to the attention of the user by price comparison. Jango shows product information such as availability, prices, and related information on merchant sites. These agents mainly support (2), (3), and (4) of the above six stages. There are no agents, however, which support (1) need identification, and (6) product service and evaluation of the consumer buying behavior. In purchase and delivery (5) of this model, actual movements of the goods are required. So, we consider the agent system that supports five stages of the consumer buying behavior model except (5). 3.
Requirements of Grocery Shopping System
Most of Internet stores sell highly standardized factory products which are relatively easy to transact in electronic commerce, because the user can estimate its functions and features. Price is the most important decision factor when buying standardized products. As grocery food purchasing is the routine of every family, we have focused on grocery foods to automate the purchasing process to maximize the effect of automation. We buy many grocery food items at one time, but the amount of money spent for one purchase is not great. Automated process would save our efforts and time. Groceries have many varieties but their qualities are almost the same. Freshness is the critical quality factor, but groceries spoil easily and are difficult to preserve long. The value of groceries varies by production places or by parts of the product. The harvest varies season by season, and shipment day by day. Moreover, the customer evaluates the groceries based on his/her preference. In short, the value of groceries varies by freshness, production place, product parts, available amounts from day to day, and user preference. 3.1 Required Characteristics for Grocery Shopping Process Automation To reduce the user’s effort of shopping around grocery food stores, the system should automate the shopping process. To automate the process, the system should possess the following characteristics: (1) Autonomy: In order to reduce or eliminate user intervention during purchasing activity, the system should have autonomous transaction facilities. It executes all the required activities of grocery shopping for the user, generates the grocery shopping list mirroring the user’s intention, calculates the required quantity of each grocery by considering the stockpile, and gathers grocery information from multiple stores on the Inter-
IEICE TRANS. INF. & SYST., VOL.E83–D, NO.11 NOVEMBER 2000
1942
net. (2) User adaptability: User preference is changing all the time. The system should reflect user’s up-to-date preference in an adaptation mechanism. The system learns user preference by referring to user’s evaluation of goods that he/she has purchased. This learning mechanism provides the system with user adaptability. (3) Multiple store server access: The user requires grocery information on several stores, and places orders after comparing it. Direct negotiation is not required in grocery shopping, because the user buys groceries at fixed prices from supermarkets or convenience stores. The user decides what and where to buy by comparing their product characteristics and prices. Grocery shopping system gathers grocery goods information from several stores and compares the learned facts with multiple product characteristics based on user preference of each grocery item as Fig. 1 shows. 3.2 Functional Requirements from the User’s Viewpoint The automated grocery shopping system should fulfill the following functional requirements from the user’s viewpoint to purchase the groceries regardless of their varying value. (R1) Product selection based on user preference: Each user has his/her own preference for a specific grocery and store. The user may have a stronger desire to buy beef produced in the U.S. than in Australia. He/She may prefer the Store A to others. (R2) Comparison tools: The user wants to see his/her preference reflected adequately when choosing a product to purchase, may need a comparison tool to compare grocery information from several store servers when buying groceries via the Internet, and may have different comparison strategy to each grocery item. (R3) Grocery stock control: The user has some grocery stock in the refrigerator. To utilize the grocery stock first, the system should have grocery stock control function.
(R4) Keeping track of environment: The environment of grocery shopping system is changing: a new store would start business and another store would provide discount sales. The electronic grocery shopping system should follow up these environmental changes. (R5) Continuous communication with store servers: Grocery shopping system should communicate with store servers to get product information and discount sales plan, to guide the user to best shopping. 4.
Design of Agent-Based Grocery Shopping System
In Sect. 3, we have seen that the grocery shopping system requires autonomy, user adaptability, and multiple server access to automate the process. It is believed that an agent system possesses autonomy, user adaptability, and social ability. An agent is an independent software entity that achieves user’s goal by means of domain knowledge in cooperation with other software/human agents and using predefined cooperative protocols. We have designed our grocery shopping system based on agent technology, because the agent system fulfills the required characteristics of this system. 4.1 Structure of Agent-Based Grocery Shopping System An agent system should be so designed as to resemble the real world setting as closely as possible if it is to work effectively. Toward this end, business activities in the real market are broken down into small tasks and their functions are analyzed. These small tasks are designed and developed as primitive agents. Then organization agents group the primitive agents. The organization agent coordinates the primitive agents to achieve given goals. This is considered natural sequence of logic. The highest layer organization agent is called role agent. The role agents conduct real world business operation in cooperation with one another based on the predefined cooperation protocols. The terms of primitive agent and organization agent are used in structural view of agent, but the term of role agent is used in functional view of agent. This subsection describes the structure of the agent based shopping system and its protocols. 4.1.1
Fig. 1 General view of grocery shopping system on the Internet.
Structural Characteristics of Agent-Based Grocery Shopping System
The structural characteristics of our agent-based grocery shopping system are as follows: (1) Three kinds of role agents. There are three kinds of role agents in our agent-based grocery shopping system: a user agent (UA), an information management agent (IMA), and a store server agent (SSA). They are independent software entities that have their own roles
JOO et al.: DESIGN AND IMPLEMENTATION OF AN AGENT-BASED GROCERY SHOPPING SYSTEM
1943
to play autonomously. The indispensable two agents in grocery shopping system are a buyer agent that acts as a buyer, and a store server agent (SSA) that acts as a seller. The buyer agent is divided into two agents, UA and IMA, because the buyer’s shopping process is composed of real purchasing and information gathering activities. UA conducts purchasing activity on behalf of the user only when it is asked to do so. IMA manages all the required information and knowledge for grocery shopping. In addition, IMA forms a community with other users’ IMAs and continually exchanges information among them. SSA not only provides product information to UAs but also forms a community with other SSAs to exchange information of users among them. The three role agents are described in Sects. 4.2, 4.3, and 4.4. Figure 2 shows the structure of the grocery shopping system. (2) Organization-Primitive agent structure. User’s activity of grocery shopping consists of many small tasks such as selection, information gathering, comparison, decision, and evaluation. A user conducts each task independently for other tasks, and chooses an alternative from multiple strategies for each task. We have developed an agent for a task, because it is natural and easy to develop an agent that imitates user’s activity. We call it a primitive agent. The primitive agent executes a specific small task/function. It is necessary to group primitive agents, because the role agents execute several activities to achieve the goal of the system. We have introduced an agent that groups primitive agents and call it an organization agent. The organization agent achieves user’s goal using domain knowledge. Natural logical sequence leads the programmer to build multiple primitive agents for each task. (3) Exclusive agent cooperative protocol. A role agent achieves its goal by interaction with other role agents. The role agent sholuld communicate with each other in accordance with the predefined cooperative protocols to achieve the user’s goal. We propose four exclusive agent cooperative protocols for UA, IMA, and SSA in Sect. 4.5. In this paper, we have focused on the cooperative protocols of UA.
Fig. 2
Structure of grocery shopping system.
4.1.2
Benefits of Proposed System Structure
Benefits of the proposed system structures are: (1) Fast agent development: We can develop an agent fast by using organization-primitive agent structure based on human activity analysis. Small tasks are easily converted to primitive agents, because their task knowledge is simple. (2) Efficient use of computer resources: We can use computer resources efficiently, because the organization agent organizes primitive agents for required tasks only. (3) Automated process of grocery shopping: In our design, grocery shopping activity is divided into several small tasks. By assigning them to proper agents, we can automate the grocery shopping process, which minimizes user’s intervention. (4) User adaptation: Agents use the knowledge of user preference for grocery items and stores, and user’s comparison strategies. They can adjust purchasing quantity based on the user’s stock. Also, they can manage the total cost of shopping within the budget by observing total prices of purchased items and substituting expensive goods with less expensive ones when the prices exceed the budget. (5) Flexibility: Under the system, a compare agent can be selected from among many for a specific grocery item. Primitive agents can be reorganized when there are changes in user’s requirements, system environment, or system function. 4.2 User Agent (UA) UA orders groceries from the best provider of each grocery item on behalf of a user. We have designed UA to cover the requirements (R1) and (R2) given in Sect. 3.2. Figure 3 shows the structure of UA. UA is a role agent that organizes agents to realize an easy-to-use human interface of the agent-based grocery shopping. UA is responsible for managing and controlling the whole process of automating grocery shopping. Compare agent is a primitive agent that gathers grocery information, compares it, and places orders with grocery stores. The compare agent utilizes knowledge of the user preference for both groceries and stores that are managed by IMA, to provide the user-oriented shopping services for the user. The user defines and utilizes the user-specific compare agents with different
Fig. 3
Structure of user agent.
IEICE TRANS. INF. & SYST., VOL.E83–D, NO.11 NOVEMBER 2000
1944
comparison algorithms. User Interface agent is an organization agent to manage and control the following primitive agents which interact with the user by using knowledge of respective agents: – Initial agent starts the shopping process. It gathers the menu list from IMA and shows it to the user. – Menu Selection agent asks the user to select the preferable dishes in the menu lists given by the Initial agent. – Evaluation agent receives the user’s evaluation of shopping and asks IMA to update the user preference. Several evaluation agents with different evaluation algorithms can be defined and utilized by the user. UA has the following characteristic: User-oriented service configuration can be realized. Each agent of UA is assigned to a task and executes it on behalf of the user by using user-specific information/knowledge. The user may specify various information/knowledge of UA’s agents to realize user-oriented services for grocery shopping. For instance, the user changes comparison strategies with respect to his/her specific requests or situations of shopping by changing comparison agents with different comparison algorithms, and also changes the look-and-feel of human interface by reorganizing the structure of User Interface agent. 4.3 Information Management Agent (IMA) IMA manages knowledge bases and databases. We have designed IMA to cover (R1), (R3), (R4), and (R5) given in Sect. 3.2. Figure 4 shows the structure of IMA. IMA is a role agent that organizes agents to realize intelligent management of data and knowledge. IMA is responsible for gathering knowledge and data autonomously, and tailors them to user’s requirements. Data Management agent (Data MA) is an organization agent that controls the following agents that manage knowledge base or database directly and that is responsible for receiving information requirements and delivering the information to who requests it: – Preference agent is a primitive agent that manages user preference knowledge of groceries . – Recipe agent is a primitive agent that manages user’s recipe knowledge. GrocList generates a grocery shop-
Fig. 4
Structure of information management agent.
ping list by using recipe knowledge. Recipe agent may increase the number of menus by exchanging knowledge with other users’ recipe agents. – Stock agent is a primitive agent that manages grocery stock information at user’s hand. It provides grocery stock information for GrocList agent, which in turn calculates accurate quantity of grocery to buy. It makes the user use grocery stock firstly. – Store agent is a primitive agent that manages store information. It has a list of stores and classifies them by their characteristics. It provides appropriate stores’ addresses to UA, communicates with store servers regularly to check their status, receives an announcement from a newly opened store, and checks a store that closed its business. – Discount Sales Info agent is a primitive agent that gathers discount sales information from store servers and provides it to the user agent. Store servers send discount sales information to the Discount Sales Info agent even without request from the user. GrocList agent is a primitive agent that generates a grocery shopping list using recipe and stock information for provision to the user agent. Evaluation agent is a primitive agent that receives user’s evaluations from the user agent and analyzes them. Then it asks Data MA to modify the related knowledge base and database, and gives grocery shopping system user adaptability. IMA has following characteristics: Efficient management of knowledge base and database: Gathering all information base agents under Data MA increases the flexibility in managing information bases. We use new information simply by adding a new primitive agent and its information base. User adaptability: IMA modifies user preference knowledge of groceries through user’s evaluation of groceries and stores at the end of the grocery shopping process. The agent buys groceries closer to user preference by learning his/her evaluation. Recipe agent can modify its knowledge based on user’s evaluation of the menu. The more the user uses the system, the more the system adapts to him/her. 4.4 Store Server Agent (SSA) A store server agent provides groceries information at the request of UA or IMA. It supports (R4), and (R5) given in Sect. 3.2. We may develop a new SSA or agentify existing programs by wrapping required functions to them. Figure 5 shows the structure of SSA. SSA is a role agent that organizes agents to provide grocery information to and get orders from the user agent. SSA cooperates with UA in automating grocery shopping process. Grocery DB agent is a primitive agent that manages grocery information and provides it to who requests it.
JOO et al.: DESIGN AND IMPLEMENTATION OF AN AGENT-BASED GROCERY SHOPPING SYSTEM
1945
Order Processing agent is a primitive agent that carries out required activities to accept an order and verifies the grocery inventory when it receives an order from UA. If the store has enough inventory, it asks Order Accepting Agent to accept the order. If not, it notices UA of its low inventory. Order Accepting Agent is a primitive agent that confirms an order from UA and asks a clerk to deliver ordered groceries to the user. 4.5 Interactions among Agents We have designed the following four agent communication protocols between agents to facilitate cooperation among UA, IMA, and SSA. Figure 6 shows the protocols used in the system, and Table 1 explains their roles. These protocols increase communication efficiency between agents. In this paper, we focus on P1 and P2 to show that our system works properly for grocery
Fig. 5
Structure of store server agent.
shopping. We will extend our next research to P3 and P4 to support the user more efficiently. P3 will give much more intelligence to the system by exchanging knowledge between different users’ IMAs. Using P4, IMA gathers information and makes grocery shopping guidance for the user. P4 introduces push mode communication for gathering information of stores and discount sales. In push mode communication, SSA sends information to IMA even without its request. P3 and P4 give more intelligence to IMA, and make the system work better for grocery shopping. 4.5.1
UA executes three tasks in cooperation with IMA: (1) prepares grocery exchange, (2) evaluates grocery shopping, and (3) modifies information base. UA requires various information to achieve user’s goal. An Initial agent requires a menu when the user starts the shopping process. After the user has decided on what to have, UA needs a grocery shopping list to purchase necessary groceries. When GrocList agent receives a request for a grocery list, it generates it by gathering data and information from the recipe agent and the stock agent. GrocList agent sends the prepared grocery list to the compare agent. At the same time IMA asks the preference agent to send user preference knowledge to the compare agent when the GrocList agent has generated the list. The compare agent uses the grocery shopping list for requesting grocery information from SSAs. To evaluate grocery shopping, UA requests IMA to send a purchased grocery list. With user’s evaluation, UA asks IMA to change, add to, or delete from the information. Table 2 shows the performatives for P1: Internal Protocol. 4.5.2
Fig. 6 agents.
Agent communication protocol between GrocShop
Table 1
P1: Internal Protocol
P2: Grocery Exchange Protocol
The compare agent requests grocery information from SSAs, compares it with user preferences and places orders with selected SSAs. If an SSA has enough inventory, it accepts the order and notifies the user by sending the accepted order list. If SSA does not have
Agent communication protocols used in grocery shopping system.
IEICE TRANS. INF. & SYST., VOL.E83–D, NO.11 NOVEMBER 2000
1946 Table 2
Performatives for P1.
Table 3
Performatives for P2.
enough inventory for some groceries, it rejects the order and notifies it by sending the rejected order list. UA and SSAs repeat the process until UA is satisfied with the number of accepted orders. UA requests SSA to start order processing for accepted orders. Each SSA sends the processed order list to UA when it has finished order processing. Table 3 shows the performatives for P2: Grocery Exchange Protocol. 5.
Implementation and Evaluation of Agent-Based Grocery Shopping System
We have implemented GrocShop, a multi-agent grocery shopping system, and conducted experiments on simulated grocery shopping to verify if our design works properly, particularly if preference knowledge and the proposed P1 and P2 are effective. 5.1 An Overview of Implementation GrocShop system has been implemented under UNIX operating system. We have implemented UAs, IMAs, and SSAs in workstations of our laboratory. We have adopted Agent-based Distributed Information Processing System (ADIPS) Framework [1] for designing and implementing our agent-based grocery shopping system. ADIPS Framework is an agent-based computing environment to implement and execute ADIPSs
Fig. 7
System configuration of GrocShop experiment.
based on users’ requirements. ADIPS Framework consists of three subsystems: (1) ADIPS Workspace (AWS) which is an agent’s operational environment, (2) ADIPS Repository (ARS) which is a storage with the functions to manage and utilize the reusable agents, and (3) ADIPS Design Support (ASP) which provides the facilities for designers to develop various agents based on ADIPS model. The designer of the GrocShop system makes class agents in ARS through ASP. An instance agent that is generated as an instance of a class in ARS runs on AWS. So GrocShop UAs, IMAs, and SSAs run on the AWS. Figure 7 shows the configuration of GrocShop experiment environment. There are two ways of controlling the action of agent organization. The user may directly give required
JOO et al.: DESIGN AND IMPLEMENTATION OF AN AGENT-BASED GROCERY SHOPPING SYSTEM
1947
parameters for controlling the action of the agent organization when he/she starts the GrocShop system. User’s knowledge could be coded as domain knowledge of the organization agent that controls the action of the agent organization using domain knowledge. ADIPS framework provides the required function of controlling the action of the agent organization. 5.2 Grocery Purchasing Experiments Using GrocShop To verify our design of the agent-based grocery shopping system, we have performed several experiments. GrocShop user agent has its own comparison algorithm. Every user implements his/her own comparison algorithms, and the user agent selects one when it organizes
its compare agent. In this experiment, GrocShop compare agent sums up user preference priority for various quality attributes. GrocShop has two important characteristics: (1) grocery comparison based on user preference and (2) user adaptability by learning user preference. To show the characteristic (1), we demonstrate that different users purchase groceries from various stores. Also, to show the characteristic (2), we demonstrate that GrocShop chooses other grocery goods when the user changes his/her preferences. In this experiment, the users have average 23.2 grocery items at hand. Each has 35 preference knowledge records on 20 categories of grocery foods on the average. Each store server has 142 grocery information on 99 categories of grocery goods on the average. Figure 8 shows the process flow of GrocShop used in this experiment. 5.2.1
Fig. 8
Grocery shopping process.
Table 4
Table 5
Experiment 1 — Experiment on Effects of Preference
Five users select the same dishes in the menu: Tataki of beef, Hatpousai, and Tonjiru. In this experiment, five users use same recipe knowledge. However, they have their own preference knowledge and stock data. GrocList generates a necessary grocery list. Each user sends the list to five stores. To verify the effects of preference, we show the users’ selection of a lump of beef. Table 4 shows the users’ preferences and their stocks of it. Five stores send their grocery information to the user agent. Table 5 shows the grocery information on a
Users’ stocks and preference of a lump of beef.
Grocery information from stores and user’s evaluation.
IEICE TRANS. INF. & SYST., VOL.E83–D, NO.11 NOVEMBER 2000
1948
lump of beef from five stores. The compare agent compares it using user preference. Table 5 also shows each user’s evaluation of each store’s grocery information. Each user’s UA chooses the best grocery goods of his/her preference. Table 6 shows each user’s order for a lump of beef. Five users’ choices are distributed among several stores. When there was no user preference, five users ordered from StrA by comparing prices only. Table 7 shows five users’ selection of a lump of beef when there was no user preference. All five users’ satisfaction decreases in this compared to the previous one. It means that they bought groceries even if they do not like them.
production date, and expiry date, in learning user preference. We changed the user D’s preference of production and expiry dates. Table 8 shows user D’s preference of changed production and expiry dates. Table 9 shows the grocery information and its evaluation by the users. Table 10 shows users’ selection of each case. D1 allows longer dated beef, but D2 allows to buy only fresh beef. They selected different kinds of beef based on their own preferences.
5.2.2
We simulated a grocery shopping activity using GrocShop. Each of the five users bought groceries nine times. At the first three times, they bought groceries from three dishes of the menu. And then, they bought groceries from five dishes of the menu three times. Finally, they bought groceries from eight dishes of the menu three times. Table 11 shows the experiment results. As an example, user A required 14.3 groceries
Experiment 2 — Experiment on Effects of Preference Change
Changes in user preference affect the experiment results. To verify the agent’s behavior, we performed the same experiment with changed preference knowledge. In this experiment, IMA uses six parameters such as grocery name, shape, origin/producer, product parts,
Table 6
5.2.3
Experiment 3 — Experiment on Simulated Grocery Shopping
Grocery selection results by GrocShop with user preference.
Table 7
Table 8
Shopping results of grocery without user preference.
User D’s preference changes of a lump of beef.
JOO et al.: DESIGN AND IMPLEMENTATION OF AN AGENT-BASED GROCERY SHOPPING SYSTEM
1949 Table 9
Grocery information from stores and user D’s evaluation.
Table 10
User D’s shopping results based on a preference changes.
Table 11
Results of simulated grocery shopping.
on the average when he/she selected three dishes in the menu. 12.3 groceries were selected by comparing the quality attributes using his/her preference. 0.7 grocery was selected by comparing prices only, because IMA had no preference entry for them. 1.3 groceries were not in any store, so GrocShop could not buy them. GrocShop system used 21.107 secconds to complete the purchasing process; 14.939 seconds to gather grocery information from five store servers; and 6.168 seconds to compare grocery information and place orders with each store server. Satisfaction ratio is defined as the ratio of the number of purchased groceries based on preference to the total number of purchased groceries. By reviewing the experiment results, we have drawn the following conclusions: Efficiency of preference data: We have used only
35 preference knowledge entries on 20 grocery categories in this experiment. Satisfaction ratio is high enough to apply GrocShop to real grocery shopping. By increasing the number of preference knowledge entries, we can improve the satisfaction ratio. GrocShop system can increase preference knowledge by referring to user’s evaluation of previous shopping results. Effectiveness of cooperative protocol: We have used only 99 categories of grocery goods in store. The average of no-hit-ratio is 9.7 percent. It is fairly low if we consider that the number of groceries in store is too small. We can decrease the no-hit-ratio significantly by replacing the no-hit-grocery with substitutes or by increasing the number of groceries in store. Also, we can repeat the grocery purchasing processing for nohit-groceries at a different set of stores until it could
IEICE TRANS. INF. & SYST., VOL.E83–D, NO.11 NOVEMBER 2000
1950
buy all the required groceries. Time Saving: It took only 40 seconds to buy groceries from eight dishes. We can eliminate all the activities of grocery shopping at stores. 5.3 Comparison of GrocShop to Existing Agent Systems Firefly, Bargain Finder, and PersonaLogic are information brokers which support multiple users and stores, so the services provided by them are somewhat standardized. Kasbah is a mature market player which acts as a seller and a buyer through one to one direct negotiation on price. GrocShop acts as an information broker and a mature market player. As an information broker, GrocShop supports only a specific user, so the service is customized to him/her. As a mature market player, a user agent gets one-time bidding from multiple store servers for multiple decision factors. It is similar to the human purchasing activity in a perfectly free market. 5.4 Evaluation of Our Agent-Based Grocery Shopping System We evaluate our proposed agent-based grocery shopping system as follows: (1) GrocShop reduces the user’s effort to buy groceries. GrocShop buys groceries from selected dishes. User’s activity in this process is to review the menu and choose the dishes he/she wants. GrocShop makes a grocery shopping list, gathers grocery information, compares it with user preference, and places orders with stores providing groceries on the best conditions. The user is freed from actual grocery purchasing activity. The user may order groceries by phone, while he/she looks at a catalog. GrocShop could rid the user even of this kind of activity. Catalog shopping is limited to one company, whereas GrocShop is open to multiple stores by agent’s support. GrocShop will eventually free the family completely from grocery shopping. (2) GrocShop saves user’s time to buy groceries at a store. We have shown that GrocShop implements grocery shopping process in a short time. It replaces transportation time with electronic communication time. It communicates with several stores at the same time, so it can save the time that the user spends visiting several stores for buying them. (3) GrocShop covers requirements of grocery shopping system from the user’s viewpoint. GrocShop agents perform grocery shopping activity autonomously on behalf of a user. GrocShop agent has knowledge of user’s behavior and conforms to it throughout the grocery shopping process. It changes its knowledge according as user’s evaluation varies. By reflecting user’s evaluation, GrocShop keeps itself fit to serve the user. It communicates with several store servers constantly with push and put communication mode. Compare agent
of UA solves the requirements of (R1), and (R2) given in Sect. 3.2. GrocList agent of IMA reflects the user’s grocery stock when it makes the shopping list, and solves the requirement of (R3) given in Sect. 3.2. UA, IMA, and SSAs fully automate the grocery shopping process. Now, IMA supports partly (R4), and (R5) given in Sect. 3.2. We plan to extend IMA’s capability to support (R4) and (R5) completely. (4) GrocShop supports the five stages of consumer buying behavior. GrocShop system automates the grocery shopping process. It identifies what to have (need identification), defines what to buy (product brokering), selects where to buy (merchant brokering and negotiation), and updates user preference via user’s evaluation (product service and evaluation). 6.
Conclusion
We have proposed an agent-based grocery shopping system that automates the grocery shopping process by comparing the grocery information on user preferences. We have identified five functional requirements from the user’s viewpoint of grocery shopping system, designed a system to support them with three kinds of role agents and implemented them with ADIPS and Java. Experiment results reflect effectively user preference in grocery shopping. The experiment also shows that our design provides all the services to cover the functional requirements from the user’s viewpoint. P1, P2, P3 and P4 should be implemented before the GrocShop is used practically. Not only these four protocols but also the functionality of agents, UA, IMA, and SSA, should be reinforced for practical use of GrocShop. We have considered only protocols P1 and P2, the very basic protocols of grocery shopping. The results of experiment show that GrocShop buys an average of 30.2 groceries from five stores for making 8 kinds of dishes. These results assure that our system will help people to save time and effort greatly for grocery shopping by reducing or eliminating the need to go to grocery stores and/or supermarkets. We will extend our design in the future to support the agent communication protocols of P3, and P4 proposed in Sect. 4.5. References [1] T. Kinoshita and K. Sugawara, “ADIPS framework for flexible distributed systems,” Proc. 5th Pacific Rim International Conf. on Artificial Intelligence, pp.161–175, Nov. 1998. [2] K.H. Joo, T. Kinoshita, and N. Shiratori, “On agentbased grocery shopping system,” IEICE Technical Report, AI98-6, May 1998. [3] A. Chavez and P. Maes, “Kasbah: An agent marketplace for buying and selling goods,” Proc. First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, London, UK, April 1996. [4] R. Guttman and P. Maes, “Cooperative vs. competitive multi-agent negotiations in retail electronic commerce,”
JOO et al.: DESIGN AND IMPLEMENTATION OF AN AGENT-BASED GROCERY SHOPPING SYSTEM
1951
[5]
[6]
[7] [8] [9] [10] [11] [12] [13]
[14]
[15]
[16]
[17]
[18]
[19]
Proc. Second International Workshop on Cooperative Information Agents (CIA’98), Paris, France, July 3–8, 1998. A. Moukas, R. Guttman, and P. Maes, “Agent-mediated electronic commerce: An MIT media laboratory perspective,” Proc. International Conference on Electronic Commerce (ICEC’98), Seoul, Korea, April 1998. M.B. Tsvetovatyy, and M. Gini, “Toward a virtual marketplace: Architecture and strategies,” Proc. First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, London, UK, April 1996. Firefly Network URL: http://www.firefly.com/ PersonaLogic URL: http://www.personalogic.com/ BargainFinder URL: http://www.bf.cstar.ac.com/bf Jango URL: http://www.jango.com/ Kasbah URL: http://kasbah.media.mit.edu/ AuctionBot URL: http://auction.eecs.umich.edu/ R. Doorenbos, O. Etzioni, and D. Weld, “A scalable comparison-shopping agent for the World Wide Web.,” Proc. First International Conference on Autonomous Agents, Marina del Rey, CA, U.S.A., Feb. 1997. R. Guttman and P. Maes, “Agent-mediated integrative negotiation for retail electronic commerce.,” Proc. Workshop on Agent Mediated Electronic Trading (AMET’98), Minneapolis, Minnesota, U.S.A., May 1998. J.A. Rodriguez, P. Noriega, C. Sierra, and J. Padget, “FM96.5. A Java based electronic auction house,” Proc. Second International Conference on the Practical Appllications of Intelligent Agents and Multi-agent Technology, pp.207–224, London, UK, April 1997. J. Collins, B. Youngdahl, S. Jamison, B. Mobasher, and M. Gini, “A market architecture for multi-agent contracting,” Proc. Second International Conference on Autonomous Agents, pp.285–292, Minneapolis, U.S.A., May 1998. A. Chavez, D. Dreilinger, R. Guttman, and P. Maes, “A real-life experiment in creating an agent marketplace,” Proc. Second International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, London, UK, April 1997. T. Sandholm and V. Lesser, “Issues in automated negotiation and electronic commerce: Extending the contract net framework,” First International Conference on Multiagent Systems (ICMAS-95), San Fransisco, U.S.A. R.G. Smith, “The contract net protocol: Heigh-level communications and control in a distributed problem solver,” IEEE Trans. Computers, vol.C-29, pp.1104–1113, Dec. 1980.
Kwang Hyoun Joo was born in Seoul, Korea, in 1959. He received the B.S degree in Electrical Engineering from Seoul National University, Korea, in 1983, and the MBA degree from Sogang University, Korea, in 1993.He had worked for IBM Korea as a Systems Engineer from Jan. 1983 to Aug. 1993. Also, he had worked for Hyundai Information Technology as a manager of Information Systems & Technology Center from Jan. 1994 to May 1995. His research interests include electronic commerce, distributed agent system, and cooperative protocols.
Tetsuo Kinoshita is an associate professor of Research Institute of Electrical Communication of Tohoku University. He received a Dr.Eng. degree in information engineering from Tohoku University, Japan. His research interests include knowledge engineering, cooperative distributed processing and agent-based computing. He received the IPSJ Best Paper Award in 1997, etc. He is a member of IPSJ, JASI, AAAI and IEEE.
Norio Shiratori received Ph.D degree in Electrical and Communication Engineering from Tohoku University, Japan, 1977. He is now a Professor of Computer Science at RIEC of Tohoku University. He has been engaged in research of an intelligent distributed processing system, software design, human interfaces, multiagent system and CSCW. He has received lots of research awards including the IPSJ Best Paper Award in 1997, etc. He has been named a Fellow of the IEEE for his contribution to the field of computer communication networks.