1973686b65c6624683b9e4cc6684c039.ppt
- Количество слайдов: 86
CP’ 2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I. Brafman Ben-Gurion University Sept. 30, 2003 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 Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Overview • • • Why Qualitative Preferences? Representing Preferences with CP-nets Comparing Outcomes Optimization and Constrained Optimization Conclusion Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
May be I should buy a new car … Customizable accessories Customizable mechanics Huge assortment of models Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Search … Preference specification Optimal automobile Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Preference specification Search … On a red sport car I prefer a sunroof … Sept. 30, 2003 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 Sept. 30, 2003 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 Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
The Bottleneck: Preference Elicitation Process Utility Functions: Not Needed, Not Desirable Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
What We Want from a Preference Model • Supports simple elicitation process based on intuitive and natural statements about preferences On a red sports car I prefer a sunroof … • As expressive as possible, subject to above • Supports an efficient optimization process Sept. 30, 2003 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 Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Formal Setting 1. Set of Variables 2. Outcome space 3. Our task: Define a preference order over O Sept. 30, 2003 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) = {15 in, 17 in, 19 in, 21 in} • Dom(Processor Manufacturer) = {Intel, AMD} Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Example: Preference Statements • I prefer a 1000 MHz processor to a 800 MHz processor • I prefer a 19 in screen to a 17 in screen if the video card is Sony’s • The CPU speed is more important than the CPU manufacturer Sept. 30, 2003 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. Sept. 30, 2003 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
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) A subset of variables its complement assignments Sept. 30, 2003 is preferentially independent of if and only if, for all holds CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Conditional Preferential Independence If my preferences over values of v depend on, and only on, the values of v 1, …, vk , then v is conditionally preferentially independent of V-{v 1, …, vk }, given an assignment to v 1, …, vk. I prefer 19 in screen to 17 in screen if video card is Sony’s (all else being equal) Let be a partition of into three disjoint non-empty sets. is conditionally preferentially independent of given if and only if, for all holds Sept. 30, 2003 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. Parents(screen size) = { video card manuf. } • A conditional preference table (CPT) is associated with Parents(operating CP-net every node in the system) = { processor speed, screen size } - Provides an ordering over the values of the node for every possible parent context Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Example of a CP-net A B C D E F Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Semantics and Consistency Any acyclic CP-net defines a (consistent) partial order over the outcome space. worst A B C best Sept. 30, 2003 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Example Dinner Configuration I Sept. 30, 2003 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
worst Soup Wine best Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Parent More Important Than Descendent Soup parent preferences violated Wine child preferences violated Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Example Dinner Configuration II Sept. 30, 2003 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Main Course Soup Wine Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Any questions so far? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Adding Variable Importance into CP-networks Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Recall: Parent More Important Than Descendent Soup parent preferences violated Wine child preferences violated Sept. 30, 2003 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 Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Relative Importance Processor type is more important to me than operating system (all else being equal). 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. Operating system is more important than processor type (all else being equal), if the PC is used primarily for graphical applications. 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 conditionally more important than Y. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
worst A B C best Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
nodes variables cp-arcs (directed) A i-arcs (directed) ci-arcs (undirected) B C Sept. 30, 2003 E cp-tables ci-tables D CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Example Choosing a Flight to a conference in USA Sept. 30, 2003 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 Sept. 30, 2003 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
My Preferences Sept. 30, 2003 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Airline - A I prefer British Airways to KLM because they have a better frequent-flyer program Sept. 30, 2003 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. Sept. 30, 2003 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. Sept. 30, 2003 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Day of the flight Departure Time Stop-overs Sept. 30, 2003 Airline Class CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Day of the flight Departure Time Stop-overs Sept. 30, 2003 Airline 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. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Day of the flight Departure Time Stop-over Sept. 30, 2003 Airline Class CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Conditional Relative Importance 1. On a KLM, day flight, an intermediate stop in Amsterdam is more important to me than sitting in business class. 2. Given a British Airways, night flight, having a direct flight is more important to me than getting a cheaper economy sit. 3. On a British Airways, day flight, sitting in business class is more important to me than having a stop-over. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Day of the flight Departure Time Stop-overs Sept. 30, 2003 Airline Class CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Questions? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Overview • Why Qualitative Preferences? • Representing Preferences with CP-nets • Comparing Outcomes – Dominance Queries – Ordering Queries • Optimization and Constrained Optimization • Conclusion Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Preference Query Data BEST Any implementation of BEST involves comparison queries between pairs of alternatives … How hard is preferential comparison between a pair of alternatives with respect to a given CP-net? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Dominance queries Given a CP-net N and a pair of assignments and , determine whether N > If this relation holds, is preferred to , and we say that dominates with respect to N. A sequence of improving flips from one assignment to another (flipping sequence) is a proof that the latter assignment is preferred to the former. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Dominance testing for CP-nets with binary variables. CP-net graph Complexity Lower bound Tree Sept. 30, 2003 Remarks CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Dominance testing for CP-nets with binary variables. CP-net graph Complexity Remarks Tree Lower bound Polytree k –maximal indegree Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Dominance testing for CP-nets with binary variables. CP-net graph Complexity Lower bound Tree Polytree Singly-connected DAG Sept. 30, 2003 Remarks k -maximal indegree NP-complete CP’ 2003 CP-Nets Tutorial Reduction from 3 SAT Brafman & Domshlak
Dominance testing for CP-nets with binary variables. CP-net graph Complexity Remarks Lower bound Tree Polytree k -maximal indegree Singly-connected DAG NP-complete Reduction from 3 SAT - connected DAG NP-complete Minimal flipping sequences are polynomially bounded Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Dominance testing for CP-nets with binary variables. CP-net graph Complexity Remarks Lower bound Tree Polytree k -maximal indegree Singly-connected DAG NP-complete Reduction from 3 SAT - connected DAG NP-complete Minimal flipping sequences are polynomially bounded DAG ? NP or harder? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Any alternative? Preference Query Data BEST SORT Any difference? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
There is a computational difference! Dominance query: has to be ordered before Given a CP-net N and a pair of assignments and , ask whether N > . Ordering query: can be ordered before Given a CP-net N and a pair of assignments and , ask whether N > . If N > , there exists a complete (total) preference ordering consistent with N in which > . In such a case we say that is consistently orderable over with respect to N. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Ordering Queries - I Claim 1: Let N be a CP-net, and , be a pair of complete assignments. If there exist a variable X in N, such that: 1. and assign the same values to all ancestors of X in N, and 2. given the assignment provided by (and ) to Parents(X), assigns a more preferred value to X than that assigned by then N > . Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Ordering Queries -- II Condition provided by Claim 1 is: Testable in time linear in the number of variables, Sufficient BUT not necessary for N > . “Partial necessity” – either N > or N > (or both) will be determined by the procedure used to answer the ordering queries. Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Ordering Queries - III Claim 2: Given a CP-net N over n variables and a set of complete assignments o 1 , …, om , ordering these assignments consistently with N can be done using ordering queries only, in time O(nm 2). Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Any questions? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Overview • • Why Qualitative Preferences? Representing Preferences with CP-nets Comparing Outcomes Optimization and Constrained Optimization – Generating the best assignment – Generating the best feasible assignment • Conclusion Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Preferential Optimization Finding the preferentially optimal outcome for an acyclic network is straightforward! A B A C D C E D F Sept. 30, 2003 B E F CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Constrained Optimization Input: Constraints, Preferences Output: An undominated, feasible solution or A set of undominated, feasible solutions or All undominated, feasible solutions Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Solving Constrained Optimization Problems • Basic idea: Generate & Test – Generate outcomes – Test for feasibility – Test for optimality • Looks bad – testing for optimality is difficult Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Ordered Generate & Test • Generate outcomes in non-increasing order • Test for feasibility • Check for optimality: – First feasible outcome is optimal! – If more than one is needed: • Maintain set of optimal solutions • Compare new feasible solutions against current optimal set using dominance testing Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Compare If dominated … < Otherwise … Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Generating a Non-increasing Sequence of Outcomes • Select a topological ordering over variables (consistent with the CP-net structure) • Build an assignment tree (search tree) by instantiating variables in this order – Variable values are ordered based on the CPT • Leafnodes, ordered left to right provide a non -increasing sequence of outcomes Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Improvements • We are generating a search tree, so we can do all the standard pruning and CSP techniques – In fact, we can view the CP-net as imposing a constraint on the variable orderings for the underlying constraint solver • We can also prune a branch by using bounds (branch and bound) when: – We assign a variable to a less preferred value – Current set of constraints as strong as for some previous value of this variable Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Anytime Behavior • First feasible solution is optimal! – No overhead beyond standard CSP solution • Variable ordering is restricted • Practical effect has not been investigated yet • No item withdrawn from set of current solutions – Anytime property: set always expanded • For more than one solution dominance testing needed – Can lead to considerable computational overhead Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Any questions? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Overview • • • Why Qualitative Preferences? Representing Preferences with CP-nets Comparing Outcomes Optimization and Constrained Optimization Conclusion – – – Applications Related Techniques Open Problems Bibliography Summary Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Implemented Applications • Searching large databases: – Airline ticket reservation • Personalization – Web-page content adaptation – Multi-media conferencing – Rich-media message adaptation • Product configuration? ? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Related Techniques - I • Multi-attribute utility theory – User has preferences over variable values but not over their aggregates – Various techniques for make decision given this information • Pareto optimal elements • Additive utility function – Quantitative in nature – Does not capture conditional preferences Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Related Techniques - II • Soft-constraints – Allows for variable length-constraints – Well developed techniques and algorithms – Requires much quantitative information – Does not facilitate expression of conditional preference – Does not utilize structured representations • No inherent limitation – a good idea to pursue! Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Related Techniques - III • Logics of preference – Much more expressive than CP-nets – Semantics not always intuitive • Problematic in interpreting user statements – Typically, computationally intractable • UCP-networks – Quantitative version of CP-nets – Many benefits (computational and expressive) – Requires numbers… • Provides for a structured elicitation process • Probably not adequate for on-line applications Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Open Problems • Constrained optimization in cyclic CP-nets – Interesting problem – Easily understood structure • TCP-nets – Partial results on consistency only – Partial results on complexity only • Practical techniques for constrained optimization • Greater expressive power • Multi-agent preferences/distributed CSP Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
CP-Nets Bibliography - I • First publications – Boutiler, Brafman, Geib & Poole: “Reasoning with Qualitative Ceteris Paribus Statements”, in AAAI Spring Symposium on Qualitative Preferences, 1997. • – Boutilier, Brafman, Hoos & Poole: “Reasoning with Conditional Ceteris Paribus Statements”, in UAI’ 99. • • Describes the constrained optimization algorithm More formal treatment and heuristics for dominance testing Upcoming Journal publications by – Boutiler, Brafman, Domshlak, Hoos & Poole: • • • JAIR: Describes properties of CP-Nets Special issue on preferences of Computational Intelligence Journal: Describes constrained optimization with CP-Nets Comprehensive source: – Carmel Domshlak’s Ph. D. Thesis - Ben-Gurion University Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
CP-Nets Bibliography - II • Domshlak, Brafman & Shimony: “Preferences-Based Configuration of Web Page Content”, IJCAI’ 01 • Gudes, Domshlak & Orlov: “Remote Conferencing with Multimedia Objects”, 2 nd WS on Multimedia Data Document Engineering • Brafman & Domshlak: “Introducing Variable Importance Tradeoffs into CP-Nets”, UAI’ 02 • Domshlak, Rossi, Venable & Walsh: “Reasoning with Soft Constraints and Conditional Preferences”, IJCAI’ 03 • Brafman & Dimopoulos: “A New Look at the Semantics and Optimization Methods for CP-Nets”, IJCAI’ 03 Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Summary • (T)CP-nets represent an intuitive and rich class of preference statements in a structured manner • (T)CP-nets support an efficient constrained optimization process • Much theoretical progress in recent years • Much more to do Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak
Any questions? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak


