sept. 30, 2003cp’2003 cp-nets tutorial brafman & domshlak cp’2003 tutorial: preference...

86
Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: CP’2003 Tutorial: Preference Preference Representation and Representation and Constrained Constrained Optimization with CP- Optimization with CP- Nets Nets Ronen I. Brafman Ben-Gurion University Carmel Domshlak Cornell University

Post on 20-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

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

CP-NetsCP-Nets

Ronen I. Brafman

Ben-Gurion University

Carmel Domshlak

Cornell University

Page 2: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 3: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 4: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

May be I should

buy a new car …

Huge assortment of models

Customizable accessories

Customizable mechanics

Page 5: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Preference specification

Optimal automobil

e

Search …

Page 6: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Preference specification

Search …

On a red sport car I prefer a

sunroof …

Page 7: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 8: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 9: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

The Bottleneck:

Preference Elicitation Process

Utility Functions:

Not Needed, Not Desirable

Page 10: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

• As expressive as possible, subject to above

• Supports an efficient optimization process

On a red sports car I

prefer a sunroof …

Page 11: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 12: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Formal Setting

1. Set of Variables

2. Outcome space

Our task: Define a preference order

over O

1{ , , }nV

1( ) ( )nO Dom Dom

Page 13: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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) = {15in, 17in, 19in, 21in}

• Dom(Processor Manufacturer) = {Intel, AMD}

Page 14: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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 19in screen to a 17in screen if the video card is Sony’s

• The CPU speed is more important than the CPU manufacturer

Page 15: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

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.

Ceteris Paribus (CP) Statements

Page 16: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

Page 17: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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 is preferentially independent of its complement if and only if, for all assignments holds

X Y V X

1 2 1 2, , ,x x y y

1 1 2 1 1 2 2 2x y x y iff x y x y

Page 18: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 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 v1, …,vk , then v is conditionally preferentially 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)

Let be a partition of into three disjoint non-empty sets. is conditionally preferentially independent of given if and only if, for all

holds

, ,X Y Z VX

z1 2 1 2, , ,x x y y

1 1 2 1 1 2 2 2x y z x y z iff x y z x y z

Y

Page 19: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

CP-nets (Boutilier, Brafman, Hoos, Poole, UAI ‘99)

An intuitive, qualitative, graphical model of An intuitive, qualitative, graphical model of preferences, that captures statements of preferences, that captures statements of conditional preferential independence.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 }

Page 20: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

A

C

D E

F

B b b

( ) ( ) :

( ) ( ) :

a b a b c c

a b a b c c

:

:

c e e

c e e

a a

:

:

c d d

c d d

:

:

d f f

d f f

Example of a CP-net

Page 21: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Any acyclic CP-net defines a (consistent) partial order over the outcome space.

A

C

B b b

( ) ( ) :

( ) ( ) :

a b a b c c

a b a b c c

a aabc

abc abc abc

abc abc abc

abc

Semantics and Consistency

worst

best

Page 22: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

Page 23: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Example

Dinner Configuration I

Page 24: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen 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.

Page 25: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Soup

Wine

fish vegetable

:

:

fish white red

vegetable red white

vegetable white

vegetable red

fish red

fish white

worst

best

Page 26: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Parent More Important Than Descendent

Soup

Wine

fish vegetable

:

:

fish white red

vegetable red white

vegetable white

vegetable red

fish red

fish white

child preferenc

es violated

parent preferences violated

Page 27: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Example

Dinner Configuration II

Page 28: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

Page 29: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Soup

Wine

:

:

s fs vs

ff vs fs

:

:

fs w r

vs r w

MainCourse

s ff

ff fs r

ff fs w

ff vs w

ff vs r

s vs w

s vs r

s fs r

s fs w

Page 30: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Any questions so far?

Page 31: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Adding Variable Importance into CP-networks

Page 32: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Recall: Parent More Important Than Descendent

Soup

Wine

fish vegetable

:

:

fish white red

vegetable red white

vegetable white

vegetable red

fish red

fish white

child preferenc

es violated

parent preferences violated

Page 33: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 34: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

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

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.

X 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 conditionally more important than Y.

X Yz

Page 35: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

A

C

B

b b

( ) ( ) :

( ) ( ) :

a b a b c c

a b a b c c

a a

abc

abc

abc

abc

abc

abc

abc

abc

worst

best

Page 36: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

A

B

C D

E

:

:

b c c

b c c

e e

a a

:

:

b d d

b d d

:

:

a b b

a b b

:

:

:

be C D

be D C

be D C

nodes variablescp-arcs (directed)

i-arcs (directed)

ci-arcs (undirected)cp-tables

ci-tables

( , ) { , }C D B ES

Page 37: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Example

Choosing a Flight to a conference in USA

Page 38: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 39: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

Page 40: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

My Preferences

Page 41: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

1 2d d

Page 42: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

ba klm

Page 43: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

2 :

d m n

d n m

Page 44: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

: 1 0

: 0 1

m l l

n l l

Page 45: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

:

:

m b e

n e b

Page 46: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Day of the flight

Departure Time

Stop-overs Class

Airline

Page 47: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Day of the flight

Departure Time

Stop-overs Class

Airline

1 2d d

ba klm

1 :

2 :

d m n

d n m

: 1 0

: 0 1

m l l

n l l

:

:

m b e

n e b

Page 48: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 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.

T A

Page 49: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Day of the flight

Departure Time

Stop-over Class

Airline

1 2d d

ba klm

1 :

2 :

d m n

d n m

: 1 0

: 0 1

m l l

n l l

:

:

m b e

n e b

Page 50: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 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.

( ) ( ) ( )m klm n ba m baS C S C C S

Page 51: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Day of the flight

Departure Time

Stop-overs Class

Airline

1 2d d

ba klm

1 :

2 :

d m n

d n m

: 1 0

: 0 1

m l l

n l l

:

:

m b e

n e b

:

:

:

m klm L S

n ba L S

m ba S L

Page 52: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Questions?

Page 53: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 54: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

BEST

Preference Query

Data

How hard is preferential comparison between a pair of alternatives with respect

to a given CP-net?

Any implementation of BEST involves comparison queries between pairs of alternatives …

Page 55: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

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

abc

abc abc abc

abc abc abc

abc

check ( )abc abcabc

abcabc

abc

A sequence of improving flips from one assignment to another (flipping sequence) is a proof that the latter assignment is preferred to the former.

Page 56: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Dominance testing for CP-nets with binary variables.

Lower bound

RemarksRemarks

Tree

ComplexityComplexityCP-net grapCP-net graphh

2( )O n

Page 57: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Dominance testing for CP-nets with binary variables.

Lower bound

RemarksRemarks

Tree

Polytree

ComplexityComplexityCP-net grapCP-net graphh

2( )O n2 2 3(2 )k kO n k – maximal

indegree

Page 58: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Dominance testing for CP-nets with binary variables.

k - maximal indegree

Lower bound

RemarksRemarks

Tree

Singly-connected DAG

Polytree

ComplexityComplexityCP-net grapCP-net graphh

2( )O n2 2 3(2 )k kO n

NP-complete Reduction from 3SAT

Page 59: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Dominance testing for CP-nets with binary variables.

Minimal flipping sequences are polynomially bounded

Reduction from 3SAT

k - maximal indegree

Lower bound

RemarksRemarks

Tree

NP-complete -connected DAG

NP-completeSingly-connected DAG

Polytree

ComplexityComplexityCP-net grapCP-net graphh

2( )O n2 2 3(2 )k kO n

Page 60: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Dominance testing for CP-nets with binary variables.

NP or harder?

Minimal flipping sequences are polynomially bounded

Reduction from 3SAT

k - maximal indegree

Lower bound

RemarksRemarks

Tree

?DAG

NP-complete -connected DAG

NP-completeSingly-connected DAG

Polytree

ComplexityComplexityCP-net grapCP-net graphh

2( )O n2 2 3(2 )k kO n

Page 61: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Any alternative?

SORT

Any difference?

BEST

Preference Query

Data

Page 62: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

There is a computational difference!Dominance query:

Given a CP-net N and a pair of assignments and , ask whether N > .

Ordering query:

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.

has to be

ordered before

can be ordered

before

Page 63: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 64: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

Page 65: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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 o1 , …, om , ordering these assignments consistently with N can be done using ordering queries only, in time O(nm2).

Page 66: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Any questions?

Page 67: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 68: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Preferential Optimization

Finding the preferentially optimal outcome for an acyclic network is straightforward!

A

C

D E

F

B b b

( ) ( ) :

( ) ( ) :

a b a b c c

a b a b c c

:

:

c e e

c e e

a a

:

:

c d d

c d d

:

:

d f f

d f f

A

C

D E

F

Ba b

c

d e

f

Page 69: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 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

Page 70: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 71: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 72: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Compare

>>

If dominated …

Otherwise …

Page 73: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 74: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 75: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 76: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Any questions?

Page 77: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 78: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 79: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 80: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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!

Page 81: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 82: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 83: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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.

• Describes the constrained optimization algorithm

– Boutilier, Brafman, Hoos & Poole: “Reasoning with Conditional Ceteris Paribus Statements”, in UAI’99.

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

Page 84: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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”, 2nd 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

Page 85: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

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

Page 86: Sept. 30, 2003CP’2003 CP-Nets Tutorial Brafman & Domshlak CP’2003 Tutorial: Preference Representation and Constrained Optimization with CP-Nets Ronen I

Sept. 30, 2003 CP’2003 CP-Nets Tutorial Brafman & Domshlak

Any questions?