Este documento presenta una guía de estudio sobre inteligencia artificial para estudiantes de ingeniería en sistemas e informática. Introduce conceptos clave como agentes inteligentes y resolución de problemas, conocimiento e inferencia, procesamiento de la incertidumbre, aprendizaje automático, y redes neuronales y computación evolutiva. El documento también incluye un plan de estudios detallado con objetivos, temas, cronograma y criterios de evaluación.
Este documento presenta una guía de estudio sobre inteligencia artificial para estudiantes de ingeniería en sistemas e informática. Introduce conceptos clave como agentes inteligentes y resolución de problemas, conocimiento e inferencia, procesamiento de la incertidumbre, aprendizaje automático, y redes neuronales y computación evolutiva. El documento también incluye un plan de estudios detallado con objetivos, temas, cronograma y criterios de evaluación.
Este documento presenta una guía de estudio sobre inteligencia artificial para estudiantes de ingeniería en sistemas e informática. Introduce conceptos clave como agentes inteligentes y resolución de problemas, conocimiento e inferencia, procesamiento de la incertidumbre, aprendizaje automático, y redes neuronales y computación evolutiva. El documento también incluye un plan de estudios detallado con objetivos, temas, cronograma y criterios de evaluación.
El presente documento ha sido elaborado para que sirva como una gua de estudio en Inteligencia Artificial (IA), dirigida a los estudiantes de las Carreras de Ingeniera en Sistemas e Informtica, en el Ecuador.
Se han considerado los temas estratgicas de la IA, esperando, sean de mucha utilidad para que el estudiante desarrolle el conocimiento y las competencias necesarias en el desarrollo de aplicaciones verdaderamente inteligentes.
El documento, aunque no tiene una visin completa del vasto campo de la IA, s permite tener una idea clara de los mbitos de investigacin y desarrollo ms prometedores. El desarrollo del documento, gira en base al concepto de agente de IA; de esta manera el objetivo pragmtico, siempre apunta al diseo y construccin de estas entidades.
Se invita a la comunidad universitaria, vida por el conocimiento, para que aproveche de la mejor manera, esta pequea compilacin de temas, ya sea en su vida estudiantil o en su desempeo profesional.
Ing. Mario G. Almache C.
3
El gran secreto del xito es estar preparado cuando llega la oportunidad Annimo
4 SYLLABUS
Perodo: 2013 Asignatura: Inteligencia Artificial Profesor: Ing. Mario Almache Horas semanales: 8 Paralelos: e-mail: mgalmache@espe.edu.ec Fecha:
I) Objetivos:
- Conocer las reas estratgicas de investigacin en la Inteligencia Artificial. - Entender el mbito multidisciplinario e interdisciplinario de la IA - Utilizar el paradigma de los Agentes de IA para el desarrollo de aplicaciones. - Solucionar problemas de alta complejidad cognitiva, mediante la aplicacin de heursticas claras, sencillas y elegantes. - Comprender las principales estrategias de IA que permiten la implementacin de la inteligencia en las mquinas. - Analizar los fundamentos de las conductas inteligentes en los humanos.
II) Plan curricular de la Asignatura
Captulos Temas Horas/clase 1 Agentes inteligentes y resolucin de problemas 2 Conocimiento e inferencia 3 Procesamiento de la incertidumbre 4 Aprendizaje automtico 5 Redes neuronales y computacin evolutiva
III) Cronograma
Fecha Clase Descripcin/Contenido/Actividad 1 Agentes inteligentes y resolucin de problemas 2 Conocimiento e inferencia 3 Procesamiento de la incertidumbre 4 Aprendizaje automtico 5 Redes neuronales y computacin evolutiva
Actividades Porcentaje de la nota Laboratorios, Talleres 40 Presentaciones orales, Deberes, Participacin en clase 10 Proyectos individuales/grupales 20 Examen final 30
VI) Bibliografa
- Russell, S.; Norvig, P. (2003): Inteligencia Artificial Un Enfoque Moderno (2 Ed.). Prentice Hall Hispanoamericana
- Nilsson, N. (2001): Inteligencia Artificial Una Nueva Sntesis. McGraw-Hill
- E. Rich y K. Knight. Inteligencia Artificial. McGraw-Hill, 1994
- Winston, P. (1992): Artificial Intelligence (3 Ed.). Addison Wesley
6
ndice de contenidos
Capitulo 1: Agentes inteligentes y resolucin de problemas.. 7
1.1 Qu es la Inteligencia Artificial?........................................................................... 7 1.2 Agentes Inteligentes.. 7 1.3 Agentes que resuelven problemas. 8 1.4 Bsqueda de soluciones.. 9 1.5 Bsqueda heurstica. 11 1.6 Implementaciones en Lisp... 14 1.7 Ejercicios
Captulo 2: Conocimiento e inferencia.. 16
2.1 Conocimiento informal y sus representaciones formales. 16 2.2 Lgica propositiva y lgica del primer orden (LPO).. 16 2.3 Inferencia en LPO .. 18 2.4 El Principio de Resolucin. 20 2.5 Las clusulas de Horn 22 2.6 Estructura de una Base de Conocimientos en Prolog.. 22 2.7 Ejercicios y aplicaciones 23
Captulo 3: Procesamiento de la Incertidumbre. 25
3.1 Incertidumbre: sus causas y las decisiones racionales.. 25 3.2 Probabilidades y regla de Bayes. 25 3.3 Incertidumbre y los Factores de Certeza 26 3.4 Razonamiento con lgica difusa.. 28 3.5 Ejercicios. 30
Captulo 4: Aprendizaje automtico. 32
4.1 Categoras de los aprendizajes.. 32 4.2 Aprendizaje mediante anlisis de diferencias. 32 4.3 Aprendizaje mediante el manejo de varios modelos. 34 4.4 Aprendizaje mediante construccin de rboles de identificacin 35 4.5 Clustering.. 36 4.6 Aprendizajes alternativos 37 4.7 Ejercicios 38
Captulo 5: Redes Neuronales y Computacin Evolutiva 39
5.1 Analoga entre redes neuronales biolgicas y artificiales.. 39 5.2 Clasificacin de las RN 40 5.3 Redes en cascada y retropropagacin 40 5.4 Modelos de redes recurrentes 41 5.5 Computacin Evolutiva: reas de estudio 43 5.6 Ejercicios 47
7
Capitulo 1: Agentes inteligentes y resolucin de problemas
Objetivo: Comprender la estructura de los agentes inteligentes y las estrategias fundamentales que stos utilizan para la resolucin de problemas.
1.1 Qu es la Inteligencia Artificial? La Inteligencia Artificial empez a surgir como concepto a finales del siglo XX, dando paso a la agrupacin de sus definiciones en cuatro categoras planteadas por Russell y Norvig en su libro Inteligencia Artificial (1996): 1. Sistemas que piensan como humanos 2. Sistemas que actan como humanos 3. Sistemas que piensan racionalmente 4. Sistemas que actan racionalmente Uno de los conceptos ms reconocidos y aplicados para la definicin de la Inteligencia Artificial fue realizado por Rich y Knight, definindola como El estudio de cmo lograr que las computadoras realicen tareas que por el momento, los humanos hacen mejor (1991). 1.2 Agentes Inteligentes Un agente es todo aquello (hardware y/software) que percibe su ambiente mediante sensores y que responde o acta en tal ambiente por medio de efectores, como se muestra en la figura 1.1.
Fig. 1.1 Agente interactuando con su ambiente
En los siguientes cuadros se muestran algunos ejemplos de sensores y efectores:
Sentido Percepcin de equilibrio Propiocepcin Magnetocepcin Electrocepcin Eco localizacin Gradiente de presin Sensor Acelermetro Encoder Magnetmetro Sensor de voltaje Sonar Arreglo de presin 8
Por consiguiente, los Agentes Inteligentes:
No requieren de humanos para operar (autonoma). Tienen una medida de desempeo (racionalidad). Usan sensores para enterarse de lo que pasa fuera. Usan efectores para modificar su entorno. La inteligencia est determinada por sus reglas.
Las reglas se pueden pre-grabar Instintos Las reglas pueden ser aprendidas Aprendizaje
Agente Racional: En todos los casos de posibles percepciones, un agente racional deber emprender todas aquellas acciones que favorezcan obtener el mximo de su medida de rendimiento, basndose en las evidencias aportadas por la secuencia de percepciones y en todo conocimiento incorporado en tal agente. 1.3 Agentes que resuelven problemas Una de las reas de mayor inters para la IA es la implementacin de agentes que resuelven problemas. De otro lado, los agentes pueden clasificarse en: a) Agente reflejo simple: Las acciones del agente se establecen en funcin a una tabla de percepcin accin.
b) Agentes con estado interno: Es un agente reflejo, pero que almacena sus percepciones anteriores, es decir tiene memoria.
c) Agentes basados en metas: Agente que combina propiedades de los dos anteriores, pero que tiene una meta a la cual llegar. Necesita buscar el mejor camino y planificar la secuencia de acciones.
d) Agentes basados en utilidad: Son aquellos agentes que tienen mltiples metas que cumplir, mide el grado de satisfaccin del grado de cumplimiento de sus metas. Cuando se especifica (n) la (s) meta (s) de un problema, es ms manejable el diseo de un agente, ya que, es relativamente sencillo especificar las acciones que puede emprender (el agente), de tal manera que se empee en alcanzarla. Por lo tanto, los agentes que resuelven problemas son agentes basados en metas que determinan las secuencias de acciones que les permitan obtener estados deseables. Para solucionar un problema es necesario seguir los siguientes pasos: Efectores Humanos Msculos Brazos / manos Efectores en Mquinas Rotacin de Motores Apertura/cierre de vlvulas 9 - Formulacin de metas: se establece el objetivo - Formulacin del problema: determinacin de acciones y estados intermedios. - Uso de una estrategia de bsqueda: evaluacin de las posibles secuencias de acciones que lleven a la meta y, eleccin de la ms apta. - Ejecucin: se lleva adelante la solucin que determine la bsqueda. Para la formulacin de un problema es necesario establecer: Un estado inicial; es donde se encuentra el agente. Un conjunto de acciones que el agente puede emprender. La prueba de meta para saber si alcanz un estado meta. La funcin costo de ruta que le asigna un valor a una ruta determinada.
Ejemplo: se desea construir un agente Aspiradora Inteligente, cuya tarea primordial es dejar limpias las dos ubicaciones que se muestran a continuacin:
Se supone que los lugares pueden estar limpios o sucios. Entonces se puede formular este problema identificando:
Estado inicial: cualquiera de los siguientes estados (1 al 8)
Acciones: ir a la izquierda, aspirar, ir a la derecha Prueba de meta: se ha llegado al estado 7 u 8? Funcin costo de ruta: cada accin emprendida cuesta 1 1.4 Bsqueda de soluciones Una vez definido un problema y con el respectivo mecanismo de identificacin de una solucin, es necesario emprender la bsqueda de la solucin, para lo cual, ser necesario transitar por el espacio de estados, hasta alcanzar la meta. De manera sencilla la bsqueda consiste en escoger una opcin 10 (estado) haciendo a un lado las dems, para considerarlas posteriormente en caso de no obtener respuesta alguna mediante la primera opcin. La eleccin del estado que se desea expandir primero se realiza a travs de una estrategia de bsqueda. Las estrategias de bsqueda se evalan segn los siguientes criterios:
Completez: garantiza encontrar la solucin si es que existe. Complejidad temporal: cantidad de tiempo necesario para encontrar la solucin. Complejidad espacial: cantidad de memoria necesaria para encontrar la solucin. Optimalidad: permite encontrar la mejor solucin en caso de que existan varias.
Clasificacin de las estrategias de bsqueda
Las estrategias de bsqueda se pueden agrupar en dos grandes categoras: Bsquedas sin contar con informacin (o bsqueda ciega): no existe informacin acerca de la cantidad de pasos necesarios o sobre el costo de ruta para pasar del estado de un momento dado a la meta. Bsqueda respaldada con informacin (o bsqueda heurstica): se posee informacin muy valiosa para orientar la bsqueda para que sea ms ptima. Bsqueda ciega Cuando se aplica una estrategia de bsqueda, se va generando el denominado rbol de bsqueda, es decir un grafo que contiene un solo estado raz y varios estados derivados (o tambin subrboles), sin llegar a formar ciclos. Se han identificado algunas estrategias de bsqueda ciega: - En anchura: partiendo del nodo raz se expanden todos los nodos hijos. Se repite la expansin en el siguiente nivel, hasta encontrar la meta o hasta cuando no se pueda seguir expandiendo. - En profundidad: empezando en la raz, expandir el rbol tan profundamente como sea posible, retornando a niveles superiores cuando sea necesario. - Costo uniforme: extender siempre el nodo con menor costo - Profundidad iterativa: es una variante de la bsqueda en profundidad; se establecen lmites incrementales de exploracin en profundidad (nivel 0, nivel 1, nivel 2, , nivel n). - Bidireccional: se parte simultneamente desde el inicio y la meta, hasta encontrar un estado intermedio de convergencia. Ejemplo: considere un agente que desea dirigirse desde la ciudad S hasta la ciudad G, en la siguiente distribucin de ciudades y carreteras (fig. 1.2):
Fig. 1.2 Mapa de carreteras para un agente 11 En las figuras 1.3 y 1.4, se muestran los rboles generados cuando se implementan las bsquedas en profundidad y anchura, respectivamente.
Fig. 1.3 rbol en profundidad Fig. 1.4 rbol en anchura A continuacin se muestra un cuadro comparativo para evaluar las estrategias de bsqueda ciega: Criterio En anchura Costo uniforme En profundidad Limitada en profundidad Profundidad iterativa Bidireccional Tiempo b d b d b m b l b d b d/2
Espacio b d b d bm bl Bd b d/2
ptima? Si Si No No Si Si Completa? Si Si No Si cuando L>=d Si Si Fig 1.5 Comparacin entre estrategias de bsqueda; b factor de ramificacin; d profundidad de la solucin; m profundidad mxima del rbol; l lmite de profundidad. 1.5 Bsqueda heurstica Los mtodos de bsqueda heurstica disponen de alguna informacin sobre la proximidad de cada estado a un estado objetivo, lo que permite explorar en primer lugar los caminos ms prometedores.
Son caractersticas de los mtodos heursticos: No garantizan que se encuentre una solucin, aunque existan soluciones. Si encuentran una solucin, no se asegura que sta tenga las mejores propiedades (que sea de longitud mnima o de coste ptimo). En algunas ocasiones (que, en general, no se podrn determinar a priori), encontrarn una solucin (aceptablemente buena) en un tiempo razonable.
Por lo tanto es necesaria la implementacin de una funcin que cuantifique la calidad de un estado (Funcin heurstica). Se dice que el verdadero arte de la IA se focaliza en la construccin de buenas funciones heursticas que ayuden a solucionar problemas. Ejemplos de heursticas para algunos problemas concretos.
*** Problema del 8-puzzle ***
12 a) La basada en la distancia Manhattan (o distancia taxi). Se asocia a cada casilla un nmero que es la suma de las distancias horizontal y vertical a su posicin en el tablero objetivo (esto es, la suma de diferencias de sus coordenadas x e y). La funcin heurstica es la suma de las distancias de cada una de las casillas (excluyendo la que se encuentra vaca).
2 3 1 8 4 7 6 5
H (Ei) =2 (1 de la casilla 1 ms 1 de la casilla 8)
b) Otra heurstica, mucho ms simple, consiste en contar el nmero de casillas que estn fuera de su sitio (respecto al tablero objetivo). Es una heurstica ms pobre que la anterior, puesto que no usa la informacin relativa al esfuerzo (nmero de movimientos) necesario para llevar una pieza a su lugar.
*** El problema del viajante ***
- Estado inicial: un viajante se encuentra en una capital de provincia. - Estado meta: quiere viajar a otra capital por la mejor ruta posible (la ms corta) - Medios: Las capitales de provincia colindantes estn unidas por carreteras; se dispone de un mapa con la disposicin de las provincias y sus "coordenadas" en kilmetros respecto al "centro" (por ejemplo, Madrid, con coordenadas (0,0)).
Una funcin heurstica para ese problema consiste en asignar a cada estado un valor que es la distancia area (en lnea recta) con el estado objetivo. Dicha distancia es la distancia eucldea entre las coordenadas de dos ciudades. Se elige una ciudad como siguiente en el camino cuando la suma de la distancia a la ciudad actual ms la distancia area a la meta sea la menor.
Estrategias de bsqueda heurstica
Ascenso de colina (Hill Climbing): elige en cada paso un estado cuyo valor heurstico sea mayor que el del estado activo en ese momento. Bsqueda avara: elige siempre el estado ms pometedor cuando se aplica una heurstica h(n). Bsqueda A* : combina una funcin de costo uniforme g(n) con la heurstica h(n), para cada nodo n, a travs de una suma [f(n) = g(n) + h(n) ]
En el caso de Hill Climbing existen algunos inconvenientes como: mximos locales, mesetas, picos. Existe una mejora para el ascenso de colina conocida denominada Enfriamiento Simulado, que permite saltar tales inconvenientes, pues involucra mecanismos de seleccin aleatoria de nuevos estados.
13
Ejemplo: considere el siguiente mapa de carreteras, con las respectivas distancias en lnea recta. El objetivo es llegar a Bucarest, partiendo desde Arad
Fig. 1.6 a) Mapa de carreteras
Fig. 1.6 b) Distancias en lnea recta a Bucarest
En el siguiente grfico se muestra el rbol generado con la estrategia A* 14
Fig. 1.7 Secuencia de nodos abiertos con A*
1.6 Implementaciones en Lisp
Nota: Ver documento LispBasico.pdf y cargar el software libre Xanalys LispWorks
1.7 Ejercicios
1) Diga si los siguientes sistemas son agentes: a. Un reloj. b. Un termostato. c. Un celular. d. Un sistema de control de acceso a personas. e. El sistema de aire acondicionado de un automvil. f. Una lavadora automtica. g. Un software para entrenar personas. h. Un software para ensear a sumar. i. Un reloj despertador. j. El sistema que controla si una persona saca un producto sin pagar. k. Internet. l. La red telefnica
2) Indique el tipo de agente para cada caso: - Agente resuelve laberintos. - Agente que entrega la Raz Cuadrada de un nmero. - Agente que conduce un automvil. - Agente del mundo de los wumpus - Agente que resuelve el problema de los bloques.
3) Cierto agente desea resolver el problema del mundo de la aspiradora. El mundo est conformado por una cuadrcula de 2x2 (dos con basura).
Disee un agente que usa una tabla de El agente inicia en la parte superior izquierda. El agente recuerda las celdas ya Diga que acciones son necesarias para resolver el problema. Diga cul es el tamao de la tabla
4) Disear un agente para resolver el problema del rompecabez puzzle.
Estado inicial
5) Construir los rboles de bsqueda en profundidad y en anchura para el problema de los misioneros y canbales.
Disee un agente que usa una tabla de percepcin accin para resolver este problema. El agente inicia en la parte superior izquierda. El agente recuerda las celdas ya visitas, pero no es capaz de ver las otras celdas. Diga que acciones son necesarias para resolver el problema. Diga cul es el tamao de la tabla percepcin accin Disear un agente para resolver el problema del rompecabezas mvil o problema de las och
Estado final 5) Construir los rboles de bsqueda en profundidad y en anchura para el problema de los misioneros y 15 para resolver este problema. visitas, pero no es capaz de ver las otras celdas. as mvil o problema de las ocho fichas o 5) Construir los rboles de bsqueda en profundidad y en anchura para el problema de los misioneros y 16 Captulo 2: Conocimiento e inferencia
Objetivo: Formalizar el conocimiento en los agentes de IA, lo que permitir implementar mecanismos de razonamiento y, por ende, ampliar sus capacidades para resolver problemas.
2.1 Conocimiento y sus representaciones
Una representacin es un conjunto de convenciones sobre la forma de describir un tipo de cosas. Una descripcin aprovecha las convenciones de una representacin para describir alguna cosa en particular.
Las caractersticas de una buena representacin son:
Los objetos y las relaciones importantes deben aparecer explcitamente y de forma conjunta. Las restricciones inherentes al problema se muestran pero no los detalles irrelevantes. La representacin debe ser transparente: se entiende lo que se dice. Completa y concisa: Estn representados con eficacia todos los objetos y relaciones. Rpidos y computables: Se puede almacenar y recuperar la informacin con rapidez, y se pueden crear mediante un procedimiento ya existente.
Partes de una representacin:
- Parte lxica: determina qu smbolos estn permitidos en el vocabulario de la representacin. - Parte estructural: describe las restricciones sobre la forma en que los smbolos pueden ordenarse. - Parte operativa: especifica los procedimientos de acceso que permiten crear descripciones, modificarlas y responder a preguntas utilizndolas. - Parte semntica que establece una forma de asociar el significado con las descripciones.
Algunas formas para representar el conocimiento son:
Redes semnticas: representaciones grficas a manera de nodos y enlaces Reglas de produccin: la forma IF-THEN Lgica funcional: utilizando las denominadas fbf (frmulas bien formadas)
Ejemplo: se va representar el conocimiento todos los hombres son mortales
es Red semntica
IF x es hombre THEN x es mortal Regla IF-THEN
(Vx) (hombre(x)mortal(x)) Formalismo lgico
2.2 Lgica propositiva y lgica del primer orden (LPO)
El aspecto ms atractivo del formalismo lgico, como representacin del conocimiento, es que proporciona un buen mtodo para la obtencin de nuevo conocimiento a partir del antiguo: la deduccin hombre mortal 17 matemtica (consecuencia lgica). Se puede concluir la verdad de una afirmacin slo demostrando que es consecuencia de lo ya conocido.
Son parte de este formalismo la Lgica Proposicional y la Lgica del Primer Orden. En la primera, el conocimiento est representado a manera de proposiciones (enunciados verdaderos o falsos); en la segunda, el conocimiento viene a manera de predicados (funciones que pueden adoptar los valores V F, dependiendo de sus argumentos).
Ejemplo: el conocimiento anterior todos los hombres son mortales, podramos sustituirle por el trmino p (proposicin) al que le podemos hacer corresponder el valor de verdad V. Tambin podemos representarlo en LPO como: (Vx) (hombre(x)mortal(x)); aqu toda la frmula adoptar un valor de verdad dependiendo del argumento x.
Lenguaje proposicional
Recurdese que en la lgica proposicional, las proposiciones simples se combinan entre s (mediante conectivos lgicos: and (), or (V), not(), implicacin(), doble implicacin()).
Es posible construir una tabla de la verdad mostrando las relaciones finales (semntica) entre proposiciones simples, mediante el uso de las tablas de verdad, como se muestra a continuacin:
P q p p q p V q p q p q V V F V V V V V F F F V F F F V V F V V F F F V F F V V
Lgica del Primer Orden
El lenguaje de la LPO est compuesto por los siguientes elementos:
1. Constantes: romeo, julieta, 3.14 2. Variables: X, Y, Ahora, Luego, Jacinto 3. Funciones: f(X), g(Y,Z) //no devuelven V o F 4. Predicados: ama-a/2, mortal/1 //funciones que devuelven V o F
Son parte de la sintaxis en la LPO: Vocabulario: constantes , nombres de funciones , predicados, variables y constantes Trmino se define as : - Una constante o una variable es un trmino. - Si t1.,.....tn son trminos y p es el nombre de una funcin n-aria entonces p ( t1 ,....., tn ) es un trmino. Si t1,,.., tn son trminos y q es un predicado n-ario , entonces q ( t1 ,....,tn) es un tomo. Una frmula bien formada (fbf) se define a: - Un tomo es una fbf - Si P y Q representan fbfs, tambin lo son: (VX) P; que se lee para todo X se cumple P 18 (X) P; que se lee para algn X se cumple P P P Q P V Q P Q PQ
Ejemplos: - Todos los informticos son listos; Juan es informtico, por lo tanto Juan es listo.
- Todos estn casados con alguien
- Algunas relaciones entre pares de alumnos de la clase son simtricas
Es una representacin en Lgica de Segundo Orden; por lo tanto no pertenece a la LPO, pues se estn cuantificando funciones predicables!!!
2.3 Inferencia en LPO
La inferencia es un proceso que permite generar nuevo conocimiento en base a datos y declaraciones establecidas. En el mbito lgico, permite generar conclusiones en base a un conjunto de axiomas y hechos. En LPO (y tambin en la proposicional) existe un mecanismo de inferencia llamado Resolucin, que es una regla de inferencia usada en la deduccin computacional, debido a que es eficiente, pues trabaja sobre sentencias que han sido transformadas a una forma cannica llamadas clusulas disyuntivas. El proceso de resolucin obtiene demostraciones por refutacin, es decir, para probar una proposicin (su validez) se intenta demostrar que su negacin lleva a una contradiccin con las proposiciones conocidas (es decir es insatisfactible).
Donde: : conjunto de axiomas y hechos : cualquier proposicin
Algoritmo de conversin a clusulas
Para poder realizar el proceso de demostracin por refutacin, las fbf deben estar reducidas a la forma de clusulas. El proceso de transformacin se muestra en el siguiente ejemplo:
19
Ejemplo:
2.4 El principio de Resolucin En lgica proposicional Sea la conclusin, el conjunto de los argumentos: 1. Convertir todas las proposiciones en 2. Negar y convertir el resultado en clusula. Agregar la o las clusulas resultantes al conjunto de clusulas obtenidas en 1 3. Hasta encontrar una contradiccin o no se pueda seguir avanzando: Seleccionar dos clusulas que tienen como literales una Resolverlas juntas. El resolvente ser la disyuncin de todos los literales que contienen los padres excepto L y L Si el resolvente es la clusula vaca, es que se ha encontrado una contradiccin. Si no lo es agregarla al conjunto de clus Ejemplo: considere los siguientes hechos Juan est cansado o enfermo Si Juan est cansado, se queda en casa El principio de Resolucin el conjunto de los argumentos: Convertir todas las proposiciones en a su forma de clusulas y convertir el resultado en clusula. Agregar la o las clusulas resultantes al conjunto de 3. Hasta encontrar una contradiccin o no se pueda seguir avanzando: Seleccionar dos clusulas que tienen como literales una L y la otra L Resolverlas juntas. El resolvente ser la disyuncin de todos los literales que contienen los
Si el resolvente es la clusula vaca, es que se ha encontrado una contradiccin. Si no lo es agregarla al conjunto de clusulas disponibles : considere los siguientes hechos Juan est cansado o enfermo Si Juan est cansado, se queda en casa 20
y convertir el resultado en clusula. Agregar la o las clusulas resultantes al conjunto de Resolverlas juntas. El resolvente ser la disyuncin de todos los literales que contienen los Si el resolvente es la clusula vaca, es que se ha encontrado una contradiccin. Si no lo es
No se queda en casa Luego est enfermo Una representacin sera:
Otra representacin en
La Unificacin En Lgica Proposicional la contradiccin es evidente Pero en Clculo de Predicados es diferente porque si tengo: Estudia(x) ^ Estudia(y) contradiccin P(a) y P(x) no son comparables, para que lo sean, se debe encontrar una ambas frmulas idnticas. Este proceso de encontrar una sustitucin para hacer frmulas idnticas conoce como unificacin.
Lo que se puede sustituir en una fbf para permitir el pareamiento de dos frmulas son las variables trminos.
Resolventes
El proceso de demostracin mediante refutacin, se completa sel puedan unificar, tratando siempre de obtener la clusula vaca (una contradiccin) seleccionadas se llaman padres
A continuacin se muestran algunos ejemplos de resolventes: sera:
representacin en (en formatoLPO):
al la contradiccin es evidente en: Pero en Clculo de Predicados es diferente porque si tengo: . no son comparables, para que lo sean, se debe encontrar una sustitucin ambas frmulas idnticas. Este proceso de encontrar una sustitucin para hacer frmulas idnticas Lo que se puede sustituir en una fbf para permitir el pareamiento de dos frmulas son las variables El proceso de demostracin mediante refutacin, se completa seleccionando dos clusulas puedan unificar, tratando siempre de obtener la clusula vaca (una contradiccin) padres y, la clusula resultante se denomina resolvente A continuacin se muestran algunos ejemplos de resolventes: 21
no hay stitucin para x que haga ambas frmulas idnticas. Este proceso de encontrar una sustitucin para hacer frmulas idnticas se Lo que se puede sustituir en una fbf para permitir el pareamiento de dos frmulas son las variables por eccionando dos clusulas que se puedan unificar, tratando siempre de obtener la clusula vaca (una contradiccin). Las clusulas resolvente.
Clusulas Padres
Fig. 2.1 Leyes lgicas aplicadas para la obtencin de resolventes
2.5 Clusulas de Horn Son clusulas que tienen como mximo un literal positivo Las clusulas determinadas slo tienen un literal positivo: (p1 p2 ... p Caso particular son las no tienen ms que ese literal positivo, que representan hechos , es decir, conocimiento factual. Los objetivos determinados tienen ningn literal positivo: (p1 p2 ... p En este caso, las frmulas atmicas sean todas verdaderas. Provienen de la negacin de conclusiones que el sistema deductivo debe obtener mediante resolucin y refutacin. 2.6 Estructura de una Base de Conocimientos en Prolog
Prolog es la realizacin ms utiliza Prolog tiene menos que ver con la tarea de especificar un programacin imperativa; y m ocurren en el contexto de un relaciones que conforman la solucin deseada del problema. Por otro lado, conocimiento a manera de clusulas
Ejemplo: A continuacin se muestra la codificacin del c familia.
Resolvente Comentario Q Modus Ponens Q Idempotencia
Tautologas
Transitividad o encadenamiento Clusula Vaca Contradiccin Fig. 2.1 Leyes lgicas aplicadas para la obtencin de resolventes como mximo un literal positivo. Hay dos tipos: clusulas determinadas (definite clauses), o clusulas de Horn con cabeza son las que slo tienen un literal positivo: pk q) (p1 p2 ... pk q) Caso particular son las no tienen ms que ese literal positivo, que representan hechos , es decir, conocimiento factual. objetivos determinados (definite goals), o clusulas de Horn sin cabeza son las que no tienen ningn literal positivo: pk) (p1 p2 ... pk) En este caso, las frmulas atmicas p1,p2,...,pk son inconsistentes, es decir no es posible que sean todas verdaderas. Provienen de la negacin de conclusiones que el sistema deductivo debe obtener mediante resolucin y refutacin. Estructura de una Base de Conocimientos en Prolog s utilizada del paradigma de programacin lgica. Prolog tiene menos que ver con la tarea de especificar un algoritmo, co imperativa; y ms con la especificacin de los objetos y las relaciones entre ellos, que ocurren en el contexto de un problema. En particular, tiene que ver con la especificaci conforman la solucin deseada del problema. Por otro lado, conocimiento a manera de clusulas de Horn A continuacin se muestra la codificacin del conocimiento basado en la genealog 22
Comentario Modus Ponens Idempotencia Tautologas Transitividad o encadenamiento Contradiccin , o clusulas de Horn con cabeza son las que Caso particular son las no tienen ms que ese literal positivo, que representan hechos , es , o clusulas de Horn sin cabeza son las que no son inconsistentes, es decir no es posible que sean todas verdaderas. Provienen de la negacin de conclusiones que el sistema deductivo Escribir un programa en algoritmo, como es el caso de la relaciones entre ellos, que problema. En particular, tiene que ver con la especificacin de las conforman la solucin deseada del problema. Por otro lado, Prolog, representa el basado en la genealoga de una 23
Fig. 2.2 Relaciones de parentesco
Fig. 2.3 Ejemplo de una base de conocimientos en Prolog
Nota: para un mejor entendimiento ver el archivo Prolog.pdf e instalar la herramienta gratuita SWI Prolog
2.7 Ejercicios
1) Considere los siguientes hechos o Marco era un hombre o Marco era pompeyano o Todos los pompeyanos eran romanos o Csar fue un gobernante o Todos los romanos o eran leales a Csar o lo odiaban o Todo el mundo es leal a alguien o La gente slo intenta a asesinar los gobernantes a los que no es leal o Marco intent asesinar a Csar % Hechos progenitor(pam,bob). progenitor(tom,bob). progenitor(tom,liz). progenitor(bob,ann). progenitor(bob,pat). progenitor(pat,jim).
%Regla (s) %en la forma convencional sera: %progenitor(X,Y)vastago(Y,X)
vastago(Y,X) :- progenitor(X,Y). 24
a) Representarlos en LPO b) Reducirlos a la forma clausal c) Intent Marco asesinar a Csar? (demostrarlo por Resolucin) 2) Construya una Base de Conocimientos en Prolog referida a las relaciones de parentesco en una familia, con al menos 10 reglas. Haga las consultas respectivas desde el prompt.
25 Captulo 3: Procesamiento de la Incertidumbre
Objetivo: Explotar las tcnicas que permiten a los agentes de IA solventar problemas bajo condiciones de incertidumbre, para mejorar su desempeo.
3.1 Incertidumbre: causas y las decisiones racionales El modelo ideal del razonamiento (humano o mecnico) es el razonamiento exacto. Sin embargo, en el mundo real se suele razonar con informacin que es incierta o imprecisa. Las fuentes de la incertidumbre pueden tener algunos orgenes: Deficiencias de la informacin Caractersticas del mundo real Deficiencias del modelo Ejemplos: - Informacin incompleta: falta historial, falta memoria, pruebas caras - Informacin errnea: descripcin incorrecta, historial incorrecto, falsos positivos, engao - Informacin imprecisa: dificultad para cuantificar - Mundo real no determinista: aleatoriedad, excepciones - Modelo incompleto: enfermedades desconocidas, desacuerdos, imposibilidad - Modelo inexacto: estimaciones subjetivas, problemas en mecanismos de razonamiento Es clara la necesidad de contar con algunos modelos de razonamiento aproximado; de esta manera, los agentes de IA podrn reducir, lo que ms se pueda, la incertidumbre; y por ende, el proceso de decisin ser ms racional. El tratamiento de la incertidumbre es, junto con la representacin del conocimiento y el aprendizaje, uno de los problemas fundamentales de la Inteligencia Artificial. La incertidumbre ha sido abordada desde diversas pticas: teora de las probabilidades, factores de certeza, lgica difusa, entre otras. 3.2 Redes Bayesianas Una red bayesiana est conformada por: Un conjunto de nodos que representan variables o entidades del mundo real Un conjunto de enlaces que representan relaciones de influencia causal entre los nodos Una serie de parmetros (probabilidades condicionadas de cada nodo dados sus padres) que cuantifican la relacin entre los nodos. Ejemplo:
La interpretacin de los parmetros sera: 26
Dada una red bayesiana, la distribucin de probabilidad conjunta puede expresarse como: P(x1, ..., xn) = P(xi /pa(xi))
Propagacin en redes Bayesianas Los algoritmos de propagacin en redes bayesianas permiten hacer inferencias: De tipo abductivo: dado que el alumno ha respondido a ciertas preguntas, cul es la probabilidad de que conozca los conceptos? De tipo predictivo: dado que el alumno conoce ciertos conceptos, cul es la probabilidad de que responda correctamente a la pregunta? Cuando un nodo (grupo de nodos) se instancia, la informacin se propaga por la red de forma que se calculan las probabilidades a posteriori de cada uno de los nodos dado el valor que haya tomado el nodo (grupo de nodos) instanciado. Ejemplo: La red Asia
Fig. 3.1 Red bayesiana para abduccin y prediccin 3.3 Factores de Certeza Es la forma ms comn de representar pesos heursticos, pues, utiliza tcnicas pseudo-probabilsticas para manejar la incertidumbre. Los Factores de Certeza (FC) indican el grado de certeza en los que se cree que cada regla o hecho es verdadero. Fueron aplicados en el sistema MYCIN, que intentaba recomendar terapias a pacientes con infecciones bacterianas. 27 Los FC se utilizan en los sistemas expertos, donde a cada regla se le asocia un valor de credibilidad a la conclusin. Un factor de certeza se define en trminos de dos componentes: MB [h, e]: es la medida (entre 0 y 1) de credibilidad en la hiptesis h dada la evidencia e. Mide el grado en que la evidencia confirma la hiptesis. MB = 1 si p(h) = 1 = ( p(h/e) -p(h) ) / (1 - p(h) ) en otro caso MD [h, e]: es la medida (entre 0 y 1) de incredulidad de la hiptesis h dada la evidencia e. Mide el grado en el que la evidencia confirma negativamente la hiptesis. MD = 1 si p(h) = 0 = (p(h) - p(h/e) ) / p(h) en otro caso Entonces factor de certeza se mide como: FC(h,e) = ( MB - MD) / ( 1 - min(MB,MD) ) que cumple -1 FC(H,E) +1
Un FC positivo indica que la evidencia confirma (total o parcialmente) la hiptesis ya que MB > MD. Un FC negativo significa que la evidencia descarta (total o parcialmente) la hiptesis, ya que MB < MD. Leyes de los FC Sea la regla R : IF e THEN h Considere tambin que: FC(h|e): factor de certeza de la regla FC(e): factor de certeza de la premisa
Entonces i) FC(h) = FC(e) * FC(h|e) ii) FC(e) = mn( FC(e) de la premisas ) para el AND iii) FC(e) = mx( FC(e) de la premisas ) para el OR iv) Combinacin de Reglas Convergentes Sean FC(h|e1) y FC(h|e2), entonces se puede calcular FC(h|e1,e2) de la siguiente forma: x+y-xy si x,y > 0 fcomb(x,y)= (x+y)/(1-min(|x|,|y|)) si xy <= 0 x+y+xy si x,y < 0 donde x = FC(h|e1), y = FC(h|e2) v) Encadenado de Reglas Si A entonces B con FC(B|A) Si B entonces C con FC(C|B) ------------------------------------- Si A entonces C con FC(C|A)
Con: FC(C|A)= FC(C|B) FC(B|A) si FC(B|A)>=0 0 cc. FC(B|A)<0 28
Ejemplo: Dadas siguientes reglas, calcular el factor de certeza de la proposicin A^B^EF
3.4 Razonamiento con lgica difusa La lgica difusa (Fuzzy Logic) tiene sus races en la teora de conjuntos difusos desarrollada por Zadeh en la dcada de los 60, y propone que, un elemento siempre pertenece en un cierto grado a un conjunto, esto permite establecer una manera eficiente para trabajar con incertezas, as como para acondicionar el conocimiento en forma de reglas hacia un plano cuantitativo, factible de ser procesado por computadores. Toda lgica consiste en formalizar el pensamiento humano, desde este punto de vista. Un Conjunto Difuso A est formado por: Variable lingstica + funcion de pertenencia, como se muestra a continuacin: A = {x / A(x) x X} X: representa el Universo del discurso A(x): es la funcin de pertenencia; asocia a cada valor x un nmero en el intervalo (0,1) La principal ventaja de esta lgica es que permite utilizar trminos lingsticos como: a medias, bastante, casi, un poco, mucho, algo, etc, posibilitando plantear el problema en los mismos trminos en los que lo hara un experto humano. El esquema bsico de un sistema basado en lgica difusa se muestra en la fig. 3.2:
Fig. 3.2 Esquema bsico de un sistema con lgica difusa 29 Una regla tpica en lgica difusa puede adoptar la forma: Si x1 es A1 y x2 es A2 entonces z1 es Z, donde A1, A2 y Z son conjuntos difusos. En un sistema de control difuso, la informacin de entrada tiene que ser fuzzificada para poder aplicar las reglas difusas; la salida tendr que ser nuevamente transformada a un valor no difuso (defuzzificacin) para que se operativo. Ejemplo: Se muestra a continuacin un ejemplo de la terminologa usada en lgica difusa, con las respectivas funciones de pertenencia.
Fig. 3.3 Conjuntos difusos con sus respectivas funciones de pertenencia En el siguiente esquema se muestra un ejemplo de una base de conocimientos, implementada con reglas difusas:
Fig. 3.4 Conjunto de reglas difusas 30
Fig. 3.5 Efectos de las regla difusas en la salida (propina) 3.5 Ejercicios
1) Sea el siguiente conjunto de reglas de produccin, que utilizan como medida de certeza los factores de certeza: R1: if a then d 0.3 R2: if a then e 0.5 R3: if b then f 0.8 R4: if c then g 1 R5: if f and g then e 1 R6: if d then h 1 R7: if e then h 0.3 R8: if i then f 0.7 Se pide:
a) Dibujar la red de inferencia definida implcitamente por el conjunto de reglas. b) Determinar el factor de certeza de h, conocidos los siguientes factores de certeza: a=1, b=1,c=0.6, i= - 0.2.
2) Supongamos que tenemos un termostato con el que queremos regular la temperatura de una habitacin mediante un dispositivo que puede enfriar o calentar segn sea la temperatura que haya en la habitacin. El objetivo es que la temperatura de la habitacin siempre se mantenga en un intervalo de [+18,22]. Se pide:
a) Definir el universo del discurso, las variables lingsticas, las posibles particiones y sus posibles etiquetas para describirlos.
31 b) Construir los conjuntos difusos necesarios para representar los tres posibles estados, diciendo qu valores comprende y proponiendo grficamente una funcin de pertenencia acorde a cada uno de los estados.
c) Si el valor de verdad de la proposicin la habitacin est caliente es de 0.3, y el valor de verdad de la proposicin la habitacin est fra es de 0.82, cul es el valor de verdad de la proposicin La habitacin est caliente o fra, utilizando la funcin de verdad estndar en lgica difusa?
32 Captulo 4: Aprendizaje automtico
Objetivo: Entender las estrategias de aprendizaje que se puedan implementar en los agentes de IA, posibilitando su adaptabilidad al entorno y, por ende, su autonoma.
4.1 Categoras de los aprendizajes
El Aprendizaje automtico o Aprendizaje de Mquina es una rama de la Inteligencia Artificial cuyo objetivo es desarrollar tcnicas que permitan a las computadoras aprender 1 . De forma ms concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una informacin no estructurada suministrada en forma de ejemplos. Es, por lo tanto, un proceso de induccin del conocimiento.
En muchas ocasiones el campo del Aprendizaje Automtico se solapa con el de la Estadstica, ya que las dos disciplinas se basan en el anlisis de datos. Sin embargo, el Aprendizaje Automtico se centra ms en el estudio de la Complejidad Computacional de los problemas. Muchos problemas son de clase NP-duros, por lo que gran parte de la investigacin realizada en Aprendizaje Automtico est enfocada al diseo de soluciones factibles a esos problemas.
Se han propuestos los siguientes tipos de aprendizaje:
- Supervisado: Existe una entidad externa al agente que establece una correspondencia entre las entradas y las salidas deseadas del sistema. Un ejemplo de este tipo de algoritmo es el problema de clasificacin, donde el sistema de aprendizaje trata de etiquetar (clasificar) una serie de vectores utilizando una entre varias categoras (clases). La base de conocimiento del sistema est formada por ejemplos de etiquetados anteriores.
- No supervisado: Todo el proceso de modelado se lleva a cabo sobre un conjunto de ejemplos formado tan slo por entradas al sistema. No se tiene informacin sobre las categoras de esos ejemplos.
- Por refuerzo: El algoritmo aprende observando el mundo que le rodea, en base a premios y/o castigos. Su informacin de entrada es el feedback o retroalimentacin que obtiene del mundo exterior como respuesta a sus acciones.
A continuacin discutiremos algunas tcnicas de aprendizaje automtico, de tipo supervisado
4.2 Aprendizaje mediante anlisis de diferencias
Recibe incrementalmente ejemplos y contraejemplos de un concepto y genera una descripcin estructural de dicho concepto que debe cubrir todos los ejemplos positivos y ninguno de los negativos. Esta descripcin debera servir para clasificar correctamente los casos futuros. Es de tipo supervisado y sensible al orden de los ejemplos; adems realiza un recorrido primero en profundidad en el espacio de posibles descripciones de conceptos.
Ejemplo: Un agente va aprender el concepto arco, para lo cual, se le muestran los siguientes ejemplos de entrenamiento:
1 La accin de aprender involucra la adquisicin de nuevo conocimiento, lo que genera un cambio en la conducta de los agentes. 33
Fig. 4.1 La idea es que, nuestro agente, mediante los ejemplos positivos (+) pueda generalizar el concepto; los ejemplos negativos (-) sirven para especificar el concepto a aprenderse.
Las relaciones relevantes se representan con redes semnticas:
Luego, la descripcin se generaliza para incluir a ambas instancias tiene_parte(A, B) & tiene_parte(A, C) & tiene_parte(A, D) & apoyado_en(C, B) & apoyado_en(C, D) & es_un(B, ladrillo) & es_un(C,objeto) & es_un(D, ladrillo) & no_union(B, D)
La definicin del concepto debe modificarse para que el semejante sea excluido. La descripcin queda de la siguiente manera: 34 tiene_parte(A, B) & tiene_parte(A, C) & tiene_parte(A, D) & apoyado_en(C, B) & apoyado_en(C,D) & es_un(B, ladrillo) & es_un(C2, objeto) & es_un(D, ladrillo) & no_debe_union(B, D) Para llevar a efecto el aprendizaje por anlisis de diferencias, se utilizan algunas heursticas (de generalizacin y de especializacin) :
- Enlace necesario - Prohibicin de enlace - Ascenso de rbol - Intervalo cerrado - Ampliacin de conjunto - Eliminacin de enlace
4.3 Aprendizaje mediante el manejo de varios modelos (espacio de versiones)
Como en el esquema anterior, el objetivo es producir una descripcin de un concepto a partir de un entrenamiento con ejemplos positivos y negativos, pero no se ve afectado por el orden en que se presentan los ejemplos. Adems, se va manteniendo un conjunto de descripciones posibles hasta llegar a la definicin del mismo.
El objetivo es producir una descripcin que sea consistente con todos los ejemplos de entrenamiento positivos y que no lo sea con los ejemplos de entrenamiento negativos. Dado que existen descripciones ms generales que otras se puede establecer un orden parcial entre ellas. La jerarqua completa constituye el espacio de descripciones de conceptos.
La idea fundamental es ir configurando un conjunto de modelos compatibles con los ejemplos positivos, a partir de dos modelos bsicos: (?,?,?,,?) modelo ms general, compatible con todos los ejemplos (+ y -) (0,0,0,,0) modelo ms especfico, incompatible con todos los ejemplos (+ y -) El modelo ms general se ir especializando con los ejemplos negativos; el modelo ms especfico se ir generalizando con los ejemplos positivos, hasta encontrar una convergencia de modelos.
Ejemplo: considere el siguiente ejemplo en donde se muestran algunas situaciones en las que una persona disfruta o no disfruta de un deporte
Una vez procesado cada ejemplo, el espacio de versiones resultante ser:
35
Fig. 4.3 La flecha representa relaciones de Generalizacin entre modelos
4.4 Aprendizaje mediante construccin de rboles de identificacin
Un rbol de identificacin es una representacin que permite establecer cada conjunto de posibles conclusiones implcitas, mediante una lista de muestras de una clase conocida; por ende, permitir clasificar los futuros casos no vistos. Permite aprender varios conceptos simultneamente (no slo un concepto y su negacin) y trabaja sobre la totalidad del conjunto inicial de ejemplos.
Un agente basado en esta tcnica, tendr como objetivo construir el rbol de decisin ms simple para clasificar los ejemplos de entrenamiento.
Para construir un rbol de identificacin es necesario colocar en su raz, el atributo que tiene la menor entropa (menor desorden) con respecto a los ejemplos de entrenamiento, e ir descendiendo por dicho rbol hasta tener plenamente identificados a cada ejemplo (entropa cero).
Ejemplo: La siguiente tabla muestra diferentes situaciones de riesgo de inundacin:
Fig. 4.4 Situaciones de riesgo de inundacin
El rbol generado, que identifica plenamente a cada ejemplo, sera:
Fig. 4.5 rbol de identificacin para el problema de las inundaciones
4.5 Clustering
El anlisis de clsters o clustering, es una coleccin de casos sobre los cuales se miden diferentes variables o caractersticas. Uno de los problemas del anlisis de clster es que no existe un gran cantidad de mtodos, es as que jerrquicos y los no jerrquicos o particionales.
En los primeros la pertenencia a un grupo o clster en un nivel de la jerarqua condiciona la pertenencia a grupos de un nivel superior. mediante la optimizacin de alguna funcin adecuada.
Los mtodos particionales utilizan la matriz de datos mientras que los jerrquicos parten de una matriz de distancias o similaridades.
Fig. 4.6 La idea del clustering es de tal manera que cada miembro de un grupo est lo ms cercano posible a otro, y grupos diferentes estn lo ms lejos posible uno del otro, donde la distancia est medida con respecto a todas las variables disponibles.
El algoritmo k-means
rbol de identificacin para el problema de las inundaciones El anlisis de clsters o clustering, es una coleccin de mtodos estadsticos que permiten agrupar casos sobre los cuales se miden diferentes variables o caractersticas. Uno de los problemas del anlisis de clster es que no existe una definicin precisa de clster, lo cual ha originado el desarrollo de una an cantidad de mtodos, es as que, los dos grandes grupos de mtodos de clustering son: los jerrquicos y los no jerrquicos o particionales. En los primeros la pertenencia a un grupo o clster en un nivel de la jerarqua condiciona la pertenencia pos de un nivel superior. Los mtodos particionales obtienen una nica particin de los datos mediante la optimizacin de alguna funcin adecuada. Los mtodos particionales utilizan la matriz de datos mientras que los jerrquicos parten de una matriz
La idea del clustering es dividir un conjunto de datos en grupos mutuamente excluyentes de tal manera que cada miembro de un grupo est lo ms cercano posible a otro, y grupos diferentes estn lo ms lejos posible uno del otro, donde la distancia est medida con respecto a as las variables disponibles. 36
rbol de identificacin para el problema de las inundaciones mtodos estadsticos que permiten agrupar casos sobre los cuales se miden diferentes variables o caractersticas. Uno de los problemas del anlisis o cual ha originado el desarrollo de una los dos grandes grupos de mtodos de clustering son: los En los primeros la pertenencia a un grupo o clster en un nivel de la jerarqua condiciona la pertenencia Los mtodos particionales obtienen una nica particin de los datos Los mtodos particionales utilizan la matriz de datos mientras que los jerrquicos parten de una matriz dividir un conjunto de datos en grupos mutuamente excluyentes de tal manera que cada miembro de un grupo est lo ms cercano posible a otro, y grupos diferentes estn lo ms lejos posible uno del otro, donde la distancia est medida con respecto a 37 Tambin conocido como Iterative Distance-based Clustering necesita que se le proporcione a priori el nmero de grupos k. Los pasos de este algoritmo son:
1) seleccionar al azar k ejemplos como centros iniciales de cada grupo; 2) repeat - asignar cada ejemplo al grupo con menor distancia a su centro; - recalcular los nuevos centros de cada grupo; until (los grupos sean estables)
Los centros de cada grupo, tambin denominados centroides pueden corresponderse con ejemplos o no; en ese caso se les denomina prototipos. Los grupos se consideran estables cuando los ejemplos no cambian de grupo respecto la iteracin anterior.
Aplicaciones
En Investigaciones Espaciales: Durante seis aos, el Second Palomar Observatory Sky Survey (POSS- II) coleccion tres terabytes de imgenes que contenan aproximadamente dos millones de objetos en el cielo. Tres mil fotografas fueron digitalizadas a una resolucin de 16 bits por pxel con 23.040 x 23.040 pxeles por imagen. El objetivo era formar un catlogo de todos esos objetos. El sistema Sky Image Cataloguing and Analysis Tool (SKYCAT) se basa en tcnicas de agrupacin (clustering) y rboles de decisin para poder clasificar los objetos en estrellas, planetas, sistemas, galaxias, etc. con una alta confiabilidad. Los resultados han ayudado a los astrnomos a descubrir diecisis nuevos qusars, con corrimiento hacia el rojo, que los incluye entre los objetos ms lejanos del universo y, por consiguiente, ms antiguos. Estos qusars son difciles de encontrar y permiten saber ms acerca de los orgenes del universo.
4.6 Aprendizajes alternativos
Simon (1983), define el aprendizaje como los cambios que se producen en el sistema, de manera que permiten llevar a cabo la misma tarea de un modo ms eficiente y eficaz. En la prctica, el aprendizaje se usa para resolver problemas y puede representar la diferencia entre la resolucin rpida y la imposibilidad de resolverlo. La idea de poder aprender de la propia experiencia en la resolucin de problemas nos lleva a esperar obtener mejores soluciones en un futuro.
El aprendizaje est relacionado con el conocimiento. Puede definirse como el proceso mediante el cual un ente adquiere conocimiento. Este conocimiento puede ser suministrado por otro ente denominado profesor o puede adquirirse sin la ayuda del mismo.
Podemos referenciar otras formas de aprendizaje, entre las cuales se destacan:
- Aprendizaje memorstico: es la actividad de aprendizaje ms bsica y rudimentaria; consiste en el simple almacenamiento de la informacin computada. Este proceso al cual muchos no llamaran aprendizaje, puede considerarse como tal desde el punto de vista que puede mejorar el rendimiento de un programa existente.
- Aprendizaje a travs de consejos: stos son suministrados por una persona en un lenguaje de alto nivel, por ej. lucha por controlar el centro del tablero de ajedrez. El programa es capaz de traducir el consejo en un lenguaje ms operativo y usarlo para 38 modificar su comportamiento, por ej., ajuste de la funcin de evaluacin para introducir factor basado en el nmero de cuadros del centro ocupados por piezas de un color.
- Aprendizaje mediante experiencia en la resolucin de problemas: un agente puede mejorar (sin ayuda externa) a travs de la generalizacin de sus propias experiencias. Por ejemplo, Samuel (1963), en su juego de damas, usa una funcin de evaluacin f = c1 * p1 + ... + c16 * p16, con 16 caractersticas que contribuyen a la evaluacin, y 16 pesos que van actualizndose automticamente conforme el agente experimenta nuevos juegos.
- Aprendizaje basado en explicaciones: a veces se aprende mejor a partir de una nica experiencia en lugar de miles de ejemplos positivos y negativos. El uso de conocimiento especfico permite identificar los aspectos crticos del ejemplo de entrenamiento. Este enfoque se denomina aprendizaje basado en explicaciones (explanation-based learning EBL).
- Descubrimiento: a veces, no existe un maestro que posean el conocimiento que busca el agente. El descubrimiento es una forma de aprendizaje, en la que, un agente adquiere conocimiento sin la ayuda de un profesor. En esta categora podemos ubicar: descubrimiento conducido por teoras, conducido por datos, y clustering.
- Analoga: la analoga es una correspondencia entre conceptos aparentemente diferentes; es una herramienta de inferencia utilizada naturalmente en nuestro lenguaje y razonamiento. Por ejemplo, si tomamos la frase: el mes pasado la bolsa era como una montaa rusa, por analoga podemos entender que la bolsa sufri grandes fluctuaciones. La analoga puede ser transformacional o derivacional.
4.7 Ejercicios
1) Proponga un modelo de aprendizaje a travs del anlisis de diferencias, de tal manera que: a) Se plantee el objetivo del aprendizaje con cada ejemplo b) Se utilicen las seis heursticas de esta tcnica 2) Construya una tabla de datos con al menos 5 atributos, en donde se muestre, situaciones en las que Ud. ha faltado a sus clases regulares en la universidad. Con tales informaciones, genere un rbol de identificacin que muestre las respectivas conclusiones implcitas.
3) Profundice ms acerca de las tcnicas alternativas de aprendizaje (tem 4.6) y construya una tabla comparativa que permita establecer criterios de seleccin de una tcnica u otra.
Captulo 5: Redes Neuronales y Computacin Evolutiva
Objetivo: Analizar la estructura y funcionamiento de paradigmas computacionales inspirados en la biologa, como son: las redes neuronales artificiales y la computacin evolutiva, para solventar problemas de bsqueda y aprendizaje.
5.1 Analoga entre redes neuronales biolgicas y artificiales
Aunque todava se ignora mucho sobre la forma en que el cerebro aprende a procesar la informacin, se han desarrollado modelos que tratan de mimetizar tales habilidades; denominados redes neuronales artificiales modelos de computacin conexionista (otras procesamiento distribuido paralelo o P.D.P.). La elaboracin de estos modelos supone en primer lugar la deduccin de los rasgos o caractersticas esenciales de las neuronas y sus conexiones, y en segundo lugar, la implementacin del modelo en una computadora de forma que se pueda simular.
Una neurona tpica (fig. 5.1) recoge seales procedentes de otras neuronas a travs de una plyade de delicadas estructuras llamadas una fibra larga y delgada denominada axn, que se escinde en millares de ramificaciones. Neurona y conexiones sinpticas
Fig. 5.1 Esquema bsico de una neurona natural
Las extremidades de estas ramificaciones llegan hasta las dendritas de otras neuronas y establecen unas conexiones llamadas sinpsis en un mensaje neuroqumico, mediante la liberacin de unas sustancias llam
Las neuronas artificiales se modelan mediante unidades de proceso. Cada unidad de proceso se compone de una red de conexiones d computar la entrada total combinada de de aplicar la funcin de activacin, y la salida, por dnde se transmite el valor de activacin a otras unidades.
Captulo 5: Redes Neuronales y Computacin Evolutiva Analizar la estructura y funcionamiento de paradigmas computacionales inspirados en la biologa, como son: las redes neuronales artificiales y la computacin evolutiva, para solventar s de bsqueda y aprendizaje. 5.1 Analoga entre redes neuronales biolgicas y artificiales Aunque todava se ignora mucho sobre la forma en que el cerebro aprende a procesar la informacin, se han desarrollado modelos que tratan de mimetizar tales habilidades; denominados redes neuronales artificiales modelos de computacin conexionista (otras denominaciones son computacin neuronal y procesamiento distribuido paralelo o P.D.P.). La elaboracin de estos modelos supone en primer lugar la deduccin de los rasgos o caractersticas esenciales de las neuronas y sus conexiones, y en segundo implementacin del modelo en una computadora de forma que se pueda simular. recoge seales procedentes de otras neuronas a travs de una plyade de delicadas estructuras llamadas dendritas. La neurona emite impulsos de actividad elctrica a lo largo de una fibra larga y delgada denominada axn, que se escinde en millares de ramificaciones. Neurona y Fig. 5.1 Esquema bsico de una neurona natural e estas ramificaciones llegan hasta las dendritas de otras neuronas y establecen sinpsis, en las cuales se produce una transformacin del impulso elctrico en un mensaje neuroqumico, mediante la liberacin de unas sustancias llamadas neurotransmisores. se modelan mediante unidades de proceso. Cada unidad de proceso se compone de una red de conexiones de entrada, una funcin de red (de propagacin), encargada de computar la entrada total combinada de todas las conexiones, un ncleo central de proceso, encargado de aplicar la funcin de activacin, y la salida, por dnde se transmite el valor de activacin a otras 39 Captulo 5: Redes Neuronales y Computacin Evolutiva Analizar la estructura y funcionamiento de paradigmas computacionales inspirados en la biologa, como son: las redes neuronales artificiales y la computacin evolutiva, para solventar Aunque todava se ignora mucho sobre la forma en que el cerebro aprende a procesar la informacin, se han desarrollado modelos que tratan de mimetizar tales habilidades; denominados redes neuronales denominaciones son computacin neuronal y procesamiento distribuido paralelo o P.D.P.). La elaboracin de estos modelos supone en primer lugar la deduccin de los rasgos o caractersticas esenciales de las neuronas y sus conexiones, y en segundo implementacin del modelo en una computadora de forma que se pueda simular. recoge seales procedentes de otras neuronas a travs de una plyade de . La neurona emite impulsos de actividad elctrica a lo largo de una fibra larga y delgada denominada axn, que se escinde en millares de ramificaciones. Neurona y
e estas ramificaciones llegan hasta las dendritas de otras neuronas y establecen , en las cuales se produce una transformacin del impulso elctrico adas neurotransmisores. se modelan mediante unidades de proceso. Cada unidad de proceso se de propagacin), encargada de todas las conexiones, un ncleo central de proceso, encargado de aplicar la funcin de activacin, y la salida, por dnde se transmite el valor de activacin a otras 40
Fig. 5.2 Esquema bsico de una neurona artificial
5.2 Clasificacin de las RN
En el siguiente grfico (fig. 5.3) se muestra una clasificacin de las RN, tomando en consideracin el tipo de conectividad entre sus elementos (neuronas individuales).
Fig. 5.3 Categoras para RN
Las RN feed forward (en cascada) se caracterizan porque las conexiones se dirigen siempre en direccin de las neuronas de la capa de salida; en cambio en las RN feedback, se pueden detectar conexiones de ida y retorno entre capas de neuronas.
5.3 Redes en cascada y retropropagacin
Fig. 5.4 Una RN en cascada de tres capas
En una RN encontramos tres tipos de funciones que definen su comportamiento:
- Funcin de Red de todas las entradas se utiliza la funcin de red Lineal de Base:
- Funcin de Activacin: define el nivel de excitacin de cada neurona, pudiendo ser de tipo lineal, umbral, y no lineal; una de las funciones ms utilizada en las implementaciones neuronales es la sigmoide (no lineal en rango 0
- Funcin de Salida: cuantifica el nivel respuesta de las neuronas; generalmente se suele utilizar la funcin Identidad, aplicada a la funcin de activacin.
Backpropagation
En las redes feed forward se puede implementar este algoritmo para que la RN aprenda a ejecutar alguna tarea especfica (aprendizaje supervisado) apreciacin de la red, a travs de tal minimizacin. Se llama retropropagacin, puest salida hacia la capa de entrada
En trminos sencillos, el algoritmo consta de los siguientes pasos:
1.- Tomar un parmetro de rapidez r 2.- Inicializar los pesos 3.- Mientras la red no tenga un desempeo satisfactorio Por cada muestra de entrada: a.- Calcular la salida resultante b.- Para los nodos de la capa c.- Para los dems nodo d.- Calcular los cambios e.- Acumular los cambios de los pesos Cambiar los pesos con los cambios acumulados para todas las muestras
5.4 Modelos de redes recurrentes
Se caracterizan porque pueden podemos tener diversas formas de recurrencia (fig. 5.5)
En una RN encontramos tres tipos de funciones que definen su comportamiento: Funcin de Red: cuantifica la incidencia total en cualquier neurona, como combinacin de todas las entradas (vector X) y los correspondientes pesos (vector Wj) se utiliza la funcin de red Lineal de Base:
Funcin de Activacin: define el nivel de excitacin de cada neurona, pudiendo ser de tipo lineal, umbral, y no lineal; una de las funciones ms utilizada en las aciones neuronales es la sigmoide (no lineal en rango 0
Funcin de Salida: cuantifica el nivel respuesta de las neuronas; generalmente se suele utilizar la funcin Identidad, aplicada a la funcin de activacin. En las redes feed forward se puede implementar este algoritmo para que la RN aprenda a ejecutar (aprendizaje supervisado). El principio que utiliza es el minimizar el error de a travs de una bsqueda (por descenso de gradiente) de los pesos que permitan . Se llama retropropagacin, puesto que el error se va propagando salida hacia la capa de entrada. En trminos sencillos, el algoritmo consta de los siguientes pasos: parmetro de rapidez r Mientras la red no tenga un desempeo satisfactorio or cada muestra de entrada: Calcular la salida resultante Para los nodos de la capa de salida, calcular el error de apreciacin Para los dems nodos ocultos calcular el error en funcin del error en capa de salida Calcular los cambios en los pesos Acumular los cambios de los pesos Cambiar los pesos con los cambios acumulados para todas las muestras ecurrentes porque pueden tener ciclos o bucles en las conexiones (conexiones recurrentes) podemos tener diversas formas de recurrencia (fig. 5.5) 41 En una RN encontramos tres tipos de funciones que definen su comportamiento: : cuantifica la incidencia total en cualquier neurona, como combinacin ntes pesos (vector Wj); generalmente Funcin de Activacin: define el nivel de excitacin de cada neurona, pudiendo ser de tipo lineal, umbral, y no lineal; una de las funciones ms utilizada en las aciones neuronales es la sigmoide (no lineal en rango 0-1), cuya frmula es: Funcin de Salida: cuantifica el nivel respuesta de las neuronas; generalmente se suele
En las redes feed forward se puede implementar este algoritmo para que la RN aprenda a ejecutar . El principio que utiliza es el minimizar el error de scenso de gradiente) de los pesos que permitan o que el error se va propagando desde la capa de
tos calcular el error en funcin del error en capa de salida Cambiar los pesos con los cambios acumulados para todas las muestras (conexiones recurrentes). As 42
Fig. 5.5 Conexiones recurrentes: una neurona con ella misma, entre neuronas de una misma capa, entre neuronas de una capa con otra capa anterior.
Al permitir conexiones recurrentes aumenta el nmero de pesos o de parmetros ajustables de la red; aumenta la capacidad de representacin. Por otro lado, se complica el aprendizaje, pues, las activaciones no dependen slo de las activaciones de la capa anterior sino tambin de la activacin de cualquier otra neurona conectada a ella, e incluso de su propia activacin.
En estas redes es necesario incluir la variable tiempo:
La variable tiempo hace que las redes tengan un comportamiento dinmico o temporal. Existen dos formas de entender el modo de actuacin y aprendizaje:
Evolucin de las activaciones de la red hasta alcanzar un punto estable Evolucin de las activaciones de la red en modo continuo
Red de Hopfield
Modelo de memoria asociativa, capaz de recuperar patrones almacenados a partir de informacin incompleta e incluso a partir de patrones con ruido.
Acta como memoria asociativa procesando patrones estticos (sin variable tiempo) Todas las neuronas estn conectadas con todas las dems
Fig. 5.6 Dos formas de ver una misma red de Hopfield
43 Algunas caractersticas de la red de Hopfield son:
- Matriz de pesos W=(wij), orden n x n. - wij; peso de la conexin de neurona i a neurona j - Matriz simtrica: wij=wji - Los elementos de la diagonal son nulos (no existen conexiones reflexivas) - Las neuronas poseen dos estados -1 y 1 - Estado de la neurona i en t+1:
La red de Hopfield tiene Dos fases de operacin
Fase de almacenamiento: se determinan los valores que tendrn los pesos para almacenar un conjunto de patrones.
Fase de recuperacin: mecanismo para recuperar la informacin almacenada a partir de informacin incompleta.
5.5 Computacin Evolutiva: reas de estudio
Es un rea de los algoritmos bio-inspirados que comprende: programacin gentica y los algoritmos genticos. Est fundamentada en la aplicacin de las leyes de evolucin de las especies (Charles Darwin) para la implementacin de algoritmos de bsqueda y aprendizaje.
Programacin Gentica Consiste en la evolucin automtica de programas usando ideas basadas en la seleccin natural. No slo se utiliza para generar programas, sino que cualquier otro tipo de soluciones cuya estructura sea similar a la de un programa, por ejemplo, frmulas matemticas, circuitos electrnicos.
La evolucin se produce en la naturaleza gracias a que:
Existe reproduccin entre individuos de una poblacin. Las caractersticas de los individuos afectan su probabilidad de supervivencia. Existe herencia. Existen recursos finitos, que ocasionan competencia.
En programacin gentica se busca que poblaciones de programas evolucionen, transmitiendo su herencia de manera que se adapten mejor al medio. Los mejores individuos tienen mayores probabilidades de reproducirse. Por lo tanto se requiere cuantificar la calidad de cada individuo I; para 44 esto, es necesario definir una funcin de desempeo fitness(I), misma que califica los atributos relevantes de los individuos.
Un algoritmo de programacin gentica sigue el siguiente esquema:
1. Genera una poblacin inicial. 2. Mientras no se cumple el criterio de terminacin: a) Seleccionar individuos (para reproduccin y eliminacin), considerando su calidad. b) Combinar y/o variar individuos nuevos. c) Agregar y eliminar individuos.
En programacin gentica, los programas (o individuos) se representan como rboles. Es as como el segmento de cdigo:
while (a<10) { print(a); a++; }
Puede representarse por el rbol:
Los elementos que configuran un individuo son: terminales y funciones.
- El conjunto de terminales (T) est compuesto por las entradas posibles al individuo: constantes y funciones de aridad 0. - El conjunto de funciones (F) est compuesto por los operadores, sentencias y funciones que pueden componer a un individuo. Ejemplos:
Funciones booleanas: AND, OR, NOT, XOR. Funciones aritmticas: PLUS, MINUS, MULT, DIV. Sentencias condicionales: IF, THEN, ELSE, CASE, SWITCH Sentencias para iteraciones: WHILE, FOR, REPEAT, UNTIL
Poblacin inicial
Usualmente, se utilizan dos mtodos para generar esta poblacin: grow y el full.
45 Grow
Se elige aleatoriamente un elemento de F para que conforme la raz del rbol. El contenido de los nodos hijos de la raz se elige desde F U T. Si el valor elegido es una funcin, se repite este procedimiento con los hijos. (si el valor elegido es una constante, se termina esa rama del rbol.)
Full
El mtodo full hace crecer el rbol en forma similar al mtodo grow, pero siempre se eligen elementos del conjunto de funciones, a menos que el nodo est a profundidad mxima, en cuyo caso slo se eligen elementos de T. El resultado de este mtodo son siempre rboles balanceados de profundidad mxima. Si se usa el nmero de nodos como lmite de tamao, el crecimiento se termina cuando el tamao del rbol ha alcanzado el lmite.
Operadores genticos
Para generar nuevos individuos desde una cualquier poblacin, se suelen utilizar los siguientes operadores genticos: - Cruce (crossover) - Mutacin - Reproduccin
En la figura 5.7 se aprecia la aplicacin del operador gentico crossover para la generacin de dos vstagos. Note los puntos de corte en los padres.
Fig. 5.7 Un ejemplo de crossover con dos individuos padres.
46 Algoritmos Genticos (AG)
Un AG es una tcnica de programacin que imita a la evolucin biolgica como estrategia para resolver problemas. Dado un problema especfico a resolver, la entrada del AG es un conjunto de soluciones potenciales a ese problema (individuos candidatos), codificadas de alguna manera, y una mtrica llamada funcin de aptitud (fitness) que permite evaluar cuantitativamente a cada individuo. Estos candidatos pueden ser soluciones que ya se sabe que funcionan, con el objetivo de que el AG las mejore, pero se suelen generar aleatoriamente.
La mayor ventaja de los algoritmos genticos es que son intrnsecamente paralelos. La mayora de los otros algoritmos son en serie y slo pueden explorar el espacio de soluciones hacia una solucin en una direccin al mismo tiempo, y si la solucin que descubren resulta subptima, no se puede hacer otra cosa que abandonar todo el trabajo hecho y empezar de nuevo. Sin embargo, ya que los AG tienen descendencia mltiple, pueden explorar el espacio de soluciones en mltiples direcciones a la vez
Mtodos de representacin
Antes de que un algoritmo gentico pueda ponerse a trabajar en un problema, se necesita un mtodo para codificar las soluciones potenciales del problema de forma que una computadora pueda procesarlas. Un enfoque comn es codificar las soluciones como cadenas binarias: secuencias de 1s y 0s, donde el dgito de cada posicin representa el valor de algn aspecto de la solucin. Otro mtodo similar consiste en codificar las soluciones como cadenas de enteros o nmeros decimales, donde cada posicin, de nuevo, representa algn aspecto particular de la solucin. Este mtodo permite una mayor precisin y complejidad que el mtodo comparativamente restringido de utilizar slo nmeros binarios, y a menudo ``est intuitivamente ms cerca del espacio de problemas''.
Ejemplo (agente viajero): Una persona debe recorrer varias ciudades distintas, con la condicin de que debe pasar solamente una vez por cada una de ellas y volver a la ciudad de origen, recorriendo la menor distancia posible. En este caso se han considerado 4 ciudades.
Podramos adoptar la siguiente representacin binaria de un individuo:
bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 AB BC CD DA AC BD
Cada bit puesto a 1 indicar que el tramo respectivo est activo
47 Para cumplir con los requerimientos del problema, ser necesario definir dos funciones de desempeo: una evaluar la calidad de los individuos en trminos de las ciudades visitadas, y la otra medir la calidad en trminos de la menor distancia recorrida. Por lo tanto la evaluacin final deber cuantificar la visita exclusivamente a 4 ciudades con el menor recorrido, as:
A continuacin se muestran los desempeos de 6 individuos tomados al azar:
Donde:
- Fitness(w): valor devuelto por la funcin de aptitud al aplicar sobre ella el individuo w - FitTOT: es la aptitud total de la poblacin actual - Aptitud(w): aptitud del individuo w respecto del resto de individuos Aptitud(w3) = Fitness(w3)/FitTOT
5.6 Ejercicios
1) Se tiene un tablero de ajedrez, donde se ubican 8 reinas, el objetivo es colocarlas tal que ellas no se ataquen unas a otras. a) Dar una representacin gentica de los individuos b) Escriba una funcin de aptitud c) Probar la funcin de aptitud con 3 individuos
2) Defina una topologa de red neuronal, con los respectivos ejemplos de entrenamiento, para que esta red aprenda a identificar mamferos, reptiles y aves. Implemente su propuesta en Matlab.
3) Un motor elctrico puede girar en ambos sentidos por medio de dos contactores: D para el giro a la derecha e I para el giro a la izquierda. Estos dos contactores son comandados por dos pulsadores de giro d (derecha) e i (izquierda) y un interruptor de seleccin L de acuerdo con las siguientes condiciones:
- Si slo se pulsa uno de los botones de giro, el motor gira en el sentido correspondiente. - Si se pulsan los dos botones de giro simultneamente, el sentido de giro depende del estado del interruptor L de forma que: 48 * Si L est activado, el motor gira a la derecha. * Si L est en reposo , el motor gira a la izquierda
a) Enuncie las entradas y salidas. b) Disee la red neuronal que soluciona el problema. c) Qu funcin de activacin se utiliza?. Justifique su respuesta