Personal information agents for travel e-commerce Boi Faltings (

advertisement
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
Download