Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e...

24
Preference Queries with Aggregate Constraints Markus Endres University of Augsburg Sion 2007 Preference Queries with Aggregate Constraints Sion 2007 1 / 17

Transcript of Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e...

Page 1: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Preference Querieswith Aggregate Constraints

Markus Endres

University of Augsburg

Sion 2007

Preference Queries with Aggregate Constraints Sion 2007 1 / 17

Page 2: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Problem DescriptionTravel Preferences

Szenario: Vacation Planning - One week in Vienna

Preferences and wishes

Target:

Fulfill all preferences and keep a price ≤ 1050 e.

Preference Queries with Aggregate Constraints Sion 2007 2 / 17

Page 3: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Problem DescriptionAn Example

Flight Hotel CarQA, BC, 680 e Gran, 2*, 125 e VW, C, 120 eKLM, BC, 810 e Ritz, 4*, 250 e Audi, L, 175 eLH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e

Target:

Fulfill all preferences and keep a price ≤ 1050 e.

Preference Queries with Aggregate Constraints Sion 2007 3 / 17

Page 4: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Problem DescriptionAn Example

Flight Hotel CarQA, BC, 680 e Gran, 2*, 125 e VW, C, 120 eKLM, BC, 810 e Ritz, 4*, 250 e Audi, L, 175 eLH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e

Argh, very bad!

My preferences are fulfilled to the very best but the price of 1290 eexceeds my constraint of 1050 e.

Preference Queries with Aggregate Constraints Sion 2007 3 / 17

Page 5: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Problem DescriptionAn Example

Flight Hotel CarQA, BC, 680 e Gran, 2*, 125 e VW, C, 120 eKLM, BC, 810 e Ritz, 4*, 250 e Audi, L, 175 eLH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e

Yeah, fantastic!

The price of 1050 e exactly matches my budget and my preferences arealmost fulfilled.

Preference Queries with Aggregate Constraints Sion 2007 3 / 17

Page 6: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Big Question

How to retrieve allFlight - Hotel - RentalCarcombinations with best

possible completion of alluser preferencesin particular the

hard price constraint?

Preference Queries with Aggregate Constraints Sion 2007 4 / 17

Page 7: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The BruteForce Algorithm

Brute force

Compute cartesian product F × H × C

Determine all combinations with aggregate price ≤ 1050 e

Fulfill all user preferences best possible

Disadvantages

Damned time consuming

Unfeasible for E-Commerce

Empty result effect

Preferences maybe not satisfied

Preference Queries with Aggregate Constraints Sion 2007 5 / 17

Page 8: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Quality AssignmentAnd Further Algorithms

Useful but not feasible

Apply preference selection first

Problem: Empty result set

Quality assignment for preferences

perfect hit −→good hit −→bad hit −→

Flight Hotel CarQA, BC, 680 e, Gran, 2*, 125 e, VW, C, 120 e,KLM, BC, 810 e, Ritz, 4*, 250 e, Audi, L, 175 e,LH, FC, 990 e, Expo, 3*, 360 e, BMW, L, 210 e,

Preference Queries with Aggregate Constraints Sion 2007 6 / 17

Page 9: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Quality AssignmentAnd Further Algorithms

Useful but not feasible

Apply preference selection first

Problem: Empty result set

Quality assignment for preferences

perfect hit −→good hit −→bad hit −→

Flight Hotel CarQA, BC, 680 e, Gran, 2*, 125 e, VW, C, 120 e,KLM, BC, 810 e, Ritz, 4*, 250 e, Audi, L, 175 e,LH, FC, 990 e, Expo, 3*, 360 e, BMW, L, 210 e,

Preference Queries with Aggregate Constraints Sion 2007 6 / 17

Page 10: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Why Smilies?Makes this sense?

Preference Queries with Aggregate Constraints Sion 2007 7 / 17

Page 11: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The DOMINANCE AlgorithmAn Improvement

Dominance Criterion

Given items i and j such that

i .price ≥ j .price ∧ i .smiley < j .smiley

then there exists an optimal solution without item i .

Flight Hotel CarQA, BC, 680 e, Gran, 2*, 125 e, VW, C, 120 e,KLM, BC, 810 e, Ritz, 4*, 250 e, ///////Audi,////L,//////175/////e,////////LH,//////FC,//////990/////e,/// Expo, 3*, 360 e, /////////BMW,////L,//////210////e,////

Preference Queries with Aggregate Constraints Sion 2007 8 / 17

Page 12: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The DOMINANCE AlgorithmThe Algorithm

Assign preference qualities to items

Apply dominance criterion → much less items

Build all combinations with aggregate price ≤ 1050 e

Find best combinations concerning the user preferences

Flight Hotel CarQA, BC, 680 e, Gran, 2*, 125 e, VW, C, 120 e,KLM, BC, 810 e, Ritz, 4*, 250 e,

Expo, 3*, 360 e,

Preference Queries with Aggregate Constraints Sion 2007 9 / 17

Page 13: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The HEURISTICS AlgorithmAgain an Improvement

Good old sorting ...

Sorting by price after applying the dominance criterion sorts theundominated items by increasing smiley, too.

Flight Hotel CarQA, BC, 680 e, Gran, 2*, 125 e, VW, C, 120 e,KLM, BC, 810 e, Ritz, 4*, 250 e, ///////Audi,////L,//////175/////e,////////LH,//////FC,//////990/////e,/// Expo, 3*, 360 e, /////////BMW,////L,//////210////e,////

Preference Queries with Aggregate Constraints Sion 2007 10 / 17

Page 14: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The HEURISTICS AlgorithmThe Algorithm

Assign preference qualities to items

Apply dominance criterion → much less items

Build all combinations with aggregate price ≤ 1050 e

Sort undominated items by increasing price.

Guess a solution ≤ 1050 e

Find further / better preference solutions in a neighborhood

Preference Queries with Aggregate Constraints Sion 2007 11 / 17

Page 15: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The HEURISTICS AlgorithmThe Algorithm

Assign preference qualities to items

Apply dominance criterion → much less items

Build all combinations with aggregate price ≤ 1050 e

Sort undominated items by increasing price.

Guess a solution ≤ 1050 e

Find further / better preference solutions in a neighborhood

Preference Queries with Aggregate Constraints Sion 2007 11 / 17

Page 16: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The HEURISTICS AlgorithmAn Example

Flight Hotel CarBA, 180 e, Loyd, 65 e, Fiat, 99 e,FD, 380 e, Palm, 95 e, Opel, 105 e,QA, 680 e, Gran, 125 e, VW, 120 e, 925 eKLM, 810 e, Ritz, 250 e, Audi, 175 e,LH, 990 e, Expo, 360 e, BMW, 210 e,LH, 1090 e, Ritz, 460 e, Seat, 250 e,

Preference Queries with Aggregate Constraints Sion 2007 12 / 17

Page 17: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The HEURISTICS AlgorithmAn Example

Flight Hotel CarBA, 180 e, Loyd, 65 e, Fiat, 99 e,FD, 380 e, Palm, 95 e, Opel, 105 e,QA, 680 e, Gran, 125 e, VW, 120 e, 925 eKLM, 810 e, Ritz, 250 e, Audi, 175 e, 980 eLH, 990 e, Expo, 360 e, BMW, 210 e,LH, 1090 e, Ritz, 460 e, Seat, 250 e,

Preference Queries with Aggregate Constraints Sion 2007 12 / 17

Page 18: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

The HEURISTICS AlgorithmAn Example

Flight Hotel CarBA, 180 e, Loyd, 65 e, Fiat, 99 e,FD, 380 e, Palm, 95 e, Opel, 105 e,QA, 680 e, Gran, 125 e, VW, 120 e, 1050 eKLM, 810 e, Ritz, 250 e, Audi, 175 e,LH, 990 e, Expo, 360 e, BMW, 210 e,LH, 1090 e, Ritz, 460 e, Seat, 250 e,

Preference Queries with Aggregate Constraints Sion 2007 12 / 17

Page 19: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Evaluation

Preference Queries with Aggregate Constraints Sion 2007 13 / 17

Page 20: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

EvaluationPerformance Tests

3 relations

correlated data

up to 2000 items

random priceconstraint

Preference Queries with Aggregate Constraints Sion 2007 14 / 17

Page 21: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

EvaluationNumber of Solutions

correct

maybeincomplete

Preference Queries with Aggregate Constraints Sion 2007 15 / 17

Page 22: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Summary and Outlook

Quality assignment →DOMINANCE & HEURISTICS

Performance enhancement

E-Commerce

Further aggregate constraints

Find other optimization techniques

Planning process

Preference Queries with Aggregate Constraints Sion 2007 16 / 17

Page 23: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Summary and Outlook

Quality assignment →DOMINANCE & HEURISTICS

Performance enhancement

E-Commerce

Further aggregate constraints

Find other optimization techniques

Planning process

Preference Queries with Aggregate Constraints Sion 2007 16 / 17

Page 24: Preference Queries with Aggregate Constraints · LH, FC, 990 e Expo, 3*, 360 e BMW, L, 210 e Target: Fulfill all preferences and keep a price ≤ 1050 e. Preference Queries with

Questions???

Preference Queries with Aggregate Constraints Sion 2007 17 / 17