Está en la página 1de 39

Apuntes Inteligencia Artificial

Alex Marqués Fernández

Tema 1

Tenemos como seres humanos un interés genuino y científico en tratar de comprender cómo
funciona nuestra mente. Tratamos de no sólo comprender el pensamiento sino recrearlo por
medio de la tecnología, llamando a esto “Inteligencia Artificial” (IA de ahora en adelante),
término acuñado por uno de los padres de la IA, John McCarthy, en 1956.

La IA hace especial énfasis en los procesos de razonamiento y comportamientos humanos,


buscando últimamente la fidelidad máxima a los comportamientos humanos y racionalizados.

Dando a lugar a una serie de “tipos de IA”, siendo éstos

 Sistemas que actúan de forma humana, suele comprobarse su funcionamiento a través


de la prueba de Turing.
 Sistemas que piensan como humano. Éstos tratan de emular el comportamiento de la
mente humana, puede tratar de validarse mediante tratando de predecir y comprobar
el comportamiento humano o identificando directamente los datos neurológicos
 Sistemas que piensan racionalmente. Tratan de seguir fielmente la lógica aristotélica,
utilizándola como u base de los programas inteligentes. Difícil de formalizar, dejando
un gran abismo entre la teoría y la práctica
 Sistemas que actúan racionalmente, buscando hacer lo correcto, estas inteligencias
tienen pensamientos y acto reflejos que permiten a éstas resolver problemas de forma
autónoma.
La IA se nutre de muchas disciplinas, como la neurociencia, la psicología, la economía,
computación, matemáticas, teoría del control y lingüística.

Rotaremos ahora el tema de conversación ahora hacia los agentes y sus entornos.

Pueden ser humanos, robots, un termostato, etc.

Relaciona una secuencia de percepciones con unas determinadas acciones en una función
inyectiva.

Entendemos que un agente racional es aquel que hace lo correcto, para ello debemos llevar a
cabo una medida objetiva de las prestaciones, midiendo estas los efectos deseados en el
entorno sin tener en cuenta el estado del agente.

La racionalidad la mediremos en base a estos 4 aspectos (REAS)

 Rendimiento
 El conocimiento previo del Entorno
 Acciones
 La Secuencia de percepciones hasta el momento

Esto requiere que un agente racional sea capaz de recoger información y explorar para
maximizar el beneficio futuro, aprender de las percepciones y ser lo suficiente autónomo
como para compensar el conocimiento previo incorrecto.
Tipos de entorno:
Distinguiremos cuatro tipos básicos de agente en orden creciente de generalidad:

Agente reflejo simple

Hace observaciones y actúa mediante una tabla de correspondencia directa en el


entorno.

Agente reflejo basado en Modelo

El estado representa los cambios y los resultados de sus acciones en su entorno para
tomar mejores decisiones.

Agente basado en objetivos

Necesita un objetivo y busca secuencias de acciones que le llevan al mejor resultado


posible.
Agente basado en Utilidad

Trata de conseguir los objetivos realizando las acciones más útiles para la obtención de
los resultados deseados.

AGENTE QUE APRENDE

Para evaluar un problema debemos tener en cuenta:

 Completitud
 Optimización
 Complejidad Temporal
 Complejidad Espacial
Tema 2
En este hablaremos un poco de resolución de problemas, con búsquedas informadas y no
informadas, de las diferentes estructuras de datos que lo soportan y cómo vamos a evaluarlas
para determinar si son óptimas y/o eficientes.

Primeramente, debemos recordar los siguientes TAD:

Grafo
Estructura de datos que se utiliza para representar relaciones entre objetos. Consiste en un
conjunto de nodos (también llamados vértices) y un conjunto de aristas (también llamadas
bordes) que conectan los nodos. Los grafos se utilizan comúnmente en la teoría de grafos y en
la informática para modelar una amplia variedad de situaciones, desde redes sociales hasta
rutas de transporte, diagramas de flujo y más. Los grafos pueden ser dirigidos o no dirigidos, y
pueden tener propiedades adicionales, como pesos en las aristas para representar costos o
distancias.

Árbol
estructura de datos jerárquica que consta de nodos interconectados de manera que se asemeja
a la estructura de un árbol en la naturaleza. Un árbol tiene un nodo raíz en la parte superior, a
partir del cual se ramifican otros nodos, llamados nodos hijos. Cada nodo puede tener cero o
más hijos, pero solo un padre.

Las características clave de un árbol son:

1. Nodo raíz: El nodo superior del árbol, desde el cual se inician todas las ramas.
2. Nodo hijo: Cada nodo puede tener cero o más nodos hijos, que son descendientes
directos del nodo padre.
3. Nodo padre: Cada nodo, excepto el nodo raíz, tiene un nodo padre que lo conecta.
4. Hojas: Los nodos que no tienen hijos se llaman hojas y están en los extremos de las
ramas.

Los árboles se utilizan ampliamente en informática para representar estructuras jerárquicas,


como árboles de búsqueda binaria, árboles de expresiones matemáticas, árboles de directorios
en sistemas de archivos y mucho más. Proporcionan una forma eficiente de organizar y acceder
a datos en una jerarquía.
Cola
Un TAD (Tipo Abstracto de Datos) "cola" es una estructura de datos lineal que sigue el
principio FIFO (First-In-First-Out), lo que significa que el primer elemento que se inserta en la
cola es el primero en ser eliminado. Las operaciones básicas en una cola son:

- Enqueue (Encolar): Agregar un elemento al final de la cola.


- Dequeue (Desencolar): Eliminar y devolver el elemento en el frente de la cola.

Las colas se utilizan comúnmente para administrar elementos en un orden secuencial, como
procesos en un sistema operativo, tareas en un planificador de tareas, solicitudes en un
servidor web, etc. Las colas pueden tener implementaciones basadas en arreglos o listas
enlazadas, y son útiles en situaciones donde se necesita asegurar un orden específico para el
procesamiento de elementos.

Elementos de un problema
Para resolver un problema de este tipo de elementos tenemos que analizar los siguientes
aspectos a la hora de analizarlo:

 Estados: todos los posibles estados en los que puede estar el problema
 Estado inicial: desde donde se empieza
 Acciones: qué podemos hacer con el estado inicial y sus consecuentes
 Modelo de transiciones: qué acciones podemos aplicar a qué estados
 Test Objetivo: una prueba que nos permita determinar si hemos cumplido con el
objetivo
 Coste camino: cuánto cuesta realizar cada acción dentro de nuestro modelo de
transiciones.

*Nota: se deben de repasar las diapositivas del tema 2 de las páginas 13 a la 42, teniendo
estas la resolución de problemas propuestos*

Algoritmos básicos de búsqueda


Cuando hablamos de búsqueda, nos referimos a tratar de encontrar el camino, dentro de un
espacio de estados, desde nuestro estado inicial, hasta un estado que cumpla con el test
objetivo.

Si traducimos el espacio de estados en un árbol, siendo la raíz el estado y el resto de los nodos
el resto de los estados unidos por el modelo de transición de un estado a otro.

Sin embargo, una búsqueda genera normalmente un grafo de estados, en el que se puede
llegar a un estado por múltiples caminos.
MUY IMPORTANTES, ESTADO, FRONTERA Y NODO COMO CONCEPTOS

Con estas nomenclaturas, podemos dar a lugar al siguiente algoritmo de una búsqueda en el
grafo de estados. (Genérica)

Quitando esto, podemos evaluar las diferentes estrategias según estas 4 dimensiones:

 Completitud
 Optimización
 Complejidad temporal
 Complejidad espacial

Siendo estas dos últimas determinadas no con números exactos sino con factores (lineal,
exponencial, polinomial, constante, etc.)
Estrategias no informadas (búsqueda ciega)
Si nos hemos fijado en el algoritmo genérico para la resolución del problema de la búsqueda de
un grafo de estados, podemos notar que no se especifica cómo se elige cuál es el siguiente
nodo que explorar.

Por lo tanto, ahora hablaremos de estrategias que podemos utilizar para explorar un grafo de
estados sin información sobre el contenido de este, o hablando de otra manera, sin heurísticas.

Podemos recorrer el grafo como un árbol siguiente las estrategias:

 En anchura: recorremos el árbol de forma horizontal, ya sea de izquierda a derecha o


viceversa.
 De coste uniforme: se explora el camino que tenga menor coste en este momento,
como si “echáramos agua” en un sistema de tuberías.
 En profundidad: recorre el grafo verticalmente, ya sea de izquierda a derecha o
viceversa.
 En profundidad limitada: Recorre en profundidad hasta cierto límite
 En profundidad iterativa: Recorre en profundidad limitada iterativamente, bajando
cada iteración y empezando desde los nodos explorados
 Bidireccional: Realiza una búsqueda no informada (con la estrategia que queramos)
desde el inicio y el estado objetivo (si sólo hay uno)

Recorrido en anchura
En el algoritmo de búsqueda en anchura, el siguiente nodo expandido siempre es el nodo no
expandido menos profundo, y la implementación de la frontera se hace mediante una cola fifo.
Tenemos a continuación una implementación genérica del algoritmo de búsqueda en anchura.
Recorrido de coste uniforme o BFS (Best-First Search)
Para este algoritmo el siguiente nodo explorado siempre será el que mantenga el coste del
camino más bajo, como hemos mencionado antes, tratamos de imaginar un llenado de unas
tuberías con agua.

La implementación de la frontera consta de una cola ordenada por coste de caminos, es decir,
generalmente una cola de prioridad.

Recorrido en profundidad
Siempre se expande el nodo más profundo primero, en este caso la implementación de la
frontera se lleva a cabo mediante una cola LIFO. Tenemos a continuación el algoritmo genérico
resultante:

Búsqueda informada:

Son métodos de búsqueda que utiliza un conocimiento específico del problema para resolverlo,
utilizando para ello una estrategia, estas suelen derivar de “primero el mejor”, pero
añadiéndole heurísticas
Implementación de una búsqueda con límite
Dejo aquí un algoritmo que permite implementar un límite a la estrategia en profundidad.
Buscando sólo hasta cierto nivel de profundidad.

Búsqueda profundización Iterativa o ID (Iterative Deepening)


Este método realiza iterativamente búsquedas limitadas en profundidad, dando lugar así a una
combinación muy balanceada de la búsqueda en anchura y en profundidad.

Nota: este tipo de estrategia limitada suele dar muy buenos resultados con menor coste que
sus contrapartidas menores moderadas, sobre todo, cuando el entorno que explora tiene más
hacia infinito.

Búsqueda bidireccional
Este método de búsqueda trata de empezar a buscar desde el inicio y el final, para finalmente
encontrar la solución lo antes posible, esto da a lugar que podemos encontrar una solución
más rápido (muchas de las veces).
Ahora mostramos una pequeña tabla con el resumen de los distintos tipos de algoritmos que
podemos implementar y qué costes tienen:
Búsqueda informada
Ya hemos hablado previamente de las formas de buscar dentro de un grafo de estados que
sean correctas de forma “no informada”, pero qué entendemos por informada.

A esto nos referimos a que tenemos una información, válgase la redundancia que nos permite
tener cierta ventaja con respecto a otros modelos de búsqueda, es decir una cierta heurística
que nos dice cuál es el mejor camino para seguir en este momento.

Esto significa que si antes decidíamos cuál era el siguiente nodo únicamente en base a su coste,
ahora lo haremos mediante el coste que conocemos que tenemos para llegar al nodo, con el
coste estimado para ir al nodo objetivo, dando lugar a si a una mejora en la búsqueda que
llevaremos a cabo.

Dando lugar así a la fórmula

f ( n )=g ( n ) +h (n)
Es decir, que el nodo escogido se hace en base al coste y a la heurística, siendo ambos dos
números enteros positivos.

Algoritmo Voraz
Ya hemos hablado de lo que es una heurística, ahora podemos determinar la nueva función del
nodo escogido, simplemente ignorando el coste y siguiente únicamente la heurística que
hemos decidido, dejando así la fórmula de coste:

f ( n )=h(n)
Esto puede causar muchos problemas, puesto que la solución no se asegura ni óptima ni el
algoritmo es completo, sin embargo, una buena heurística puede reducir enormemente los
costes.

Búsqueda A*
Es el algoritmo primero que tenemos en cuenta a la hora de hablar de algoritmos informados,
es la implementación literal de la fórmula

f ( n )=g ( n ) +h (n)
Parecido al de coste uniforme, pero no sólo teniendo en cuenta el coste, sino también la
heurística de forma semejante.

A* es óptima y completa si la función heurística es “buena”, con esto nos referimos a que no
debe de sobreestimar el coste real de alcanzar el objetivo y siempre debe ser optimista,
formalmente:
NOTA: Revisar las diapositivas en caso de duda sobre la implementación de A*

Búsquedas heurísticas con memoria acotada


Vamos a utilizar técnicas que nos permitan acotar la memoria a utilizar por los diferentes
algoritmos.

El problema de IDA*, es que tiene las mismas limitaciones que ID, por lo tanto, podemos
buscar mejores soluciones, en ese caso, tenemos RBFS.

Recursive Best-First Search


Mantiene el valor F de la mejor alternativa disponible en todo momento, permitiendo así hacer
“vuelta atrás” y evitar así exploración innecesaria de nodos (sería similar a acordarse por dónde
íbamos bien en un laberinto antes de toparnos con un camino sin salida). Algoritmo a
continuación:

Y finalmente le echaremos un vistazo a (Simplified) memory bounded A* o (S)MA*


(Simplified) memory-bounded A*
Este algoritmo utiliza la memoria disponible, optimizando así el método de búsqueda a la vez
que se utiliza la mayor cantidad de memoria disponible, haciendo así un mejor uso de esta.

Esta va utilizando memoria hasta que se llena, en caso de que se llene, elimina el peor camino
disponible y al igual que RFBS, devuelve el valor del nodo olvidado a su padre.

Generar heurísticas admisibles relajando el problema


Las soluciones admisibles pueden ser derivadas mediante una versión relajada del problema.

Un problema demasiado complicado puede ser demasiado compleja de obtener, pero una
versión relajada, nos permite encontrar más posibles caminos con un menor coste, que pueden
llegar a ser candidatos, además a partir de ellos podemos generar patrones los cuales podemos
almacenar en una base de datos que podemos utilizar para generar nuevas heurísticas

Generar heurísticas: Aprendizaje


Otra manera de encontrar heurísticas es mediante el aprendizaje, esto consiste en generar la
heurística a partir de las diferentes características que se pueda encontrar en la experiencia
generada.

h ( n )=c 1 X 1 ( n )+ c2 X 2 (n)

Esto significa que generamos las heurísticas a partir de las diferentes características inducidas
de la experiencia obtenida por la inteligencia.

Juegos
Por qué hablamos ahora de juegos, claro está, estos son entretenidos, y podemos utilizarlos
para inferir conocimientos muy interesantes sobre lo que podemos llevar a cabo con nuestro
juego, para encontrar así la mejor solución posible a este. Además, los juegos suelen ser multi-
agente, lo que permite la aplicación de estrategias mucho más inteligentes de lo que podemos
ahora intuir.
Estrategia minimax
Esta estrategia trata de maximizar el resultado del oponente, a la vez que maximizar el
resultado del suyo. Algoritmo a continuación.

El problema principal de este algoritmo es que el número de estados crece de forma


exponencial con respecto al número de jugadas posibles y realizadas, lo que lleva a los
exponentes que hemos visto en la complejidad temporal y espacial.

Esto nos lleva a que podemos hacer una “poda” del árbol que se está explorando, dando así pie
a una mejora en los costes. A esto lo llamamos poda Alfa-Beta. Esto nos da lugar al siguiente
algoritmo:
Esto nos da a que podemos dar un concepto general a este tipo de poda Alfa-Beta, significa
que, si hay un estado óptimo para MAX, o para MIN, éste nunca será alcanzado puesto que el
entorno es multi-agente.

El problema que tiene este algoritmo es que el número de evaluaciones crece de forma
exponencial, e incluso peor, lo que nos lleva a la propuesta de Shannon en 1950, que
determina la búsqueda minimax aplicarle una función de evaluación heurística EVAL, que se
aplica permitiendo así “podar con más frecuencia”.

Deducimos más adelante que para poder evaluar un estado este tiene que ser estable, porque
un entorno que no es estable puede dar a una EVAL incorrecta que no derive en el estado que
queremos.

Efecto horizonte
Hablamos del efecto horizonte cuando tenemos una solución que parece aparentemente
mejor, pero una vez explorada, resulta no serlo, esto se soluciona expandiendo los nodos que
se consideran mejores antes de seleccionar un nodo (exceder el límite de profundidad).

De ese momento en adelante, sólo se consideran los n mejores movimientos podando así aún
más el árbol de decisiones. Aplicando estrategias similares en los juegos que contienen azar.

En el caso de los juegos que tienen azar, se puede utilizar como “mejor movimiento” lo que
denominaremos resultado esperado que denota cuál es el resultado que nosotros queremos
que salga en nuestra evaluación.
Tema 4: Razonamiento Probabilístico

La lógica proposicional es un lenguaje muy potente y dispone de mecanismos de inferencia


muy eficientes, pero tiene algunas limitaciones importantes:

 Incertidumbre
 No es posible representar fielmente objetos del mundo real ni sus relaciones

La lógica de primer orden, por otro lado, es una forma estructurada de representación de la
realidad.

Lógica de Primer Orden


Supone que existen entidades individuales (objetos), con características distintivas
(propiedades), entre los que puede haber relaciones de distintos tipos, algunas de ellas
funciones.

Ejemplos:

 Objetos: gente, casas, números, colores, …


 Propiedades: rojo, redondo, primo, …
 Relaciones: hermano de, mayor que, …
 Funciones: padre de, …

Cualquier hecho se refiere a uno o varios de los anteriores elementos, por ejemplo, en:

“Si el Wumpus está en una posición, as posiciones adyacentes huelen”

Podemos distinguir:

 Objetos: Wumpus y posiciones


 Propiedades: presencia de olor
 Relaciones: “ser adyacente a”
 Funciones: “estar en”

La popularidad de la LPO se debe a que:

 Estructura en mundo en objetos y relaciones (facilita el razonamiento)


 Da libertad para describir el mundo de la manera que el diseñador considere apropiada
 Permite expresar sentencias sobre todos los objetos del universo
LPO: Modelo y Sintaxis

Incertidumbre
Es un subárea de la IA que trabaja principalmente en:

 Entornos inaccesibles/no deterministas/continuos: creencias (lógica borrosa, Redes


Bayesianas, …)
 Medidas de rendimiento basados en la utilidad esperada (Teoría de la utilidad,
inferencia basada en la Teoría de la Decisión)

Inferencia
 Hacer suposiciones de lo que significan hechos (observados y/o conocidos)
 Sacar consecuencias de algo o deducir algo de otra cosa

Inferencia dentro de la LPO


 Unificación y Sustitución
 Encadenamiento hacia delante (forward chaining)
 Encadenamiento hacia atrás (backward chaining)
 Resolución
Inferencia Probabilística

Razonamiento Probabilístico vs Razonamiento Lógico


Difieren principalmente en que el razonamiento lógico puede tomar decisiones racionales sin
tener toda la información del entorno necesaria.

Sistemas de Razonamiento Probabilístico (SRP)


Son sistemas:

 Basados en modelos de redes


 Tienen como base las leyes de la TP
 Son capaces de razonar en situaciones de incertidumbre

Redes bayesianas: definición


 Las redes bayesianas modelan un fenómeno mediante un conjunto de variables y las
relaciones de dependencia entre ellas
 Dado este modelo, se puede hacer inferencia bayesiana, es decir, estimar la
probabilidad posterior de las variables no conocidas, en base a las variables conocidas
 Estos modelos pueden tener diversas aplicaciones, para clasificación, predicción,
diagnóstico, etc.
 También pueden dar información interesante sobre cómo se relacionan las variables
del dominio, que pueden ser interpretadas en ocasiones como relaciones de causa-
efecto
Razonamiento Probabilístico en el tiempo
 El estado cambiante del mundo
 Inferencia: filtrado, predicción y suavizado
 Modelos temporales:
o Modelos ocultos de Markov
o Filtros de Kalman
o Redes bayesianas temporales
 Filtrado de partículas

Tiene las siguientes Aplicaciones

 Procesamiento de LN
 Reconocimiento de Voz y Visión Artificial
 Conducción Autónoma Vehículos
 Etc.

Probabilidad
 Representa la incertidumbre
o Grado de creencia de un agente en una afirmación
 Tienen fundamente matemático sólido
 Aparece en todos los campos de la IA
o Aprendizaje
o Recuperación de información
o Visión por Computador
 Robótica

Redes Bayesianas
Una red bayesiana (o red de Bayes, red de creencias, modelo de Bayes o modelo gráfico
dirigido acíclico probabilístico), es un modelo gráfico probabilístico que representa un
conjunto de variables aleatorias y sus dependencias condicionales a través de un grafo acíclico
dirigido.

Por ejemplo, una red bayesiana podía representar las relaciones probabilísticas entre las
enfermedades y los síntomas.

Teniendo en cuenta los síntomas, la red se puede utilizar para calculas las probabilidades de la
presencia de diversas enfermedades.

Formalmente, las redes bayesianas son grafos dirigidos acíclicos cuyos nodos representan
variables aleatorias en el sentido bayesiano: pueden ser cantidades observables, variables
latentes, parámetros desconocidos o hipótesis.
Los bordes representan las dependencias condicionales: nodos que nos están conectados
representan variables que son condicionalmente independientes la una de la otra.

Cada nodo está asociado con una función de probabilidad que toma como entrada un
conjunto particular de valores para las variables de los padres del nodo, y proporciona la
probabilidad de la variable representada por el nodo.

Por ejemplo, si los padres son variables booleanas, entonces la función de probabilidad puede
ser representada por una tabla de entradas, una entrada para cada una de las posibles
combinaciones de sus padres que son verdaderas o falsas.
Probabilidades Marginales
Probabilidad Condicional

Regla de Bayes

Independencia de Variables Aleatorias


Independencia Condicional

Independencia, pero no Independencia Condicional

Causalidad
 Cuando una Red bayesiana refleja la causalidad real del dominio:
o Suele ser más simple (los nodos tienen menos padres).
o Suele ser más fácil razonar con ella.
o Suele ser más fácil de obtener a partir de expertos.
 Pero las Redes bayesianas no necesitan ser causales.
o A veces no existe una red causal para el dominio.
o La red acaba teniendo flechas que reflejan correlación, no relación causal.
 Entones, ¿qué significa exactamente las flechas?
o La topología puede que represente la estructura causal.
o La topología siempre representa la (in)dependencia condicional.
 Una red bayesiana representa implícitamente las distribuciones conjuntas
o Como un producto de distribuciones condicionales locales
o Para calcular la probabilidad de una asignación concreta, se multiplican todas
las condiciones relevantes:
 Permite reconstruir cualquier entrada de la tabla de probabilidades conjunta
 No todas las RB pueden representar todas las distribuciones conjuntas
 La topología define qué condiciones de independencia se cumplen

Red Bayesiana
Una red bayesiana es una codificación eficiente de un modelo probabilístico de un dominio

¿Qué preguntas podemos hacer a una RB?

 Inferencia: dada una RB, ¿cuál es P (X |)?


 Representación: dado el grafo de una RB, ¿qué tipos de distribuciones puede codificar?
 Modelado: ¿qué RB es más apropiada para representar un cierto dominio?

D-separación
 Objetivo: Encontrar (In)Dependencias Condicionales en una red Bayesiana
o Pregunta general: ¿son dos variables independientes dada una cierta
evidencia?
 Solución: analizar el grafo
o Concepto de “d-separación”
 Cualquier ejemplo complejo se puede analizar usando tres casos básicos:
o Cadena causal
o Causa común
o Efecto común
Cadena Causal
Esta configuración es una “cadena causal”

¿Es X independiente de Z dado Y?

La evidencia en una cadena” bloquea” la influencia

Causa Común
Dos efectos de la misma causa

¿Son x y Z independientes? -> NO

¿Son X y Z independientes dado Y?


Efecto Común
Dos causas de un mismo efecto (estructura en v)

¿Son X y Z independientes? -> SÍ

¿Son X y Z independientes dado Y? -> NO

Al revés que en los casos anteriores:

Observar un efecto activa la influencia entre las posibles causas.

Alcanzabilidad (D-Separación)
Pregunta: ¿cuándo son X e Y condicionalmente independientes dadas las variables de evidencia
{Z}:

 Cuando X e Y están d-separados por Z


 Cuando no hay ningún camino activo de X a Y

Un camino es activo si todos sus tripletes son activos:

 Cadena causal A -> B -> C donde B no es observada (en ambas direcciones)


 Causa común A <- B -> C donde B no es observada
 Efecto común (estructura en v) A -> B <- C donde B o uno de sus descendientes es
observado

Un solo triplete inactivo bloquea un camino


En resumen…
Una red bayesiana:

 Captura las dependencias dispersas entre las variables del problema


o No todas dependen de todas, sólo suele hacer unas pocas relaciones.
 Representación eficiente de distribuciones conjuntas.
 Reduce el número de parámetros de exponencial a lineal (en muchos casos).

Incertidumbre y Conocimiento (I)


EJEMPLO de REGLA

Si Síntoma = dolor de muelas Entonces Enfermedad = caries

¿Expresa esta regla un conocimiento correcto?

Quizás sería mejor un conocimiento más exhaustivo:

Si Síntoma = dolor de muelas Entonces Enfermedad = caries O Enfermedad = sinusitis O


Enfermedad = Muela del juicio O …

¿Por qué a veces el conocimiento exacto y preciso no nos sirve?

Sencillamente, porque a veces cuesta mucho o falta información sobre cómo llevarla a cabo o
si se puede llegar a cabo.

Variables Aleatorias
Como solución a este problema presentamos el conocimiento expresándolo con grados de
creencia

Tenemos tres tipos de variables aleatorias:

1. Booleanas
2. Discretas
3. Continuas
Proposiciones
Ascendiendo en dificultad de manejo tanto a nivel teórico como computacional.

Asignaremos probabilidades a las proposiciones para expresar nuestro grado de creencia en


las mismas.

Probabilidad Incondicional (intuitiva)


Dada una proposición A, su probabilidad incondicional (o a priori), notada P(a), cuantifica el
grado de creencia en que ocurra a, en ausencia de cualquier otra información o evidencia.

Probabilidad
Una función de probabilidad es una función definida en el conjunto de proposiciones
(respecto de un conjunto dado de variables aleatorias), verificando las siguientes propiedades:

1. 0 <= P(a) <=1, para toda proposición a


2. P(true) = 1 y P(false) = 0 donde true y false representan a cualquier proposición
tautológica o contradicción (insatisfactible), respectivamente.
3. P (a U b) = P(a) + P(b) – P (a ^ b), para cualquier par de proposiciones a y b

El cálculo de probabilidades se construye sobre los tres axiomas anteriores

Por ejemplo:

Distribución de probabilidad
La distribución de probabilidad de una variable aleatoria indica las probabilidades de que la
variable pueda tomar cada uno de sus valores

 Ejemplo: si Tiempo es una VA con valores lluvia, sol, nubes y nieve, su distribución de
probabilidad podría ser:

Usaremos P, para expresar de manera compacta una distribución de probabilidad (fijado un


orden entre sus valores)
Distribución de probabilidad conjunta
Probabilidad de cada combinación de valores de dos a más variables aleatorias

Notación: P (x, y) manera compacta de denotar a una tabla con esas probabilidades

Eventos Atómicos
Dado un conjunto de variables aleatorias que describen nuestro “mundo”, un evento atómico
es un tipo particular de proposición:

Características de los eventos atómicos:

 Mutuamente excluyentes
 Todos los eventos atómicos son exhaustivos (alguno debe ocurrir)
 Un evento atómico implica la verdad o falsedad de toda proposición
 Toda proposición es equivalente a la disyunción de un conjunto de eventos atómicos

 Para cualquier proposición “a”,

Distribución Conjunta y Completa (DCC)


Probabilidad de cada evento atómico

Una DCC es una especificación completa (en términos probabilísticos) del dominio descrito

Ejemplo:

Cálculo Probabilidades usando DCC


Usando la siguiente fórmula:
En general:

Notación

 Y es un vector de variables aleatorias, representando cualquier combinación de valores


de esas variables
 Z representa una combinación de valores concretos para un conjunto > de variables
aleatorias (las restantes)
 Hay un sumando P (Y, <) para cada posible z, y cada sumando es una entrada de la DCC

Problemas

Complejidad y tamaño del cálculo, acompañado de que casi nunca tenemos conocimiento de
todas las probabilidades de todos los eventos atómicos.

Probabilidad Condicional
Relación entre probabilidad condicional e incondicional

Probabilidad Condicional Implicación Lógica


La probabilidad condicional formaliza el hecho de que los grados de creencia se actualizan a
medida que se van conociendo nuevas evidencias en el mundo incierto

La probabilidad condicional no es lo mismo que una implicación lógica con incertidumbre

P (a | b) = 0,8 no es lo mismo que decir que “siempre que b sea verdad, entonces P(a) =
0.8 ya que P (a | b) refleja que b es la única evidencia conocida
Inferencia Probabilística
Entendemos por tal que el cálculo de la probabilidad de una proposición dada condicionada
por la observación de determinadas evidencias

 Es decir, cálculos del tipo = (a | b) donde a es la proposición que se consulta y b es la


proposición que se ha observado
 El conocimiento base vendrá dado por una DCC (representada de alguna manera
eficiente, a partir de otras probabilidades condicionales ya conocidas, como ya
veremos)

Normalización
Podríamos evitar calcular explícitamente P(dolor)

puede verse como una constante que normaliza la distribución P (Caries, dolor)
haciendo que sume 1:

Es decir, calculamos P (caries, dolor) y P (¬caries, dolor (y a posteriori, multiplicamos ambos por
una constante Alpha que haga que ambos sumen 1; de esa manera tenemos P (caries | dolor) y
P (¬caries | dolor)

Inferencia Probabilística a partir de DCC


En general, dado una variable aleatoria X, un conjunto de variables observadas E (con valor
concreto e), se tiene:
Inferencia Probabilística a partir de DCC
Dada una DCC, la fórmula anterior nos da un método para realizar inferencia probabilística

Problema en la práctica: exponencialidad

Podemos utilizar la independencia existente entre los eventos para ayudar a reducir la
complejidad.

Independencia Probabilística
En muchos casos prácticos, algunas de las variables de un problema son independientes entre
sí.

Un ejemplo muy evidente sería la independencia del tiempo con respecto al dolor de muelas.

Por lo tanto, la tabla DCC no sería necesaria de 32 entradas, sino dos tablas independientes de
8 y 4 entradas respectivamente.

Esto reduce la complejidad, por lo tanto, utilizaremos sistemáticamente estas independencias


para obtener el resultado deseado.

De forma intuitiva, podemos deducir que dos variables son independientes si conocer el valor
de una no nos revela información sobre la otra.

Formalmente:

Dos variables aleatorias X e Y son independientes si P (X / Y) = P(X) y P (Y /


X) = P(Y), es decir, que la probabilidad condicional de X sabiendo Y es la
probabilidad de X misma puesto que Y no se relaciona con X

En general, dos proposiciones a y b son independientes si P (a | b) = P (a)

Asumir independencia entre ciertas variables ayuda a que la representación del mundo sea
más manejable, es decir reduce la exponencialidad (factorización del problema)

Independencia Condicional
Intuitivamente X es condicionalmente independiente de Y dado un conjunto de variables Z si
nuestro gradeo de creencia en que X tome un valor dado, sabiendo el valor que toman las
variables de Z, no se vería actualizado, si además supiéramos el valor que toma Y

Formalmente:

P (X, Y | Z) = P(X|Z) o P (Y | X, Z) = P (Y | Z)
Modelando el ejemplo de la alarma
La incertidumbre que subyace hace aconsejable un modelo probabilístico.

Variables aleatorias (todas booleanas):

 Robo
 Terremoto
 Alarma
 Juan (contesta)
 María (contesta)

Relaciones de independencia:

 Robo y Terremoto
 Dado Alarma, Juan, es independiente del resto de variables
 Dado Alarma, María, es independiente del resto de variables

Redes Bayesianas
En general, las relaciones de independencia condicional permiten simplificar drásticamente
las DCC, haciendo que se puede usar en la practica

Las redes bayesianas (o redes de creencia) constituyen una manera práctica y compacta de
representar el conocimiento incierto, basada en esta idea

Ejemplo:
Representaciones compactas
Dominios localmente estructurados

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 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
probabilidades condicionales que directamente las probabilidades de la DCC.

Con n variables, si cada variable está directamente influenciada por k variables a lo sumo,
entonces una red bayesiana necesitaría n*2^k números, frente a los 2*n números de la DCC

Hay veces que una variable influye directamente sobre otra, pero esta dependencia es muy
tenue, en ese caso, puede compensar no considerar esa dependencia, perdiendo algo de
precisión en la representación, pero ganando manejabilidad.
Inferencia Aproximada por Muestreo
Idea Básica:

 Extraer N muestras de una distribución de muestreo S


 Calcular una distribución a posteriori aproximada
 De forma que la probabilidad estimada sea consistente, que converja a la verdadera
probabilidad P, cuando el número de muestras tienda a infinito.

Aprendido en estadística, sabiendo que la media de las medias de un muestreo tiene a la


media del conjunto total, esto se aplica a las probabilidades.

Tenemos diferentes tipos de muestreo:

 Muestreo a priori: El obvio, que nos salta a la mente cuando pensamos en muestreo.
 Muestreo por rechazo: No se mantienen todas las muestras, por así decirlo, con
reemplazo.
 Ponderación por verosimilitud
o El problema del muestreo por rechazo es que, si la evidencia es muy poco
probable, tiramos la mayoría de las muestras.
 Muestreo de Gibbs: Sigue un algoritmo de tipo Markov Chain Monte Carlo

También podría gustarte