modelos de preferências em inteligência artificial cp-nets aula 8 pgc 107 - sistemas de banco de...

33
Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da Computação – UFU 2012-2

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Modelos de Preferências em Inteligência Artificial

CP-NetsAULA 8

PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo

Pós-graduação em Ciência da Computação – UFU 2012-2

Page 2: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

PreferênciasInteligê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 ?”

Page 3: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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.

Page 4: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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.

Page 5: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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.

Page 6: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Modelo: CP-Net

G

D

c > dt > c

Dom(G) = {c,d,t}

Dom(D) = {w, b, h}

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

Page 7: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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.

Page 8: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Como uma CP-Net ordena tuplas Premissas assumidas: R(A,B,C)

Semântica Ceteris Paribus: 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.

Page 9: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo 1

(c,w)

(c,b)

(c,h)

(d,b)

(d,w)

(d,h)

(t,h)

(t,w)

(t,b)

É possível comparar (c,w) e (t,b) ?

É possivel comparar (c,h) e (d,b) ?

Page 10: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo 2Jantar(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.

Page 11: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo 2 – continuação

S

W

p > l

p: b > tl: t > b

(p,b)

(p,t)

(l,t)

(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

Page 12: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

ExercícioPreferê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.

Page 13: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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.

Page 14: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo

(c,w)

(c,b)

(c,h)

(d,b)

(d,w)

(d,h)

(t,h)

(t,w)

(t,b)

É possível comparar (c,w) e (t,b) ?

É possivel comparar (c,h) e (d,b) ?

Page 15: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo: CP-Net não satisfatível

A

B C

c : a > a’c’ : a’ > a

b : c > c’b’ : c’ > c

a : b > b’a’ : b’ > b

(a, b, c)(a, b’,c)(a’,b’,c)(a’,b,c) (a’,b,c’)(a, b, c’)(a, b’,c’)(a, b’,c)

Tuplas em ordem de preferência

Page 16: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Condição suficiente para ser satisfatível (consistente) Grafo é acíclico Neste caso é possível construir ordem total

compatível com a CP-Net.

Page 17: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Aciclicidade não é necessária para consistência da CP-Net

A

B

a : b > b’a’: b’ > 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’ > ab’: a > a’

ab

a’b

ab’

a’b’

CP-Net não é consistente !

a : b > b’a’: b’ > b

Page 18: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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.

Page 19: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo

G

D

c > dt > c

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

(c,w)

(c,b)

(c,h)

(d,b)

(d,w)

(d,h)

(t,h)

(t,w)

(t,b)

É possível comparar (c,w) e (t,b) ?

É possivel comparar (c,h) e (d,b) ?

Page 20: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Ordem compatível com a CP-Net não é única

(c,w)

(c,b)

(c,h)

(d,b)

(d,w)

(d,h)

(t,h)

(t,w)

(t,b)

É possível comparar (c,w) e (t,b) ?

É possivel comparar (c,h) e (d,b) ?

Page 21: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

ExercicioConstruir duas ordens totais compatíveis com a CP-Net

A

B

C

a > a’

a: b > b’a’: b’> b

b: c > c’b’: c’> c

Page 22: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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)

Page 23: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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.

Page 24: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

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, levando-se em conta os valores assumidos pelos atributos retirados.

Page 25: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo

G

D

c > dt > c

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

Gênero = thriller

Diretor = Hithcock

Tupla preferida = (t,h)

Page 26: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

ExercícioPreferê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 ?

Page 27: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Discussão (2): ordem total versus ordem parcial.

Pode-se definir CP-Net sem exigir ordem total nos domínios dos atributos.

Neste caso, a tupla preferida não é única.

Page 28: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Discussão (3) Tupla preferida pode existir mesmo se a CP-Net for inconsistente !

A

B C

c: a > a’c’: a’> a

b: c > c’b’: c’> c

ac: b > b’a’c’:b> b’a’c: b’> bac’:b’> b

abc

ab’c

ab’c’ a’b’c

a’b’c’

a’bc

a’bc’abc’

Tupla preferida = (a,b,c)

Page 29: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

TCP-Net TCP-Net = Tradeoffs-enhanced CP-Net Modelo de preferência mais expressivoExemplo: Vestuário (Paletó, Calça, Camisa)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.4. Para mim, a cor do paletó é muito mais importante que a

cor da calça.

Page 30: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Modelo: TCP-Net

P C

Cam

Preto > brancoPreto > branco

P=p, C=p: cam = v > cam=bP=b, C=p: cam = b > cam=vP=p, C=b: cam = b > cam=vP=b, C=b: cam = v > cam=b

Page 31: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

TCP-Net versus CP-Net Segundo a CP-Net, a ordem entre

t1 = (P=preto, C=branca, Camisa= vermelha)

t2 = (P = branco, C=preta, Camisa = vermelha)

não pode ser deduzida diretamente da CP-Net. Na TCP-Net, esta ordem é clara: t1 > t2

Page 32: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

O que é uma TCP-Net ? É uma CP-Net (não se exige que as ordens de

cada atributo sejam totais) Existem arcos de dominância absoluta entre

certos atributos Existem arcos de dominância relativa entre

certos atributos. Tais arcos possuem como labels os atributos relativos Tabelas que determinam a preferência relativa.

Page 33: Modelos de Preferências em Inteligência Artificial CP-Nets AULA 8 PGC 107 - Sistemas de Banco de Dados Profa. Sandra de Amo Pós-graduação em Ciência da

Exemplo

P C

Cam

Preto > branco

C=p: cam = v > cam=b C=b: cam = b > cam=v

C=p: P > Cam C=b: Cam > P

t1= (paletó = b, calça = b, cam=b)

t2 = (paletó = p, calça = b, cam=v)

t1 > t2

Preto > branco

C

Arco de importância relativa

Arco de importância absoluta