Você está na página 1de 22

Redes Bayesianas: o que so, para que servem, algoritmos e

exemplos de aplicaes.
ROBERTO LIGEIRO MARQUES1
INS DUTRA1

Coppe Sistemas UFRJ


{ligeiro,ines}@cos.ufrj.br

Resumo: Redes bayesianas so grafos acclicos dirigidos que representam dependncias entre
variveis em um modelo probabilstico. Esta abordagem representa uma boa estratgia para lidar com
problemas que tratam incertezas, onde concluses no podem ser construdas apenas do conhecimento
prvio a respeito do problema. O presente trabalho aborda algumas questes bsicas a respeito de
modelos probabilsticos, teoria de grafos e sua representao em redes bayesianas.
Palavras Chaves: redes bayesianas, IA, DAG, probabilidade condicional.

1 Introduo
A inteligncia tem sido matria de estudo dos seres humanos por mais de 2000 anos1. O sonho do
desenvolvimento de uma mquina pensante tem sido fonte de pesquisa desde o desenvolvimento
das primeiras mquinas computadas, em meados dos anos 402. A unio destas duas reas de
pesquisa deu origem disciplina chamada, Inteligncia Artificial.
Atualmente, estudos em inteligncia artificial podem ser divididos em duas grandes reas: o
desenvolvimento de sistemas que agem como humanos (robs) e o desenvolvimento de sistemas
que agem racionalmente.
Dentro do contexto dos sistemas que agem racionalmente, duas abordagens principais podem
ser utilizadas: raciocnio lgico e raciocnio probabilstico. O raciocnio lgico pondera sobre o
conhecimento prvio a respeito do problema e, sobre esta base de conhecimento retira suas
concluses. Esta abordagem, apesar de poderosa, pode no ser til em situaes onde no se
conhece previamente todo o escopo do problema, para estes casos, o raciocnio probabilstico
surge como uma boa opo.
Um sistema que possa atuar em situaes de incerteza deve ser capaz de atribuir nveis de
confiabilidade para todas as sentenas em sua base de conhecimento, e ainda, estabelecer
relaes entre as sentenas. Redes bayesianas oferecem uma abordagem para o raciocnio
probabilstico que engloba teoria de grafos, para o estabelecimento das relaes entre sentenas e
ainda, teoria de probabilidades, para a atribuio de nveis de confiabilidade3.
A dcada de 90 marcou o incio da maior parte das pesquisas realizadas a respeito das redes
Bayesianas. Desde esta poca, as redes Bayseanas vem sendo utilizadas para a soluo de vrios
1

Desde 463 BC, iniciando com os filsofos gregos Plato, Aristteles e Scrates.
O primeiro trabalho de IA reconhecido foi: McCulloch e Pitts,1943.
3
Uma alternativa a esta abordagem seria o uso de nveis de verdade de uma sentena (em contrapartida a nveis
de confiabilidade) - lgica fuzzy.
2

tipos de problemas em diversas reas, como por exemplo: diagnstico mdico (Heckerman 1990,
Franklin 1989), aprendizado de mapas (Dean 1990), interpretao de linguagem (Goldman 1989),
viso (Levitt, 1989).
O restante deste trabalho est organizado da seguinte forma: a prxima sesso apresenta
algumas questes a respeito de probabilidades, a sesso 3 introduz algumas questes a respeito
das redes Bayesinas, suas caractersticas e mtodos para construo de redes. A sesso 4
demonstra um algoritmo para realizao de inferncias em redes Bayesinas, em seguida, as
sesses 5 e 6 apresentam, respectivamente, alguns exemplos de aplicaes e a concluso do
trabalho.
2 Raciocinando sob incertezas
A principal vantagem de raciocnio probabilstico sobre raciocnio lgico fato de que agentes
podem tomar decises racionais mesmo quando no existe informao suficiente para se provar
que uma ao funcionar[1].
Alguns fatores podem condicionar a falta de informao em uma base de conhecimento, os
principais so:

Impossibilidade: Em alguns casos, o trabalho exigido para a insero de todos os


antecedentes ou conseqentes que configurem uma base de conhecimento onde
quaisquer inferncias a respeito do domnio do problema podem ser efetuadas, pode
ser muito oneroso.
Ignorncia Terica: Em alguns casos no se possui o conhecimento de todo domnio
do problema.

Lidar com falta de informao significa lidar com incertezas. Nestes ambientes necessrio
utilizar conectivos que manipulem nveis de certeza e no apenas valores booleanos, verdadeiro
(1) e falso (0). Assim, seria possvel, por exemplo, tratar uma expresso do tipo: Eu tenho
probabilidade 0.8 fazer um bom trabalho de IA ou A probabilidade de um trabalho de IA ser
bom 0.5 ou A probabilidade de um bom trabalho de IA tirar A 0.9. Com isto, uma possvel
questo seria: Quais so as minhas chances tirar A?. Para responder a questo necessrio se
estabelecer uma regra que combine as trs probabilidades. Em outras palavras, necessrio uma
funo que retorne um valor dadas as probabilidades, 0.8, 0.5 e 0.9. Comparativamente
poderamos dizer que lgica probabilstica estende lgica proposicional, no sentido que,
probabilidade 1 representa verdadeiro e probabilidade 0 representa falso.
Para caracterizao de situaes de incerteza podemos utilizar grafos representando relaes
causais entre eventos. Como exemplo, considere o seguinte domnio:
Pela manha meu carro no ir funcionar. Eu posso ouvir a ignio, mas nada acontece.
Podem existir vrias razes para o problema. O rdio funciona, ento a bateria est boa. A
causa mais provvel que a gasolina tenha sido roubada durante a noite ou que a mangueira
esteja entupida. Tambm pode ser que seja o carburador sujo, um vazamento na ignio ou algo
mais srio. Para descobrir primeiro eu verifico o medidor de gasolina. Ele indica tanque,
ento eu decido limpar a mangueira da gasolina.
A problema anterior pode ser representado, de forma simplificada, pelos seguintes eventos:
{sim,no} Gasolina?, {sim,no} Mangueira limpa?, {cheio, , vazio} Medidor, {sim,no}
Funcionado. Em outras palavras, os eventos so agrupados em variveis que podem assumir
alguns estados. Ns sabemos que o estado Gasolina? e o estado Mangueira entupida? possuem
impacto direto no estado Funcionando, assim como Gasolina? tem impacto em Medidor. Estas
informaes podem ser representadas como apresenta a figura1. Na figura tambm esto

representadas as direes do impacto da varivel. Neste caso, a maior certeza em uma causa,
movida na direo positiva.
Gasolina?
+
Medidor

Mangueira limpa?
+

+
Funcionando?
Figura1. Rede de causalidade.

O grafo da figura1 possibilita a realizao de algumas concluses. Obviamente, se eu sei que


a mangueira est entupida (probabilidade 1), ento a certeza do no funcionamento do carro
aumenta. Entretanto, minha situao oposta. Eu sei que o carro no funciona e desejo encontrar
o motivo. A suspeita de que a gasolina pode ter sido roubada aumenta a expectativa de que o
medidor esteja indicando vazio. Lendo a informao do Medidor = , diminui as expectativas de
que o estado Gasolina seja a fonte do problema, guiando a aresta Gasolina/Funcionamento na
direo negativa. Uma vez que a expectativa do problema ter sido causado pela falta de gasolina
diminui, cresce a expectativa sobre o estado Mangueira limpa?. Neste instante possvel se
concluir o seguinte: O problema no parece ser a Gasolina, ento muito provavelmente deve
ser a Mangueira.
Para fazer estas escolhas, um agente deve inicialmente possuir preferncias entre possveis
efeitos das aes a serem tomadas. Preferncias so representadas por utilidades (utility
indicao do nvel de utilidade que possui um estado) combinadas com probabilidades,
resultando na chamada: teoria de deciso.
Teoria de Deciso = teoria de probabilidades + teoria de utilidade
A idia fundamental em teoria de deciso : um agente racional se e somente se ele escolhe
a ao que permite a maior expectativa de utilidade, ponderada pelos efeitos de todas as
possveis aes, ou princpio da Mxima expectativa de Utilidade (MEU). O algoritmo para um
agente que utilize Teoria de Deciso seria:
Funo RP-Agente(percepo) retorna ao
{
Esttico: conjunto de sentenas probabilsticas a respeito do problema.

Calcula novas probabilidades para o estado atual baseado na evidncia


disponvel incluindo a percepo atual e a ao anterior.
Calcula as probabilidades para as possveis aes, dado a descrio das
aes e as probabilidades atuais.
Seleciona a ao com a maior expectativa.
Retona ao.
}

A prxima sesso apresenta algumas questes a respeito do calculo de probabilidades.

2.1

Clculo de probabilidades

Axioma base: (probabilidade incondicional)

A probabilidade P(a) de um evento a um nmero dentro do intervalo [0,1].


i.
P(a) = 1 sss a certo.
ii.
Se a e b so mutuamente exclusivos, ento: P(a b) = P(a) + P(b)
Por exemplo, considerando que Crie denota a proposio de que um paciente em particular
tenha crie, ento: P(Crie) = 0.1, significa dizer que, na ausncia de outra informao, o sistema
assinalar a probabilidade 0.1 ao evento ter crie.
Proposies podem tambm incluir igualdades envolvendo variveis aleatrias. Por exemplo,
caso estejamos interessados em uma varivel aleatria, Tempo, poderamos considerar:
a. P(Tempo = Ensolarado) = 0.7
b. P(Tempo = Chuvoso) = 0.2
c. P(Tempo = Nublado) = 0.1
Em alguns casos, podemos nos referir apenas a varivel Tempo, como um vetor de
probabilidades P(Tempo) = <0.7,0.2,0.1>4.
E ainda, proposies podem assumir o domnio booleano <verdadeiro,falso>, neste caso, a
expresso P(Crie) pode ser vista como P(Crie = verdadeiro) e, analogamente, P(Crie) =
P(Crie = falso).
Para expressar todas as combinaes de valores de duas probabilidades podemos utilizar
P(Tempo,Crie), que pode ser vista como uma tabela de probabilidades conjunta (joint
probabilities) de TempoCrie, de 3 x 2 posies.

Probabilidade condicional:

Probabilidade condicional P(a|b) = x, pode ser interpretada como: Dado o evento b, a


probabilidade do evento a x.
i.
Regra fundamental: P(a|b) = P(a,b)/P(b), ou P(a|b)P(b) = P(a,b). Onde P(a,b) a
probabilidade do evento conjunto do evento a b.
Por exemplo, P(Crie|Dor) = 0.8, indica que caso um paciente esteja com dor (de dente) e
nenhuma outra informao esteja disponvel, ento, a probabilidade de o paciente ter uma
crie de 0.8. importante ressaltar que P(A|B) pode ser utilizado apenas quando toda
informao disponvel B. Uma vez que outra varivel C conhecida, deve-se reconsiderar
para P(A|B C).
ii.
iii.

P(a,b)=P(b,c), ento de i, chegamos em P(a|b)P(b) = P(b|a)P(a), que resulta em:


P(b|a) = P(a|b)P(b)/P(a), chamada Regra de Bayes.
Em alguns casos podemos estar interessados em uma probabilidade segundo uma
evidencia e, neste caso, aplica-se: P(a|b,e)P(b|e) = P(a,b|e)

Variveis vetor sero representadas por letras maisculas: A, P(A), etc.

Em geral, se estamos interessados em uma proposio A, e temos o conhecimento da


evidencia B, devemos calcular P(A|B). Em alguns casos este valor no esta disponvel na base de
conhecimento e, portanto, devemos utilizar algum mtodo de inferncia para obt-lo.

Conjuno de Probabilidades

Seja X uma varivel aleatria com n estados, x1, ..., xn, e P(X) a distribuio de probabilidades
para estes estados,
P(X) = (a1, ..., an);
P(X=ai).

ai 0;

ai = 1, onde ai a probabilidade de X estar no estado ai,

Se a varivel Y possui os estados b1,...bm, ento P(X|Y) representa uma tabela n x m contendo
os valores P(ai|bi). Por exemplo:
b1
0.4
0.6

a1
a2

b2
0.3
0.7

b3
0.6
0.4
Tabela1. P(X|Y)

A conjuno de probabilidades para as variveis A e B, ou P(A,B), tambm uma tabela n x


m, representada pela probabilidade de cada configurao (a,,bi). Aplicando a regra
P(A|B)=P(A,B)/P(B), para as variveis X e Y e a tabela1, teramos: (considerando P(Y) =
<0.4,0.4,0.2>)
b1
0.16
0.24

a1
a2

b2
0.12
0.28

b3
0.12
0.08
Tabela2. P(X,Y)

A probabilidade P(X) pode ser ento calculada a partir da tabela2, calculando-se:


P(ai)=Pa,bi. Este clculo chamado marginalizao de B em P(A,B). O resultado para a
tabela2 ser: P(X) = <0.4,0.6>.
E ainda, aplicando a regra de Bayes sob a tabela1, obteramos P(Y|X).

B1
B2
B3

a1
0.4
0.3
0.3

a2
0.4
0.47
0.13
Tabela3. P(Y|X)

Considerando uma situao real, podemos imaginar um problema contendo centenas ou


milhares de variveis. Considerando o uso apenas de variveis que assumam valores boolenos,
teramos a necessidade do clculo de 2n entradas para a tabela de conjuno de probabilidades do
sistema. Ou seja, um crescimento exponencial em relao ao nmero de variveis. O que pode se

tornar algo infactvel de se computar. Entretanto, sendo possvel a computao de todos os


valores, o sistema ser capaz de obter qualquer probabilidade que se esteja interessado.
2.1.1 Aplicando a Regra de Bayes
Para aplicao da regra de Bayes precisamos de trs termos: uma probabilidade condicional e
duas incondicionais. Vamos considerar um exemplo de diagnostico mdico: um mdico sabe
que a meningite causa torcicolo em 50% dos casos. Porm, o mdico tambm conhece algumas
probabilidades incondicionais que dizem que, um caso de meningite atinge 1/50000 pessoas e, a
probabilidade de algum ter torcicolo de 1/20. 5
Considere T e M, respectivamente, como a probabilidade incondicional de um paciente ter
torcicolo e a probabilidade incondicional de um paciente ter meningite. Assim:
P(T|M) = 0.5 (probabilidade de ter torcicolo tendo meningite)
P(M) = 1/50000
P(T) = 1/20
Aplicando a rede de Bayes:
P(M|T) = (P(T|M)P(M))/P(T) = (0.5 x 1/50000)/(1/20) = 0.0002
Ou seja, esperado que apenas 1 em 5000 pacientes com torcicolo tenha meningite. Note
que mesmo tendo torcicolo uma alta probabilidade nos casos de meningite (0.5), a probabilidade
de um paciente ter meningite continua pequena, devido ao fato de a probabilidade incondicional
de torcicolo ser muito maior que a probabilidade de meningite.
Uma argumentao vlida surge do fato de que o mdico poderia tambm possuir a
probabilidade incondicional P(M|T), a partir de amostras de seu universo de pacientes, da mesma
forma que P(T|M), evitando o clculo realizado anteriormente. Porm, imagine que um surto de
meningite aflija o universo de pacientes do mdico em questo, aumentando o valor de P(M).
Caso P(M|T) tenha sido calculado estatisticamente a partir de observaes em seus pacientes, o
mdico no ter nenhuma idia de como este valor ser atualizado (visto que P(M) aumentou).
Entretanto, caso tenha realizado o clculo de P(M|T) em relao aos outros trs valores (como
demonstrado) o mdico verificar que P(M|T) crescer proporcionalmente em relao a P(M).
Considere agora que um paciente pode estar com problema de coluna C, dado que est com
torcicolo: P(C|T) = (P(T|C)P(C))/P(T).
Utilizando P(M|T) podemos calcular a probabilidade relativa de C em M dado T, ou, em
outras palavras, a marginalizao de M e C. Considerando que P(T|C) = 0.8 e P(C) = 1/1000.
Ento:
P(M|T)/P(C|T) = (P(T|M)P(M))/(P(T/C)P(C)) = (0.5 x 1/50000)/(0.8 x 1/1000) = 1/80
Isto , Problema de coluna C 80 vezes mais comum que meningite M, dado torcicolo.
3 Redes Bayesianas

Exemplo extrado de [6].

Matematicamente, uma Rede Bayesiana uma representao compacta de uma tabela de


conjuno de probabilidades do universo do problema. Por outro lado, do ponto de vista de um
especialista, Redes Bayesianas constituem um modelo grfico que representa de forma simples6
as relaes de causalidade das variveis de um sistema.
Uma Rede Bayesiana consiste do seguinte:
Um conjunto de variveis e um conjunto de arcos ligando as variveis.
Cada varivel possui um conjunto limitado de estados mutuamente exclusivos.
As variveis e arcos formam um grafo dirigido sem ciclos (DAG).
Para cada varivel A que possui como pais B1, ..., Bn, existe uma tabela P(A| B1, ..., Bn).
Repare que, caso A no possua um pai, a tabela de probabilidades reduzida para uma
probabilidade incondicional P(A)7.Uma vez definida a topologia da rede, basta especificar as
probabilidades dos ns que participam em dependncias diretas, e utilizar estas para computar as
demais probabilidades que se deseje.
Considere o domnio1 como exemplo8: Voc possui um novo alarme contra ladres em
casa. Este alarme muito confivel na deteco de ladres, entretanto, ele tambm pode
disparar caso ocorra um terremoto. Voc tem dois vizinhos, Joo e Maria, os quais prometeram
telefonar-lhe no trabalho caso o alarme dispare. Joo sempre liga quando ouve o alarme,
entretanto, algumas vezes confunde o alarme com o telefone e tambm liga nestes casos. Maria,
por outro lado, gosta de ouvir msica alta e s vezes no escuta o alarme. Este domnio pode
ser representado como apresenta a figura2.
Ladro

Terremoto

Alarme

JooLig

MariaLig
Figura2. Rede Bayesiana domnio1.

Repare que a rede no possui ns indicando que Maria est ouvindo msica, ou que o
telefone est tocando e atrapalhando o entendimento de Joo. Estes fatos esto implcitos,
associados incerteza relacionada pelos arcos Alarme JooLig e MariaLig, pois, poderia ser
muito dispendioso (ou at mesmo impossvel) se obter tais probabilidades, ou ainda, tais
informaes poderiam no ser relevantes. Assim, as probabilidades devem resumir as condies
6

O que no significa dizer que as relaes sejam simples.


Ou, o caso particular P(A|).
8
Exemplo extrado de [6].
7

em que o alarme pode falhar (falta de bateria, campainha estragada, etc) e ainda, as condies em
que Joo e Maria podem falhar (no estava presente, no ouviu o alarme, estava de mau-humor,
etc). Desta forma, o sistema pode lidar com uma vasta gama de possibilidades, ao menos de
forma aproximada.
Uma vez definida a topologia, necessrio se definir a tabela de probabilidades condicionais
(CPT) para cada n. Cada linha na tabela contm a probabilidade condicional para cada caso
condicional dos ns pais. Um caso condicional uma possvel combinao dos valores para os
ns pais. Por exemplo, para a varivel aleatria Alarme temos:
Ladro

Terremoto

Verdadeiro
Verdadeiro
Falso
Falso

Verdadeiro
Falso
Verdadeiro
Falso

P(Alarme|Ladro,Terremoto)
Verdadeiro
Falso
0.95
0.050
0.95
0.050
0.29
0.71
0.001
0.999
Tabela4. CPT Alarme.

A figura3 apresenta a Rede Bayesiana para o domnio1 e suas probabilidades condicionais.

L P(L)
V .001

Ladro

Alarme

J P(J)
V .90
F .05

JooLig

T P(T)
V .002

Terremoto

M P(M)
V .70
F .01

L
V
V
F
F

T
V
F
V
F

P(A)
.95
.95
.29
.001

MariaLig

Figura3. Rede Bayesiana e probabilidades, domnio1.

3.1

Representando a distribuio da de conjuno de probabilidades

Todas as entradas da tabela de conjuno de probabilidades podem ser calculadas a partir das
informaes disponveis em uma rede Bayesiana. Uma tabela de conjuno de probabilidades
representa a descrio completa de um domnio. Cada entrada da tabela de conjuno de

probabilidades pode ser calculada a partir da conjuno das variveis atribudas aos devidos
valores, P(X1=x1 ... Xn = xn), ou P(x1, ..., xn). O valor de uma entrada ento dado por:
P(x1, ..., xn) = P(xi|Pais(Xi)) para 0 i n (3.1)
Assim, cada entrada da tabela representada pelo produto dos elementos apropriados das
tabelas de probabilidades condicionais (CPT). As CPTs constituem ento uma representao
distribuda da tabela de conjuno de probabilidades do problema.
Como exemplo, considere que se deseja calcular a probabilidade do alarme ter tocado, mas,
nem um ladro nem um terremoto aconteceram, e ambos, Joo em Maria ligaram, ou
P(JMALT).
P(JMALT) = P(J|A)P( M|A)P(A|LT)P(L ) P(T )
= 0.9 x 0.7 x 0.001 x 0.999 x 0.998 = 0.00062
3.2

Mtodo para construo de uma rede Bayesiana

A construo de uma rede Bayesiana exige que certos cuidados sejam tomados de forma a
permitir que a tabela conjuno de probabilidades resultante seja uma boa representao do
problema. Para sua construo utilizaremos como base a equao (3.1).
P(x1, ..., xn) = P(xi|Pais(Xi)) para 0 i n, ser reescrita para:
P(x1, ..., xn) = P(xn| xn-1, ... x1 ) P(xn-1, ... x1)
Este processo ser repetido, reduzindo cada conjuno de probabilidades em uma
probabilidade condicional e uma conjuno menor.
P(x1, ..., xn) = P(xn| xn-1, ... x1 ) P(xn-1| xn-2, ... x1 )... P(x2| x1) P(x1) = P(xi|xi-1, ... x1) para 0 i n
Comparando esta equao com (3.1), observamos que a especificao de uma tabela de
conjuno de probabilidades equivalente com a declarao geral:
P(Xi|Xi -1, ..., X1) = P(Xi|Pais(Xi)) para Pais(Xi) { xi-1, ... x1} (3.2)
Esta equao expressa que, uma rede Bayesiana a representao correta de um domnio se
e somente se, cada n condicionalmente independente de seus predecessores, dado seu pai.
Portanto, para se construir uma rede cuja estrutura represente devidamente o domnio do
problema, necessrio que para todo n da rede esta propriedade seja atendida. Intuitivamente,
os pais de um n Xi devem conter todos os ns X1, ..., Xi-1 que influenciem diretamente Xi. Assim,
possvel, por exemplo, determinar que a seguinte igualdade verdadeira:

P(MariaLig|JoaoLig,Alarme,Terremoto,Ladro) = P(MariaLig|Alarme)
Ento, um procedimento geral para construo de redes Bayesianas seria:
1. Escolha um conjunto de variveis Xi que descrevam o domnio.
2. Escolha uma ordem para as variveis.
3. Enquanto existir variveis:
a. Escolha uma varivel Xi e adicione um n na rede.
b. Determine os ns Pais(Xi) dentre os ns que j estejam na rede e que
satisfaam a equao (3.2).
c. Defina a tabela de probabilidades condicionais para Xi.
O fato de que cada n conectado aos ns mais antigos na rede garante que o grafo ser
sempre acclico.
3.3

Compactao e ordenao de ns

As Redes Bayesianas, em geral, representam tabelas conjuno de probabilidades de um domnio


de forma compacta. Esta caracterstica decorre do fato de que as redes Bayesianas possuem uma
propriedade geral chamada, localidade estrutural. Nos sistemas com localidade estrutural, cada
subcomponente interage diretamente apenas com uma parte do restante do sistema (demais
subcomponentes). No caso das redes Bayesianas, razovel de se supor que, na maioria dos
casos, cada varivel aleatria diretamente influenciada por no mximo k outras variveis.
Suponhamos, por questes de simplicidade, que as variveis aleatrias possam assumir apenas
valores booleanos, neste caso, a quantidade de informao necessria para se especificar uma
determinada tabela de probabilidades condicionais ser no mximo 2k nmeros, em contraste
com uma tabela de conjuno de probabilidades, 2n. Apenas como um exemplo do poder se
compactao, suponhamos uma rede com 20 ns (n = 20), cada n com no mximo 5 pais (k = 5),
uma rede Bayesiana necessitaria de 640 nmeros, enquanto uma tabela joint mais de 1 milho.
Entretanto, existem domnios que requerem que cada n seja influenciado por todos os
outros grafo fortemente conexo. Nestes casos, a especificao de uma tabela de conjuno de
probabilidades requer a mesma quantidade de informao que uma rede Bayesiana. Porm, na
prtica, a maioria dos problemas podem ser simplificados de forma a se garantir que a rede no
seja conexa, sem perda de informao til. Por exemplo, para o problema proposto em domnio1,
poder-se-ia imaginar que na ocorrncia de um terremoto, Joo e Maria no telefonariam, mesmo
ouvindo o alarme, visto que saberiam que a causa foi o prprio terremoto. Neste caso, duas
arestas seriam inserias ligando Terremoto a JooLig e Terremoto a Maria, aumentando o nmero
de CPTs. Esta nova abordagem deveria ento ser avaliada considerando-se o custo da informao
adicional inserida em relao relevncia da mesma.
Mesmo em domnios localmente estruturados, construir uma rede localmente estruturada
no um trabalho trivial. Pois, cada varivel deve ser diretamente influenciada por apenas k
(kn) outras e, a topologia deve realmente representar o domnio. Alguns mtodos podem ser
utilizados, porm, no garantem a construo correta da rvore, uma abordagem possvel seria:

10

incluir inicialmente as razes, em seguida os ns influenciados por ns do nvel anterior, e assim


sucessivamente at a insero das folhas (no possuem influncia sobre nenhum n). Assim, a
ordem de insero dos ns pode influenciar no desempenho da rede. Considere o exemplo para o
dominio1, a insero poderia seguir a seguinte ordem:
MariaLig: raiz.
JooLig: Se Maria ligou, ento, provavelmente, o alarme tocou. Neste caso, MariaLig
influencia JoaoLig. Portanto, MariaLig pai de JoaoLig.
Alarme: Claramente, se ambos ligaram, provavelmente o alarme tocou. Portanto, Alarme
influenciado por JooLig e MariaLig.
Ladro: Influenciado apenas por Alarme.
Terremoto: Se o alarme tocou, provavelmente, um terremoto pode ser acontecido.
Entretanto, se existe um Ladro, ento as chances de um terremoto diminuem. Neste
caso, Terremoto influenciado por Ladro e Alarme.
A rede resultante (figura4) possui mais arcos em relao rede original, o que significa que
mais tabelas devem ser especificadas. E ainda, pode-se notar que alguns arcos representam
situaes pouco naturais e, por conseqncia, de difcil especificao, como, por exemplo, a
probabilidade de um Terremoto dado Ladro e Alarme.
MariaLig

JooLig

Alarme

Ladro

Terremoto
Figura4. Rede Bayesiana domnio1.

3.4

Tabelas de probabilidades condicionais

Tabelas de probabilidades condicionais tendem a ter um grande nmero de entradas, mesmo para
ns com um nmero pequeno de pais. Preencher estes valores pode ser algo que requeira muita
experincia, caso a relao entre ns pais e ns filhos seja completamente arbitrria. Entretanto,
na maioria dos casos, esta relao pode ser bem adaptada a algum padro, o que pode facilitar o
trabalho. Estes casos so chamados distribuies cannicas.
O caso mais simples o representado por ns determinsticos. Um n determinstico tem o
seu valor explicitamente determinado a partir dos pais, sem incerteza. Por exemplo, relao entre
ns pais Brasileiro, Peruano e Boliviano, e o n filho SulAmericano determinado
especificamente pela disjuno dos pais.

11

Relaes com incerteza podem geralmente ser caracterizados como relaes com rudos
(noisy logical relatioships). A relao com rudo padro chamada rudo-OU (noisy-OR), uma
generalizao da relao lgica OU. Em lgica proposicional pode-se dizer que o estado Febre
verdadeiro se e somente se Gripe, Resfriado ou Malaria verdadeiro. A relao rudo-OU
adiciona um nvel de incerteza relao OU, considerando trs suposies: (a) Cada causa possui
uma chance independente de causar o efeito, (b) todas as possibilidades esto listadas, (c) a
inibio de uma causa independente da inibio das demais. Considere o exemplo,
P(Febre|Gripe) = 0,4, P(Febre|Resfriado) = 0.8 e P(Febre|Malaria) = 0.9, para estes valores os
parmetros de rudo sero respectivamente 0.6, 0.2, 0.1. Se nenhum n pai verdadeiro, ento o
n filho falso com 100% de chance. Se apenas um (1) pai verdadeiro, ento a probabilidade
do n filho ser falso igual ao rudo do n pai verdadeiro (ou o produto do rudo dos pais, caso
exista mais de um verdadeiro). A tabela abaixo apresenta o resultado para o exemplo.
Gripe

Resfriado

Malria

P(Febre)

P(Febre)

F
F
F
F
V
V
V
V

F
F
V
V
F
F
V
V

F
V
F
V
F
V
F
V

0.0
0.9
0.8
0.98
0.4
0.94
0.88
0.988

1.0
0.1
0.2
0.02 = 0.2 x 0.1
0.6
0.06 = 0.6 x 0.1
0.12 = 0.6 x 0.2
0.012 = 0.6 x 0.2 x 0.1
Tabela5. rudo-OU.

3.5

Independncia condicional em redes Bayesianas

Conforme demonstrado anteriormente, uma n em uma rede Bayesiana possui independncia


condicional em relao a seus predecessores na rede dado o n pai. Entretanto, para que
possamos utilizar algum mtodo de inferncia em uma rede necessrio que possamos dizer mais
a respeito das relaes entre os ns de uma rede. Por exemplo, necessrio saber se um conjunto
de ns X independente de outro conjunto Y, dado que um conjunto de evidncias E9, ou, em
outras palavras, preciso saber se X d-separado de Y. Se todo caminho no dirigido entre um
n em X e um n em Y d-separado por E, ento X e Y so condicionalmente independentes dada
a evidncia E.
Um conjunto de ns E d-separa dois conjuntos de ns X e Y, se todo o caminho no dirigido
de um n em X para um n em Y bloqueado dado E. Um caminho bloqueado por um conjunto
de ns E se existe um n Z no que garante algumas das trs condies:
1. Z est em E e Z possui um arco de entrada e um arco de sada no caminho.
9

Evidncia em uma varivel uma declarao de uma certeza de seus estados. Se uma varivel instanciada, ela
chamada hard evident.

12

2. Z esta em E e Z possui dois arcos de sada no caminho no dirigido.


3. Z e nenhum de seus descentes no esto em E e ambos os arcos no caminho no dirigido
so de chegada em Z.
A figura5 demonstra os trs casos.

Figura5. Casos gerais, ns X e Y d-separados.

A prxima sesso discute algumas questes a respeito de inferncias em redes Bayesinas.


4 Inferncia em Redes Bayesianas
A tarefa bsica de uma inferncia probabilstica computar a distribuio de probabilidades
posterior para um conjunto de variveis de consulta (query variables), dada uma hard evidence,
ou seja, o sistema computa P(Query|Evidence). Para o exemplo proposto em dominio1, Ladro
constitui uma boa varivel de consulta e JooLig, MariaLig seriam boas variveis de evidncia
(hard evidence).
O exemplo abaixo apresenta uma rede Bayesiana formada pelas seguintes variveis Cloudy
(TempoNublado), Sprinklet (Regador), Rain (Chuva) e WetGrass (GramaMolhada)10. Uma
inferncia possvel seria: Dado que temos a evidncia de que a grama est molhada, qual a
probabilidade de ter chovido, ou do regador estar ligado?

10

Exemplo extrado de [4].

13

P(C=F) P(C=T)
0.5
0.5

Cloudy

Sprinkler
C
F
T

Rain

P (S=F) P(S=T)
0.5
0.5
0.9
0.1

SR
FF
TF
FT
TT

(W=F) P(W=T)
1.0
0.0
0.1
0.9
0.1
0.9
0.01 0.99

C
F
T

P(R=F) P(R=T)
0.8
0.2
0.2
0.8

WetGrass

Figura6. Rede Bayesiana Exemplo de inferncia.

Neste caso, apesar de S e R serem independentes, tornam-se dependentes dado que W a


evidncia, filho de ambos, ou seja, no S e R no so d-separados. Assim, para o calculo de
P(S|W) deve-se considerar P(R) e vice-versa. A equao seria (1 = T e 0 = V):
P(S=1|W=1) = P(S=1,W=1)/P(W=1)
= c,r (P(C=ci, S=1,R= ri, W=1)/P(W=1)) = 0.2781/0.6471
P(R=1|W=1) = P(R=1,W=1)/P(W=1)
= c,s (P(C = ci, S = si,R =1, W=1)/P(W=1)) = 0.4581/0.6471
Onde (W = 1):
P(W=1) = c,r,s P(C = ci, S = si,R = ri, W=1) = 0.6471
Repare que para o clculo de P(S=1|W=1), considera-se os estados possveis de C e R
(somatrio). Assim, pode-se concluir que, dado que a grama est molhada, W =1, a probabilidade
de ter chovido, P(R=1|W=1) = 0.4581/0.6471 = 0.7079 maior que a probabilidade de o regador
ter sido ligado P(S=1|W=1) = 0.2781/0.6471 = 0.4297.

14

Inferncias podem ser realizadas sobre redes Bayesianas para:


Diagnsticos: Dos efeitos para as causas. Dado JoaoLig, P(Ladro|JoaoLig)
Causas: De causas para efeitos. Dado Ladro, P(JoaoLig| Ladro)
Intercausais: Entre causas de um efeito comum. Dado Alarme, P( Ladro|Alarme) e dado
Terremoto, P( Ladro|Alarme,Terremoto).

Diagnstico

Causa

Intercausal
Figura7. Tipos de Inferncias

E, alm de consultas a partir de evidncias, redes Bayesianas podem ser utilizadas para:
Tomar decises baseadas em probabilidades.
Decidir quais evidncias adicionais devem ser observadas a fim de se obter informaes
teis do sistema.
Analisar o sistema a fim de buscar os aspectos do modelo que possuem maior impacto sob
as variveis de consulta.
Explicar os resultados de uma inferncia probabilstica ao usurio.
4.1

Algoritmo para resoluo inferncias

Conforme demonstrado, a computao bsica de um mtodo de inferncia sobre uma rede


Bayeasiana requer o clculo de todos os ns da rede (sua probabilidade condicional) dado que
uma evidncia foi observada. Isto implica dizer que, em geral, uma inferncia probabilstica
realizada em uma rede Bayesiana ser NP-hard. Este fato diretamente proporcional a forma
como o problema foi modelado, em outras palavras, em algumas situaes, uma rede com apenas
dezenas de ns pode necessitar de um tempo computacional muito grande (s vezes invivel),
enquanto uma rede contendo milhares de ns pode levar apenas alguns instantes.
Entretanto, para uma classe restrita de redes, inferncias probabilsticas podem ser realizadas
em tempo linear. Esta classe conhecida por: redes simplesmente conexas. Uma rede

15

simplesmente conexa aquela onde, para qualquer dois ns i,j da rede existe apenas um caminho
no dirigido entre i e j. A figura abaixo apresenta uma representao genrica de rede
simplesmente conexa. Um n X possui um conjunto U de pais, U = U1, ... Um, e filhos Y = Y1, ...
Yn. Cada filho e cada pai est representado dentro de uma caixa contendo todos os seus ns
descendentes e ancestrais, exceto em relao a X, ou seja, todas as caixas so disjuntas e no
possuem nenhum arco ligando-as.

E+x
Um

U1

E-x
Z1j

Znj

Y1

Yn

Figura8. Rede simplesmente conexa genrica

O algoritmo assume que X a varivel de consulta, e existe um conjunto de variveis de


evidncia E (X E). Para o funcionamento do algoritmo necessrio tambm que as disjunes
E-x, E+x, sejam definidas.
E+x o suporte de causa de X. Variveis de evidncia acima de X esto conectadas a X
por estes pais.
E-x o suporte de evidncia de X. Variveis de evidncia abaixo de X esto conectadas
a X por estes filhos.
A estratgia geral a seguinte:
1. Expressar P(X|E) em relao a E-x, E+x.
2. Computar a contribuio de E+x atravs de seus efeitos em Pais(X), e ento transportar
tais efeitos para X.

16

3. Computar a contribuio de E-x atravs de seus efeitos em Filhos(X), e ento transportar


tais efeitos para X. Note que computar os efeitos nos filhos de X uma recurso do
problema de computar os efeitos em X.
A execuo do algoritmo envolve chamadas recursivas a partir de X por todos seus arcos. A
recurso termina em ns de evidncia, razes e folhas da rvore. Cada chamada recursiva exclui o
n que a chamou, desta forma, a rvore coberta apenas uma vez. Portanto o algoritmo linear
no nmero de ns da rede. O algoritmo est representado abaixo11.
Funo Belif-Net-Ask(X) retorna(distribuio de probabilidades sobre X)
{ Entrada: X, a varivel aleatria
Suport-Except(X,NULL) }
Funo Suport-Except(X, V) retorna(P(X|E))
{ se Evidencia(X) retorna ponto de distribuio observado para X
seno
Calcula P(E-x|X) = Evidence-Except(X,V)
U = Pais(X)
se U == vazio
retorna P(E-x|X)P(X)
seno
para cada Ui em U
Calcule e armazene P(Ui|Eui) = Suport-Except(Ui,X)
retorna P(E-x|X) P(X|u) P(Ui|Eui)
}
Funo Evidence-Except(X, V) retorna P(E-x|X)
{ Y = Filhos[X] - V
se Y == vazio retorna uma distribuio uniforme
seno
para cada Yi em Y
Calcula P(E-yi|yi) = Evidence-Except(Yi,NULL)
Zi = Pais[Yi] - X
para cada Zij em Zi
Calcule e armazene P(Zij|Ezij) = Suport-Except(Zij,Yi)
retorna P(E-yi|Yi)P(Yi|X,zi)P(zij|Ezij)
}

Vale lembrar que o algoritmo apenas funciona devido caracterstica da rvore de ser
simplesmente conexa, caso contrrio, ou uma mesma evidncia seria contada mais de uma vez,
ou o algoritmo poderia no terminar.

11

Algoritmo extrado de [6].

17

Para demonstrao matemtica12 do algoritmo, considere a rvore simplesmente conexa


definida abaixo.

Figura9. Rede Bayesiana. Inferncia P(e|a,b,c,d).

Suponha que desejamos calcular a probabilidade de e dadas as evidncias a,b,c,d. Es


evidncias so inicialmente divididas em dois conjuntos, [a,b], ns que esto acima de e e [c,d],
ns que esto abaixo de e. O objetivo se quebrar o problema P(e|a,b,c,d), em dois
subproblemas. Inicialmente aplicamos a rede de Bayes:
P(e|a,b,c,d) = P(e)P(a,b,c,d|e)/P(a,b,c,d)
O segundo termo do numerador pode ser quebrado;
P(e|a,b,c,d) = P(e) P(a,b|e)P(c,d|a,b,e)/P(a,b,c,d)
Note que P(c,d|a,b,e) = P(c,d|e), pois e separa a e b de c e d. Substituindo este termo no
ultimo termo do numerador e condicionando o denominador em a e b, teremos:
P(e|a,b,c,d) = P(e) P(a,b|e) P(c,d|e)/P(a,b) P(c,d|a,b)
Os fatores podem ser alterados para:
P(e|a,b,c,d) = (P(e) P(a,b|e) /P(a,b)) P(c,d|e) P(c,d|a,b)
Aplicando a regra de Bayes de forma reversa sobre o primeiro termo, teremos:
P(e|a,b,c,d) = (P(e|a,b) P(c,d|e))(1/P(c,d|ab))
12

Extrado de [1].

18

Com esta equao obtemos o resultado desejado, o primeiro termo possui apenas variveis
que esto acima de e e o segundo, apenas variveis que esto abaixo. O ltimo termo envolve
ambas as variveis, mas, na realidade no precisa ser calculado. Basta, resolver esta equao para
todos os valores de e, o ltimo termo permanece inalterado, e pode ser marginalizado13.
4.2

Inferncia em Redes Bayesianas Multiconectadas

Um grafo multiconectado aquele para o qual dois ns so ligados por mais de um caminho no
dirigido, ou, um n possui duas ou mais causas, e estas causas compartilham um ancestral
comum (figura6). Conforme j mencionado, o clculo de inferncias sob redes multiconectadas
um problema NP-hard, entretanto, algumas abordagens so propostas de forma se possibilitar
estes clculos em tempo polinomial.
Existem trs classes de algoritmos para inferncia em redes multiconectadas, cada um com
uma rea de aplicao definida:
Clustering Este mtodo transforma probabilisticamente (no topologicamente) a rede
em uma rede simplesmente conexa.
Conditioning Este mtodo faz uma transformao na rede instanciando variveis em
valores definidos, e ento, e ento produz uma rede simplesmente conexa para cada
varivel instanciada.
Stochastic simulation Este mtodo usa a rede para gerar um grande nmero de modelos
concretos de um domnio. A partir destes modelos o algoritmo calcula uma aproximao
de uma inferncia.
Mtodos de Clustering
Considere o exemplo da figura6. Uma forma de obter desta rede em uma rede simplesmente
conexa seria a combinao das variveis Sprinkler e Rain, em um mega n chamado
Sprinkler+Rain, conforme mostra a figura10. Repare que duas variveis booleanas so
substitudas por um n que possui as quatro probabilidades, TT, TF, FT e FF (a probabilidade dos
demais ns da rede permanecem inalteradas). O mega n obtido possui apenas um pai, a varivel
booleana Cloudy. Uma vez que a rede foi convertida para uma rede simplesmente conexa, o
algoritmo apresentado anteriormente pode ser aplicado.
Apesar da tcnica permitir a aplicao de um algoritmo de inferncia de tempo linear, a
caracterstica NP-hard no deixa de existir. No pior caso, o tamanho da rede pode crescer
exponencialmente, tendo em vista que o mtodo envolve o produto de tabelas de probabilidade
incondicional. O problema passa ento a depender da escolha de um bom mtodo para juno de
ns.

13

Ver sesso 2.1.1.

19

P(C=F) P(C=T)
0.5
0.5

Cloudy

Spr+Rain

SR
FF
TF
FT
TT

(W=F) P(W=T)
1.0
0.0
0.1
0.9
0.1
0.9
0.01 0.99

C
F
T

TT TF FT FF
.08 .02 .72 .18
.40 .10 .40 .10

WetGrass

Figura10. Clustering de ns.

Mtodos de Cutset conditioning


O mtodo Cutset conditioning utiliza uma idia oposta em relao a anterior. Seu propsito
transformar uma rede em diversas redes mais simples. Cada uma destas redes possui uma ou mais
variveis instanciadas em um valor definido. Assim, P(X|E) computado como uma mdia
ponderada sobre os valores extrados de cada uma das redes.
O conjunto de variveis que podem ser instanciadas para permitir que uma rede
simplesmente conexa seja obtida chamado cutset. Para o exemplo anterior, o cutset seria apenas
a varivel Cloudy, como seu valor booleano, apenas duas rvores so geradas, conforme mostra
a figura abaixo.
+Cloud

+Cloud

Spr

Rain

WetGrass

-Cloudy

-Cloudy

Spr

Rain

WetGrass
Figura1. Cut set conditioning.

De forma geral, o nmero resultante de novas rvores exponencial em relao ao nmero


de ns, o que significa dizer que, uma boa estratgia para definio de cutsets deve ser utilizada.

20

Mtodos Stochastic simulation


Neste mtodo, simulaes sobre a rede so repetidamente executadas permitindo que
informaes estatsticas sejam extradas para as probabilidades que se deseja. Em cada rodada da
simulao, um valor aleatrio atribudo a cada n raiz da rede, a escolha ponderada pela
probabilidade incondicional do n. Para P(Cloudy) = 0.5, do exemplo anterior, Cloudy = True
deve ser escolhido metade das vezes, e Cloudy = False, a outra metade. Uma vez escolhido o
valor de Cloudy, os valores de Sprinkler e Rain podem so tambm escolhidos aleatoriamente.
Finalmente, o mesmo pode ser realizado para WetGrass, e a primeiro rodada termina.
Para se estimar o valor de P(WetGrass|Cloudy), ou uma probabilidade qualquer P(X|E), o
procedimento anterior deve ser repito vrias vezes, e ento se calcula a razo do nmero de vezes
em que P(Cloudy) e P(WetGrass) foram verdadeiros, pelo nmero de vezes que apenas Cloudy
foi verdadeiro. Este valor tende a se aproximar do valor exato, na medida em que o nmero de
simulaes aumenta.
5 Aplicaes
Redes Bayesianas tm sido utilizadas em diversos tipos de aplicaes, entretanto, seu principal
foco tem sido a rea de diagnsticos, principalmente, diagnsticos mdicos. A seguir sero
apresentados alguns projetos.

Pathfinder, Heckerman 1990. Stanford Sistema para diagnsticos de problemas nas


glndulas linfticas. O sistema trata mais de 60 enfermidades sob as probabilidades de
mais de 100 causas (sintomas e resultados de testes mdicos).

Map Learning, Ken Basye 1990. Brown University Este projeto combina problemas de
diagnostico e teoria de deciso. Um rob deve percorrer um labirinto, procurando
aprender os caminhos percorridos e, ao mesmo tempo, explorar caminhos desconhecidos.
O rob deve ponderar entre seguir um caminho conhecido at seu objetivo e a tentativa de
se descobrir um novo caminho.

AutoClass, NASAs Ames Research Center, 1998 - Sistema de explorao e aquisio de


conhecimento espacial. Este projeto est desenvolvendo uma rede bayesiana que permita
a interpolao automtica de dados espaciais oriundos de diferentes observatrios e
planetrios espalhados pelo mundo.

Lumiere, Microsoft Research, 1998 O projeto pretende criar um sistema que possa
automaticamente e inteligentemente interagir com outros sistemas, antecipando os
objetivos e necessidades dos usurios.

21

6 Concluses
Redes bayesianas constituem uma forma natural para representao de informaes
condicionalmente independentes. E ainda, possibilitam a representao compacta de uma tabela
de conjuno de probabilidades. Em outras palavras, redes bayesinas, oferecem uma boa soluo
a problemas onde concluses no podem ser obtidas apenas do domnio do problema, onde, o uso
de probabilidades exigido.
Inferncias sobre redes bayesinas podem ser executadas em tempo linear, porm, para a
maioria das topologias de rede, inferncias possuem complexidade NP-hard. Algumas tcnicas
podem ser aplicadas para se obter tempo linear, mesmo em topologias que impossibilitariam este
fato, entretanto, este ainda um dos grandes desafios ao se desenvolver uma rede.
7 Referncias Bibliogrficas
[1]
[2]
[3]
[4]
[5]
[6]

Charniak, Eugene. Bayesians Networks without Tears. IA Magazine, 1991.


Darwiche, Adan & Huang, Cecil. Inference in Belief Networks: A procedural
guide. International Journal of Approximate Reasoning, 1994.
Jensen, V. Finn. Bayesian Networks and Decision Graphs. SpringerVerlag,2001.
Murphyk, P. Kevin. A Brief Introduction to Graphical Models and Bayesian
Networks. http://www.cs.berkeley.edu/~murphyk/Bayes/bayes.html
Niedermayer, Daryle. An Introduction to Bayesian Networks and their
Contemporary Applications.1998.
Russel, J. Stuart & Norvig, Peter. Artifical Intelligence: A modern
Approach.Prentice Hall 415-429, 436-457,1995.

22

Você também pode gostar