La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas

Presentaciones similares


Presentación del tema: "Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas"— Transcripción de la presentación:

1 Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas
Computación Evolutiva Gabriela Ochoa

2 Contenido Inspiración biológica: La Teoría de la Evolución Natural
Algoritmos Evolutivos Paradigmas en Computación Evolutiva Estrategias Evolutivas (ES) Programación Evolutiva (EP) Algoritmos Genéticos (GAs) Ramificaciones de los Gas Relación con otras áreas: IA, Computación Emergente, Soft Computing

3 Charles Darwin 1859: “The Origin of Species” Derrumba el Lamarckismo
Evolución se origina a través de cambios aleatorios de características hereditarias, combinados con un proceso de selección natural (Supervivencia de los más aptos)

4 Selección Natural Proceso natural por el cual los individuos mas aptos de un grupo de descendientes sobrevive para transferir sus rasgos heredados a las generaciones sucesivas Mientras los menos aptos, mueren sin dejar descendientes y así se eliminan los rasgos característicos de los menos aptos Este proceso explica los cambios en las características de las especies en el tiempo, y eventualmente produce especies y tipos nuevos de organismos Natural Selection The natural process in which the fittest in a group of offspring survive to pass on their heritable traits to subsequent generations while those less fit die off leaving no offspring and thereby terminating the traits characterizing the less fit organism. Darwin theorized that this process could account for changes in the characteristic traits of species over time and eventually produce wholly new species and different types of organisms.

5 Neo-Darwinismo + Versión moderna de la Teoría Evolutiva de Darwin
Síntesis entre el Darwinismo y la Genética Mendeliana Darwin desconocía los mecanismos de variación Neo-Darwinism is the modern version of Darwinian evolutionary theory: the synthesis of Mendelian genetics and Darwinism. Darwin knew very little about the mechanism of variation; he merely recognized that whatever its source, phenotypic variation allowed for natural selection to operate. It was modern genetics that provided the key insight into the means by which variation in biology originated

6 Evolución Proceso de descendencia con cambio, y posiblemente diversificación Evolución = Variación + Herencia + Selección Población Variación: en una o mas características Herencia: Transmisión padres - hijos Selección: Diferentes tasas de reproducción y supervivencia. Mas aptos se reproducen mas

7 Computación Evolutiva
Años 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

8 Naturaleza / Computación

9 Jhon Von Neumann (1) Nació en Budapest Hungría en 1903
Genio prematuro, a los 8 años leyó una enciclopedia de historia universal de 42 volúmenes Publicó su primer paper a los 18 años con su tutor Estudió química en la Universidad de Berlín hasta 1923 Lugo viaja a Zurich, donde en 1925, recibe un título en Ing. Química

10 Jhon Von Neumann (2) 1928: recibe doctorado en matemáticas de la Universidad de Budapest, a la edad 22 años Instituto de Estudios Avanzados en Princeton, desde Hasta el final de su vida Matemático mas brillante del siglo 20, contribuciones a la mecánica cuántica, análisis funcional y lógica matemática Invento áreas nuevas como: la teoría de juegos, los autómatas celulares La arquitectura von Neumann del computador, aun domina el área

11 Jhon von Neumann (3) 150 publicaciones: 20 en Física y el resto distribuido mas o menos equitativamente entre: Matemáticas Puras: (set theory, logic, topological group, measure theory, ergodic theory, operator theory, and continuous geometry) Matemáticas Aplicadas: (statistics, numerical analysis, shock waves, flow problems, hydrodynamics, aerodynamics, ballistics, problems of detonation, meteorology, and two nonclassical aspects of applied mathematics, games and computers).

12 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.

13 Ramas de Algoritmos Genéticos
Programación Genética (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.

14 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.

15 El Ciclo Evolutivo Selection Parents Recombination Population Mutation
Replacement Offspring

16 Solución de Problemas usando Algoritmos Evolutivos

17 Algoritmos Genéticos Jhon Holland, 60s, y 70s, Univ. Michigan
Idea original estudio teórico de la adaptación, no resolución de problemas Representación genética independiente del dominio: cadenas de bits Énfasis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante Selección probabilística 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.

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

19 Estrategias Evolutivas (2)
(m, l)-ES: Los mejores m individuos se escogen 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 escogen 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

20 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-adaptaba para el tamañ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.

21 Programación Evolutiva
Inicialmente, evolución a través 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 probabilística

22 ES EP GA Representación 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 único 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 Probabilística, 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

23 Algoritmos Evolutivos y Métodos Tradicionales de Búsqueda
Búsqueda de datos almacenados: Acceder de manera eficiente información en la memoria del computador. Ej. Búsqueda 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, Tabú 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.

24 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.

25 Relación con Inteligencia Artificial
Enfoque Simbólico – top down Sistemas Expertos-Expert Systems (SE-ES) Lógica Preposicional (Cálculo Preposicional) 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),

26 Soft Computing SC = EC + ANN + FL Redes Neurales Artificiales
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 SC = EC ANN FL 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 Redes Neurales Artificiales Soft Computing Computación Evolutiva Lógica Difusa

27 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

28 Ciencias de la Complejidad
Estudio, en diferentes disciplinas, de cómo una colección de elementos simples, siguiendo reglas simples, producen un comportamiento emergente, colectivo y complejo Precesamiento y comunicación de información Formación de patrones complejos y cambiantes Aprendizaje y adaptación al ambiente

29 Qué es Computación Emergente?
Surge cuando acciones de componentes simples con información y comunicación limitada, producen procesamiento coordinado y global de información Resulta de la actividad colectiva en sistemas de muchas unidades de cómputo elementales en interacción local El todo es más que la suma de las partes

30 Neuronas Sistema Nervioso

31 Transacciones Comportamiento de la Bolsa

32 Hormigas Colonias de Hormigas

33 Rebaños Cardúmenes

34 Comportamiento de Bandadas
Modelo computacional de movimiento coordinado de animales (rebaños, bandadas) (C. Reinolds,1986) BOIDS Modelo se basa en 3 comportamientos simples de dirección que describen como un individuo maniobra en base a las posiciones y velocidades de sus vecinos cercanos de vuelo

35 Las 3 Reglas de Dirección
Separación: Evitar colisión con compañeros cercanos de vuelo Alineación: Imitar dirección y velocidad promedio de los compañeros cercanos de vuelo Cohesión: Moverse hacia posición promedio de los compañeros cercanos de vuelo

36 Preguntas Centrales – Ciencias de la Complejidad
Cómo grandes redes con: Componentes simples, Comunicación limitada Sin control central, Reglas simples de operación producen comportamientos complejos (vivos, inteligentes) que involucra Computación y procesamiento de información Dinámicas y patrones complejos Adaptación y Aprendizaje? Existen principios generales que aplican a todos los sistemas complejos?


Descargar ppt "Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas"

Presentaciones similares


Anuncios Google