1 / 86

CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets

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

cana
Télécharger la présentation

CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Overview • Why Qualitative Preferences? • Representing Preferences with CP-nets • Comparing Outcomes • Optimization and Constrained Optimization • Conclusion CP’2003 CP-Nets Tutorial Brafman & Domshlak

  3. Overview • Why Qualitative Preferences? • Representing Preferences with CP-nets • Comparing Outcomes • Optimization and Constrained Optimization • Conclusion CP’2003 CP-Nets Tutorial Brafman & Domshlak

  4. May be I should buy a new car … Customizable accessories Customizable mechanics Huge assortment of models CP’2003 CP-Nets Tutorial Brafman & Domshlak

  5. Preference specification Optimal automobile Search … CP’2003 CP-Nets Tutorial Brafman & Domshlak

  6. Search … Preference specification On a red sport car I prefer a sunroof … CP’2003 CP-Nets Tutorial Brafman & Domshlak

  7. 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

  8. 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

  9. The Bottleneck: Preference Elicitation Process Utility Functions: Not Needed, Not Desirable CP’2003 CP-Nets Tutorial Brafman & Domshlak

  10. 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

  11. 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

  12. Formal Setting • Set of Variables • Outcome space • Our task: Define a preference order over O CP’2003 CP-Nets Tutorial Brafman & Domshlak

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. A B C D E F Example of a CP-net CP’2003 CP-Nets Tutorial Brafman & Domshlak

  21. 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

  22. 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

  23. Example Dinner Configuration I CP’2003 CP-Nets Tutorial Brafman & Domshlak

  24. 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

  25. worst best Soup Wine CP’2003 CP-Nets Tutorial Brafman & Domshlak

  26. parent preferences violated child preferences violated Parent More Important Than Descendent Soup Wine CP’2003 CP-Nets Tutorial Brafman & Domshlak

  27. Example Dinner Configuration II CP’2003 CP-Nets Tutorial Brafman & Domshlak

  28. 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

  29. Main Course Soup Wine CP’2003 CP-Nets Tutorial Brafman & Domshlak

  30. Any questions so far? CP’2003 CP-Nets Tutorial Brafman & Domshlak

  31. Adding Variable Importance into CP-networks CP’2003 CP-Nets Tutorial Brafman & Domshlak

  32. Recall: Parent More Important Than Descendent parent preferences violated Soup Wine child preferences violated CP’2003 CP-Nets Tutorial Brafman & Domshlak

  33. 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

  34. 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 zDom(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

  35. worst A B C best CP’2003 CP-Nets Tutorial Brafman & Domshlak

  36. 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

  37. Example Choosing a Flight to a conference in USA CP’2003 CP-Nets Tutorial Brafman & Domshlak

  38. 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

  39. 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

  40. My Preferences CP’2003 CP-Nets Tutorial Brafman & Domshlak

  41. 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

  42. Airline - A I prefer British Airways to KLM because they have a better frequent-flyer program CP’2003 CP-Nets Tutorial Brafman & Domshlak

  43. 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

  44. 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

  45. 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

  46. Day of the flight Departure Time Airline Stop-overs Class CP’2003 CP-Nets Tutorial Brafman & Domshlak

  47. Day of the flight Departure Time Airline Stop-overs Class CP’2003 CP-Nets Tutorial Brafman & Domshlak

  48. 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

  49. Day of the flight Departure Time Airline Stop-over Class CP’2003 CP-Nets Tutorial Brafman & Domshlak

  50. 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

More Related