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

Post on 17-Apr-2015

107 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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 ?”

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.

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

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

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: 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.

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) ?

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.

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

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.

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

(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) ?

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

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

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

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 > 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) ?

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) ?

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

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

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)

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 ?

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.

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)

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.

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

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

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.

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

top related