Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS –...

27
Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU

Transcript of Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS –...

Page 1: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Formalismo Lógico Modelagem de Preferências

AULA 9 PPG107 - 2012

SISTEMAS DE BANCO DE DADOS –Pós-graduação em CC - UFU

Page 2: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Fórmulas de Preferência Condicional

CP-NETS

TCP-NETS

Fórmulas de Preferência Condicional

Page 3: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Fórmulas de Preferência Condicional

Conditional Preference Rules (cp-rules)

φ : Y1 = a1 ˄ … ˄ Yn = an X = x > X = x’

Conditions over Attributes Y1,…,Yn Preference over Attribute X

[ Z ]

Conditional Preference Theory = a finite set of cp-rules

R (Y1,…,Yn,….,X,…)

Atributos que são excluídos da exigência Ceteris Paribus

Page 4: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Exemplo

G = thriller > G = drama [ Actor ]φ : D = Hitchcock

D = Hitchcock > D = D.Lynch [ Actor ]ρ : Year = 1960

Page 5: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Toda CP-Net é uma teoria de preferência condicional

G

D

c > dt > c

G= c > G = d [ ø ]G = t > G = c [ ø ]

G = d D=b > D=w [ ø ]G = d D=w > D=h [ ø ]G = t D=h > D=w [ ø ]G = t D=w > D=b [ ø ]G = c D=w > D=b [ ø ]G = c D=b > D=h [ ø ]

d: b > wd: w > h t: h > wt: w > bc: w > bc: b > h

Page 6: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Ordem de Preferência induzida por uma Teoria de Pref. Condicional

Usa a semântica ceteris paribus para os atributos que não estão em

Z U Y e que são diferentes de X

Exemplo: BD(Category, Director, Year, Actor)

Director = F. Capra >Director = Hitchcock [Year]φ : Category = comedy

O1 = (Cat=comedy, Dir = F.Capra, Year = 1960, Actor = J.Stewart)O2 = (Cat=comedy, Dir = Hitchcock,Year = 1954, Actor = J.Stewart)

O1 >φ O2 Ceteris paribus

Cada cp-rule φ induz uma ordem de preferência >φ

Page 7: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Ordem de Preferência

Uma cp-theoria Ψ induz uma ordem de preferência >Ψ

Para cada fórmula φ de Ψ considera-se a ordem induzida > φ

Considera-se a união de todas estas ordens U>φ, para φ em Ψ

A ordem de preferência induzida pela teoria = fecho transitivo de U>φ, para φ em Ψ

>Ψ = fecho transitivo de U>φ, para φ em Ψ

Page 8: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Ordem de Preferência

Teoria Ψ = { φ , ρ } Considera-se todos os pares de tuplas que pode-

se ordenar diretamente utilizando a regra φ Considera-se todos os pares de tuplas que pode-

se ordenar diretamente utilizando a regra ρ Considera-se a união destes dois conjuntos de

pares de tuplas. Inclui-se neste conjunto todos os pares de tuplas

obtidos por transitividade.

Page 9: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Ordem de Preferência

abc

ab’c

ab’c’ a’b’c

a’b’c’

a’bc

a’bc’abc’

R(A,B,C)

Tuplas ordenadas diretamentepela regra φ

Tuplas ordenadas diretamentepela regra ρ

Primeira iteração da transitividade

Segunda iteração da transitividade

Page 10: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Exemplo

Cat. = thriller > Cat. = drama [ Actor ]

O1 = (Cat=thriller, Dir = Hitchcock, Year = 1960, Actor = J.Stewart)O2 = (Cat=drama, Dir = Hitchcock, Year = 1960, Actor = P. Newman)O3 = (Cat=drama, Dir = D.Lynch, Year = 1960, Actor = A. Hopkins)

O1 >φ O2

O2 >ρ O3

Dir. = Hitchcock > Dir. = D.Lynch [ Actor ]ρ : Year = 1960

O1 >Ψ O3

Teoria Ψ = { φ , ρ }

O2 = (Cat=drama, Dir = Hitchcock, Year = 1960, Actor = P. Newman)

φ : Dir = Hitchcock

Page 11: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Grafo de Dependência

Grafo associado a uma teoria Ψ

Vértices: atributos que aparecem em Ψ Arcos:

a) (Y,X) onde Y aparece do lado esquerdo da regra e X do lado direito da regra na parte da ordenação.

(Y,X) onde Y aparece do lado direito da regra na parte de ordenação e X aparece dentro de colchetes do lado direito da regra

Page 12: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

ExemploCat. = thriller > Cat. = drama [Y] φ1 : Dir = Lynch

Dir. = Hitchcock > Dir. = D.Lynch [C]φ2 : Year = 1960

YD

C

Dir. = D.Lynch > Dir. = Hitchcockφ3 : Year = 1954

Dir = D.Lynch > Dir = Hitchcock [Y]φ4 : Cat = drama

Page 13: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Ordens Locais

ordem sobre o domínio dos atributos: Sejam A1,…,An = atributos que aparecem na

parte esquerda das regrasSejam B1, …, Bk = atributos que aparecem na

parte direita das regras (parte da ordenação)Cada tupla t sobre os atributos (A1,…,An)

determina uma ordem local sobre o domínio do atributo Bj, ( 1 ≤ j ≤ k )

Page 14: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Consistência Local

Uma teoria é localmente consistente se as ordens locais produzidas em cada atributo do lado direito são irreflexivas.

Page 15: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Teoria Consistente A cp-theoria Ψ é consistente se >Ψ é irreflexiva

Não se pode deduzir o1 >Ψ o2 e o2 >Ψ o1

Teste de Consistência (Wilson 2004)

Ψ é consistente se

seu grafo de dependência é acíclio e

Ψ é localmente consistente

Page 16: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

ExemploCat = thriller > Cat = drama [Y] φ1 : Dir = Lynch

Dir = Hitchcock > Dir = D.Lynch [C]φ2 : Year = 1960

YD

C

Attributes = Y, D, C

Dom(Y) = {1960, 1954}Dom(D) = {Hitch, Lynch}Dom(C) = {t, d}

Dir = D.Lynch > Dir = Hitchcockφ3 : Year = 1954

Database:O1 = (1960, Lynch, thriller)O2 = (1960, Hitch, drama)O3 = (1954, Lynch, drama)

O1: hitch>lynch dom(D) thriller>drama dom(C)O2: hitch >lynch dom(D)O3: lynch > hitch dom(D)

Dir = D.Lynch > Dir = Hitchcock [Y]φ4 : G = drama

O2 > O1 > O3 > O2 Ordem local sobre dom(D) não é irreflexiva !

Page 17: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Tuplas Preferidas Lista os atributos (X1,…,Xn) na ordem

compatível com o grafo de dependência graph(Ψ)

Pega o melhor valor x1 de dom(X1) Pega o melhor valor x2 de dom(X2) conditionado

a x1

…Observação:

como a ordem não é total, pode haver diversas tuplas preferidas

Page 18: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Exemploφ1 : Dir = Hitchcock

Dir. = Hitchcock > Dir. = D.Lynchφ2 : Year = 1960

Dir. = D.Lynch > Dir. = Hitchcockφ3 : Year = 1954

Cat. = thriller > Cat. = drama

YD

C

Cat = drama > Cat = comedyφ3 : Year = 1954

Y > D > C

Melhor valor para Y : qualquer umY = 1960 Best D = Hitch D = Hitch Best C = thrillerO = (1960, Hitch, thriller) é uma tupla preferida.

Y = 1954Best D = LynchD = Lynch Best C = dramaO = (1954, Lynch, drama) é outra tupla preferida

Page 19: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Exercício

Considere a relação R(A,B,C,D) e as seguintes regras de preferências:

A = a B=b1 > B = b2 [D]B = b1 C=c1 > C=c2 [D]A = a C = c2 > C=c3 [D]C = c1 D = d1 > D=d2 [A]

a) Esta cp-teoria é consistente ?

a) Dê o grafo BTG associado a esta cp-teoria, sabendo que dom(A) = {a,a1}, dom(B) = {b1,b2}, dom(C) = {c1,c2,c3}, dom(D) = {d1,d2}

Page 20: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

CPref-SQL: A query language supporting

conditional preferences

Fabiola Pereira Sandra de Amo – [email protected]

Marcos Roberto RibeiroFederal University of Uberlandia- Brazil

Page 21: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

MotivaçãoMovies(Title, Director, Genre, Year)

My preferences:(1) For Woody Allen’s films: I prefer comedies better than

thrillers.(2) For Robert Altman’s films: I prefer thrillers to comedies.(3) For comedies: I prefer the more recent ones, produced after

1990.

Query: Give the titles of the films which most fulfill my wishes among those stored in the database, produced after 1975.

Page 22: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

CPref-SQL Query

CREATE PREFERENCES MyPrefs AS

If D = wa then (G=c) > (G=t) AND

If D = ra then (G=t) > (G=c) AND

If G = c then (Y ≥ 1990) > (Y < 1990)

SELECT MOVIES.Titles

FROM MOVIES

WHERE Year > 1975

ACCORDING TO PREFERENCES MyPrefs

Hard Constraint

Soft Constraint

A Conditional Preference Theory (cp-theory) = Set of Preference Rules

Page 23: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

CPref-SQL

SQL + SelectBest (R)

F = cp-teoria sobre a relação R

Semântica( “Best Match Only” semantics)

SelectBest (R) = { t ε R | não existe t’ ε R, t’ > t }

F

Page 24: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Bloco básico de CPref-SQL

SELECT <attribute-list> FROM <tables>

WHERE <hard conditions>

ACCORDING TO PREFERENCES

<cp-rules (soft conditions)>

GROUP BY <attribute-list>

ORDER BY <attribute-list>

Page 25: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

Plano de Execução básico

R1 Rn…

WHERE (hard constraints) ----: OPERADOR DE SELEÇÃO

SelectBest (PREFERENCES) ---: NOVO OPERADOR BEST

SELECT ------: OPERADOR DE PROJEÇÃO

FROM ----: OPERADOR DE JUNÇÃO

Page 26: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

CPrefSQL não é mais expressiva que SQL !! CPrefSQL pode ser convertida em SQL

CREATE OR REPLACE VIEW Rules (title,genre,years,director,actor,tit,gen,yea,dir,act) AS

(SELECT * FROM movies M, movies M1 WHERE M.genre = ‘drama' AND M1.genre = ‘musical'

AND M.director = M1.director AND M.years = M1.years)

UNION (SELECT * FROM movies M, movies M1 WHERE M.years = 90 AND M1.years = 80 and M.genre

= M1.genre) UNION (SELECT * FROM movies M, movies M1 WHERE M.years = 80 and M1.years = 80 and M.genre =

‘drama’ and M1.genre = ‘comedy’ and M.director = M1.director and M.actor = M1.actor);

CREATE PREFERENCES mypref

FROM movies AS

genre = ‘drama > genre = ‘musical’ [1,5]

AND

years = 90 > years = 80 [1,4,5]

AND

IF years = 80 THEN genre = ‘drama’ > genre = ‘comedy’ [1]

Page 27: Formalismo Lógico Modelagem de Preferências AULA 9 PPG107 - 2012 SISTEMAS DE BANCO DE DADOS – Pós-graduação em CC - UFU.

WITH RECURSIVE Recursion ( tit, gen, yea, dir, act, title, genre, years, director, actor ) AS (

( SELECT * FROM Rules )UNION

( SELECT M.title, M.genre, M.years, M.director, M.actor, R.title, R.genre, R.years, R.director, R.actor

FROM Rules M, Recursion R WHERE M.tit = R.tit AND

M.gen = R.gen AND M.yea = R.yea M.dir = R.dir AND M.act = R.act ) )

SELECT *

FROM movies

WHERE genre <> ‘romance’

ACCORDING TO PREFERENCES

mypref

SELECT *

FROM movies

WHERE genre <> ‘romance’

EXCEPT

SELECT R.title, R.genre, R.years, R.director, R.actor

FROM Recursion R;

CPrefSQL não é mais expressiva que SQL !! CPrefSQL pode ser convertida em SQL