• Nenhum resultado encontrado

Redes bayesianas Multi-Entidades (MEBN) são uma extensão das BNs via incorporação da FOL. O domínio de conhecimento em MEBN é expresso por MFrags (vide Seção 2.5.1),

que são organizados em MEBN Theories (ou MTheories). Uma MTheory é um conjunto de MFrags que satisfaz determinadas condições de consistência, que garantem a existência de uma distribuição de probabilidade conjunta única sobre suas RVs (68).

De forma radical, pode-se dizer que a MEBN é um template para a geração automática de SSBN a partir da entrada de dados (i.e. evidências - normalmente expressões em FOL). As SSBNs são equivalentes às BNs convencionais e representam o domínio da MEBN em um determinado momento específico.

As seções seguintes utilizarão o domínio de Identificação de Veículos, descrito em (78), para ilustrar e exemplificar o formalismo MEBN.

2.5.1 MFrags

MEBN representa o domínio de conhecimento através de conjuntos de MFrags. Um MFrag pode ser entendido como um fragmento de BN que representa a distribuição de probabilidades condicionais sobre instâncias de suas RVs residentes. Para que essa distribuição se aplique, restrições de contexto do domínio devem ser satisfeitas. Um conjunto de MFrags representa uma distribuição de probabilidade conjunta sobre uma quantidade potencialmente infinita de instâncias de RVs (33).

Dentro de um MFrag, os atributos ou os relacionamentos entre as entidades são expressos como nós residentes, que possuem um formato similar a funções ou predicados da FOL (i.e. é composto por um nome, um conjunto de valores possíveis e um conjunto de argumentos). As dependências probabilísticas entre nós residentes são representadas por arcos que interligam tais nós, e uma função matemática (similar a CPT, mas que define probabilidades de um conjunto de RVs) define quantitativamente a intensidade das dependências.

Dita de forma simplificada, pode-se entender que um MFrag é uma classe de sub-redes BN com características similares. Consequentemente, um conjunto consistente de MFrags compõe um template para a geração automática de BN, com base em regras e axiomas expressas em FOL. A Figura 2.5 apresenta um MFrag e seus principais componentes.

Esse MFrag possui doze nós (sete de contexto, três de entrada e dois residentes) e cinco variáveis ordinárias (rgn, rpt, obj, t e tPrev). Seguem abaixo as descrições sobre os compo- nentes de um MFrag.

Nós de contexto (context nodes) são variáveis booleanas que representam condições que devem ser satisfeitas para que a distribuição de probabilidade dos nós residentes na MFrag de aplique. Seus valores possíveis são:

• True, quando a condição é satisfeita; • False, quando a condição não é satisfeita;

• Absurd, quando uma expressão não tem sentido algum. Ocorre geralmente quando um valor é avaliado com parâmetros não previstos ou inválidos.

Nós de entrada (input nodes) são variáveis que influenciam a distribuição de probabilidades dos nós residentes, mas as suas distribuições estão definidas nos seus próprios MFrags. Ou seja, em uma MTheory consistente, se em um MFrag existe um nó de entrada, então é necessário que exista algum MFrag em que esse nó seja residente, para que sua distribuição de probabilidades

Figura 2.5: Figura exemplo de MFrag seja bem definida.

Nós residentes (resident nodes) possuem as distribuições locais de probabilidades. Neles estão definidas as dependências probabilísticas dado os valores de seus pais (que podem ser tanto nós de entrada quanto outros nós residentes). Em uma MTheory completa, cada RV pos- sui apenas um home MFrag, onde sua distribuição local é definida.

Variáveis ordinárias (ordinary variables - OV) são variáveis que se comportam de forma idêntica a variáveis da FOL e podem ser substituídos por instâncias de entidades. Em suma, são variáveis que não são RVs.

Para se realizar inferência, MFrags são instanciados tanto quanto necessários para se res- ponder a uma determinada consulta. Quando um MFrag é instanciado, os argumentos de seus nós residentes (i.e. OVs) são substituídos por instâncias de entidades que satisfaçam os nós de contexto, resultando em uma RV da SSBN - que pode ser entendida como uma BN convencio- nal.

Na Figura 2.5, observou-se que os valores dos estados dos nós não foram mostrados no grafo de MFrag. Isso porque um MFrag é apenas um template, ou seja, ele não representa RVs individuais, mas sim uma classe de RVs que podem existir na SSBN. Os valores reais dos estados só são concretizados ao se instanciar o MFrag.

A especificação da MEBN não define padrões para declarar a CPT em um nó de um MFrag (33). No UnBBayes-MEBN, utilizamos um pseudo-código para declarar as CPTs de uma classe de variáveis aleatórias (vide Seção 5.1.3).

fornecidos pelo usuário ou presentes na base de conhecimento, instâncias de entidades que satisfaçam a validade dos nós de contexto do MFrag. Nesse caso; a distribuição padrão, que não faz referência a nenhum estado dos pais, é utilizada. No UnBBayes-MEBN, essa distribuição padrão é especificada dentro do bloco “else” no fim do pseudocódigo (bloco obrigatório).

2.5.2 Recursividade em MEBN

A Figura 2.5 apresentou um exemplo de recursividade temporal, que é um caso bastante comum. Para que as distribuições se apliquem, ambos t e tPrev precisam ser períodos de tempo (entidades TimeStep) e, além disso, tPrev precisa ser um tempo anterior a t. Essa definição de ordem, indicando que t vem “depois” de tPrev, é implementada no UnBBayes-MEBN através da definição nativa de ordem de entidades. Se uma entidade (ou, por convenção, podemos chamá-lo de tipo) for declarada como ordenável, todas as suas instâncias (valores possíveis) possuirão ordem total. Com isso, torna-se desnecessária a criação de nós para a obtenção do tempo anterior (por exemplo, não é mais necessário criarmos um nó residente previous(t), que retorna uma instância anterior a t).

Outros tipos de recursão também podem ser representados por MFrags com dependências entre instâncias (RVs) diferentes do mesmo nó residente (OBS. não são dependências entre mesmas instâncias do nó residente). É necessário que, ao se permitir definições de recursão, garanta-se que uma RV não possa depender, direta ou indiretamente, de sua própria distribuição de probabilidades, pois senão a BN representável por esse template poderia ser um grafo cíclico, desrespeitando um dos requisitos de uma BN (68).

Os nós de input de um MFrag podem incluir instâncias de nós definidos recursivamente no próprio MFrag. Por exemplo, o nó de entrada Speed(obj, tprev) representa a velocidade do objeto ob j no período de tempo anterior ao t; e esse nó influencia a velocidade atual, dado pela variável Speed(obj, t). A recursão precisa de uma distribuição de probabilidades no período incial (que, por convenção, chamamos de T 0), que não dependa de alguma velocidade anterior, para que não tenhamos um laço infinito. No UnBBayes-MEBN, isso é garantido pelo fato de sempre existir um elemento mínimo em entidades ordenáveis7.

A Figura 2.6 mostra como as definições de recursividade podem ser aplicadas para construir uma SSBN. Nesse caso, deseja-se saber qual foi o valor reportado por MTI no momento T2 a um relatório RPT1 sabendo-se que OBJ1 = ReportedObject(RPT1) e RGN1 = Location(OBJ1) (essas duas últimas expressões são consideradas evidências na MEBN).

O processo de construção do grafo mostrado na Figura 2.6 começa criando-se a instância de MFrag no nó MTI(RPT1,T2), que é o nó cuja distribuição deseja-se conhecer. Instanciam-se, então, as variáveis aleatórias que sobraram, para as quais os nós de contexto estão satisfeitos. A seguir, são construídas as CPTs que podem ser obtidas com os dados já disponíveis (81).

Note que seria fácil especificar um conjunto de MFrags com dependências cíclicas, ou um conjunto tendo distribuições conflitantes para uma variável aleatória em diferentes MFrags. Na geração de SSBN, uma implementação deve detectar e impedir esses tipos de falhas (como faz o UnBBayes-MEBN8).

7A ordem total implica a presença de um elemento mínimo, garantindo que a recursividade pare

8O UnBBayes-MEBN realiza essa verificação em dois passos: estaticamente - garantindo que o editor não

permita a inserção de variáveis inconsistentes - e dinamicamente - realizando o teste de consistência na etapa de instanciação

Figura 2.6: Modelagem de uma situação recursiva

Note também que em MEBN o MFrag inteiro é instanciado de acordo com a necessidade, garantindo assim um melhor controle e estruturação das variáveis “copiadas” (i.e. instanciadas). Como as instâncias são sub-redes similares com interface bem definida (i.e. as interfaces entre sub-redes são aquelas referenciadas por nós de entrada), gera-se uma estrutura de hiper-árvore (112) e a computação de probabilidades poderá teoricamente ser reaproveitada. Esse seria um diferencial comparado a DBN, por exemplo.

2.5.3 MTheories

Para construir um modelo coerente, é necessário que o conjunto de MFrags satisfaça cole- tivamente condições de consistência, garantindo a existência de uma distribuição de probabi- lidades conjunta única sobre as instâncias das variáveis aleatórias de MFrags. Esse conjunto coerente de MFrags é chamado de teoria MEBN (MEBN Theory - MTheory).

Uma MTheory representa uma distribuição de probabilidade conjunta única sobre um nú- mero (que pode tender ao infinito) de instâncias de suas variáveis aleatórias. Essa distribuição é especificada pelas distribuições locais e padrão de cada MFrag. Esses MFrags são parte de uma MTheory, que integra regras probabilísticas que caracterizam o domínio. Essas regras são capturadas e codificadas por um especialista ou via aprendizagem por máquina.

Cada variável aleatória deve ter um único home MFrag. Além disso, uma MTheory válida deve garantir que todas as definições de recursão terminem em passos finitos e não contenham influências circulares. Para que uma MTheory raciocine sobre situações particulares (i.e. gerar SSBN), é necessário informar o sistema sobre instâncias que estão envolvidas em uma determi- nada situação.

A inferência bayesiana pode ser usada tanto para responder a perguntas de interesse (cha- madas de query) quanto para refinar uma MTheory (através de findings, ou evidências).

Findingsé o mecanismo básico para incorporar novas informações em MTheories. Eles são representados por MFrags de apenas dois nós: um de entrada e um residente. Assim, MEBN tem a capacidade de incorporar novos axiomas quando novas evidências surgem, atualizando as

distribuições de todas as variáveis envolvidas na situação específica. São equivalentes à adição de um novo axioma na FOL.

A lógica MEBN contém um conjunto de built-in MFrags (ou seja, MFrags que devem ser embutidos na implementação, incluindo quantificadores, referência indireta e MFrags boolea- nos que representam conectivos, como “AND” e “OR”), que dão ao sistema a habilidade de representar qualquer sentença da FOL.

A Figura 2.7 mostra uma MTheory que representa o domínio de Identificação de Veículos. O MFrag Reference_MFrag é usado para se declarar funções que associam duas entida- des de tipos diferentes. Na verdade, como MEBN não é um sistema tipado, dever-se-ia criar MFrags contendo nós residentes definindo todos os tipos possíveis no domínio (i.e. definir nós residentes isA e suas distribuições). Contudo, como a implementação (UnBBayes-MEBN) as- sume tipagem forte por razões de eficiência, tais MFrags não precisaram ser criados. Todavia, a teoria pode acomodar qualquer mecanismo de sistema tipado, inclusive polimorfismo.

Vale notar que existem inúmeras maneiras de se representar uma MTheory de semântica equivalente. Por exemplo, podemos criar uma nova MTheory através da divisão de MFrags em MFrags menores (31).