Inteligencia Artificial II 2008/2009 Evaluación alternativa de la parte práctica - Ejercicio 3 Ponderación por verosimilitud en redes bayesianas Grupos A1, A2, B1 y B2 En este ejercicio de evaluación alternativa se propone realizar una implementación en LISP del algoritmo de ponderación por verosimilitud explicado en el tema 3 de teorı́a (páginas 103 a 107), para lo cual se recomienda repasar la práctica 4 sobre Redes Bayesianas, ya que se utilizará la representación de la red planteada en la misma. El algoritmo de ponderación por verosimilitud genera muestras consistentes con una observación e. Por muestreo respecto de una distribución de probabilidad entendemos métodos de generación de eventos, de tal manera que la probabilidad de generación de un evento dado coincide con la que indica la distribución. En este algoritmo, cada evento generado va a ir acompañado de un peso igual al producto de las probabilidades condicionadas de cada valor que aparezca en e. Hay que implementar la siguiente función, propuesta en la página 105 del tema 3 de teorı́a: (ponderacion-por-verosimilitud X e red n) Donde: X es una variable aleatoria de consulta. e es una lista de valores observados para las variables de evidencia representada como en la práctica 4, es decir, una lista de pares (X V) (variable, valor). red es una red bayesiana siguiendo la estructura definida en la práctica 4. n es el número de muestras a generar. La salida será la estimación para P (X|e), es decir una lista (P (x|e)P (¬x|e)). Por ejemplo, para la red bayesiana dada en la página 97 del tema 3, una posible salida serı́a: (setf *red* ’((N (NIL . 0.5)) (A (((N SI)) . 0.1) (((N NO)) . 0.5)) (LL (((N SI)) . 0.8) (((N NO)) . 0.2)) (HM (((A SI) (LL SI)) . 0.99) (((A SI) (LL NO)) . 0.9) (((A NO) (LL SI)) . 0.9) (((A NO) (LL NO)) . 0.0)))) 1 .... > (ponderacion-por-verosimilitud ’LL ’((A si)) *red* 40) (0.28 0.72) La solución exacta es (0.3 0.7). Se puede comprobar usando la función inferencia.enumeracion correspondiente al ejercicio 6 de la práctica 4. > (inferencia.enumeracion ’LL ’((A si)) *red*) ((((LL SI) (A SI)) . 0.3) (((LL NO) (A SI)) . 0.7)) 2