900 likes | 1.03k Views
CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets. Ronen I. Brafman Ben-Gurion University. Carmel Domshlak Cornell University. Overview. Why Qualitative Preferences? Representing Preferences with CP-nets Comparing Outcomes
E N D
CP’2003 Tutorial:Preference Representation and Constrained Optimization with CP-Nets Ronen I. Brafman Ben-Gurion University Carmel Domshlak Cornell University CP’2003 CP-Nets Tutorial Brafman & Domshlak
Overview • Why Qualitative Preferences? • Representing Preferences with CP-nets • Comparing Outcomes • Optimization and Constrained Optimization • Conclusion CP’2003 CP-Nets Tutorial Brafman & Domshlak
Overview • Why Qualitative Preferences? • Representing Preferences with CP-nets • Comparing Outcomes • Optimization and Constrained Optimization • Conclusion CP’2003 CP-Nets Tutorial Brafman & Domshlak
May be I should buy a new car … Customizable accessories Customizable mechanics Huge assortment of models CP’2003 CP-Nets Tutorial Brafman & Domshlak
Preference specification Optimal automobile Search … CP’2003 CP-Nets Tutorial Brafman & Domshlak
Search … Preference specification On a red sport car I prefer a sunroof … CP’2003 CP-Nets Tutorial Brafman & Domshlak
Applications • Product Configuration • Find an optimal feasible configuration • Searching large databases on the web • Find best available vacation • Personalization • Display content most appropriate for user • Adopt presentation to user device, preferences CP’2003 CP-Nets Tutorial Brafman & Domshlak
Common Properties • Uncertainty not a serious issue Utility functions are not needed • Lay users No/little training required As effort-less as possible Utility functions not desirable • On-line/consumer application Expert decision analyst not available Fast response time desirable CP’2003 CP-Nets Tutorial Brafman & Domshlak
The Bottleneck: Preference Elicitation Process Utility Functions: Not Needed, Not Desirable CP’2003 CP-Nets Tutorial Brafman & Domshlak
On a red sports car I prefer a sunroof … What We Want from a Preference Model • Supports simple elicitation process based on intuitive and natural statements about preferences • As expressive as possible, subject to above • Supports an efficient optimization process CP’2003 CP-Nets Tutorial Brafman & Domshlak
Overview • Why Qualitative Preferences? • Representing Preferences with CP-nets • Representing Conditional Preferences • Representing Relative Importance • Comparing Outcomes • Optimization and Constrained Optimization • Conclusion CP’2003 CP-Nets Tutorial Brafman & Domshlak
Formal Setting • Set of Variables • Outcome space • Our task: Define a preference order over O CP’2003 CP-Nets Tutorial Brafman & Domshlak
Example: Product Configuration Consider the problem of configuring a PC • Domain variables correspond to system properties: Processor Speed, Processor Manufacturer, Screen Size, etc. • Dom(Screen Size) = {15in, 17in, 19in, 21in} • Dom(Processor Manufacturer) = {Intel, AMD} CP’2003 CP-Nets Tutorial Brafman & Domshlak
Example: Preference Statements • I prefer a 1000 MHzprocessor to a 800 MHz processor • I prefer a 19inscreen to a 17inscreen if the video card is Sony’s • The CPU speed is more important than the CPU manufacturer CP’2003 CP-Nets Tutorial Brafman & Domshlak
Ceteris Paribus (CP) Statements Ceteris Paribus(Lat.) – all else being equal “ I prefer to have wine with my meal” What does it mean? Given two identical meals, one with wine and one without, I prefer the former. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Conditional CP Statements “ I prefer red wine to white wine with my meal, ceteris paribus, given that meat is served” That is: given two identical meals in which meat is served, I prefer red wine to white wine. Tells us nothing about two identical meals in which meat is NOT served. CP’2003 CP-Nets Tutorial Brafman & Domshlak
A subset of variables is preferentially independent of its complement if and only if, for all assignments holds Preferential Independence If my preferences over the values of a variable v does not depend on the values of some other variables, then v is preferentially independent of all other variables. I prefer 1000 MHz to 800 MHz(all else being equal) CP’2003 CP-Nets Tutorial Brafman & Domshlak
Let be a partition of into three disjoint non-empty sets. is conditionallypreferentially independent of given if and only if, for all holds Conditional Preferential Independence If my preferences over values of v depend on, and only on, the values of v1, …,vk , then v is conditionallypreferentially independent of V-{v1, …,vk }, given an assignment to v1, …,vk . I prefer 19in screen to 17in screen if video card is Sony’s (all else being equal) CP’2003 CP-Nets Tutorial Brafman & Domshlak
CP-nets (Boutilier, Brafman, Hoos, Poole, UAI ‘99) An intuitive, qualitative, graphical model of preferences, that captures statements of conditional preferential independence. • Each node represents a domain variable. • The immediate parents Parents(v) of a variable v in the network are those variables that affect user’s preference over the values of v. • A conditional preference table (CPT) is associated with • every node in the CP-net • - Provides an ordering over the values of the node for • every possible parent context Parents(screen size) = { video card manuf. } Parents(operating system) = { processor speed, screen size } CP’2003 CP-Nets Tutorial Brafman & Domshlak
A B C D E F Example of a CP-net CP’2003 CP-Nets Tutorial Brafman & Domshlak
A B C worst best Semantics and Consistency Any acyclic CP-net defines a (consistent) partial order over the outcome space. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Cyclic CP-Nets • A theory of cyclic CP-nets is emerging • Computational problems typically harder • In this tutorial – We restrict our attention to acyclic networks. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Example Dinner Configuration I CP’2003 CP-Nets Tutorial Brafman & Domshlak
Suppose that I want to express my preference over dinner configurations, where dinner consists of a soup and a wine. • Preferences: • I strictly prefer fish soup to vegetable soup. • I prefer red wine with a vegetable soup, and white wine with a fish soup. CP’2003 CP-Nets Tutorial Brafman & Domshlak
worst best Soup Wine CP’2003 CP-Nets Tutorial Brafman & Domshlak
parent preferences violated child preferences violated Parent More Important Than Descendent Soup Wine CP’2003 CP-Nets Tutorial Brafman & Domshlak
Example Dinner Configuration II CP’2003 CP-Nets Tutorial Brafman & Domshlak
Suppose that dinner consist of a main course, a soup, and a wine. • Preferences: • I strictly prefer a steak to a fish fillet. • I prefer to open with a fish soup if the main course is a steak, and with a vegetable soup if the main course is a fish fillet. • I prefer a red wine with a vegetable soup, and a white wine with a fish soup. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Main Course Soup Wine CP’2003 CP-Nets Tutorial Brafman & Domshlak
Any questions so far? CP’2003 CP-Nets Tutorial Brafman & Domshlak
Adding Variable Importance into CP-networks CP’2003 CP-Nets Tutorial Brafman & Domshlak
Recall: Parent More Important Than Descendent parent preferences violated Soup Wine child preferences violated CP’2003 CP-Nets Tutorial Brafman & Domshlak
Explicit Importance Relations • Relative importance statements are very natural • They express the fact that one variable’s value is more important than another’s • CP-nets induce an importance relation between nodes and their descendents only • Let’s add an explicit importance relation CP’2003 CP-Nets Tutorial Brafman & Domshlak
If it is more important to me that the value of X be high than the value of Y be high, then X is more important than Y. If, given zDom(Z), it is more important to me that the value of X be high than the value of Y be high, then X is conditionallymore important than Y. Relative Importance Processor type is more important to me than operating system (all else being equal). Operating system is more important than processor type (all else being equal), if the PC is used primarily for graphical applications. CP’2003 CP-Nets Tutorial Brafman & Domshlak
worst A B C best CP’2003 CP-Nets Tutorial Brafman & Domshlak
nodes variables cp-arcs (directed) i-arcs (directed) A ci-arcs (undirected) cp-tables ci-tables B E C D CP’2003 CP-Nets Tutorial Brafman & Domshlak
Example Choosing a Flight to a conference in USA CP’2003 CP-Nets Tutorial Brafman & Domshlak
Specifying My Preferences • Set of relevant parameters • Their possible values • (Possibly conditional) preferences over parameters values • Relative importance of each parameter CP’2003 CP-Nets Tutorial Brafman & Domshlak
Parameters & Values • Day of the flight • One or Two days before the conference. • Airline • British Airlines or KLM. • Departure time • Morning or night. • Stop-overs • Direct flight, or a flight with a stop-over in Europe. • Class • Economy or business. CP’2003 CP-Nets Tutorial Brafman & Domshlak
My Preferences CP’2003 CP-Nets Tutorial Brafman & Domshlak
Flight Day - D I have a family and much work, so I prefer to leave a day before the conference. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Airline - A I prefer British Airways to KLM because they have a better frequent-flyer program CP’2003 CP-Nets Tutorial Brafman & Domshlak
Departure time - T Among the flights leaving two days before the conference I prefer to take an evening/night flight, because it will allow me to work longer at the day of the flight. However, among the flights leaving one day before the conference I prefer to take a morning/noon flight, because I hate to arrive at the last moment. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Stop-over - S I am a smoker, and I find long non-smoking day flights difficult to cope with. Thus, I prefer a stop-over in Europe. However, on night flights I usually sleep (and don’t smoke), thus I prefer direct flights which are shorter. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Class - C I sleep well in night flights, regardless of the class, and so at night, I prefer economy which is much cheaper. During the day I prefer to pay for a seat in business class so that I can enjoy the food, wine, and comfortable seats. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Day of the flight Departure Time Airline Stop-overs Class CP’2003 CP-Nets Tutorial Brafman & Domshlak
Day of the flight Departure Time Airline Stop-overs Class CP’2003 CP-Nets Tutorial Brafman & Domshlak
Relative Importance Getting a more preferred flying time is more important to me than getting the preferred airline. CP’2003 CP-Nets Tutorial Brafman & Domshlak
Day of the flight Departure Time Airline Stop-over Class CP’2003 CP-Nets Tutorial Brafman & Domshlak
Conditional Relative Importance • On a KLM, day flight, an intermediate stop in Amsterdam is more important to me than sitting in business class. • Given a British Airways, night flight, having a direct flight is more important to me than getting a cheaper economy sit. • On a British Airways, day flight, sitting in business class is more important to me than having a stop-over. CP’2003 CP-Nets Tutorial Brafman & Domshlak