250 likes | 272 Views
Personal information agents for travel e-commerce. Boi Faltings (http://liawww.epfl.ch/). Traditional travel distribution. Travel agents. + Sabre, Amadeus, Worldspan. Galileo. GDS. UAL. Swissair. Avis. Hilton. EasyJet. CRS. Traditional travel e-commerce. Trip.com. Web server.
E N D
Personal information agentsfor travel e-commerce Boi Faltings (http://liawww.epfl.ch/)
Traditional travel distribution Travel agents + Sabre, Amadeus, Worldspan Galileo GDS UAL Swissair Avis Hilton EasyJet CRS
Traditional travel e-commerce Trip.com Web server Edifact + Sabre, Amadeus, Worldspan Galileo GDS UAL Swissair Avis Hilton EasyJet CRS
Travel e-commerce with agents Personal agent Agent.com Travel portal Internet UAL Swissair Avis Hilton EasyJet CRS
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): • Leave after 8 am • Arrive by 2 pm • Preferred airline: Swissair • Price < $500 • No transfer at London Heathrow • Everyone has their own criteria!
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 Uniform and simple mechanism Preference Preference Flight schedule Flight schedule Optimal answers Flight schedule Flight schedule Flight schedule Flight schedule Fare Fare Fare Fare Fare Fare
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 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 Agent.com Travel portal (mediator) Galileo GDS UAL Swissair Avis Hilton EasyJet CRS
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 isy-travel: Architecture Web server Customer CRS/GDS/… Server WAP browser Java Servlet Search engine HTML browser Itinerary and Profile Server Java Applet Search engine Bookings ISY Travel Modules