Personal information agents for travel e-commerce Boi Faltings (
Traditional travel distribution UAL Galileo SwissairAvisHiltonEasyJet CRS GDS + Sabre, Amadeus, Worldspan Travel agents
Traditional travel e-commerce UAL Galileo Trip.com SwissairAvisHiltonEasyJet CRS GDS + Sabre, Amadeus, Worldspan Edifact Web server
Travel e-commerce with agents UAL Agent.com SwissairAvisHiltonEasyJet CRS Internet Travel portal Personal agent
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.Leave after 8 am 2.Arrive by 2 pm 3.Preferred airline: Swissair 4.Price < $500 5.No transfer at London Heathrow –Everyone has their own criteria!
Different people, different tradeoffs: Departur e time Arrival time AirlineTransferCost 1.6:4512:15 Lufthansa FRA$485conscie ncious 2.14:1519:20 Swissair ZRH$720bureau crat 3.11:0515:30 Air France PAR$380budget 4.8:5013:50 British Air LHR$660busy
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 Flight schedule Fare Preference Flight schedule Flight schedule Flight schedule Flight schedule Flight schedule 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
Constraint Satisfaction Problems Variables x 1,x 2,...,x n = choices Domains D 1,D 2,...,D n = possible values Relations R 1 = (x i,x j ), R 2 = (x k,x l,x m ),...,R m Constraints C 1 = ((v 1,v 2 ),(v 3,v 4 ),...),C 2,...,C m All are fixed for a certain problem Find: Solutions x 1 = v i, v 2 = v j,...,x n =v k 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 Tightness = 1 must be avoided!
User interaction Java applet/application with graphical displays Conversation: –user states preferences/constraints –agent displays solutions
1.Drop-down menus allow fine tuning of preferences 2. Preferences are stored and can be reused at any time
What Iconomic Systems built: Agent.com Travel portal (mediator) Personal agent UAL Galileo SwissairAvisHiltonEasyJet CRS GDS
The applet: All included All you need to download from the internet for travel planning is 10kb!
Flights/availability Fares with conditions/rules Hotels Availability/prices Car availability/prices Java Applet Search engine HTML browser WAP browser Java Servlet Search engine Server Itinerary and Profile Server Bookings CRS/GDS/… Web serverCustomer ISY Travel Modules isy-travel: Architecture