Title: Working with Preferences
1Working with Preferences
- Ronen Brafman
- Computer Science Department
- Ben-Gurion University
2Goal of our Work Provide tools and build systems
that can make, or can help users make, good
choices. Such systems must understand the
users preferences to be useful.
3Applications of Interest
- optimal product/item selection
- Select a flight, a camera, a movie,
- optimal product configuration
- Configure a PC, a vacation, a car,
- personalization
- Personalize content, interface,
- guiding program choices
- Program will make choices based on a preference
model provided by the designer - We target lay users and application designers
with no background in decision theory
4Focus of this Talk Provide an overview of an
approach to preference handling based on the
xCP-net models and algorithms, and discuss some
applications
5Constrained Optimization Process
Manufacturer Constraints
Feedback ? Spec Revision
Updated Choice
6The Key Ideas
- Preference elicitation
- Use natural language like statements make it
simple - Support heterogeneous types of statements
- Make scaling up to quantitative assessment
possible - Calculating optimal choices
- Efficient methods for ordering sets
- Algorithms for constrained optimization
- Efficient data-driven incremental elicitation
7Elicitation and Modeling
8Natural Preferences Statements
- Value preferences
- Strict I prefer an isle seat to a window seat
- Conditional I prefer isle to window in economy
class - Attribute importance
- Strict Seat assignment is more important than
airline - Conditional Seat assignment is less important
than airline in domestic flights
9The Ceteris Paribus Semantics
- Ceteris Paribus Latin all else being equal
- I prefer an isle seat to a window seat ?
- Given two flights that differ only in seat
assignment, I prefer the one with an isle seat. - Otherwise, cant infer a preference
- Seat assignment is less important than airline
in domestic flights ? - Given two domestic flights that differ in seat
assignment and airline only, I prefer the one
with a better airline - Says nothing about two international flights
10CP-nets (Boutilier, Brafman, Hoos, Poole 99,
Boutilier, Brafman, Domshlak, Hoos, Poole 04)
- A qualitative, graphical model of preferences,
that captures and organizes statements of
conditional value preference. - Each node represents a domain variable.
- Parents(v) are those variables that affect users
preference over the values of v - Parents(class) airline
- Conditional preference table (CPT) associated
with every node in the CP-net - Provides an ordering over the values of the node
for every possible parent context
11Example of a CP-net
12Semantics and Consistency
Any acyclic CP-net defines a (consistent)
partial order over the outcome space.
13Importance Relations
14More Complex Example
Day of the flight
Airline
Departure Time
Stop-overs
Class
15Day of the flight
Departure Time
Airline
Stop-over
Class
16Day of the flight
Departure Time
Airline
Stop-overs
Class
17nodes ? variables
cp-arcs (directed)
A
i-arcs (directed)
ci-arcs (undirected)
B
E
cp-tables
ci-tables
C
D
18Role of Graphical Structure
- Users need not be aware of the underlying
graphical structure - User employs statement templates or some other
input interface - System constructs the network on the fly
- Graphical structure important for
- Analysis query complexity related to structure
- Algorithms often use topological sort
19Preferences ? Plausibility
- CP Conditional Plausibility (Jerome Lang)
- p is more plausible than p given q (ceteris
paribus) - Given two worlds satisfying q that are identical
except for the value of p, the one satisfying p
is more plausible than the one satisfying p. - p is more important, plausibility wise, than q
(ceteris paribus) - Worlds in which p has its more plausible value
are more plausible than worlds in which q has its
more plausible value
20UCP-Nets Boutilier, Bacchus, Brafman
- Quantified CPT
- Simplified semantics sum of utility factors
U(abcd) - fA(a)fB(b)fC(abc)fD(cd)
- 5 4 .6 .9 10.5
- Linear time computation
- Linear time comparison
a a 5 2
b b 4 3
c c
C
a b .6 .1 a b .2 .8 a b .3 .8 a b .9 .3
d d
c .9 .8 c .2 .3
D
21Compiling Diverse Information into UCP-nets
- Diverse statement can be compiled into UCP-net
- Independence information maintained by graph
- Value preferences and variables preferences
- Two-way comparisons of complete outcomes
- Quantitative information
- Simple compilation based on linear constraints
- Good for incremental refinement
- Start with qualitative model no cold start!
- Refine with user feedback/additional observations
22Using (T)CP-nets Algorithms
- Selecting the best element
- Ordering and constrained optimization
231. Ordering Elements
- Need Order (the many) results of a query
- Naïve solution pairwise comparison -- ogto ?
- Problem NP-hard in general
- Alternative solution linearize the partial order
- Insight some linearizations are easy to obtain
- Key
- One of oeo or oeo can be decided quickly
- Answers used to generate consistent ordering
241. Preferential Optimization
Finding the preferentially optimal outcome for an
acyclic network is straightforward!
252. Preference-Based Constrained Optimization
(PCO)
- Given
- User preferences
- An implicitly specified set of feasible options
- Find one/all/k optimal, feasible element(s)
- Applications
- Product configuration (PC, vacation)
- Optimal plan selection
- Content/display adaptation and personalization
26Solving PCOOrdered Generate Test
- Generate outcomes in non-increasing order
- linearize the partial order over all possible
elements - Test for feasibility
- Check for optimality
- First feasible outcome is optimal!
- Need more?
- Maintain set of optimal solutions
- New solution is optimal if not dominated by any
previously generated solution
27Generating a Non-increasing Sequence of Outcomes
- Topologically sort the variables
- Build an assignment (search) tree by
instantiating variables according to this order - Order variable values based on the CPT
- Leaf nodes, ordered left to right ( depth-first
traversal of the tree) correspond to a
non-increasing sequence of outcomes
28(No Transcript)
29Sorting?
- We just saw how we can order all outcomes
- This method does not work for sorting a subset of
all possible assignments - Fortunately, there is a method that can be used
to sort n outcomes in time O(n log n)
30Ordered Generate and Test ? Efficient Constrained
Optimization
- Tree search favorite CSP pruning techniques
- Equivalent to solving the CSP with meta-level
constrains on variable and value ordering - Branch and bound eliminate sub-tree when
- We assign a variable to a less preferred value
- Current set of constraints as strong as for some
previous value of this variable
31(No Transcript)
32Anytime Behavior
- First feasible solution is optimal!
- No theoretical overhead beyond standard CSP
solution - No item withdrawn from set of current solutions
- To obtain more than one solution dominance
testing required - Can lead to considerable computational overhead
33Applications
34Flight Selection (Brafman, Domshlak, Kogan
UAI04)
- Instance of selecting optimal element problem
- Approach
- User supplies
- constraints (source, destination, etc.)
- initial preferences
- Preferences compiled into UCP-net
- Top k results shown
- User provides feedback
- Which flight is most preferred among k best
- Any new preferences
- Top results revised accordingly
35Planning for Data Products (Golden et. al.)
- NASA collects much raw data about earth
- Requires extensive processing to be useful
- Each Earth scientists needs different processing
- ImageBot generates data plans for such products
- Data plans run scientific models, combine and
transform data in order to achieve data goals - Many plans can generate one data product
- Each plan has different value
- Using a simple preference language ImageBot
planning algorithm is biased towards more
preferred plans
36Adaptive, Personalized Rich Media Presentations
- Presentations with diverse media elements
requiring spatio-temporal synchronization - Target wide audiences
- Audience members have different tastes, different
network connections, and use different devices - Goal provide designers with tools for designing
presentations that adapt to user and user context - Demo
37Example ESPN Promo
- Presentation with five elements
- Video featuring upcoming broadcast
- 2 image ads
- Video ad
- Running text with scores/news
- Each media element is a variable
- Additional variables denote user properties,
device properties, bandwidth - Variable values different content and quality
options
38How Does It Work?
- Variables denote different presentation elements
(video, ads, running text) - Additional variables denote context information
- TCP-nets specify preference relation over
presentations - Author may specify additional constraints
- At download time combine
- TCP-net
- Information about user and user context
- Resulting constrained optimization problem solved
- Output a SMIL presentation
39CP-Net for ESPN Promo
Gender
Nationality
40Real-Time Content Selection for Command and
Control
- Imagine a decision maker monitoring masses of
data in a real-time command control center for
all rescue forces in Paris - Video streams
- Sensor data
- Results of relevant queries
- Results of data analysis (e.g., simulations, risk
assessment) - Task Which data to show at each point in time?
41Possible Information Sources
- Cameras on fireman helmet
- Fixed surveillance cameras
- Heat sensors, smoke detectors, co2-levels
- Area maps, building plans, driving distance,
number of residents - Simulation of structure strength, time to contain
a fire as function of wind and other weather
conditions, etc. - Demo
42Our Proposal Decision Theoretic Control
- Offline build a preference model capturing the
value of different choices - Online compute best choices
- In our case which data to show
- In general whatever choices the system must make
- Not new, but not too practical, so far
- Main obstacle preference handling
43What Are the Challenges
- ESPN solution (using CP-nets) is static
- We know all the variables and their possible
values at specification time - Our context is dynamic
- Different cities will have different relevant
information streams - Same city will have different relevant
information streams at each time - A single specification should handle LA, Paris,
NY, etc. - Our solution relational preference rules
- A relational model that generalizes of UCP-nets
- Assumes concepts/classes are fixed (fireman,
fire, fire truck) - Does not assume anything about specific instances
44Modeling a Fire Department
- Rules
- Fireman(x) ? fire(y) ? x.location y.location
- ? x.camera.display on 4, off 0
- Fireman(x) ? x.co2-levelhigh
- ? x.camera.display on 8, off 0
45Other Interesting Issues
- Set preferences specifying and computing
preferred subsets when items have synergy
AAAI06,AAAI07 - Browsing large heterogeneous databases
- Joint work with Scott Klemer, Ron Yeh, and Yoav
Shoham supported by NSF
46Collaborators
- Carmel Domshlak Technion
- Craig Boutilier University of Toronto
- Holger Hoos, David Poole UBC
- Doron Friedman University College London
- Solomon Shimony Ben-Gurion University
47Summary
- Much recent interest in work on preference
representation, elicitation, and reasoning - xCP-nets offer a simple preference language and
convenient graphical and algorithmic tools - UCP-nets provide good target for knowledge
compilation - Many applications in e-commerce and user
interfaces
48(No Transcript)