• Nenhum resultado encontrado

Podemos representar a fun¸c˜ao de transi¸c˜ao numa DBN de forma ainda mais compacta do que enumerar todos os poss´ıveis valores que as vari´aveis pais podem assumir atrav´es de CPTs. Por exemplo, na Figura 4.1.b, para X10 = 1 a probabilidade de transi¸c˜ao ´e 0.4, independentemente dos valores das vari´aveis X1 e X2. Ou seja, numa CPT, podemos identificar que alguns valores de probabilidade de transi¸c˜ao independem dos valores de algumas vari´aveis pais. Essa independˆencia ´e conhecida como independˆencia espec´ıfica de contexto (CSI - Context-Specific Independence) [Bouti- lier et al., 1996]. Para poder representar de forma compacta esse tipo de independˆencia, usamos os Diagramas de Decis˜ao Alg´ebrica (ADDs - Algebraic Decision Diagrams) [Bahar et al., 1993]. Dessa forma, ser´a poss´ıvel explorar ainda mais a estrutura de um dom´ınio de aplica¸c˜ao para a constru¸c˜ao de solu¸c˜oes eficientes.

ADDs permitem c´alculos eficientes durante a Iterac¸˜ao de Valor, como veremos na Se¸c˜ao4.3. A seguir, definimos os Diagramas de Decis˜ao Alg´ebrica, suas opera¸c˜oes b´asicas e mostraremos como eles podem ser usados na constru¸c˜ao de algoritmos eficientes para MDPs [Hoey et al., 1999,St-aubin et al., 2000].

4.2. DIAGRAMAS DE DECIS ˜AO ALG ´EBRICA 37

Figura 4.3: Um exemplo de fun¸c˜ao recompensa R(x1, x2, x3) = P 3

i=1xi representada como um ADD. A

linha cont´ınua indica o ramo verdadeiro (Xi = 1) da vari´avel de teste e a linha tracejada indica o ramo falso

(Xi= 0).

O Diagrama de Decis˜ao Alg´ebrica (ADD) [Bahar et al., 1993] ´e uma generaliza¸c˜ao de um Diagrama de Decis˜ao Bin´aria (BDD) que representa fun¸c˜oes booleanas do tipo f : {0, 1}n→ {0, 1} [Bryant, 1992]. Um BDD ´e uma estrutura de dados que cont´em n´os de decis˜ao, cada um rotulado com uma vari´avel booleana (vari´avel de teste) com dois n´os sucessores, chamados: sucessor l (low) e sucessor h (high). A aresta de um n´o ao seu sucessor l (h) representa uma atribui¸c˜ao 0 (1) `a vari´avel. O termo BDD em geral refere-se a Reduced Ordered Binary Decision Diagram (ROBDD), usado quando aspectos de redu¸c˜ao e ordena¸c˜ao precisam ser enfatizados. Uma das vantagens de ROBDD ´e que existe um ´unico ROBDD que representa uma fun¸c˜ao.

Solu¸c˜oes eficientes para resolver MDPs fatorados usam ADDs para representar fun¸c˜oes reais. A ´unica diferen¸ca entre um ADD e um BDD ´e que os n´os terminais de um ADD s˜ao valores reais, isto ´e, ADDs representam fun¸c˜oes do tipo f : {0, 1}n → R, como grafos dirigidos ac´ıclicos (DAGs - Directed Acyclic Graphs), cujas vari´aveis de teste em qualquer caminho da raiz at´e uma folha seguem uma ordena¸c˜ao previamente fixada. Um ADD ´e usado para gerar o valor de uma fun¸c˜ao real da seguinte forma: dados os valores booleanos de teste, seguimos os ramos l ou h, respectivamente at´e chegarmos numa folha, que ´e o valor real devolvido pela fun¸c˜ao (Figura 4.3).

Assim como nos BDDs, ADDs podem ser reduzidos quando a mesma fun¸c˜ao ´e compartilhada por diferentes n´os (subgrafos idˆenticos). Por exemplo, a fun¸c˜ao recompensa R(x1, x2, x3) = P3i=1xi, representada na Figura 4.3 como um ADD, explora a estrutura redundante dos sub-diagramas atrav´es de sua representa¸c˜ao DAG. Al´em disso, ADDs fornecem uma representa¸c˜ao compacta de fun¸c˜oes com independˆencia do tipo CSI [Boutilier et al., 1996]. Na Figura 4.1.d mostramos o ADD para P (x02|x1, x2, x10, a). Note que no ADD n˜ao ´e necess´ario testar os valores das vari´aveis x1 e x2, quando sabemos que X10 = 1.

Formalmente, podemos definir um ADD F atrav´es de uma gram´atica BNF (Backus Naur Form). Os n´os de decis˜ao internos do ADD s˜ao rotulados com uma vari´avel individual de teste var, e tˆem grau 2; os dois arcos de sa´ıda s˜ao o ramo verdadeiro da vari´avel de teste (Fh) e o ramo falso (Fl). Os n´os terminais que tˆem grau 0 s˜ao rotulados com um valor constante Const ∈ R. Assim, a

38 CAP´ITULO 4. PROCESSO DE DECIS ˜AO MARKOVIANO FATORADO

Figura 4.4: Representa¸c˜ao gr´afica de um ADD: var ´e o nome da vari´avel, e Fh e Fl s˜ao os identificadores

dos n´os dos ramos verdadeiro e falso, respectivamente.

Figura 4.5: Um diagrama de decis˜ao ordenado e a sua representa¸c˜ao canˆonica. A linha cont´ınua indica o ramo verdadeiro (Xi= 1) da vari´avel de teste e a linha tracejada indica o ramo falso (Xi= 0).

gram´atica BNF ´e dada por:

F ::= Const |if (Fvar) then Fh else Fl. (4.4)

Isso significa que, para avaliar uma express˜ao, se var ´e igual a verdadeiro ent˜ao o ramo Fh deve ser seguido e quando var ´e igual a falso Fl deve ser seguido (dai o nome “diagrama de decis˜ao”). Uma representa¸c˜ao gr´afica da Express˜ao (4.4) ´e mostrada na Figura4.4.

O valor de um ADD F contendo um conjunto de vari´aveis {x1, · · · , xn} na atribui¸c˜ao de valores das vari´aveis ρ ∈ {0, 1}n pode ser definido recursivamente por:

V al(F, ρ) =     

se F = Const ent˜ao Const . se F 6= Const ∧ ρ(Fvar) = true ent˜ao Val (Fh, ρ). se F 6= Const ∧ ρ(Fvar) = false ent˜ao Val (Fl, ρ).

Para qualquer fun¸c˜ao f (x1, · · · , xn) e uma ordena¸c˜ao de vari´aveis fixa sobre x1, · · · , xn, um ADD reduzido ´e definido como a representa¸c˜ao de diagrama de decis˜ao ordenado de tamanho m´ınimo que representa a fun¸c˜ao f . Existe um ´unico ADD reduzido que representa a fun¸c˜ao f , chamado de representa¸c˜ao canˆonica. Isso foi provado para BDDs em [Bryant, 1986] e pode ser generalizado trivialmente para ADDs.

Na Figura 4.5mostramos um Diagrama de Decis˜ao Alg´ebrica Ordenado (OADD que chamare- mos simplesmente de ADD) e a sua representa¸c˜ao canˆonica.

4.2. DIAGRAMAS DE DECIS ˜AO ALG ´EBRICA 39

Figura 4.6: a) Fun¸c˜ao f e g. b)Representa¸c˜ao canˆonica de f e g.

Figura 4.7: a) Fun¸c˜oes f , g e f + g. b) ADDs canˆonicas da fun¸c˜ao f , g e da soma f ⊕ g.

subtra¸c˜ao ( ), multiplica¸c˜ao (⊗), min(·, ·) e max(·, ·), podem ser executadas de forma eficiente em ADDs. Na Figura 4.6 mostramos as fun¸c˜oes f e g com suas respectivas representa¸c˜oes ADD canˆonicas. A Figura4.6.a mostra as fun¸c˜oes f e g representadas em tabelas. Note que a fun¸c˜ao g somente depende da vari´avel X2, o que ´e representado de forma compacta com o ADD da Figura

4.6.b.

O resultado da opera¸c˜ao f + g ´e mostrado na ´ultima coluna da tabela na Figura 4.7.a e a sua representa¸c˜ao canˆonica f ⊕ g ´e mostrada na Figura 4.7.b.

Na Figura 4.8 ´e mostrado o resultado de max(f ) e na Figura 4.9 ´e mostrado o resultado da opera¸c˜ao max(f, g). A diferen¸ca entre min(·) e min(·, ·) (max(·) e max(·, ·)) ´e que o resultado da opera¸c˜ao un´aria ´e um n´umero real, i.e, o valor m´ınimo (m´aximo) das folhas, respectivamente, enquanto o resultado da opera¸c˜ao bin´aria ´e um ADD, i.e., o m´ınimo (m´aximo) entre as duas fun¸c˜oes ponto a ponto.

A opera¸c˜ao auxiliar un´aria restringir uma vari´avel Xi para verdadeiro ou falso consiste em considerar somente as linhas na tabela em que Xi ´e verdadeira (1) ou falsa (0), opera¸c˜ao que representamos por F |Xi=1 ou F |Xi=0, respectivamente. Na Figura 4.10 mostramos a fun¸c˜ao P e

o resultado da opera¸c˜ao P |X2=1. Note que no ADD canˆonico resultante, Figura 4.10.b, somente

40 CAP´ITULO 4. PROCESSO DE DECIS ˜AO MARKOVIANO FATORADO

Figura 4.8: a) Fun¸c˜ao f e max(f ). b) ADD canˆonica de f e o resultado da opera¸c˜ao max(f ).

Figura 4.9: a) Fun¸c˜oes f , g e max(f, g). b) ADDs canˆonicas das fun¸c˜oes f , g e do m´aximo max(f, g).

Figura 4.10: a) Fun¸c˜oes P e P |X2=1 (i.e., a opera¸c˜ao que considera unicamente as linhas da tabela em que

X2= 1. b) Representa¸c˜ao canˆonica de P e o resultado da opera¸c˜aoP |X2=1.

Uma outra opera¸c˜ao importante que pode ser executada em ADDs e usada para resolver MDPs ´

e a marginaliza¸c˜ao (tamb´em chamada de sum-out ) ou marginaliza¸c˜ao de probabilidade conjunta como vista na Se¸c˜ao 2.1.4. Por exemplo, a marginaliza¸c˜ao de P (X1, X2, Xi, ...) com rela¸c˜ao a uma

4.3. MDP FATORADO: SOLUC¸ ˜OES BASEADAS EM PROGRAMAC¸ ˜AO DIN ˆAMICA 41

Figura 4.11: a) As fun¸c˜oes P (X1, X2) e marginaliza¸c˜aoPx2P . b) Resultado da opera¸c˜ao de marginaliza¸c˜ao

P

x2∈X2P = F |x2=1⊕ F |x2=0 sobre ADDs (como a soma de duas opera¸c˜oes de restri¸c˜ao).

vari´avel ´e denotada por P

xi∈XiP (X1, X2, Xi, ...) (numa nota¸c˜ao simplificada usamos

P

xi∈XiP ).

Essa opera¸c˜ao pode ser calculada usando a fun¸c˜ao auxiliar restringir como definida acima. Na Figura 4.11.a temos uma distribui¸c˜ao de probabilidade conjunta P (X1, X2) e a marginaliza¸c˜ao sobre X2. Note que a marginaliza¸c˜ao Px2P elimina a vari´avel X2, resultando numa tabela com dois valores, uma para cada valor poss´ıvel da vari´avel X1. A opera¸c˜aoPx2P , usando ADDs, pode

ser calculada restringindo a vari´avel X2 para ser verdadeira (F |X2=1), e restringindo a vari´avel X2

para ser falsa (F |X2=0), e finalmente somando ambos os resultados.