Resumen material lectura (en orden) 16/11/2015 06/04 K52/01 hasta la 22 [1.1] La inteligencia artificial como base de la ingeniería IA como ciencia: trata de entender la naturaleza de la inteligencia. IA como Ingenieria: construcción de artefactos que presenten conducta inteligente. Las 3 cuestiones básicas de Nilsson: 1) ¿Se podrá entender la naturaleza de la inteligencia como se entiende la naturaleza de la luz? 2) 3) IA como ciencia IA como ciencia trata del estudio del comportamiento inteligente, siendo su fin el conseguir una teoría de la inteligencia que explique la conducta que se produce en seres de natural inteligentes y que guie la creación de entes artificiales capaces de alcanzar dicho proceder inteligente. IA es una rama de la ciencia que esta muy relacionada con otras ramas de ciencia e ingeniería. IA como ingeniería Se ocupa de los conceptos, la teoría y la practica de construir maquinas inteligentes. Maquinas inteligentes: resuelven problemas coextensivos con los que los humanos son tenidos por inteligentes. Ejemplos de maquinas inteligentes: SBC (sistema basado en conocimientos) SE (sistema experto) La construcción de maquinas inteligentes se denomina INCO. La misión es: adquirir, conceptualizar, formalizar y usar grandes cantidades de conocimientos de alta calidad y particulares de una tarea. El IC es el ingeniero en conocimientos. 1 Resumen material lectura (en orden) 16/11/2015 [1.2.] La inteligencia artificial como base de la ingeniería La INCO construye sistemas computacionales, primero adquiriendo los conocimientos de distintas fuentes, y a educir los conocimientos de los expertos, para luego organizarlos en una implementación efectiva. Esto es la educción de conocimientos. La INCO se define como el subcampo de la IA concerniente a la adquisición, conceptualización, representación y aplicación de conocimientos, o como disciplina de la ingenieria por la cual los conocimientos se integran dentro de un sistema computacional para resolver problemas que requieren un nivel experto. Problemas de construcción de SBC: Adquisición de conocimientos Representación de los conocimientos Generación de inferencias Requisitos para la solución de los problemas requisito modular: Se deben poder realizar cambios fácilmente y de forma gradual y modular. requisito de programación Los requisitos anteriores conducen al paradigma del lenguaje natural. [1.3.] Los sistemas basados en conocimientos [1.3.1] Terminologia y definiciones Se definirá un SBC como un programa de IA, cuyas prestaciones dependen mas de la presencia explicita de un cuerpo de conocimientos que de la posesión de ingeniosos procedimientos computacionales. Por SE se quiere decir los SBC cuyas prestaciones riuvalizan con los expertos humanos. Experto: competencia y especialización. Para que un SE pueda ser tenido verdaderamente como tal debería: 1. Aprender lo que los expertos humanos saben 2. Mantener y actualizar sus conocimientos (como hacen los expertos humanos) 3. Presentar las conclusiones como lo hacen los expertos humanos. (aclarando, justificando y explicando) Por lo cual, un SE debe: Usar reglas heurísticas, reflexionar manipulando símbolos, interactuar con usuarios, etc (pág. 13). 2 Resumen material lectura (en orden) 16/11/2015 [1.3.3] Sistemas convencionales frente a sistemas basados en conocimientos En ingeniería, una heurística es un método basado en la experiencia que puede utilizarse como ayuda para resolver problemas de diseño, desde calcular los recursos necesarios hasta en planear las condiciones de operación de los sistemas. Mediante el uso de heurísticas, es posible resolver más rápidamente problemas conocidos o similares a otros conocidos. tipo de problema que manejan SW tratamiento eficaz de datos que conoce y opera Datos y procedimientos programación empleada Procedimentales, sofisticados, secuenciales, rígidos. mezclado en el código modelo de solución del problema organización de los conocimientos 2 niveles: datos programas SBC problemas que requieren inteligencia Conocimientos heurísticos y se manipulan símbolos. Declarativos, elementales, flexibles y paralelos. entidad denominada base de conocimientos 3 niveles: datos (o hechos) reglas operativas (o heurísticas) inferencia y control Los 2 primeros forman la base de conocimientos. Motor de inferencias (maquiina deductiva): estructura de control que decide como usar los conocimientos específicos del problema en curso de solución. Decide que regla aplicar y como. 3 Resumen material lectura (en orden) 16/11/2015 1.3.3 Estructura de los SBC Hay algunas pautas arquitectónicas también. 4 Resumen material lectura (en orden) 16/11/2015 K52/09 – libro “Ing sistemas expertos”, cap 1 hasta S.C. 1. La inteligencia artifical base de la ingeniería del conocimiento La IA tiene como proposito reproducer las acciones de los seres vivos inteligentes en dispositivos artificiales. También su objetivo es conseguir una teoría comprensiva de la inteligencia como aparece en los animales y maquinas. Dificultades esenciales: 1. los seres humanos no saben como realizan sus actividades intelectuales 2. Las computadoras no se enfrentan a tareas como lo hacen los seres humanos Los SBC son el ejemplo mas paradigmático de maquinas inteligentes. INCO actividad de construir estos sistemas. Su misión es adquirir, formalizar, representar y usar grandes conocimientos de la mas alta calidad y especificos de una tarea. Relación entre la IA y la INCO: Experto: ayuda, competencia y especialización de una persona en un dominio determinado. INCO: conjunto de métodos para la construcción de SBC y SE IC: informatico especialista en la construcción de SBC y SE SBC: sistema informatico basado en el conocimiento publico. SE: sistema basado en conocimiento que pretende emular a los expertos humanos. 5 Resumen material lectura (en orden) 16/11/2015 Tipos de conocimiento 1. Conocimiento Publico Al alcance de toda la comunidad. Ej: receta de cocina. 2. Conocimiento privado Interior a un experto, fruto del ejercicio de sus actividades y utilizado implícitamente. Puede ser verbalizado. Ej: medico da un diagnostico. 3. Metaconocimientos Lo mismo que conocimiento privado, pero NO se puede verbalizar ya que no es fruto de acciones concientes. Ej: como eludir un vehiculo cuando se esta apunto de chocar. A su vez, estos conocimientos pueden ser: 1. Declarativos Que son las cosas y describen el dominio de aplicación. No importa como se usen esos conocimientos. 2. Procedimentales Controlan el proceso de solución de un problema, centrándose en el uso de los conocimientos y esquema de razonamientos usados para alcanzar la solución. 6 Resumen material lectura (en orden) 16/11/2015 K52/12 - Sistemas inteligentes, capitulo 5 [5.1.1] Introducción Los SE son una clase de programa, capaces de resolver problemas que normalmente requieren intervención humana especializada. Son desarrollados con la ayuda de Expertos de Campo, que revelan información hacerca de los procesos mentales que usan para resolver problemas. El IC (el otro profesional que interviene) debe dar forma simbolica y manipulable a estos conocimientos. Los expertos usan reglas heurísticas para resolver sus problemas: métodos que determinan que partes de su experiencia son aplicables. El IC debe descubrir estas heurísticas y programarlas. [5.1.2] Características de los sistemas expertos Realizan inferencias sobre datos incompletos o inciertos Explican y justifican lo que hacen Adquieren nuevos conocimientos Organizan su conocimiento Saben decir si un problema esta dentro de su dominio 7 Resumen material lectura (en orden) 16/11/2015 [5.1.3] Arquitectura de un sistema experto 1. Base de conocimientos (BC) La unión del conjunto de aserciones y el conjunto de reglas. Contiene una formulación simbolica manipulable del área de conocimiento del cual el sistema es experto. Suministra al MI información sobre la naturaleza del problema. Una aserción A es la formulación simbolica de un hecho. Una regla R es una relación explicita entre aserciones. 2. Base de datos (BD) Datos sobre el problema particular. 3. Motor de Inferencia (MI) Activa las reglas de inferencia contenidas en la BC. Le dice al TE las reglas que motivaron una consulta al usuario. 2 principios de trabajo: Universo cerrado, Universo abierto 4. Trazador de explicaciones (TE) Contiene justificación de consultas a usuario. 5. Trazador de consultas (TC) Presenta al usuario las preguntas del sistema (reqs de información). Las respuestas son guardadas en la MT. 6. Memoria de trabajo (MT) BD temporal donde guarda infor deducida a partir de la BC y la MT (esta misma) 7. Manejador de comunicaciones Deriva info del usuario a MT. Interpretar mensajes del ususario. 8 Resumen material lectura (en orden) 16/11/2015 Lo saque del apunte k52/09, pero preferí completar en vez de escribir de nuevo lo mismo. 9 Resumen material lectura (en orden) 16/11/2015 Universo cerrado: toda la info necesaria esta contenida en el sistema. Lo que no puede demostrar lo asume falso. No necesitaría la Traza de Consultas (pq no va a hacer ninguna) y el TE solo explica las conclusiones. En este principio, la BD no puede estar vacía. Universo cerrado: la información no contenida en el sistema puede estar afuera, por lo tanto, se la pregunta al usuario. [5.1.4] Estrategias del motor de inferencia Dos estrategias que usa el MI para realizar inferencia sobre la info que posee. Ambos casos tienen datos iniciales y un objetivo a verificar. (a) orientada por el objetivo (búsqueda hacia atrás – backward chaining) Toma como origen de la inferencia al objetivo y a partir de este intenta contruir un árbol hacia los datos. (b) conocida como búsqueda hacia adelante (forward chaining) Se quiere generar un conjunto a partir de los datos que incluya a la solución. 10 Resumen material lectura (en orden) 16/11/2015 K5HT1 – Introducción a los métodos de búsqueda Métodos de busqueda sin información de dominio Algoritmos que operan sin conocimiento (no hay nada que los guie). Su búsqueda es exhaustiva. Algoritmo primero en amplitud Genera (barre) todas las posibilidades de un nivel antes de pasar al nivel siguiente. Los genera de izquierda a derecha. Se queda con el mejor, no con el primero (el mejor = menor cantidad de transiciones) Algoritmo primero en profundidad Se analiza una rama a la vez. (de ahí viene profundidad). Al contrario de primero en amplitud, se queda con el primero que encuentra. Necesita menos memoria que el otro, porque olvida las ramas que termino de recorrer. Bidireccional Se hacen dos búsquedas independientes: Una del estado inicial para encontrar el final (top – bottom) Una del estado final para encontrar el inicial (bottom – top) Cada búsqueda puede usar cualquiera de los dos algoritmos anteriores, pero al menos una de ellas debe hacer amplitud (para generar todas las posibilidades). El camino ideal se encuentra cuando las dos búsquedas se unen. Método de generación y prueba Es un algoritmo primero en profundidad que se ejecuta muchas veces y se compara cada solución, para quedarse con la mejor. 11 Resumen material lectura (en orden) 16/11/2015 Métodos de busqueda CON información de dominio (heurística) Heuristica: se pueden esperar buenas (aunque no optimas) soluciones en menor tiempo. Dos formas de incorporar conocimiento heuristico: (1) en las reglas, (2) con una función heurística que evalúa grado de deseabildiad. Clasificacion de los problemas (en cuanto a la gravedad de los errores) Ignorables (ej, demostración de teoremas) Recuperables (ej, un laberinto) No recuperables (ej, un juego de ajedrez) Clasificacion de los sistemas de producción Monotono No monótono Parcialmente conmutativo No parcialmente conmutativo Conmutiativo Método escalada Se “escala” por el primer sucesor cuya función heurística sea mejor que el nodo actual. Hijos no generados que son mejores que el primer sucesor, se perderan. Puede (muy fácilmente) no llegar a una solución. Escalada por máxima pendiente Variante del anterior. Primero genera todos los hijos, y luego escala por el mejor (que sea mayor o igual a su padre). Este algoritmo (y el otro de escalada) funcionan siempre y cuando la función heurística sea monótonamente creciente (o decreciente). Busqueda el primero mejor Es como el escalada por máxima pendiente, pero se mantiene una lista de abiertos (ordenada), que le permite retroceso. Algoritmo Beam Search Es como busqueda el primero mejor, pero solo guarda en la lista de nodos abiertos los m nodos mas prometedores. 12 Resumen material lectura (en orden) 16/11/2015 Algoritmo A* f’ = g + h’ g: suma de los costos de los nodos precesores h: estimación de lo que cuesta llegar a un nodo objetivo desde ese nodo. Todos los demás nodos consideran solo el costo del propio nodo para sus decisiones. Este toma en cuenta todo lo que hay detrás del nodo también. Adecuado para hallar el camino de mínimo costo. Se dice que A* es un método completo porque siempre encuentra la solución, si la hay. h’ es una estimación!. 13 Resumen material lectura (en orden) 16/11/2015 13/04 K52/10 – Libro “Sistemas Expertos”, punto (1.5.11) [1.5.11] Analisis de protocolos Es un tipo de tecnica de educción similar a la observación de tareas. La diferencia con la observación es que no transcurre tiempo entre el acto de pensar del experto y el acto de reportarlo. Se graban las sesiones. El experto debe pensar en voz alta. Se busca primer capturar y después estudiar. Etapas del análisis de protocolo Paso 1: Grabacion del protocolo Ocurren 3 subpasos: El IC explica lo que espera del experto: que hacer y que debe evitar hacer. Puesta en situación Registro del protocolo (propiamente dicho) Paso 2: Transcripcion Se deberán indicar sobre la transcripción las observaciones del IC. La transcripción debe estar segmentada en instrucciones (nosotros la dividimos en renglones) Se deberán anotar los silencios del experto de mas de 3 segundos. 14 Resumen material lectura (en orden) 16/11/2015 Paso 3: Codificacion 1) identificación de conceptos, características, valores y relaciones. Los distintos elementos permiten definir los posibles estados del sistema. Estado: cierta configuración de valores que afectan a las variables y relaciones establecidas entre objetos. 2) Identificacion de la búsqueda Debe verse el razonamiento del experto como una búsqueda en el espacio de estados posibles del sistema. (ej: un árbol) 3) Identificacion de los operadores Los operadores son los medios usados por el experto para generar nuevos estados, permiten el paso entre estados. En general aparecen expresados con verbos de acción, o a continuación de palabras como: pues, entonces, por consiguiente, por tanto, lo que da, lo que implica, etc. 4) Identificacion de las inferencias Se deben referenciar todas las reglas de producción utilizadas explícitamente por el experto en el curso de su razonamiento. Tienen la forma: Si [condiciones] Entonces [acciones] La condición es una prueba aplicada sobre uno de los estados del problema, la acción es uno o varios operadores. 5) Identificación de sinónimos, metacomentarios e incertidumbres Sinonimos: frases que representan el mismo concepto Metacomentarios: (frases sin sentido?) Incertidumbres: se deben señalar los elementos que el experto utiliza asociándolas a una nocion de incertidumbre. La incertidumbre se expresa en general por condicionales o verbos como “parece”, “debe”, etc. En estos casos, se debe pedir al experto que precise los coeficientes. Paso 4: Interpretacion Creo que nosotros construimos un árbol aca. 15 Resumen material lectura (en orden) 16/11/2015 Ventajas y limitaciones del análisis de protocolos Es útil para extraer info sobre procedimientos que el experto utiliza pen la solución pero que no puede explicar. Tiene dos limitaciones: Costo de utilización exige aprox 10 veces mas tiempo que la duración de la grabación. Incompletitud del método Hay cosas que no capta (el experto no reporta), por ejemplo, la percepción sensorial, los movimientos, el reconocimiento, etc. 16 Resumen material lectura (en orden) 16/11/2015 20/04 K52/15 – Libro “Sistemas Inteligentes”, Redes Neuronales Artificiales [2.1.2] Elementos de una red neuronal artifical (RNA) Las RNA son modelos que intentan reproducir el comportamiento del cerebro. 3 tipos de neurona: (1) las que reciben estimulos externos, (2) unidades ocultas, (3) las de salida que dan respuesta del sistema. Cada neurona esta caracterizada en cualquier instante por un valior numérico denominado valor o estado de activiacion, una función de activación (o transferencia) que transforma la activación en una señal de salida Dinamica de actualización de estados: (1) las neuronas evalúan la info según les va llegando (modo asincrónico), (2) las neuronas están sincronizadas como dirigidas por un reloj interno (modo sincronico) La neurona artificial Las ocultas no tienen contacto con el exterior. Capa (o nivel): conjunto de neuronas cuyas entradas provienen de la misma fuente (que puede ser otra capa de neuronas) 17 Resumen material lectura (en orden) 16/11/2015 Estado de activacion Conexiones entre neuronas Las conexiones que unen las neuronas tienen asociados un peso (w). wij > 0 wij < 0 wij = 0 La interacción es excitadora, si la neurona i esta activada, la neurona j recibirá una señal de i que tendera activarla La interacción es inhibidora no hay conexion Creo que lo que esta diciendo aca nada mas, es que una neurona n puede contribuir a la excitación o inhibición de otra neurona n+1, o no afectarla en lo mas mínimo (wij = 0) Función de transferencia o de activación Cada unidad (neurona) Ui tiene asociada una función de activación o transferencia que transforma la entrada neta de la neurona en una señal de salida. Existe un valor denominado umbral de activación (tita), asociado a cada función de transferencia. La salida de una neurona se activa cuando la entrada neta es mayor que cierto valor umbral. Tipos de funciones de activación (típicas, determinan tipos de neuronas): Función escalon (para salidas binarias) Función lineal y mixta (apropiada para señales analógicas) Sigmoidal (apropiada para señales analógicas) Función Gaussiana Claro, lo que determina las funciónes de activación es la forma que tendrán las señales de salida de una nuerona, son medio obvias según el nombre, están desarrolladas en la pág. 74. Reglas de aprendizaje En las neuronas reales el conocimiento se encuentra en la sinapsis. En las RNA, el conocimiento esta expresado en los pesos de las conexiones de las neuronas. Se aprende modificando estos valores de la red. Estructura de una RNA Se dice que una red esta totalmente conectada si todas las salidas desde un nivel llegan a todos y cada uno de los nodos del nivel siguiente. 18 Resumen material lectura (en orden) 16/11/2015 Formas de conexión entre neuronas Conexión autoconcurrente; la salida de un nodo también es entrada de si mismo. Propagacion hacia adelante: cuando nunca la salida de una neurona es entrada de una neurona en el mismo nivel o niveles anteriores. Propagacion hacia atrás: no son de propagación hacia adelante. Las redes de propagación hacia atrás que tienen lazos cerrados son sistemas recurrentes. [2.2] Características de las redes neuronales Son 4: (1) topología, (2) mecanismo de aprendizaje, (3) tipo de asociación entre info de entrada y salida y (4) forma de representar esta información. (2) Mecanismos de aprendizaje El aprendizaje en RNA es el ajuste de los pesos. Es un paralelismo con las neuronas reales, que crean, modifican y destruyen conexiones. Crear una conexión es poner un w distinto de 0, modificarla es cambiar el w y destruirla es poner w=0. Por lo tanto se puede afirmar que el proceso de aprendizaje a terminado cuando los pesos permanecen estables. Regla de aprendizaje de la red: cuales son los criterios para cambiar los pesos. Se reconocen dos reglas, (1) aprendizaje supervisado, (2) no supervisado. Otro cirerio es si puede aprender durante su funcionamiento habitual o si el aprendizaje supone la desconexión de la red (online y offline). Si es offline, habrá una fase de aprendizaje (entrenamiento) y una fase de operación o funcionamiento. En las redes de aprendizaje offline los pesos permanecen fijos en la fase de operación. Redes de aprendizaje supervisado: 1. Por corrección de error: se ajustan los pesos en función de los valores obtenidos y deseados. 2. Aprendizaje por refuerzo: solo se indica si la salida obtenida se ajusta a lo deseado. Es mas lento que la anterior. 3. Aprendizaje estocástico: cambios aleatorios en los valores de los pesos. 19 Resumen material lectura (en orden) 16/11/2015 Redes con aprendizaje no supervisado No requieren influencia externa para ajustar los pesos: son capaces de autoorganizarse. 1) Aprendizaje Hebbiano Consiste en el ajuste de los pesos de las conexiones de acuerdo con la correlacion de los valores de actiacion de dos neuronas conectadas. Es una regla de aprendizaje no supervisado, la mod de los pesos se realizan en función de los estados (salidas) de las neuronas obtenidos tras la presentación de cierto estimulo, sin tener en cuenta si se deseaba obtener o no esos estados de activacio. Este aprendizaje lo usa hoppfield. 2) Aprendizaje Competitivo y operativo Las neuronas (o grupo de neuronas) compiten entre ellas. Cuando se presenta una entrada a la red, solo una (o un determinado subgrupo) se activa para dar la salida. La competencia entre neuronas es en todos los niveles, hay conexiones de inhibición con las neuronas vecinas. Si el aprendizaje es cooperativo, estas conexiones vecinas serán de excitación (signo positivo) El objetivo de este aprendizaje es categorizar (clusterizar) los datos que se introducen en la red. El aprendizaje afecta solo a las neuronas ganadoras. 20 Resumen material lectura (en orden) 16/11/2015 [2.3.1] Perceptron Utiliza aprendizaje supervisado. Solo puede resolver problemas de orden 1 (linealmente separables). Osea, claro, vos pones las posibles entradas en un plano. Si podes crear una línea imaginaria que clasifique todas las entradas en una categoría y todas las otras en otra categoría, la podes hacer con el perceptron. Por ejemplo, esto seria un XOR. (0,0) y (1,1) deberían devolver cero, y los otros dos uno, pero es imposible trazar una línea que divida los dos espacios. [2.3.2] La red Backpropagation Se puede aplicar en modelos de redes con mas de dos capas de neuronas. Una característica importante de este algoritmo es la representación interna del conocimiento que es capaz de organizar en las capas ocultas para lograr cualquier correspondencia entre entradas y salidas. Consiste en un aprendizaje de un conjunto predefinido de entrada-salida dados como ejemplo, empleando un ciclo de propagación-adaptacion de dos fases: Se aplica patrón de entrada que genera una salida, se compara con la salida esperada y se obtiene un error Este error es transmitido hacia atrás, a todas las neuronas q contribuyeron directamente con la salida, recibiendo el porcentaje de error aproximado a la participación de la neurona intermedia en la salida original. Estructura Existen n neuronas en capa de entrada, m neuronas en capa de salida y por lo menos una capa oculta. Cada neurona (salvo la de entrada) recibe entrada de todas las neuronas de la capa previa, y genera salida a todas las neuronas de la caba siguiente (salvo las de salida). No hay conexiones hacia atrás, feedback, laterales o autoconcurrentes. 21 Resumen material lectura (en orden) 16/11/2015 Consideraciones Un problema de este algoritmo de entrenamiento es que busca minimizar la función de error pudiendo caer en un mínimo local o algún punto estacionario sin llegar a encontrar el mínimo global. Dimensiones No hay reglas concretas para numero de capas o de patrones de entrenamiento. En general son 3, pero mas capas ocultas pueden agilizar el aprendizaje, aunque mas capas significa mayor costo de procesamiento. [2.4] El modelo de Hopfield Arquitectura Red monocapa con N neuronas con valores de salida binarios. Cada neurona se encuentra conectadas a todas las demás, pero no con ella misma. Los pesos entre pares de neronas son simetricos. Funcionamiento Es autoasociativa, por eso puede almacenar varias informaciones (patrones) diferentes en su red. Si la entrada coincide con algo que la red sabe, lo devuelve. Si no coincide, devuelve lo mas parecido que ella conozca. Aprendizaje Tiene un mecanismo de aprendizaje OFFLINE. Utiliza un aprendizaje no supervisado tipo Hebbiano. Limitaciones Las redes tienen capacidad máxima de patrones almacenados Los patrones de entrenamiento deben ser ortogonales (deben ser suficientemente diferentes) 22 Resumen material lectura (en orden) 16/11/2015 [2.5] El modelo de Kohonen Arquitectura Se trata de una red de dos capas con N neuronas de entrada y M de salida. Todas se conectan mediante conexiones hacia adelante. Las neuronas de salida tienen conexiones laterales inhibidoras implícitas, porque aunque no están conectadas, influyen entre ellas. Mientras mas lejanas estén, menor es la influencia entre dos neuronas. Funcionamiento Es una red de tipo cometitivo. Aprendizaje Es de tipo OFFLINE también. Aprendizaje no supervisado competitivo. Las neuronas de la capa de salida compiten por activarse y solo una de ellas permanece activa ante una entrada determinada. Los pesos de las conexiones se ajustan en función de la neurona que haya resultado vencedora. Limitaciones de las redes competitivas (como kohonen) Se debe tener cuidad en elegir patrones de entrenamiento que no sean ni muy rapidos (pueden converger mal), ni demasiado precisos (Son muy lentos). Las clases de aprendizaje no deben estar muy juntas. Un tercer problema (gracioso) es que el peso inicial de una neuerona se encuentre muy lejos de cualquier vector de entrada y que jamás gane ninguna competición. Esto será “la muerte” de la neurona. 23 Resumen material lectura (en orden) 16/11/2015 04/05 K52/11 – Libro “Sistemas Inteligentes”, algoritmos genéticos [3.1] Introducción Un AG simula la evolución de una población de individuos mediante un proceso iterativo aplicado sobre un conjunto de estrucuras. Cada estructura se compone de características que definen la aptitud del individuo en un entorno. La población de estructuras evoluciona de generación en generación mediante la recombinación de sus integrantes, la mutacion de características al azar y la selección de las estructuras mas aptas. Aptitud de un individuo: que tan buena es la solución que presenta a un determinado problema. El objetivo del AG es encontrar esta “buena” solución al problema. 24 Resumen material lectura (en orden) 16/11/2015 [3.1.1] Algoritmo simple Se requieren dos elementos: (1) representación de soluciones candidatas en individuos de una población, y (2) función que mide aptitud de individuos. La primer generación se creara de forma aleatoria. Las siguientes se crearan a partir de la generación anterior, con las operaciones: (1) selección, (2) cruza y (3) mutacion. El algoritmo continua hasta que ocurre la condición de paro (ej: se genera un individuo excepcional, cota max de evaluaciones o generaciones, etc.) El operador de mutación es considerado secundario, los otros dos son principales. Operadores (1) Selección: proceso por el cual “sobreviven” los individuos que representen una mejor aptitud. Se asigna a un individuo una cantidad de copias de si mismo de acuerdo a la (función de) aptitud para mejorar sus chances de reproducirse. A veces los individuos sobreviven directamente, y otros participan indirectamente contribuyendo su material genético. La proporción de población que es reemplazada en cada generación se denomina salto generacional. (2) Cruza: toma 2 indiviudos sobrevivientes y recombina alguna de sus características (material genético) y produce 2 nuevos individuos para la prox generacion. La selección impone un sesgo en la búsqueda de la cruza, porque siempre hay dominancia de los individuos mas aptos (obvio), esto hace que no sea 100% probabilístico. Por esto existe la mutacion. (3) Mutacion: toma “unos pocos” individuos generados por la cruza y altera algunas de las características tomadas al azar. Evita la perdida de alelos y contribuye a la creación de nuevos. 25 Resumen material lectura (en orden) 16/11/2015 En el ejemplo, las características son llamadas genes y sus valores son llamados alelos. 3.1,3 Sistemas Naturales y Sistemas Artificiales (terminología, esto lo he visto en exámenes) 26 Resumen material lectura (en orden) 16/11/2015 3.1.4 Aplicaciones Son atractivos por: Utilizan poca info especifica del problema Son extensibles (es fácil darles nueva info) otras cosas.. Tienen básicamente dos campos de aplicación: (1) los problemas de optimización, (2) la simulación de ambientes donde el objetivo es maximizar los beneficios acumulados en función del tiempo. 3.2.1 Variantes del operador Seleccion Existen dos tipos de métodos usados: los proporcionales y los que se basan en orden. Los proporcionales otorgan peso a los indiviudos basándose en su aptitud con respecto al resto. Los de orden arman una tabla ordenada por aptitud y los selecciona de acuerdo a su ubicación. Selección por ruleta: Se particiona una ruleta en n posiciones de igual probabilidad (ranuras). A cada individuo se le asigna una cantidad de ranuras proporcional a su aptitud. Se gira la ruleta tantas veces como individuos se necesiten. Selección con control sobre el número esperado. Se hace para cada individuo i: 𝑐𝑖 = 𝑎𝑝𝑡𝑖𝑡𝑢𝑑 𝑑𝑒 𝑖 𝑝𝑟𝑜𝑚𝑒𝑑𝑖𝑜 𝑎𝑝𝑡𝑖𝑡𝑢𝑑𝑒𝑠 Cada individuo recibe siempre una cantidad de copias iguales a la parte entera de Ci, mas una copia adicional con probabilidad igual a la parte decimal de Ci. (ej: si es 7,8 recibe 7 copias y tiene 80% de chances de 1 mas). 27 Resumen material lectura (en orden) 16/11/2015 Selección elitista: no aparecia en el pdf, pero recuerdo que lo mencionaron. Los dos métodos anteriores no garantizan la preservación de los mejores inviduos (porque podrían perderse/cambiarse en el cruce). Elitista preserva los mejores m invididuos de la generación actual a la siguiente generación. (osea que no seria un método de selección? va, se seleccionan, pero no se cruzan). Selección por ranking Convergencia prematura: los muy buenos dominan rápido la población, antes de explotar todas las posibilidades. En ranking, cada individuo recibe una cantidad de copias que solo dependen de su ubicación dentro de la tabla. Se distribuye la cantidad de copias en forma lineal. Selección torneo No aparece en el apunte, pero si en el pdf! Esta basado en los torneos medievales. El mas fuerte se salvaba del sablazo y quedaba, y el mas débil no. Agarro individuos de a pares y voy filtrando. 3.2.1 Variantes del operador cruza Los individuos son en general, representados por estructuras de longitud fija (es fácil pensar en una cadena de caracteres). Lo que hace el operador cruza, es tomar 2 individuos, e intercambiar segmentos de sus estructuras para producir 2 individuos nuevos (hijos). Sin embargo, dependiendo de la cruza que se utilice, no necesariamente se generaran 2 hijos de 2 padres. Cruza simple Se elige una posición dentro de la estructura (punto de cruza), y se intercambian entre los dos individuos los segmentos separados por ese punto. Cruza multipunto La cruza simple es un caso particular de la cruza multipunto, donde la cantidad de los puntos que dividen los segmentos n = 1. 28 Resumen material lectura (en orden) 16/11/2015 Cruza binomial En el PDF esta explicado distinto que en el apunte. La del PDF es mas fácil, ya que no habla de probabilidades, sino que son segmentos precisos. El apunte considera que existen probabilidades en cada posición de heredar del padre o heredar de la madre. 1) Mascara complemento La mascara define que pedazo tomo de cada padre hacia cada hijo. Los hijos serán complementarios entre ellos (opuestos en los pedazos que los forman, ya que sus mascaras son opuestas) 2) Mascara doble Se usa una mascara para el hijo1 y otra mascara para el hijo2, no necesariamente complementarias. 3) Azar Este es como dice el apunte. Cada posición tiene una probabilidad de heredar del padre o de la madre (1 – Ppadre = Pmadre). Un solo hijo de la unión. 3.2.1 Variantes del operador mutacion La probabilidad de mutacion puede ser constante durante toda la búsqueda o puede ser adaptativa. Simple Se elige un gen de forma aleatoria y se muta con probabilidad (baja). La probabilidad de mutacion se mantiene constante en todas las generaciones. Adaptativa por convergencia Aumenta la probabilidad de mutacion cuando la población se hace muy homogénea. (es lo que decía antes por convergencia). Disminuye cuando hay mas diversidad. Adaptativa por temperatura (ascendente / descendente) No depende de la calidad de la población (como el anterior) sino en la cantidad de generaciones. En temperatura ascendente, la prob de mutacion aumenta con cada generación hasta un máximo y a partir de ahí se mantiene constante. Es importante la existencia de una cota máxima, sino es un bolonqui. En temperatura descendente, es lo contrario. Se comienza con mucha probabilidad de mutacion, pero esta prob va bajando. Debe existir una cota inferior mayor a cero. 29 Resumen material lectura (en orden) 16/11/2015 El apunte continua, pero son temas que no aparecen en el pdf. Los leo si tengo tiempo o luego me parecen necesarios. K52/01 a partir de la 22: ciclo de vida de la INCO Metodología de construcción de sistemas basados en conocimiento Especificacion de requisitos: Punto de vista Respecto a las propiedades del sistema que especifican Respecto a su importancia relativa Respecto al carácter de cada requisito Pueden ser: Funcionales No funcionales (estructurales) Esenciales Que debe realizar el sistema para que sea aceptable Deseables o derivados Derivadas de las especificaciones esenciales. Implícitos Subproducto de la practica perspicaz de la ingeniería software (no inco, software) Cerrados Bien definidos y estables. Abiertos No se entienden y son dinamicos. Cada vez mas se ve que los requisitos no siempre fueron claros. Esto provoca que no exista un producto final y siempre se cuente con un prototipo. Esto hace que el sistema sea perfectible. El perfeccionamiento requerido hace que el mantenimiento sea de máxima importancia. Época: ciclo completo, desde la fase de análisis a la fase de desarrollo del perfeccionamiento. Métodologia ideal incorpora un ciclo de vida en 3 dimensiones, porque el espiral plano no da cuenta del mantenimiento perfectivo. Es decir, la incorporación sistemática de nuevos conocimientos que se producen en el propio SBC. El eje indica la calidad de adquisición de conocimientos. 30 Resumen material lectura (en orden) 16/11/2015 31 Resumen material lectura (en orden) 16/11/2015 Metodología ideal A la izq aparece que factores amenazan el éxito, a la derecha los que lo promueven. 32