Inteligencia Artificial IICurso 2005–2006 Tema 8: Introducci´n a las o Redes Bayesianas Jos´ L. Ruiz Reina e Dpto. de Ciencias de la Computaci´n e Inteligencia Artificial o Universidad de Sevilla IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.1 Redes bayesianas x Como vimos en el tema anterior, las relaciones de independencia (condicional) nos permiten reducir el tama˜ o de la informaci´n necesaria n o para especificar una DCC u Las redes bayesianas (o redes de creencia) constituyen una manera pr´ctica y a compacta de representar el conocimiento incierto, basada en esta idea x Una red bayesiana es un grafo dirigido ac´ ıclico que consta de: u u Un conjunto de nodos, uno por cada variable aleatoria del “mundo” Un conjunto de arcos dirigidos que conectan los nodos; si hay un arco de X a Y decimos que X es un padre de Y (padres(X) denota el conjunto de v.a. que son padres de X) Cada nodo Xi contiene la distribuci´n de probabilidad condicional P (Xi|padres(Xi)) o u x Intuitivamente, en una red bayesiana una arco entre X e Y significa una influencia directa de X sobre Y u Es tarea del experto en el dominio el decidir las relaciones de dependencia directa (es decir, la topolog´ de la red) ıa Cc Ia Introducci´n a las Redes Bayesianas o 8.2 IA-II 2005–2006 Ejemplo de red bayesiana (Russell y Norvig) P(sol) 0.7 P(lluv) 0.2 P(nubl) 0.08 P(nieve) 0.02 P(caries) 0.8 Tiempo Caries Caries P(dolor) caries no caries 0.6 0.1 Dolor Huecos Caries P(hueco) caries no caries 0.9 0.2 IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.3 Observaciones sobre el ejemplo x La topolog´ de la red anterior nos expresa que: ıa u u u Caries es una causa directa de Dolor y Huecos Dolor y Huecos son condicionalmente independientes dada Caries T iempo es independiente de las restantes variables x No es necesario dar la probabilidad de las negaciones de caries, dolor, ... IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.4 Otro ejemplo (Pearl. a la polic´ si oyen la alarma ıa u Juan y Mar´ podr´ no llamar aunque la alarma sonara: por tener m´ sica muy ıa ıan u alta en su casa. por ejemplo Incluso podr´ llamar aunque no hubiera sonado: por confundirla con un tel´fono. 1990): x Tenemos una alarma antirrobo instalada en una casa u u La alarma salta normalmente con la presencia de ladrones Pero tambi´n cuando ocurren peque˜ os temblores de tierra e n x Tenemos dos vecinos en la casa.5 . Juan y Mar´ que han prometido llamar ıa. ıan e por ejemplo u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. 29 0.6 .01 IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.90 0.Red bayesiana para el ejemplo de la alarma P(robo) 0.001 Alarma Alarma P(juanll) alarma no alarma 0.70 0.001 Robo Terremoto P(terr) 0.05 Juanllama Mariallama Alarma P(mariall) alarma no alarma 0.002 Robo robo robo no robo no robo Terrem terr no terr terr no terr P(alarma) 0.94 0.95 0. a las causas por las cuales Mar´ podr´ no o´ la alarma: ´stas est´n impl´ ıa ıa ır e a ıcitas en la tabla de probabilidades P (M ariallama|Alarma) u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.Observaciones sobre el ejemplo x La topolog´ de la red nos expresa que: ıa u u Robo y T erremoto son causas directas para Alarma Tambi´n.7 . por ejemplo. Robo y T erremoto son causas para Juanllama y para M ariallama. pero esa e influencia s´lo se produce a trav´s de Alarma: ni Juan ni Mar´ detectan directao e ıa mente el robo ni los peque˜ os temblores de tierra n En la red no se hace referencia directa. 8 . Luz (luz en la entrada). Inst (problemas intestinales en el perro) y Oigo (oigo al perro ladrar) IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. 1991): x Supongamos que quiero saber si alguien de mi familia est´ en casa. el perro est´ fuera a Si el perro tiene problemas intestinales. oigo sus ladridos a Podr´ o´ ladridos y pensar que son de mi perro aunque no fuera as´ ıa ır ı x Variables aleatorias (booleanas) en este problema: u F uera (nadie en casa). tambi´n se deja fuera e Si el perro est´ fuera. usualmente (pero no siempre) enciende la luz de la entrada Hay otras ocasiones en las que tambi´n enciende la luz de la entrada e Si no hay nadie en casa. a bas´ndome en la siguiente informaci´n a o u u u u u u Si mi esposa sale de casa. P erro (perro fuera).Un tercer ejemplo (Charniak. 99 0.6 0.Red bayesiana para el ejemplo de la familia fuera de casa P(fuera) 0.15 Fuera Inst P(inst) 0.9 .01 Oigo IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.3 Luz Perro Perro perro no perro P(oigo) 0.05 fuera fuera no fuera no fuera Inst inst no inst inst no inst P(perro) 0.97 0.7 0.90 0.01 Fuera Fuera fuera no fuera P(luz) 0. supondremos que: u padres(Xi) ⊆ {Xi−1. . T erremoto. . . . . .Las redes bayesianas representan DCCs x Consideremos una red bayesiana con n variables aleatorias u Y un orden entre esas variables: X1. . . cada variable es condicionalmente independiente de sus anteriores. basta que el orden escogido sea consistente con el orden parcial que induce el grafo) P (Xi|Xi−1. . Xn x En lo que sigue. Robo) = P (M ariallama|Alarma) que IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. Alarma. . X1} (para esto. .10 . la red expresa que creemos P (M ariallama|Juanllama. X1) = P (Xi|padres(Xi)) (es decir. dados sus padres en la red) u x Estas condiciones expresan formalmente nuestra intuici´n al representar o nuestro “mundo” mediante la red bayesiana correspondiente u En el ejemplo de la alarma. . . . . la probabilidad de que la alarma suene. X1) = i=1 P (Xi|padres(Xi)) x Es decir. . Xn) = P (Xn|Xn−1 . . ¬r. ıa ıa. Juan y Mar´ llamen a la polic´ pero no haya ocurrido nada es (usamos iniciales. X1)P (Xn−1 . ¬t) = P (j|a)P (m|a)P (a|¬r.001 × 0.9 × 0. . . = i=1 P (Xi|Xi−1.11 .7 × 0. . . . una red bayesiana representa una DCC obtenida mediante la expresi´n P (X1.00062 IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. n n . . .. m. Xn) = n P (Xi|padres(Xi)) o i=1 u Por ejemplo. X1) = . . a.. y aplicando repetidamente la regla del producto: P (X1.998 = 0. por simplificar) : P (j. . ¬t)P (¬r)P (¬t) = = 0. . . . . en el ejemplo de la alarma.999 × 0. .Las redes bayesianas representan DCCs x En las anteriores condiciones. . Para n = 30 y k = 5. esto supone 960 n´ meros frente a 230 (billones) u u u u x Hay veces que una variable influye directamente sobre otra. frente a los 2n n´ meros ıa u u de la DCC Por ejemplo. puede compensar no considerar esa dependencia.Representaciones compactas x Dominios localmente estructurados: u Las relaciones de independencia que existen entre las variables de un dominio hacen que las redes bayesianas sean una representaci´n mucho m´s compacta y eficiente o a de una DCC que la tabla con todas las posibles combinaciones de valores Adem´s. para un experto en un dominio de conocimiento suele ser m´s natural dar a a probabilidades condicionales que directamente las probabilidades de la DCC Con n variables. pero esta dependencia es muy tenue u En ese caso. entonces una red bayesiana necesitar´ n2k n´ meros. pero ganado manejabilidad o o IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.12 . si cada variable est´ directamente influenciada por k variables a lo a sumo. perdiendo algo de precisi´n en la representaci´n. . Devolver RED IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. PARA i=1. Sea (X_1........Algoritmo de construcci´n de una red bayesiana o x Supongamos dado un conjunto de variables aleatorias VARIABLES que representan un dominio de conocimiento (con incertidumbre) FUNCION CONSTRUYE_RED(VARIABLES) 1.n HACER 3..13 ...X1} dado padres(X_i) 3.2 Sea padres(X_i) un subconjunto minimal de {X_{i-1}.X1} tal que existe una independencia condicional entre X_i y cada elemento de {X_{i-1}.. Sea RED una red bayesiana ‘‘vac´a’’ ı 3.X_n) una ordenaci´n de las variables de VARIABLES o 2..3 A~adir en RED un arco dirigido entre cada elemento de padres(X_i) n y X_i 3..1 A~adir un nodo etiquetado con X_i a RED n 3.4 Asignar al nodo X_i la tabla de probabilidad P(X_i|padres(X_i)) 4.. 95 0.14 .94 0.05 Juanllama Mariallama Alarma P(mariall) alarma no alarma 0.29 0. T erremoto.Ejemplo de construcci´n de red bayesiana (alarma) o x Partiendo del orden Robo. Juanllama. y aplicando el algoritmo anterior obtenemos la red del ejemplo: P(robo) 0.001 P(terr) 0.90 0.70 0. M ariallama.01 IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. Alarma.001 Alarma Alarma P(juanll) alarma no alarma 0.002 Robo Terremoto Robo robo robo no robo no robo Terrem terr no terr terr no terr P(alarma) 0. Construcci´n de redes bayesianas o x Problema: elecci´n del orden entre variables o u En general. Robo y Alarma) Mariallama Juanllama Mariallama Juanllama u x Un orden malo puede llevar a representaciones poco eficientes u Alarma Terremoto Robo Robo Terremoto Alarma IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. a a o lo cual suele ser preferible por los expertos Red izquierda (M ariallama. hasta llegar a las que no influyen directamente sobre ninguna (modelo causal) Esto har´ que las tablas reflejen probabilidades “causales” m´s que “diagn´sticos”. etc..15 . red derecha (M ariallama. Alarma. siguiendo con aquellas a las que influencian directamente.. deber´ ıamos empezar por las “causas originales”. T erremoto. Juanllama.. Juanllama. Robo y T erremoto). podr´ ıamos querer saber qu´ probabilidad hay de que realmente se e haya producido un robo. . sabiendo que tanto Juan como Mar´ han llamado a la ıa polic´ ıa Es decir. dado que se han observado algunos valores para las variables de evidencia Por ejemplo. calcular P (Robo|juanllama. .16 u u IA-II 2005–2006 . . E2. mariallama) u u x Notaci´n: o u X denotar´ la variable de consulta (sin p´rdida de generalidad supondremos s´lo a e o una variable) E denota un conjunto de variables de evidencia E1. .Inferencia probabil´ ıstica en una red bayesiana x El problema de la inferencia en una red bayesiana u Calcular la probabilidad a posteriori para un conjunto de variables de consulta. En y e una observaci´n o concreta para esas variables Y denota al conjunto de las restantes variables de la red (variables ocultas) e y representa un conjunto cualquiera de valores para esas variables Cc Ia Introducci´n a las Redes Bayesianas o 8. 17 . nos permite o calcular cualquier probabilidad a posteriori a partir de la informaci´n de la red o bayesiana Esencialmente. e. e) = α y P (X.Inferencia por enumeraci´n o x Recordar la f´rmula para la inferencia probabil´ o ıstica a partir de una DCC: P (X|e) = αP (X. y) x Esta f´rmula ser´ la base para la inferencia probabil´ o a ıstica: u Puesto que una red bayesiana es una representaci´n de una DCC. se trata de una suma de productos de los elementos de las distribuciones condicionales u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. m) = α t a P (r.00059224. t)P (j|a)P (m|a).Un ejemplo de inferencia probabil´ ıstica x Ejemplo de la alarma (usamos iniciales por simplificar) P (R|j. P (¬r) t P (t) a P (a|¬r.18 . t)P (j|a)P (m|a) x En este ejemplo hay que hacer 2 × 4 sumas. m). t)P (j|a)P (m|a) = = α 0. t.284. t)P (j|a)P (m|a).0014919 = 0. cada una de ellas con un producto de cinco n´ meros tomados de la red bayesiana u u En el peor de los casos. t a P (¬r)P (t)P (a|¬r. a. j. m) = α P (r|j.716 IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. 0. 0. a. P (¬r|j. con n variables booleanas. j. t a P (¬r. m) = =α t a P (r)P (t)P (a|r. m). este c´lculo toma O(n2n) a x Una primera mejora consiste en sacar factor com´ n de aquellas probau bilidades que s´lo involucran variables que no aparecen en el sumatorio: o P (t) t a P (R|j. t. m) = α P (r) P (a|r. 90 P(m|a) .t) .05 + P(~a|r.01 P(j|a) .06 P(j|a) .19 .05 P(m|~a) .~t) .998 P(a|r.90 P(m|a) .95 + P(~t) .Inferencia por enumeraci´n o x Las operaciones realizadas en la f´rmula anterior se pueden simbolizar o con el siguiente ´rbol a P(r) .t) .01 IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.002 P(a|r.001 P(t) .05 P(m|~a) .94 + P(~a|r.~t) .70 P(j|~a) .70 P(j|~a) . RED) 1.e) es el conjunto de valores que toman en e los padres de Y en la RED.Algoritmo de inferencia por enumeraci´n o u Entrada: una v.e.e))·ENUM_AUX(RESTO(VARS). y e_y extiende e con el valor y para Y) IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.RED) 1. inicialmente vac´a o ı 2. devolver SUMATORIO(y.2 Si Y tiene un valor y en e devolver P(y|padres(Y. Si VARS es vac´o devolver 1 ı 2. Salida: P (X|e) FUNCION INFERENCIA_ENUMERACION(X.P(y|padres(Y.1 Extender e con el valor x_i para X 2. Si no.e. Devolver NORMALIZA(Q(X)) FUNCION ENUM_AUX(VARS. X de consulta.1 Hacer Y igual a PRIMERO(VARS) 2.e))·ENUM_AUX(RESTO(VARS).a.20 .e. un conjunto de valores observados e para la variables de evidencia y una red bayesiana. Sea Q(X) una distribuci´n de probabilidad sobre X.RED) 3. PARA cada valor x_i de X HACER 2.e) Si no. 2.2 Hacer Q(x_i) el resultado de ENUM_AUX(VARIABLES(RED).e_y)) (donde: padres(Y. en a profundidad Por tanto. estos c´lculos redundantes son inaceptables en la a pr´ctica a IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. tiene un coste lineal en espacio u x Puede realizar c´lculos repetidos a u u En el ejemplo.21 . VARIABLES(RED) debe devolver las variables en un orden consistente con el orden impl´ ıcito en el grafo de la red (de arriba hacia abajo) x Recorrido en profundidad: u El algoritmo genera el ´rbol de operaciones anterior de arriba hacia abajo.Algoritmo de inferencia por enumeraci´n o x Observaci´n: o u Para que el algoritmo funcione. P (j|a)P (m|a) y P (j|¬a)P (m|¬a) se calculan dos veces Cuando hay muchas variables. multiplicaremos tablas de probabiliu dades u u Denominaremos factores a estas tablas Por ejemplo.22 . m) = αP (R) t P (t) a P (a|R. m) a o ıa u u u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. equivalentemente.Evitando c´lculos redundantes a x Idea para evitar el c´lculo redundante: a u Realizar las operaciones de derecha a izquierda (o. de abajo a arriba en el ´rbol de operaciones) a Almacenar los c´lculos realizados para posteriores usos a u x En lugar de multiplicar n´meros. la operaci´n P (R|j. t)P (j|a)P (m|a) puede o verse como la multiplicaci´n de cinco tablas o factores en los que hay intercaladas o dos operaciones de suma o agrupamiento Se trata de hacer esas operaciones entre factores de derecha a izquierda Es el denominado algoritmo de eliminaci´n de variables o Veamos con m´s detalle c´mo actuar´ este algoritmo para calcular P (R|j. es la tabla con componentes P (m|a) y P (m|¬a): A | f_1(A) ---------------T | 0. el factor correspona diente a P (m|A). T.01 IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.El algoritmo de eliminaci´n de variables: un ejemplo o x En primer lugar. tomaremos el inverso de un orden consistente con la topolog´ de ıa la red: M. que notamos f(A). A. J. tomamos un orden fijado entre las variables de la red u Un orden adecuado ser´ esencial para la eficiencia del algoritmo (m´s adelante a a comentaremos algo m´s sobre el orden) a En nuestro caso.23 . R u x El factor correspondiente a M se obtiene a partir de la distribuci´n o condicional P (M |A) u Como M es una variable de evidencia y su valor est´ fijado a true.70 F | 0. notado f3(A. R. una por cada combinaci´n de valores de R (variable de o consulta) A y T (variables ocultas) En este caso. T ) Ninguna de esas variables es de evidencia. T ) se obtiene a partir de P (A|R.24 . y por tanto no est´n fijados sus valores a Es una tabla con 2 × 2 × 2. esta tabla est´ directamente en la propia red a u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.El algoritmo de eliminaci´n de variables: un ejemplo o x La siguiente variable en el orden es J u De manera an´loga f2(A) (tomado de P (j|A)) es el factor correspondiente a x Siguiente variable: A u u u El factor correspondiente. f2 y f3 Nota: aunque no es ´ste el caso. R. para cada valor v1 de A. f alse. f alse. ni en el ıa o agrupamiento posterior Cc Ia Introducci´n a las Redes Bayesianas o 8.90×0. si alguno de los factores no tuviera a la variable A e como argumento . T ) se obtiene multiplicando las o entradas correspondientes a los mismos valores de A.1827 Almacenamos f4 y nos olvidamos de f1. as´ que hemos de realizar el sumatorio ı sobre sus valores u u Por tanto.70×0. v3) Por ejemplo: f4(true.29 = 0.25 u u u u IA-II 2005–2006 . multiplicamos ahora los tres factores y sumamos sobre A La multiplicaci´n de f1 . v2. no hemos realizado ninguna operaci´n o u S´lamente hemos construido los factores o x Pero A es una variable oculta. v2 de R y v3 de T se tiene f4(v1. true) = 0. f2 y f3. v2. notada f4(A. lo conservar´ ıamos y no participar´ en la multiplicaci´n. R y T Es decir.El algoritmo de eliminaci´n de variables: un ejemplo o x Hasta ahora. true) = f1 (true)f2(true)f3(true. v3) = f1(v1)f2(v1)f3(v1. es la tabla P (T ) x T es una variable oculta u u u Por tanto.26 IA-II 2005–2006 . T ) haciendo f5(v1. v2) para cada valor ı. v2) = a f4(a. v1 de R y v2 de T . que notaremos f6 (T ). eliminando la variable T Notemos por f7(R) al resultado de multiplicar f6 por f5 y agrupar por T Podemos olvidarnos de f5 y f6 Cc Ia Introducci´n a las Redes Bayesianas o 8. y variando a en los posibles valores de A Llamaremos a esta operaci´n agrupamiento o Hemos eliminado la variable A Una vez realizada la agrupaci´n.El algoritmo de eliminaci´n de variables: un ejemplo o x Ahora hay que agrupar el valor de A en f4 (realizar el sumatorio u a) As´ obtenemos una tabla f5 (R. v1. debemos multiplicar y agrupar. guardamos f5 y nos olvidamos de f4 o u u u x Continuamos con la siguiente variable T : u El factor correspondiente a esta variable. que notaremos f8 (R).El algoritmo de eliminaci´n de variables: un ejemplo o x Ultima variable: R u El factor correspondiente a esta variable.27 . es la tabla P (R) x Para finalizar: u Multiplicamos los factores que nos quedan (f7 y f8 ) para obtener f9 (R) y normalizamos para que sus dos entradas sumen 1 La tabla finalmente devuelta es justamente la distribuci´n P (R|j.m) o u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. z) Similar a una operaci´n join en bases de datos.28 . z) = f1(x. Z) como la tabla cuyas entradas son f (x. que va cambiando: u u u Al a˜ adir un nuevo factor.Observaciones sobre el algoritmo de eliminaci´n de variables o x En cada momento tenemos un conjunto de factores. multiplicando los valores correso pondientes u x En el algoritmo de eliminaci´n de variables. Y ) y f2 (Y . y)f2(y. uno por cada variable que se considera n Al multiplicar factores Al agrupar por una variable oculta x Multiplicaci´n de tablas: o u Si f1 (X. Y . s´lo multiplicaremos tablas: o o u u Previo a realizar cada operaci´n de agrupamiento o Y en el paso final IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. se define u su producto f (X. Z) son dos tablas cuyas variables en com´ n son las de Y . y. dejamos f3 y f4 y sustituimos f1 y f2 por el resultado de agregar (por cada valor de T ) la multiplicaci´n de f1 y f2 o La operaci´n de sumar por un valor es similar a la agregaci´n de una columna en o o bases de datos u u u u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.a. R. si en el conjunto de factores f1 (T ). f3 (A). T ). f4(A) tuvier´mos a que agrupar por la variable T .Observaciones sobre el algoritmo de eliminaci´n de variables o x Agrupamiento de tablas: u Dado un conjunto de factores.29 . f2(A. X) consiste en obtener otro conjunto de factores Se dejan igual aquellos que no tienen a la variable X entre sus argumentos Y el resto de factores se multiplican y se sustituyen por el resultado multiplicarlos y sumar en la tabla por cada posible valor de X Por ejemplo. la operaci´n de agrupar (respecto de los valores de o una v. se suele realizar un paso o previo de eliminaci´n de variables irrelevantes para la consulta o Ejemplo: u x Si la αP (r) Pero consulta a la red t P (t) a P (a|r.Un paso previo de optimizaci´n: variables irrelevantes o x En el algoritmo de eliminaci´n de variables. as´ que la variable M es irrelevante para la consulta ı Siempre podemos eliminar cualquier variable que sea una hoja de la red y que no sea de consulta ni de evidencia Y en general.30 . hay que calcular u u = 1. t)P (J|a) m P (m|a) del ejemplo m P (m|a) es P (J|r). es irrelevante para la consulta y por tanto puede ser eliminada u IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. se puede demostrar que toda variable que no sea antecesor (en la red) de alguna de las variables de consulta o de evidencia. FACTORES) 6.a.3 Si VAR es una variable oculta hacer FACTORES igual a AGRUPA(VAR. Sea VAR_ORD el conjunto de VARIABLES ordenado seg´n un orden de u eliminaci´n o 5.e.31 . PARA cada V en VAR_ORD HACER 5. Sea VARIABLES el conjunto de variables de RED_E 4.1 Sea FACTOR el factor correspondiente a VAR (respecto de e) 5. Sea FACTORES igual a vac´o ı 3. Devolver NORMALIZA(MULTIPLICA(FACTORES)) IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. X de consulta.RED) 1. Sea RED_E el resultado de eliminar de RED las variables irrelevantes para la consulta realizada 2. Salida: P (X|e) FUNCION INFERENCIA_ELIMINACION_VARIABLES(X. un conjunto de valores observados e para la variables de evidencia y una red bayesiana.2 A~adir FACTOR a FACTORES n 5.El algoritmo de eliminaci´n de variables o u Entrada: una v. 32 .Otro ejemplo (B´jar) e x Consideremos las siguientes variables aleatorias: u u u u u D: pr´ctica deportiva habitual a A: alimentaci´n equilibrada o S: presi´n sangu´ o ınea alta F : fumador I: ha sufrido un infarto de miocardio x Las relaciones causales y el conocimiento probabil´ ıstico asociado est´n a reflejadas en la siguiente red bayesiana IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. 3 I no f no f IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.2 0.6 0.25 0.33 .4 S F S s no s s no s F f f P(i) 0.7 0.01 0.8 0.Otro ejemplo: red bayesiana P(d) 0.7 0.4 P(f) A a no a a no a D d d no d no d P(s) 0.1 D A P(a) 0. 8 + 0. f ) + P (¬s|¬d. f ) + P (¬s|¬d.34 IA-II 2005–2006 .6)] = α · 0. ¬d) Directamente: u x Aplicamos la f´rmula: P (F |i.6 · (0. ¬d) = αP (¬d)P (F ) u Para F = true: P (S|¬d. f ))+ +P (¬a) · (P (s|¬d.7 · 0.9 · 0. a) · P (i|s. F ) Calculemos: u P (f |i. 0. A)P (F )P (i|S. ¬a) · P (i|s.3 · 0. ¬d) = α o Factorizamos seg´ n la red: P (F |i.25 · 0. ¬d. A)P (i|S. 274 a Normalizando. i.48.A P (F.8 + 0. ¬d) = α · 0. a) · P (i|¬s.52 Cc Ia Introducci´n a las Redes Bayesianas o 8.Ejemplo de inferencia probabil´ ıstica x Podemos usar la red bayesiana para calcular la probabilidad de ser fumador si se ha sufrido un infarto y no se hace deporte. ¬d) = α · P (¬d) · P (f )[P (a) · (P (s|¬d.253 u u An´logamente.A P (¬d)P (A)P (S|¬d. A. F ) A P (A) S u x Sacamos factor com´ n: P (F |i. ¬d) = α u S. P (¬f |i.6) + 0.4 · (0. para F = f alse. P (F |i. f ))] = = α · 0. ¬d) = αP (F.75 · 0. ¬d) = 0. S) u S. i. ¬a) · P (i|¬s.4 · [0. P (F |i. Aplicando eliminaci´n de variables o x Seguiremos el siguiente orden de variables. pero eso no lo sabemos a priori ıa a x Variable I: u El factor fI (S.7 no s no f | 0. F.6 s no f | 0. S.3 u F ACT ORES = {fI (S.8 no s f | 0. F )} IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. inspirado en la topolog´ de ıa la red (de abajo a arriba): I. F ) (no depende de I ya que su valor est´ determinado a a i): S F | f_{I}(S. F ) es P (i|S. D u Aunque igual otro orden ser´ m´s eficiente.F)=P(i|S. A.35 .F) ----------------------------------------s f | 0. fF (F )} IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.36 .4 no f | 0.6 u F ACT ORES = {fI (S.Aplicando eliminaci´n de variables o x Variable F : u El factor fF (F ) es P (F ): F | f_{F}(F)=P(F) ---------------------------------f | 0. F ). fS (S.25 s no a | 0.Aplicando eliminaci´n de variables o x Variable S: u El factor fS (S.7 no s a | 0. A)} IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.3 u F ACT ORES = {fI (S. A) es P (S.37 . fF (F ).75 no s no a | 0. A) (no depende de D ya que su valor est´ determinado a a ¬d): S A | f_{S}(S.A) ----------------------------------------s a | 0.A)=P(S|no d. F ). |¬d. 25 x 0.75 x 0. A. F ) y fS (S. primero multiplicamos fI (S.3 x 0.7 s no a no f | 0.7 no s a f | 0.6 no s no a f | 0.8 s a no f | 0.F) -----------------------------------------------------s a f | 0.3 x 0. agrupamos por S Para ello.6 no s a no f | 0.8 s no a f | 0.75 x 0.A) x P(i|S.Aplicando eliminaci´n de variables o x Como S es una variable oculta.A)=P(S|no d.38 . F ) S A F | g(F.3 no s no a no f | 0.25 x 0.7 x 0.3 x IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. A) obteniendo g(S.7 x 0. 4 no a no f | 0.25 x 0.6 = 0.58 u u Acabamos de eliminar la variable S F ACT ORES = {h(A. F ) por la variable S.7 x 0.74 a no f | 0.F) ---------------------------------------------a f | 0.75 x 0.F)=SUM_{S}g(S.25 x 0.3 = 0.3 = 0.6 = 0. sumamos g(S. fF (F )} (n´tese que fF (F ) no se ha usado) o IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.3 x 0. F ).3 x 0.A. A.8 + 0. F ) A F | h(A.75 x 0.7 + 0.Aplicando eliminaci´n de variables o x Y ahora.39 .8 + 0.7 x 0. obteniendo h(A.7 + 0.65 no a f | 0. 6 u F ACT ORES = {fA(A). fF (F )} IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.4 no a | 0.Aplicando eliminaci´n de variables o x Variable A: u El factor fA (A) es P (A): A | f_{A}(A)=P(A) ---------------------------------a | 0.40 . h(A. F ). F) -----------------------------------------------a f | 0.444 = 0. primero multiplicamos fA (A) y h(A.6 x 0. F ) por la variable A.4 = 0. sumamos k(A.348 = 0.F) -------------------------------f | 0.348 u Y ahora.26 + 0.16 no a no f | 0.65 = 0.A)=P(A) x h(A. obteniendo l(F ) (y eliminando.Aplicando eliminaci´n de variables o x Como A es una variable oculta.4 x 0.74 = 0.16 + 0. la variable S) F | l(F)=SUM_{A}k(A. F ) A F | k(F.444 a no f | 0. por tanto.704 no f | 0.508 u F ACT ORES = {l(F ). agrupamos por A u Para ello. F ) obteniendo k(A.58 = 0. fF (F )} Cc Ia Introducci´n a las Redes Bayesianas o 8.26 no a f | 0.6 x 0.4 x 0.41 IA-II 2005–2006 . 253 no f | 0.6 = 0. dado que se ha tenido un infarto y no se hace deporte.42 IA-II 2005–2006 .48. ¬d) = 0. l(F ).9 ´ F ACT ORES = {fD ().274 u Normalizando obtenemos finalmente: P (F |i. fF (F )} u x Ultimo paso: multiplicamos y normalizamos u u Obs´rvese que s´lo hasta este paso hacemos uso del factor correspondiente a F e o Multiplicaci´n o F | m(F)=f_d() x l(F) x f_F(F) ------------------------------------f | 0. ya que su valor est´ fijado a ¬d.52 x Por tanto.9 x 0. 0.Aplicando eliminaci´n de variables o x Variable D: u Factor fD () (no depende de D.9 x 0.704 x 0.508 x 0.4 = 0. es del 48 % Cc Ia Introducci´n a las Redes Bayesianas o 8. la probabilidad de ser fumador. por tanto se trata a de una tabla con una unica entrada): 0. Complejidad del algoritmo de eliminaci´n de variables o x La complejidad del algoritmo (tanto en tiempo como en espacio) est´ doa minada por el tama˜ o del mayor factor obtenido durante el proceso n Y en eso influye el orden en el que se consideren las variables (orden de eliminaci´n) o u u x Podr´ ıamos usar un criterio heur´ ıstico para elegir el orden de eliminaci´n o En general. es conveniente moverse “desde las hojas hacia arriba” (consistentemente con la topolog´ de la red) ıa x Si la red est´ simplemente conectada (poli´rbol) se puede probar que la a a complejidad del algoritmo (en tiempo y espacio) es lineal en el tama˜ o n de la red (el n´ mero de entradas en sus tablas) u u Una red est´ simplemente conectada si hay a lo sumo un camino (no dirigido) entre a cada dos nodos IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.43 . basados en muestreos que simulan las distribue a ciones de probabilidad de la red x x IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.Complejidad de la inferencia exacta x Pero en general. el algoritmo tiene complejidad exponencial (en tiempo y espacio) en el peor de los casos Cuando la inferencia exacta se hace inviable.44 . es esencial usar m´todos e aproximados de inferencia M´todos estoc´sticos. diagn´stico de problemas de impresora.45 . . . o e IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8. o Intel: Diagn´stico de fallos de procesadores o HP: Diagn´stico de problemas de impresora o Nasa: Ayuda a la decisi´n de misiones espaciales o x Otras aplicaciones: diagn´stico m´dico. e-learning.. .Aplicaciones de las redes bayesianas x Aplicaciones en empresas u u u u Microsoft: Answer Wizard (Office). .. P.46 . segunda edici´n (Prentice–Hall Hispanoamericana.Bibliograf´ ıa x Russell. S. y Norvig. Inteligencia artificial (Un enfoque moderno). 2004) o u Cap. 14: “Razonamiento Probabil´ ıstico” IA-II 2005–2006 Cc Ia Introducci´n a las Redes Bayesianas o 8.