Decomposition of Database Preferences on the Power Set of the Domain - - PowerPoint PPT Presentation

decomposition of database preferences on the power set of
SMART_READER_LITE
LIVE PREVIEW

Decomposition of Database Preferences on the Power Set of the Domain - - PowerPoint PPT Presentation

Decomposition of Database Preferences on the Power Set of the Domain Patrick Roocks Institute for Computer Science, University of Augsburg RAMiCS15, Braga October 1, 2015 Introduction Power sets Decompostion Optimization Motivation


slide-1
SLIDE 1

Decomposition of Database Preferences

  • n the Power Set of the Domain

Patrick Roocks

Institute for Computer Science, University of Augsburg

RAMiCS’15, Braga October 1, 2015

slide-2
SLIDE 2

Introduction Power sets Decompostion Optimization Motivation Preference background

Motivation

▸ Database preferences construct strict partial orders ▸ They are a slight generalization of Skylines queries ▸ The allow optimizing w.r.t. many dimensions simultaneously ▸ For example: Pareto optimal cars with low fuel consumption (high

mpg value) and high power

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

2/17

slide-3
SLIDE 3

Introduction Power sets Decompostion Optimization Motivation Preference background

Motivation

▸ Database preferences construct strict partial orders ▸ They are a slight generalization of Skylines queries ▸ The allow optimizing w.r.t. many dimensions simultaneously ▸ For example: Pareto optimal cars with low fuel consumption (high

mpg value) and high power

15 20 25 30 100 200 mpg (miles per gallon) hp (horsepower)

21.5, 97 15.5, 150 15.2, 150 13.3, 245 19.2, 175 27.3, 66 26, 91 30.4, 113 15.8, 264 19.7, 175 Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

2/17

slide-4
SLIDE 4

Introduction Power sets Decompostion Optimization Motivation Preference background

Power set preferences

▸ Assume that a user having such a preferences has to decide between

two sets of cars

▸ Use case: choose a car rental agency with two different fleets

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

3/17

slide-5
SLIDE 5

Introduction Power sets Decompostion Optimization Motivation Preference background

Power set preferences

▸ Assume that a user having such a preferences has to decide between

two sets of cars

▸ Use case: choose a car rental agency with two different fleets

15 20 25 30 100 200 mpg (miles per gallon) hp (horsepower)

Fleet A vs. Fleet B 7 1 3 8 5 6

▸ Hence we search for the induced power set preference

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

3/17

slide-6
SLIDE 6

Introduction Power sets Decompostion Optimization Motivation Preference background

Notation and formal background

Notational conventions:

▸ r = x1 + ... + xn is a finite data set with tuples xi. ▸ a preference a has an associated equivalence relation sa ▸ relational operations: union +, composition ⋅, intersection ⊓ ▸ inclusion order ≤ ▸ special relations:

▸ empty relation 0 ▸ identity 1 ▸ universal relation ⊺ Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

4/17

slide-7
SLIDE 7

Introduction Power sets Decompostion Optimization Motivation Preference background

Preference prerequisites

For preferences (strict orders) a,b we define

▸ a ⊗ b is the Pareto composition

(“strictly better in (at least) one dimension, better or equal in all dimensions”) a ⊗ b =df (a + sa) ⊓ b + a ⊓ (b + sb)

▸ The Prioritisation a & b equals the lexicographical order

a & b =df a + sa ⊓ b

▸ The set preference t(s) for s ≤ r

t(s) =df ¬s ⋅ ⊺⋅ s For ∣s∣ = 1 this is the special case of a tuple preference.

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

5/17

slide-8
SLIDE 8

Introduction Power sets Decompostion Optimization Motivation Preference background

Some simple examples of preferences

Example (Some terms over t(⋅), ⊗, &) Let r = x1 + x2 + x3 a data set. i is short for xi.

▸ t(x1) ▸ t(x1) & t(x2 + x3)

1 2 3

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

6/17

slide-9
SLIDE 9

Introduction Power sets Decompostion Optimization Motivation Preference background

Some simple examples of preferences

Example (Some terms over t(⋅), ⊗, &) Let r = x1 + x2 + x3 a data set. i is short for xi.

▸ t(x1) ▸ t(x1) & t(x2 + x3)

1 2 3

▸ t(x1) ⊗ t(x2) ▸ (t(x1) ⊗ t(x2)) & t(x3)

1 2 3

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

6/17

slide-10
SLIDE 10

Introduction Power sets Decompostion Optimization Motivation Preference background

Some simple examples of preferences

Example (Some terms over t(⋅), ⊗, &) Let r = x1 + x2 + x3 a data set. i is short for xi.

▸ t(x1) ▸ t(x1) & t(x2 + x3)

1 2 3

▸ t(x1) ⊗ t(x2) ▸ (t(x1) ⊗ t(x2)) & t(x3)

1 2 3

▸ (t(x1) & t(x3)) ⊗ t(x2) ▸ t(x1) ⊗ t(x1 + x3) ⊗ t(x2)

1 2 3

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

6/17

slide-11
SLIDE 11

Introduction Power sets Decompostion Optimization Motivation Preference background

Preferences decomposition

Some results from our MPC’15 paper “Preference Decomposition and the Expressiveness of Preference Query Languages”:

▸ Set preferences and ⊗ suffice to express arbitrary strict orders ▸ Tuple preferences and {&,⊗} also suffice ▸ &-composed set preferences are a proper sub class

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

7/17

slide-12
SLIDE 12

Introduction Power sets Decompostion Optimization Motivation Preference background

Preferences decomposition

Some results from our MPC’15 paper “Preference Decomposition and the Expressiveness of Preference Query Languages”:

▸ Set preferences and ⊗ suffice to express arbitrary strict orders ▸ Tuple preferences and {&,⊗} also suffice ▸ &-composed set preferences are a proper sub class

In this paper:

▸ We formally introduce the power construction for preferences ▸ We apply the decomposition algorithms to them ▸ We introduce some optimizations to retrieve shorter terms

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

7/17

slide-13
SLIDE 13

Introduction Power sets Decompostion Optimization Power set preferences

Different power set preferences

Definition (Power set preference) Let a be a preference, r a data set and P(r) = {p ∣ p ≤ r} the power set. For all u,v ∈ P(r) we define: uπa

0 v

⇔df v ≠ 0 ∧ ∀y ∈ v ∶ ∃x ∈ u ∶ xay uπa

1 v

⇔df u ≠ 0 ∧ ∀x ∈ u ∶ ∃y ∈ v ∶ xay

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

8/17

slide-14
SLIDE 14

Introduction Power sets Decompostion Optimization Power set preferences

Different power set preferences

Definition (Power set preference) Let a be a preference, r a data set and P(r) = {p ∣ p ≤ r} the power set. For all u,v ∈ P(r) we define: uπa

0 v

⇔df v ≠ 0 ∧ ∀y ∈ v ∶ ∃x ∈ u ∶ xay uπa

1 v

⇔df u ≠ 0 ∧ ∀x ∈ u ∶ ∃y ∈ v ∶ xay 1 2 3 4

1) a

1,2 2 ⋯ 1,3 2,3 3 1,2,4 4 1,4 2,4 ⋯

2) Partial graph of πa

1 1,3 1,4 1,3,4 2 1,2 2,3 1,2,3,4 ⋯ 3,4 4 ⋯

3) Partial graph of πa

1

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

8/17

slide-15
SLIDE 15

Introduction Power sets Decompostion Optimization Power set preferences

Simplifications and a third power set preference

The definitions of π0 and π1 can be simplified using ⟨a∣p =df {(t,t) ∈ 1 ∣ ∃t′ ∈ D ∶ (t′,t) ∈ (p ⋅ a)} (image), ∣a⟩p =df {(t,t) ∈ 1 ∣ ∃t′ ∈ D ∶ (t,t′) ∈ (a ⋅ p)} (inverse image).

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

9/17

slide-16
SLIDE 16

Introduction Power sets Decompostion Optimization Power set preferences

Simplifications and a third power set preference

The definitions of π0 and π1 can be simplified using ⟨a∣p =df {(t,t) ∈ 1 ∣ ∃t′ ∈ D ∶ (t′,t) ∈ (p ⋅ a)} (image), ∣a⟩p =df {(t,t) ∈ 1 ∣ ∃t′ ∈ D ∶ (t,t′) ∈ (a ⋅ p)} (inverse image). We get uπa

0 v

⇔df v ≤ ⟨a∣u , uπa

1 v

⇔df u ≤ ∣a⟩v , for all u,v ∈ ̂ r where ̂ r =df P(r)/{0} = {p ∣ p ≤ r ∧ p ≠ 0} .

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

9/17

slide-17
SLIDE 17

Introduction Power sets Decompostion Optimization Power set preferences

Simplifications and a third power set preference

The definitions of π0 and π1 can be simplified using ⟨a∣p =df {(t,t) ∈ 1 ∣ ∃t′ ∈ D ∶ (t′,t) ∈ (p ⋅ a)} (image), ∣a⟩p =df {(t,t) ∈ 1 ∣ ∃t′ ∈ D ∶ (t,t′) ∈ (a ⋅ p)} (inverse image). We get uπa

0 v

⇔df v ≤ ⟨a∣u , uπa

1 v

⇔df u ≤ ∣a⟩v , for all u,v ∈ ̂ r where ̂ r =df P(r)/{0} = {p ∣ p ≤ r ∧ p ≠ 0} . Additionally we define πa

2 =df πa 0 ⊓ πa 1.

The πi preferences are the three common ways for the power construction

  • f a strict order (cf. Brink, Rewitzky 2001 “A paradigm for Program

Semantics – Power Structures and Duality”).

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

9/17

slide-18
SLIDE 18

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

▸ In the following we revisit the decomposition methods from the

MPC’15 paper

▸ Let r = x1 + ... + x5 a data set and consider the following preference:

1 2 5 3 4 where i is short for xi.

▸ We show example runs of both preference decomposition methods ▸ Additional definition: The maximum operator is given by

a ▷ r =df r − ∣a⟩r .

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

10/17

slide-19
SLIDE 19

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-20
SLIDE 20

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = 0

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-21
SLIDE 21

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = 0 ⊗ t(∣a + 1⟩x1)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-22
SLIDE 22

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 1 3 2 4 5 b = t(x1)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-23
SLIDE 23

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 3 2 4 5 b = t(x1)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-24
SLIDE 24

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 3 2 4 5 b = t(x1) ⊗ t(∣a + 1⟩x2)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-25
SLIDE 25

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 3 2 4 5 1 2 3 4 5 b = t(x1) ⊗ t(x2)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-26
SLIDE 26

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = t(x1) ⊗ t(x2)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-27
SLIDE 27

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = t(x1) ⊗ t(x2) ⊗ t(∣a + 1⟩x3)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-28
SLIDE 28

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 1 2 3 4 5 b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-29
SLIDE 29

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-30
SLIDE 30

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3) ⊗ t(∣a + 1⟩x4)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-31
SLIDE 31

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 1 2 3 4 5 b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3) ⊗ t(x3 + x4)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-32
SLIDE 32

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3) ⊗ t(x3 + x4)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-33
SLIDE 33

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3) ⊗ t(x3 + x4) ⊗ t(∣a + 1⟩x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-34
SLIDE 34

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 3 4 5 1 2 5 3 4 b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3) ⊗ t(x3 + x4) ⊗ t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-35
SLIDE 35

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Pareto decompositions of set preferences (example run)

Decomp_Pareto(a,r) =df ⊗

x ∈ r

t(r ⋅ ⟨a + 1∣x), r = x1 + ... + x5 given preference a 1 2 5 3 4 constructed preference b 1 2 5 3 4 is r-equivalent to a b = t(x1) ⊗ t(x2) ⊗ t(x1 + x2 + x3) ⊗ t(x3 + x4) ⊗ t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

11/17

slide-36
SLIDE 36

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-37
SLIDE 37

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ? ⟨ah∣m ? b[x1] ? b[x2] ? b[x3] ? b[x4] ? b[x5] ?

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-38
SLIDE 38

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ? ⟨ah∣m ? b[x1] ? b[x2] ? b[x3] ? b[x4] ? b[x5] ?

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-39
SLIDE 39

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ? ⟨ah∣m ? b[x1] ? b[x2] ? b[x3] ? b[x4] ? b[x5] ?

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-40
SLIDE 40

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ? ⟨ah∣m ? b[x1] b[x2] b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-41
SLIDE 41

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x1 + x2 + x5 ⟨ah∣m b[x1] b[x2] b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-42
SLIDE 42

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x1 + x2 + x5 ⟨ah∣m b[x1] b[x2] b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-43
SLIDE 43

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x1 ⟨ah∣y m x1 + x2 + x5 ⟨ah∣m b[x1] b[x2] b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-44
SLIDE 44

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x1 ⟨ah∣y m x1 + x2 + x5 ⟨ah∣m b[x1] t(x1) b[x2] b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-45
SLIDE 45

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x2 ⟨ah∣y m x1 + x2 + x5 ⟨ah∣m b[x1] t(x1) b[x2] b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-46
SLIDE 46

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x2 ⟨ah∣y m x1 + x2 + x5 ⟨ah∣m b[x1] t(x1) b[x2] t(x2) b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-47
SLIDE 47

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x5 ⟨ah∣y m x1 + x2 + x5 ⟨ah∣m b[x1] t(x1) b[x2] t(x2) b[x3] b[x4] b[x5]

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-48
SLIDE 48

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x1 + x2 + x5 ⟨ah∣m b[x1] t(x1) b[x2] t(x2) b[x3] b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-49
SLIDE 49

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x1 + x2 + x5 ⟨ah∣m b[x1] t(x1) b[x2] t(x2) b[x3] b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-50
SLIDE 50

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-51
SLIDE 51

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-52
SLIDE 52

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x3 ⟨ah∣y x1 + x2 m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-53
SLIDE 53

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x3 ⟨ah∣y x1 + x2 m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] (b[x1] ⊗ b[x2]) & t(x3) b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-54
SLIDE 54

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ⟨ah∣y m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-55
SLIDE 55

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x4 ⟨ah∣y x2 m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-56
SLIDE 56

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y x4 ⟨ah∣y x2 m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] b[x2] & t(x4) b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-57
SLIDE 57

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x3 + x4 ⟨ah∣m x1 + x2 b[x1] t(x1) b[x2] t(x2) b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] t(x2) & t(x4) b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-58
SLIDE 58

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m x3 + x4 ⟨ah∣m x1 + x2 b[x1] b[x2] b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] t(x2) & t(x4) b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-59
SLIDE 59

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ⟨ah∣m b[x1] b[x2] b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] t(x2) & t(x4) b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-60
SLIDE 60

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ⟨ah∣m b[x1] b[x2] b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] t(x2) & t(x4) b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-61
SLIDE 61

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function Final result: bres = b[x3] ⊗ b[x4] ⊗ b[x5] given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ⟨ah∣m b[x1] b[x2] b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] t(x2) & t(x4) b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-62
SLIDE 62

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function Final result: bres = ((t(x1) ⊗ t(x2)) & t(x3)) ⊗ (t(x2) & t(x4)) ⊗ t(x5) given preference a 1 2 5 3 4 var value y ? ⟨ah∣y ? m ⟨ah∣m b[x1] b[x2] b[x3] (t(x1) ⊗ t(x2)) & t(x3) b[x4] t(x2) & t(x4) b[x5] t(x5)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-63
SLIDE 63

Introduction Power sets Decompostion Optimization Set preferences and ⊗ Tuple preferences and {&, ⊗}

Decompositions into tuple preferences (example run)

function Decomp_Tuple(a,r) ah ← a ⊓ a2 b[r] ← 0 m ← a ▷ r while m ≠ 0 do for all y ∈ m do b[y] ← (⊗x∈r⋅⟨ah∣y b[x]) & t(y) end for b[r ⋅ ⟨ah∣m] ← 0 m ← a ▷ (r ⋅ ∣ah⟩m) end while bres ← ⊗x∈r b[x] ; return bres end function Final result: bres = ((t(x1) ⊗ t(x2)) & t(x3)) ⊗ (t(x2) & t(x4)) ⊗ t(x5) given preference a 1 2 5 3 4

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

12/17

slide-64
SLIDE 64

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

The idea of the optimization

▸ The decomposition creates a lot of redundancy ▸ Consider b = t(x1 + x2) on r = x1 + ... + x5 ▸ The decomposition into tuple preferences and {&,⊗} results in

(t(x1) & (t(x3) ⊗ t(x4) ⊗ t(x5))) ⊗ (t(x2) & (t(x3) ⊗ t(x4) ⊗ t(x5)))

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

13/17

slide-65
SLIDE 65

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

The idea of the optimization

▸ The decomposition creates a lot of redundancy ▸ Consider b = t(x1 + x2) on r = x1 + ... + x5 ▸ The decomposition into tuple preferences and {&,⊗} results in

(t(x1) & (t(x3) ⊗ t(x4) ⊗ t(x5))) ⊗ (t(x2) & (t(x3) ⊗ t(x4) ⊗ t(x5)))

▸ Idea: merge “equivalent” nodes in the Hasse diagram

1 2 1;2 → 3 4 5 3;4;5 where i1;...;ik is short for xi1 + ... + xik.

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

13/17

slide-66
SLIDE 66

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

Elimination of equivalent nodes

Definition (Minimized preference) For a preference a and a data set r we define: u ∼a,r v ⇔df r ⋅ ∣a⟩u = r ⋅ ∣a⟩v ∧ r ⋅ ⟨a∣u = r ⋅ ⟨a∣v . We define rmin =df r/∼a,r containing equivalence classes [ [x] ].

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

14/17

slide-67
SLIDE 67

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

Elimination of equivalent nodes

Definition (Minimized preference) For a preference a and a data set r we define: u ∼a,r v ⇔df r ⋅ ∣a⟩u = r ⋅ ∣a⟩v ∧ r ⋅ ⟨a∣u = r ⋅ ⟨a∣v . We define rmin =df r/∼a,r containing equivalence classes [ [x] ]. We apply this to the power set preference πa

1, reducing the graph largely:

1 1,3 1,4 1,3,4 2 1,2 2,3 ⋯ [ [1] ] [ [2] ] → 3 3,4 ⋯ [ [3] ] [ [4] ] ⇒ In this case the graph of (πa

1)min is isomorphic to that of a.

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

14/17

slide-68
SLIDE 68

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

More examples (1/2)

The N-shaped preference and π(...)

2

: 1 2 3 4

1) a

1 2 1,2 1,3 1,4 2,3 ⋯ 3 4 3,4

2) πa

2

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

15/17

slide-69
SLIDE 69

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

More examples (1/2)

The N-shaped preference and π(...)

2

: 1 2 3 4

1) a

1 2 1,2 1,3 1,4 2,3 ⋯ 3 4 3,4

2) πa

2

[ [1] ] [ [2] ] [ [1,2] ] [ [1,3] ] [ [3] ] [ [4] ] [ [3,4] ]

3) (πa

2)min

⇒ The only equivalent nodes are the incomparable ones.

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

15/17

slide-70
SLIDE 70

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

More examples (2/2)

We consider two parallel chains and π(...)

1

: 1 3 2 4

1) b

1 1,2 1,3 1,2,3 3 3,4 2,3,4 ⋯ 2 2,4 4

2) πb

1

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

16/17

slide-71
SLIDE 71

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

More examples (2/2)

We consider two parallel chains and π(...)

1

: 1 3 2 4

1) b

1 1,2 1,3 1,2,3 3 3,4 2,3,4 ⋯ 2 2,4 4

2) πb

1

[ [1] ] [ [1,3] ] [ [3] ] [ [2] ] [ [2,4] ] [ [4] ]

3) (πb

1)min

⇒ The complexity of the power set preference can be largely reduced ⇒ Graph of (πb

1)min is still more complex than the original preference b

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

16/17

slide-72
SLIDE 72

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

Conclusion and outlook

What was done:

▸ The term complexity of the decompositions can be reduced ▸ This optimization is useful for decomposed power set preferences ▸ See the paper for an empirical study underlining that

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

17/17

slide-73
SLIDE 73

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

Conclusion and outlook

What was done:

▸ The term complexity of the decompositions can be reduced ▸ This optimization is useful for decomposed power set preferences ▸ See the paper for an empirical study underlining that ▸ Implementations of the algorithms are available at

http://www.p-roocks.de/powerset-prefs-ramics.r

based on our freely available CRAN R package rPref (http://www.p-roocks.de/rpref)

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

17/17

slide-74
SLIDE 74

Introduction Power sets Decompostion Optimization Idea Formal definition Conclusion

Conclusion and outlook

What was done:

▸ The term complexity of the decompositions can be reduced ▸ This optimization is useful for decomposed power set preferences ▸ See the paper for an empirical study underlining that ▸ Implementations of the algorithms are available at

http://www.p-roocks.de/powerset-prefs-ramics.r

based on our freely available CRAN R package rPref (http://www.p-roocks.de/rpref) Open questions:

▸ Is there a closed formula determining the term length of a

decomposition of a (power set) preference?

▸ How can we retrieve provable minimal decompositions?

Patrick Roocks – Decomposition of Database Preferences on the Power Set of the Domain

17/17