La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Computación Evolutiva

Presentaciones similares


Presentación del tema: "Computación Evolutiva"— Transcripción de la presentación:

1 Computación Evolutiva
Curso Aprendizaje Clase1: Introducción, Paradigmas de Computación Evolutiva, Relación con otras Areas

2 Motivación Cual es el resolvedor de problemas mas poderoso del Universo? El cerebro humano: que creo la rueda, las computadoras, etc El Mecanismo Evolutivo: Que creo el cerebro humano

3 Técnicas para Solución de Problemas Inspiradas en la Naturaleza
Cerebro  Neuro-Computación Humano (Redes Neurales) Evolución  Computación Evolutiva (Algoritmos Evolutivos)

4 Computación Evolutiva
Area Interdisciplinaria: relacionada con Biología, Inteligencia Artificial, Optimización Estudia métodos de búsqueda y resolución de problemas inspirados en los mecanismos de la Evolución Natural

5 Criaturas Virutuales – Karl Sims
Cangrejo vs. Brazo Culebra de agua Saltador Seguidor de 3 brazos

6 Criaturas Virutuales – Karl Sims

7 Evolución Componentes:
Proceso de descendencia con cambio, y posiblemente diversificación Componentes: Población Variación: en una o mas caracterísitcas Herencia: Transmisión padres - hijos Selección: Diferentes tasas de reproducción y sobrevivencia. Mas adaptados se reproducen mas

8 Naturaleza / Computación

9 Contenido Historia, Paradigmas en Computación Evolutiva
Estrategias Evolutivas (ES) Programación Evolutiva (EP) Algoritmos Genéticos (GAs) Ramificaciones de los GAs Relación con otras áres (Busqueda, IA, Optimización, Heurísticas, Soft Computing, Computación Emergente)

10 Breve Historia En los 50s y 60s varios científicos de manera independiente estudiaron sistemas evolutivos, con la idea usar la evolución como método optimización en ingeniería Idea: Evolucionar una población de posibles soluciones a un problema dado, utilizando operadores inspirados por la variación genética, y la selección natural

11 Enfoques en Computación Evolutiva
EC = GA ES EP Computación Evolutiva Algoritmos Genéticos (Holland, 75) Estrategias Evolutivas (Rechenberger, 73) Programación Evolutiva (Fogel, Owens, Walsh, 66) Similares en un nivel abstracto, inspiradas en los principios de la Evolución Natural. Diferencias a nivel de implementación. Aspectos de representación de las estructuras, operadores de variación, métodos de Selección, medidas de desempeño Historically, there have been three well-defined approaches to evolutionary computation: ``evolutionary programming'‘ (Fogel,66), ``evolution strategies'' (Rechenberg,73), and ``genetic algorithms'' (Holland, 75). Although similar at the highest level, these approaches differ in the way they implement an EA. The differences touch all the aspects of EAs, including the choices of representation for the individual structures, types of selection mechanisms, forms of variation operations, and measures of performance. The major differences are, however, in the choice of representations, and emphasis and use of variation operators. Evolutionary programming (EP) uses representations that are tailored to the problem domain. Similarly, evolutionary strategies (ES), due to initial interest in hydrodynamic optimisation problems, use real-valued vector representations. On the other hand, genetic algorithms have traditionally used a more domain independent representation, namely, binary strings. Regarding variation operations, both EP and ES use mutation as the main operator, and propose a form of self-adaptive mutation; whereas GAs emphasise recombination as the main search operator, and use mutation as a secondary operator applied with a small constant probability.

12 Ramas de Algoritmos Genéticos
Programación Genetica (Genetic Programming, GP) Jhon Koza, Espacio de búsqueda, programas de computación en un lenguaje que puede ser modificado por mutación y recombinación GAs basados en ordenamiento (Order based GAs): utilizados en optimización combinatoria. Espacio de búsqueda: permutaciones Sistemas Clasificadores Genéticos (Classifier Systems). Especio de reglas de producción, sistema de aprendizaje, inducir y generalizar Although it is not possible to present here a thorough overview of all variants of evolutionary algorithms; it is worth mentioning: order-based genetic algorithms, classifier systems, and genetic programming as branches of genetic algorithms that have developed into their own directions of research and application. Order-based GAs are used in combinatorial optimisation problems where the search space is the space of permutations (e.g. the travelling salesman problem); they work directly on the permutation, applying specialised genetic operators (e.g. inversion and reordering) that preserve permutations. Classifier systems use an evolutionary algorithm to search the space of production rules of a learning system that can induce and generalise. Genetic programming applies evolutionary search to the space of computer programs in a language suitable for modification by mutation and recombination. The dominant approach uses the LISP programming language, but other languages including machine code have also been used.

13 Esqueleto de un Algoritmo Evolutivo
Generate [P(0)] t  0 WHILE NOT Termination_Criterion [P(t)] DO Evaluate [P(t)] P' (t)  Select [P(t)] P''(t)  Apply_Variation_Operators [P'(t)] P(t+1)  Replace [P(t), P''(t)] t  t + 1 END RETURN Best_Solution It can be seen that the algorithm comprises three major stages: selection, reproduction and replacement. During the selection stage, a temporary population is created in which the fittest individuals (those corresponding to the best solutions contained in the population) have a higher number of instances than those less fit (natural selection). The variation operators are applied to the individuals in this population yielding a new population. Finally, individuals of the original population are substituted by the new created individuals. This replacement usually tries to keep the best individuals deleting the worst ones. The whole process is repeated until a certain termination criterion is achieved (usually after a given number of iterations). Notice that the algorithm establishes a trade-off between the exploitation of good solutions (selection stage) and the exploration of new zones of the search space (reproduction stage), based on the fact that the replacement policy allows the acceptation of new solutions that not necessarily improve the existing ones. EAs are heuristics and thus they do not ensure an optimal solution. The behaviour of these algorithms is stochastic so they may potentially present different solutions in different runs of the same algorithm. That's why it is very common to need averaged results when studying some problem and why probabilities of success (or failure), percentages of search extension, etc... are normally used for describing their properties and work.

14 El Ciclo Evolutivo Selection Parents Recombination Population Mutation
Replacement Offspring

15 Solución de Problemas usando Algoritmos Evolutivos

16 Algoritmos Genéticos Jhon Holland, 60s, y 70s, Univ. Michigan
Idea original estudio teórico de la adaptación, no resolución de prolemas Representación genética independiente del dominio: cadenas de bits Enfásis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante Selección probabilistica On the other hand, genetic algorithms have traditionally used a more domain independent representation, namely, binary strings. Regarding variation operations, both EP and ES use mutation as the main operator, and propose a form of self-adaptive mutation; whereas GAs emphasise recombination as the main search operator, and use mutation as a secondary operator applied with a small constant probability.

17 Estrategias Evolutivas (1)
ES, Evolution Strategies, Alemania. Evolutionstrategies Utilizadas para resolver problemas duros (sin solución anílitica) de optimización de parámetros (No. reales) Cromosoma = vector de parámetors (float) Auto-adaptación de las tasas de mutación, Mutación Distribución Normal, dos parámetros Selección (m, l)-ES, (m + l)-ES Poblacion de padres m e hijos l, puenden tener distinto tamaño Métodos determinísticos que excluyen definitivamente a los peores de la población

18 Estrategias Evolutivas (2)
(m, l)-ES: Los mejores m individuos se escongen de los l hijos, y se convierten en los padres de la siguiente Generación. Ej. (50,100)-ES (m + l)-ES: Los mejores m individuos se escongen del conjunto formado m padres y l hijos. Ej. (50+100)-ES (m, l)-ES parece ser el mas recomendado para optimizar Funciones complejas y lograr la auto-adaptación de las tasas de mutación In (\mu,\lambda)-selection, the \mu best individuals out of the $\lambda$ offspring are selected to become parents of the next generation In $(\mu+\lambda)$-selection the $\mu$ best individuals are selected from the set of $\mu$ parents {\bf and} $\lambda$ offspring. Thus, the $(\mu+\lambda)$ scheme is elitist (see Section \ref{elit}) since it will only accept improvements; it may seem more effective at first glance because it guarantees the survival of the fittest individuals, but it has several disadvantages when compared to $(\mu,\lambda)$-selection. Particularly, it is not well suited for optimising multimodal functions and for achieving self-adaptation of the mutation rates. Thus, $(\mu,\lambda)$-selection is generally recommended

19 Estrategias Evolutivas (3)
El progreso del Algoritmo evolutivo, ocurre solo en una pequeña banda de valores para el paso de la mutación. Por esta razón, se requiere de una regla auto-adaptiva para el ramaño de los pasos de mutación The climax of the theory of the Evolution-Strategy is the discovery of the Evolution Window: Evolutionary progress takes place only within a very narrow band of the mutation step size. This fact leads to the necessity for a rule of self-adaptation of the mutation step size.

20 Programación Evolutiva
Inicialmente, evolución a traves de mutaciones de maquinas de estado finito Representación adecuada al problema Mutación único operador de variación, distribución normal, Auto-adaptación Selección probabilistica

21 ES EP GA Representacion Auto-Adaptación Mutación Recombinación
Números Reales Digitos Binarios Auto-Adaptación Desviaciones estándares y angulos de rotación No (Standard EP) Varianzas (Meta EP) No Mutación Gaussiana, Operador principal Gaussiana, Operador unico Inversión de bit, operador secundario Recombinación Discreta (azar) Intermedia (promedio) Sexual (2 padres), Panmicitica (Varios) Crossover de n-puntos, Uniforme Operador principal Sexual (2 Padres) Selección Determinística, extintiva o basada en preservación Probabilistica, extintiva Probabilistica, basada en preservación Varios operadores de recombinación se usan en ES. Sexual: recombinación actua tomando 2 individuos al azar de la población de padres. Panmitica: un padre es seleccionado al azar y se mantiene fijo, luego para cada componente del vector se selecciona un segundo padre para el crossover Discreta: para cada componente del vector, se decide aleatoriamente de que padre provendra la componente. Intermedia: componentes de los hijos se obtienen calculando la media aritmetica de los correspondientes componentes de los padres

22 Algoritmos Evolutivos y Métodos Tradicionales de Búsqueda
Búsqueda de datos almacenados: Accesar de manera eficiente información en la memoria del computador. Ej. Busqueda Binaria Búsqueda de rutas hacia metas: Encontrar de manera eficiente un conjunto de acciones que llevara de un estado inicial a uno final (meta). Ej. DFS, Branch-bound, A* Búsqueda de Soluciones: Mas general. Encontrar de manera eficiente la solución a un problema, en un espacio grande de soluciones candidatas. Ej. EAs, SA, HC, Tabu El Término búsqueda se utiliza en Computación en varios sentidos. Hemos usado búsqueda para indicar lo que hace un AE. Es importante contrastar este sentido de búsqueda con otros que se han usado en computación. Hay por lo menos 3 significados de ‘busqueda’ en computación, estos significados se solapan entre si. Búsqueda de datos almacenados: El problema es accesar de manera eficiente información en la memoria del computador. Supongamos que tenemos una base de datos de nombres y direcciones amacenados y ordenados bajo cierto criterio. Cúal es la mejor manera de buscar por un registro dado? Ej. Busqueda Binaria Búsqueda de rutas o metas: Aqui el problema es encontrar de manera eficiente un conjunto de acciones que llevara de un estado inicial a uno final (meta). Este es el tipo de búsqueda importante en muchos enfoques en IA. Ejemplo clásico el problema de las 8 numeros, un conjunto de cuadritos enumerados 1-8 sun hubicados en un cuadrado mas grande, dejando un espacio libre. Mover uno de los cuadritos adyacentes al espacio vacio se llama un movimiento, el problema es entonces encotrar el conjunto de movimientos de un estado inicial, al estado final donde todos los cuadritos estan ordenados. Este problema como muchos en IA puede mapearse a un árbol de búsqueda, donde la raiz del árbol corresponde al estado inicial, los nodos que se ramifican de este representan todos los posibles resultados de un movimiento a partir de ese estado, y asi suscesivamente. Ej. Depth-first-search, branch and bound, A* Hay claramente una diferencia grande entre el primer tipo de búsqueda y los segundos. El primero se refiere a problemas donde hay que buscar una pieza de información en (ej. Un numero de telfono) en una coleccion de informacion almacenada especificamente. En los egundos, la informacion a ser buscada no esta almacenada explicitamente. Sino que las soluciones candidatas son creadas mientras procede la busqueda. Ej. Los metodos AI para el problema anterior, no comienzan con un arbol completo con todos los nodos en memoria (demasiado grande, para los problemas de interés). El árbol es generado paso a paso de forma caractarisitica segun el algoritmo., la meta es encontrar una solucion buena o la optima, examinando solamente una porcion pequeña del arbol. De manera similar cuando se usa un AE para buscar en el espacio de soluciones posibles, no se crean todas las posibles soluciones y luego se evaluan, si no que, los GAs son metodos para encontrar soluciones optimas o buenas, examinando solamente una fraccion pequeña de los posibles candidatos. Busqueda de soluciones, engloba a busqueda de rutas hacia metas. EN principio puede codificarse una ruta como solucion candidata. Ej. En el problema de los 8-numeros, una solucion candidata seria una lista de movimientos a partir del estado incial a alguno otro estado. Y solo seria correcta si el estado final es el desado. Tambien ejemplo del Cubo de Rubick. Sin embargo, la mayoria de los problemas de busqueda de rutas hacia metas, se resuelven de mejor manera por tecincas de AI de busqueda en árboles (donde las soluciones parciales pueden evaluarse). En cambio en los AEs en general, la solucion completa debe generarse antes de poder ser evaluada.

23 Un Algoritmo Evolutivo es una técnica de resolución de problemas inspirada en la evolución de los seres vivos. Solucionar el problema consistirá en encontrar la solución óptima, y por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda. Pero un método de búsqueda muy especial, en el que las soluciones al problema son capaces de reproducirse entre sí, combinando sus características y generando nuevas soluciones.

24 Relación con Inteligencia Artificial
Enfoque Simbólico – top down Sistemas Expertos-Expert Systems (SE-ES) Lógica Proposicional (Cálculo Proposicional) Lógica de Predicados (Cálculo de Predicados) Redes Semánticas Frames (Marcos) Lógica difusa o borrosa-Fuzzy Logic (LD-FL) Enfoque Subsimbólico – bottom up Redes Neurales Artificiales Computación Evolutiva El enfoque subsimbólico de la IA se caracteriza por crear sistemas con capacidad de aprendizaje. Éste se puede obtener a nivel de individuo imitando el cerebro (Redes Neuronales), o a nivel de especie, imitando la evolución, lo que se ha denominado Computación Evolutiva (CE),

25 Soft Computing Difiere de la Computación tradicional (hard computing), en que es tolerante a imprecisiones, incertidumbre, aproximación, verdades parciales Modelo: mente humana Principio Guía: aprovechar la tolerancia a los aspectos mencionados arriba, para lograr tratabilidad, robustez, bajo costo En muchos sentidos, soft computing representa un cambio de vision o paradigma en los objetivos de la computacion. Un cambio que refleja el hecho de que la mente humana, a diferencia de los computadores de hoy en día, posee una habilidad remarcambe de almecenar y procesar información que es ampliamente imprecisa, incierta y con falta de categorización SC = EC ANN FL Redes Neurales Artificiales Soft Computing Computación Evolutiva Lógica Difusa

26 Computación Emergente
Procesos de cómputo que resultan de la actividad colectiva de muchas unidades computacionales sencillas con interacción local Sistema dinámico, evoluciona en el espacio de estados bajo conjunto de reglas - REDES NEURALES ARTIFICIALES - ALGORITMOS EVOLUTIVOS - AUTOMATAS CELULARES - MODELOS DE VIDA ARTIFICIAL. - RECOCIDO SIMULADO El comportamiento del sistema es mas que la suma de sus partes


Descargar ppt "Computación Evolutiva"

Presentaciones similares


Anuncios Google