Personal information agents for travel e-commerce Boi Faltings (http://liawww.epfl.ch/) Traditional travel distribution Travel agents Galileo GDS CRS UAL Swissair Avis + Sabre, Amadeus, Worldspan Hilton EasyJet Traditional travel e-commerce Trip.com Web server Edifact Galileo GDS CRS UAL Swissair Avis + Sabre, Amadeus, Worldspan Hilton EasyJet Travel e-commerce with agents Personal agent Travel portal Agent.com Internet CRS UAL Swissair Avis Hilton EasyJet Why personal agents? • • • • • Customize information systems Create persistent interaction Negotiate on user’s behalf Be proactive Load distribution/low latency interaction Requirements • Customize: – represent choices and preferences – filter data according to individual combinations • Persistence: – memorize partially solved tasks • Load distribution: – lightweight Individual preferences • Trip from Geneva(GVA) to San Francisco (SFO): 1. 2. 3. 4. 5. Leave after 8 am Arrive by 2 pm Preferred airline: Swissair Price < $500 No transfer at London Heathrow – Everyone has their own criteria! Different people, different tradeoffs: Departur Arrival e time time Airline Transfer Cost 1. 6:45 12:15 Lufthansa FRA 2. 14:15 19:20 Swissair ZRH 3. 11:05 15:30 Air France PAR $485 conscie ncious $720 bureau crat $380 budget 4. 8:50 13:50 British Air LHR $660 busy Finding a solution: • People can’t state their preferences • Interaction = conversation: – Agent proposes solutions – User states/updates preferences • Different tradeoffs: no unique optimal solution Memorizing partially solved tasks • State of problem solving = combination of preferences • Same preferences => same solutions • Advantages: – Complete problem-solving in stages – Optimal rebooking – High-quality data about customer Lightweight Preference Preference Preference Preference Preference Flight Flight Flight schedule Flight schedule Flight schedule Flight schedule schedule schedule Fare Fare Fare Fare Fare Fare Uniform and simple mechanism Optimal answers Constraint Programming • Planning = search for the best flight combinations • User preferences = constraints • Partially solved task = set of constraints • A form of declarative programming • ...and also very lightweight (Java Constraint Library at http://liawww.epfl.ch/JCL/) Constraint Satisfaction Problems • Variables x1,x2,...,xn = choices • Domains D1,D2,...,Dn = possible values • Relations R1 = (xi,xj), R2 = (xk,xl,xm),...,Rm • Constraints C1 = ((v1,v2),(v3,v4),...),C2,...,Cm All are fixed for a certain problem Find: Solutions x1 = vi, v2= vj,...,xn=vk such that all constraints are satisfied Solving a CSP • Backtrack search: assign values to variables in sequence, always satisfying all constraints • Powerful pruning and variable ordering methods • Parallel methods: assign random values to all variables and make local changes until all constraints are satisfied. Valued CSP • Each constraint carries a weight that models its importance • Solution = value combination with lowest violation cost • Solving process = online optimization (branch-and-bound search) Most tractable problems are CSP CSP is general enough to formulate most interesting NP-hard problems: • Resource allocation: a coloring problem • Scheduling • Planning (assumption: finite world state and operators) • Diagnosis Constraint programming for agent intelligence • Software: does the same thing • Agent: does the right thing • Adaptation to context requires abduction (online optimization) Logical inference modes… • Deduction: bird(tweety) => flies (tweety) • Abduction: flies(tweety) => bird (tweety) • Most inference in information systems is abduction • Abduction requires closed-world assumption (CWA) to be sound: Birds are the only things that fly Implementing abduction • CWA => transform into deduction (procedural programs) • Programmer makes CWA => inflexible • Constraint satisfaction makes CWA at runtime => software that easily adapts • Drawback: NP-hard Dealing with NP-hardness computation time 120 100 80 A1 A2 A3 60 40 20 0 0.1 0.5 1 1.5 tightness Tightness = 1 must be avoided! User interaction • Java applet/application with graphical displays • Conversation: – user states preferences/constraints – agent displays solutions 2. Preferences are stored and can be reused at any time 1.Drop-down menus allow fine tuning of preferences What Iconomic Systems built: Personal agent Travel portal (mediator) Agent.com Galileo GDS CRS UAL Swissair Avis Hilton EasyJet The applet: All included Total Applet Size: 440KB Search engine/GUI World map Airline/Airport codes Flight data 40% 16% 42% 2% All you need to download from the internet for travel planning is 10kb! isy-travel: Architecture Web server CRS/GDS/… Flights/availability Hotels Availability/prices Server Fares with conditions/rules Java Servlet Search engine Itinerary and Profile Server Customer WAP browser HTML browser Java Applet Search engine Car availability/prices Bookings ISY Travel Modules