Modelos de Preferências
AULA 15
DATA MINING
Sandra de Amo
Preferências
Inteligência Artificial: interesse se concentra


formalismos para especificação de preferências
métodos de dedução de preferências
Banco de Dados: interesse se concentra em


Estender Algebra Relacional com operadores de
preferência
Projetar e implementar linguagens permitindo consultas
do tipo: “Quais os restaurantes que melhor atendem
minhas preferências de localização, facilidades de
estacionamento, menu variado e preço ?”
Problema – Fase 1

Fase da Elicitação das Preferências

Quantitativa: usuário fornece um rank para cada
objeto do banco de dados.
 infactível quando o banco de dados é grande.
 Depende da disponibilidade do usuário

Qualitativa: usuário especifica um conjunto de
“regras” de preferência.
Problema – Fase 2

Fase do Raciocínio – em caso de elicitação
quantitativa



Sistema automático assume certas
premissas extras que devem ser satisfeitas
pelo conceito de “preferência”
Sistema automático deduz a ordem de
preferência entre dois objetos quaisquer
Sistema automático calcula os k-melhores
objetos de acordo com as preferências do
usuário.
Modelos de Preferências

Preferências não-condicionais



Composição Pareto (Ex. Skyline)
Composição com Priorização
Preferências Condicionais (ou Contextuais)



CP-Nets
TCP-Nets
Fórmulas de Preferências Condicionais
Exemplo – Filme(G, D)
Regras de Preferência:
1.
Prefiro comédias a dramas e suspense a comédias.
2.
Prefiro mais os dramas de Bergman do que os de Woody
Allen e mais os dramas de W.A do que os de Hitchcock.
3.
Prefiro mais as comédias de W.A do que as B. E mais as de
B. do que as de Hitchcock.
4.
Quanto a thrillers eu prefiro muito mais os de Hitchcock do
que os de WA e os de B. Entretanto se for preciso escolher
entre um thriller de WA e um de B., prefiro aqueles de B.
5.
Quanto aos filmes de Woody Allen, prefiro mais as
comédias do que os dramas.
Modelo: CP-Net
G
c>d
t >c
Dom(G) = {c,d,t}
Dom(D) = {w, b, h}
D
d: b > w
d: w > h
t: h > w
t: w > b
c: w > b
c: b > h
O que é uma CP-Net ?

Grafo = (V,E)



V : vértices = atributos do banco de dados
E : arestas – existe aresta de A para B se a
preferência entre os valores de B depende de
valores do atributo A.
Tabelas de preferência condicionais
associadas a cada vértice.

A ordem sobre os valores dos atributos é total.
Como uma CP-Net ordena tuplas

Premissas assumidas:

Semântica Ceteris Paribus:



R(A,B,C)
Uma regra F (que só diz respeito aos atributos A e B)
pode comparar dois objetos t1(x1,x2,x3) e
t2(y1,y2,y3), somente se x3 = y3
Ceteris paribus: Todos os valores de atributos que
não aparecem na regra devem ser iguais nos dois
objetos.
Ordem de Preferência é transitiva.
Exemplo 1
(d,b)
(c,w)
(t,h)
(d,w)
(c,b)
(t,w)
(d,h)
(c,h)
(t,b)
É possível comparar (c,w) e (t,b) ?
É possivel comparar (c,h) e (d,b) ?
Exemplo 2
Jantar(Sopa, Vinho)
Dom(Sopa) = {p,l} Dom(Vinho) = {b, t}
1. Prefiro sopa de peixe a sopa de legumes.
2. Caso for sopa de peixe, prefiro vinho branco
para acompanhar.
3. Caso for sopa de legumes, prefiro vinho
tinto.
Exemplo 2 – continuação
S
p>l
(p,b)
(p,t)
(l,t)
W
p: b > t
l: t > b
(l,b)
Neste caso, todas as tuplas são comparáveis.
A CP-Net induz uma única ordem total sobre o
conjunto de todas as tuplas
Exercício
Preferências no vestuário: (Paletó, Calça, Camisa)
Dom(Paletó) = {branco, preto}
Dom(Calça) = {branco, preto}
Dom(Camisa) = {branco,vermelho}
1.
Prefiro paletó e calça pretos do que brancos.
2.
Se o paletó e calça são da mesma cor, então prefiro uma camisa
vermelha mais do que branca.
3.
Se o paletó e calça são de cores diferentes, então neste caso prefiro uma
camisa branca do que uma vermelha.
Pede-se:


Dar a CP-Net correspondente
Determinar a ordem (parcial) induzida pela CP-Net sobre todas as
combinações possiveis de meu vestuário.
CP-Net satisfatível

Uma CP-Net N é satisfatível se e somente se
existe uma ordem TOTAL entre os objetos
que é compatível com a ordem dos valores de
cada domínio de atributo X induzida pelos
valores dos atributos dos pais de X na CP-Net
e supondo a semântica ceteris paribus.
Exemplo
(d,b)
(c,w)
(t,h)
(d,w)
(c,b)
(t,w)
(d,h)
(c,h)
(t,b)
É possível comparar (c,w) e (t,b) ?
É possivel comparar (c,h) e (d,b) ?
Exemplo: CP-Net não satisfatível
A
B
a : b > b’
a’ : b’ > b
c : a > a’
c’ : a’ > a
C
Tuplas em ordem de preferência
(a, b, c)
(a, b’,c)
(a’,b’,c)
b : c > c’
(a’,b,c)
b’ : c’ > c
(a’,b,c’)
(a, b, c’)
(a, b’,c’)
(a, b’,c)
Condição suficiente para ser
satisfatível (consistente)


Grafo é acíclico
Neste caso é possível construir ordem total
compatível com a CP-Net.
Aciclicidade não é necessária para
consistência da CP-Net
a : b > b’
a’: b’ > b
A
B
b : a > a’
b’: a’ > a
a’b
ab’
ab
a’b’
CP-Net é consistente,
embora o grafo seja
cíclico
a : b > b’
a’: b’ > b
A
B
b : a’ > a
b’: a > a’
ab
ab’
a’b
a’b’
CP-Net não é
consistente !
Como construir uma ordem total
quando o grafo é acíclico




Considera-se os atributos sem “pais”.
Ordena-se os valores destes atributos segundo
a ordem total ditada pelas tabelas destes
atributos.
Retira-se estes atributos.
Repete o processo para os atributos restantes,
para cada combinação de valores dos atributos
retirados.
Exemplo
G
D
c>d
t >c
d: b > w
d: w > h
t: h > w
t: w > b
c: w > b
c: b > h
(d,b)
(c,w)
(t,h)
(d,w)
(c,b)
(t,w)
(d,h)
(c,h)
(t,b)
É possível comparar (c,w) e (t,b) ?
É possivel comparar (c,h) e (d,b) ?
Ordem compatível com a CP-Net não é
única
(d,b)
(c,w)
(t,h)
(d,w)
(c,b)
(t,w)
(d,h)
(c,h)
(t,b)
É possível comparar (c,w) e (t,b) ?
É possivel comparar (c,h) e (d,b) ?
Exercicio
Construir duas ordens totais compatíveis com a CP-Net
A a > a’
B a: b > b’
a’: b’> b
C
b: c > c’
b’: c’> c
Discussão (1)
Ordem induzida por uma CP-Net =
Intersecção de todas as ordens totais compatíveis
= ordem parcial


Problemas de se encontrar uma ordem quando
o grafo é cíclico: CP-Net pode ser
inconsistente (não necessariamente, como já
vimos)
Tuplas Preferidas



Mesmo que existam diferentes ordens
compatíveis com a CP-Net, a tupla preferida é
única.
Tupla preferida pode ser construída
independentemente da particular ordem
compatível.
Esta tupla é preferida com relação a qualquer
ordem compatível com a CP-Net.
Algoritmo de construção da tupla
preferida
Seja X = (X1,X2, ..., Xn) os atributos da relação
 Considera-se os atributos sem pais na CP-Net.
 Para estes atributos considera-se seus
melhores valores.
 Retira-se estes atributos da CP-Net e repete-se
o processo para os demais atributos, levandose em conta os valores assumidos pelos
atributos retirados.
Exemplo
G
c>d
t >c
Gênero = thriller
Diretor = Hithcock
D
d: b > w
d: w > h
t: h > w
t: w > b
c: w > b
c: b > h
Tupla preferida = (t,h)
Exercício
Preferências no vestuário: (Paletó, Calça, Camisa)
Dom(Paletó) = {branco, preto}
Dom(Calça) = {branco, preto}
Dom(Camisa) = {branco,vermelho}
1.
Prefiro paletó e calça pretos do que brancos.
2.
Se o paletó e calça são da mesma cor, então prefiro uma camisa
vermelha mais do que branca.
3.
Se o paletó e calça são de cores diferentes, então neste caso prefiro uma
camisa branca do que uma vermelha.
Pede-se:

Qual o vestuário preferido ?
Discussão (2): ordem estrita versus
ordem não-estrita.


Pode-se definir CP-Net sem exigir ordem total
nos domínios dos atributos.
Neste caso, a tupla preferida não é única.
Discussão (3)
Tupla preferida pode existir mesmo se a CP-Net for inconsistente !
c: a > a’
c’: a’> a
abc
A
ab’c
B
ac: b > b’
a’c’:b> b’
a’c: b’> b
ac’:b’> b
ab’c’
C
b: c > c’
b’: c’> c
a’b’c
a’bc
a’b’c’
abc’
a’bc’
Tupla preferida = (a,b,c)
Download

Modelos de Preferências em Inteligência Artificial