Скачать презентацию CP 2003 Tutorial Preference Representation and Constrained Optimization Скачать презентацию CP 2003 Tutorial Preference Representation and Constrained Optimization

1973686b65c6624683b9e4cc6684c039.ppt

  • Количество слайдов: 86

CP’ 2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I. Brafman Ben-Gurion 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 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 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 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 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 … 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 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 • 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 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 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 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 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 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 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 “ 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, 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 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 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 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’ 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 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 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 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 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 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. 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 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: 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 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 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 & 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 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 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 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 & 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Questions? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak

Overview • Why Qualitative Preferences? • Representing Preferences with CP-nets • Comparing Outcomes – 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 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 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. 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 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 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 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 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 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 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 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 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 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 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 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 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 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 – 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 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 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 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 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 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 Any questions? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak

Overview • • • Why Qualitative Preferences? Representing Preferences with CP-nets Comparing Outcomes Optimization 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 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 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 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 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 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 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 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 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 Any questions? Sept. 30, 2003 CP’ 2003 CP-Nets Tutorial Brafman & Domshlak