Title: Working with Preferences
1Working with Preferences
- Ronen Brafman
- Computer Science Department
- Stanford University
On leave from Ben-Gurion University
2Goal Provide tools and build systems that are
able to make, or able to help users make, good
choices
3Applications of Interest
- optimal product/item selection
- optimal product configuration
- guiding program choices
- personalization
- We target lay users with no background in
decision theory
4Goal of this Talk Provide an overview of an
approach to this problem 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 isle to window seats
- 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
9Ceteris Paribus Semantics
- Ceteris Paribus all else being equal
- I prefer isle to window seats ?
- 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 seat assignment - Says nothing about two international flights
10CP-nets (Boutilier, Brafman, Hoos, Poole, UAI 99)
- A qualitative, graphical model of preferences,
that captures and organizes statements of
conditional preferential independence. - 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
- System constructs the network on the fly
- Graphical structure important for analysis and
algorithms
19UCP-Nets Boutilier, Bacchus, Brafman
- Quantified CPT
- Simplified semantics sum of utility factors
U(abcd) - fA(a)fB(b)fC(abc)fD(cd)
- 5 4 .2 .9 10.1
- Linear utility computation
a gt a 5 2
b gt 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
20UCP-nets Capture Heterogeneous Data
- Diverse statement compile 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
21Using (T)CP-nets Algorithms
- Ordering sets/selecting top-element
- Preference-based constrained optimization
221. 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
232a. Preferential Optimization
Finding the preferentially optimal outcome for an
acyclic network is straightforward!
242b. 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
25Solving 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 is not dominated by any
previously generated solution
26Generating 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
27(No Transcript)
28Improvements
- Use CSP pruning techniques
- Meta-constrains on CSP solution
- 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
29(No Transcript)
30Anytime 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
31Applications
32Flight 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
- What she likes or not
- What she would like improved
- Top results revised accordingly
33Planning 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
34Adaptive, 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
35Example 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
36How 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
37CP-Net for ESPN Promo
Gender
Nationality
38Current Issues and Projects
- Set preferences specifying and computing
preferred subsets when items have synergy
AAAI06 - Continuous monitoring
- An application that requires set preferences
- Browsing large heterogeneous databases
- Joint work with Scott Klemer, Ron Yeh, and Yoav
Shoham supported by NSF
39Collaborators
- Carmel Domshlak Technion
- All work
- Craig Boutilier University of Toronto
- CP-nets, UCP-nets
- Holger Hoos, David Poole UBC
- CP-nets
- Doron Friedman University College London
- Adaptive presentations
- Solomon Shimony Ben-Gurion University
- Adaptive presentation, TCP-nets, Set preferences
40Summary
- 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
41(No Transcript)