1 / 59

Agent-based E-commerce System

Agent-based E-commerce System. Maria Ganzha Marcin Paprzycki http://agentlab.swps.edu.pl. Agent-based E-commerce System. 1. Introduction. Assumptions. Modelling a distributed marketplace  Internet e-buyers visit e-shops with a desire to purchase products

renata
Download Presentation

Agent-based E-commerce System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agent-basedE-commerce System Maria Ganzha Marcin Paprzycki http://agentlab.swps.edu.pl

  2. Agent-basedE-commerce System 1. Introduction

  3. Assumptions • Modelling a distributed marketplace  Internet • e-buyers visit e-shops with a desire to purchase products • buyers negotiate prices with sellers • clients decide which store to buy from • “wholesalers” provide products for e-shops • Utilizing software agents for all e-commerce functions • develop complete system skeleton  all agent functions and agent interactions implemented

  4. Use case of the system

  5. What's different (1) • Multiple items of a product placed for sale one after another  series of price negotiations • Multiple items sold  price negotiations are organized differently  “discrete process” • Buyer Agents (BA) “collected” and released in groups to participate in negotiations • while negotiation takes place BA’s communicate only with the Seller Agent (SeA) • meanwhile next group of BA’s is collected (as they arrive) and will participate in the next negotiation

  6. What's different (2) • Multiple subsequent auctions (involving items of the same product) take place  price negotiation mechanism can change • Model of a complete e-commerce system • actions that take place before negotiations • actions that take place after negotiations • product logistics • Clients choose shop from which to make a purchase  “airline reservation” model

  7. Agent-basedE-commerce System 2. Ontologies and their utilization

  8. Ontology of products (1) • Product taxonomy inspired by the Global Products Classification (GPC) standards • shoes • cameras • Product skeleton • created by sub-classing the base ontology • shoes of the same style and brand • Product variation • instance of a product skeleton • shoes of given style and brand of a particular size and colour

  9. Ontology of products • Instance

  10. Ontology of products (2) :hasBrand a owl:DatatypeProperty ; rdfs:domain :Product ; rdfs:range xsd:string . :hasColor a owl:ObjectProperty ; rdfs:domain :Product ; rdfs:range :Color . :hasSize a owl:ObjectProperty ; rdfs:domain :Product ; rdfs:range :Size . :Product a owl:Class . :Clothing rdfs:subClassOf :Product . :Shoes rdfs:subClassOf :Clothing . :ShoesWithLaces rdfs:subClassOf :Shoes . :AthleticShoes rdfs:subClassOf :Shoes . :hasPrice a owl:ObjectProperty ; rdfs:domain :Product ; rdfs:range :Price .

  11. Ontology of product – instance (1) @prefix cc: <http://www.ibspan.waw.pl/e-cap/product/clothing-catalog.owl#> @prefix prod: <http://www.ibspan.waw.pl/e-cap/product/product.owl#> . @prefix : <http://www.ibspan.waw.pl/e-cap/db/cic/products.owl#> . :Product1165510834375 a cc:ProtectiveLowerBodyWearBrick, a prod:ProductEntity ; cc:hasConsumerLifestage cc:Unclassified ; cc:hasGender cc:Female ; cc:hasIfDisposable cc:Yes ; cc:hasSafetyFeatures cc:ColdResistant ; cc:hasTypeOfMaterial cc:Combination ; cc:hasTypeOfProtectiveLowerBodyWear cc:ProtectiveKneePads

  12. Ontology of product – instance (2) @prefix avc: <http://www.ibspan.waw.pl/e-cap/product/audio-visual-catalog.owl#> . @prefix prod: <http://www.ibspan.waw.pl/e-cap/product/product.owl#> . @prefix : <http://www.ibspan.waw.pl/e-cap/db/cic/products.owl#> . :Product1165506706750 a avc:Televisions_Hand_HeldBrick, prod:ProductEntity ; avc:hasColourFormat avc:Black_White ; avc:hasTypeOfTelevisions avc:Plasma ; avc:hasIfWithRadio avc:Yes ; avc:hasScreenSize avc:_2.5Inch .

  13. Ontology of products • Instance

  14. Product registration (1) • SA registers sold products with the CIC using ACL REQUEST messages • message content specified using FIPA Semantic Language (FIPA SL) • FIPA SL term representing an action has the form: (action Agent Action) • Specifically: • Agent = the agent performing the action • Action = the action which is [to be] performed

  15. Product registration (2) • Agent = CIC (agent-identifier :name cic@ibspan.waw.pl :addresses http://www.ibspan.waw.pl:9999) • Action = register set of products sold by a SA (Add-Product-Shop (Entry :product (set PD1 ... PDn) :shop Shop :gatekeeper Gatekeeper)) • PDi = product descriptions in OWL (Lite)  ontology instance (ProductDescription :language "owl" :description OWL-EXPRESSION )

  16. Product registration (3) • Products that are sold have to be registered with the CIC • Product ID • extension of product ontology to specify that a given shop sells a given product • shop identified by its Gatekeeper Agent (GA) :GA-1 a :gatekeeperAgent; :name ga509@ibspan.waw.pl ; :addresses http://www.ibspan.waw.pl:9999 ; :shop 767 ; :sells :Product4094094049.

  17. Usage scenario • System is running for some time • SA’s have registered their products with the CIC • stored in a Jena repository • middleware over a database to manage stored in the system instances of ontologies • CA’s know where the CIC is • CA’s have interacted with some SA’s • SA’s have interacted with some CA’s • Scenario  what happens when user wants to buy a pair of athletic shoes • assumption  user interacts with its CA through a web-based interface

  18. Processing User Request • A query-string (URL extension) representing user request reaches the CA • Example: ?productClass=AthleticShoes &hasColor=BlackColor&prize:ofCurrency=EUR &prize:value:leftBound=25&prize:value:rightBound=50 &size:value1=36&size:value1=37 • CA translates query-string into a SPARQL query • SPARQL rather than RDQL because • SPARQL is more expressive than RDQL • SPARQL is about to obtain standardization • JENA already includes working SPARQL module • SPARQL query engine is better tested

  19. SPARQL Query example PREFIX my: <http://jacs.ibspan.waw.pl/ontology#> SELECT ?product, ?gateway { ?gateway :sells ?product; } { ?product, rdfs:subClassOf my:AthleticShoe ; my:hasColor my:BlackColor ; my:hasPrize ?prize ; my:hasSize ?size } { ?prize, my:ofCurrency my:EUR ; my:value ?prizeValue } { ?size my:value ?sizeValue }, FILTER ((?sizeValue = “36.0” || ?sizeValue = “37.0”) && (?prizeValue >= “25.0” && ?prizeValue <= “50.0”))

  20. CIC result set and what next? • CA packs the SPARQL query into an ACL QUERY-REF message send to CIC agent • CIC returns a (possibly empty) set of answers packed in an ACL INFORM message containing expressions like this: (set (sequence PD1GA1) ... (sequence PDnGAn)) • CA evaluates this list based on “trust/image” • Based on results of evaluation CA will interact with selected e-shops

  21. Before Negotiation

  22. Before Price Negotiations • CA asks the GA about admission rules • GA checks CA-trust + product availability and responds • no more product • go away  we do not trust you • BA’s have to come • CA creates and sends a BA • BA’s created locally • RESULT  BA skeleton is “in” • GA provides BA with negotiation “details” • BA requests strategy (for THAT negotiation) • RESULT  BA is ready and informs the GA

  23. Modular Agents

  24. Negotiation and After • GA manages a pool of SeAs • when the time comes, it releases the list of BAs to a free and appropriately configured SeA for negotiation • When negotiation is finished • SeA informs winning BA and SA (via GA) • SA (via SDA) determines for how long to reserve the product for the winner BA/CA • depending on BA/CA “image/trust” • SA informs the BA about the reservation conditions • BA informs its CA about results on negotiation

  25. Decision Time • CA receives ACL INFORM messages from its BAs • inform about winning or loosing negotiations • come completely asynchronous • varying time of reservation • CA utilizes multicriterial analysis to decide • to make purchase utilizing an available offer • to try for a better price • to abandon purchase

  26. Agent-basedE-commerce System 3. Trust in the system

  27. Maria.Merchant Trust and Image • trust – standard conceptualization • a peer’s belief in another peer’s capabilities, honesty and reliability based on its own direct experiences • trust – in our system • fulfilment of a contract • product matching our order • delivery time • reliability of the buyer • image– involves „perceptions” • given shop is „cheap” or „expensive” And I could afford to buy at your shop But your prices are too high for me... I also trust you. I believe in your honesty. I trust you. I believe in your responsibility. Costin.Client Paweł.Client

  28. Trust in the System

  29. Client Trust • Most processes that can visibly change trust in a given store take place during Sale finalization • involves, among others, payment and delivery of products

  30. Initial Trust Sequence Diagram

  31. Shop Trust • Most of process which can visibly change trust take place during After-negotiation period: • SA create reservation • BA: • confirm purchase • reject purchase (?time?) • no answer/answer after deadline

  32. Trust of the Shop in Client x after n-th interaction event performed by the Client. Trust adjustment of n-th interaction event; impact of an interaction event on trust change. Modelling Trust

  33. Maria.Merchant Effect of α Brave client “I want to buy new shoes and I'm gonna try to negotiate with Maria's and Marcin's shops.” Tn(Maria)=0 Tn(Marcin)=0 T Maciej.Client Careful merchant “You must be really obnoxious to make me angry, but as soon you managed to do it, I won't change my opinion about you so fast.” α=0.1 Tn(Maciej)=0 Radical merchant “I can be really mad, when you make me angry, but I also forget about negative behaviours quickly. α=0.8 Tn(Maciej)=0 Marcin.Merchant

  34. tnop tres -γ TA(e) – How Can It Look Like • Reservation time is tres, no-penalty time is tnop, reservation cancellation time is tcant • BA has finalized purchase at time t  [0,tres]TA(e) =1 • BA has cancelled reservation at time tcan[0,tnop]  TA(e) = 0 • BA has cancelled reservation at time tcan (tnop, tres]. Let us assume that the maximum penalty for cancellation at time tcan = tres is γ, where 0  ≤ γ ≤ α, and the TA(e) is linear function, then TA(e) = a* tcan + b, where a = γ / (tres – tnop) and b = –γ tnop /(tres – tnop) • if BA has not responded in time t ≤ tres, then TA(e) = –α

  35. Comments Trust value as a part of CA's strategy • it will buy one item, while has multiple reservations • which to reject imediately? • which can expire? • where not to send agent back to negotiations? • etc. • knowing that over time good and bad behaviors are being forgotten and the incoming agent is treated as „unknown”

  36. Agent-basedE-commerce System 4. Price negotiations

  37. Price Negotiation Overview • BJP framework • negotiation “participants” • host  negotiation “manager” • buyer(s) • seller(s) • negotiation process has phases: • proposal submission • agreement formation • Our system • admission to negotiations – Gatekeeper agent (GA) – not a part of negotiations • rules for admission to negotiations – outside of the host

  38. Negotiation Host Structured Into Subagents

  39. Negotiation Rules • Enforce specific negotiation mechanism • for checking the validity of negotiation proposals – ProposalValidator • for protocol enforcement – ProposalEnforcer • for updating the negotiation status and informing participants – InformationUpdater • for agreement formation – AgreementMaker • for controlling the negotiation termination – NegotiationTerminator

  40. English Auction • single-item • first-price • open-cry • ascending auctions • single seller and many buyers • time limit for ending the auction • seller reservation price simple, well-known, !uninteresting!

  41. Posting Rule IF There is a valid proposal Pr submitted by a participant with role ‘Buyer’ on product A AND There is an active proposal submitted by a participant with role ‘Seller’ on product A THEN Proposal Pr is posted

  42. JESS representedrule

  43. Dutch Auction • Single item Dutch auction • Seller begins with a high asking price which is lowered until buyer is willing to accept the price, or a predetermined minimum price is reached (no sale) • Multiple-item Dutch auction??

  44. Dutch Auction Scenario (1) • Participants: • Negotiation Host (“location” where the negotiations takes place) • Single Seller Agent (SeA) • Multiple Buyer Agents (BA)s • N units of product P are to be sold • Initial bid posted on the Blackboard

  45. Dutch Auction Scenario (2) • SeA subsequently reduces the price • One of BAs (e.g. BA5) responds with an ACL message informing that it is ready to purchase M, M ≤ N, units of P at a price equal to the current bid • then number of available units is reduced by M and BA5 is removed from negotiations (each BA is allowed to submit at most one successful bid) • Process continues until (1) all N units are sold, or (2) minimal price of the SeA is reached, or (3) time of inactivity is over

  46. Seller Rules • Seller is allowed to shout a new price when one of the following conditions holds: • it is the first shout • one of Buyers submitted a bid that was successful • no successful bids were received and at least Tm time units elapsed since the last shout

  47. Improvement-Seller Rule IF participant with role ‘Seller’ has posted proposal Pr and value of last offer posted by ‘Seller’ is B and minimum decrement is H and X(Pr) ≤ B − H THEN proposal Pr is active

  48. Experiments • JADE agent environment • JAVA Expert System Shell (JESS) • up to 20 machines in a single network • homogeneous environment (Windows or Linux) • heterogeneous environment (Windows + Linux) • system is being re-implemented, so next slides represent “what was” (IT WORKED)

More Related