Clase 4: Algoritmos Evolutivos

Slides:



Advertisements
Presentaciones similares
ALGORITMOS GENETICOS EVOLUCIÓN DE UNA POBLACIÓN DE
Advertisements

TEORIA SOBRE LA EVOLUCION
Genética: Rama de la Biología que estudia la herencia de los caracteres Gen: cada uno de los fragmentos de ADN que contiene la información responsable.
Origen de la vida y evolución.
Genética de poblaciones y selección natural
Variabilidad y herencia
Evolución según Lamarck y Darwin
Lamarck vs Darwin vs Otros
“Impulsando la Sociedad
TEORÍAS DE LA EVOLUCIÓN.
LA EVOLUCIÓN BIOLÓGICA
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
¿Origen de la Biodiversidad?
Definición Los Algoritmos Genéticos son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. los Algoritmos Genéticos.
“En lugar de envidiar la naturaleza debemos emularla” Holland
Sistemas Inteligentes Algoritmos Evolutivos
Sistemas Inteligentes Algoritmos Geneticos
Tema 15: Evolución Jorge Muñoz Aranda Biología-Curso de Acceso
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos.
EVOLUCIÓN.
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
ALGORITMO GENÉTICO John Henry Holland (n. 02 de febrero 1929, Fort Wayne, Indiana, EE.UU.) ostenta los títulos de Profesor de Psicología y Profesor de.
Computacion Inteligente
LAMARCKISMO DARWISNISMO TEORÍA SINTÉTICA
Elementos de la Teoría de la Evolución
Optimización matemática Algoritmos Genéticos – Parte 1 Por: Antonio H
Base química de la herencia
EVOLUCIONISMO.
UNIDAD IV: VARIABILIDAD, EVOLUCIÓN Y ADAPTACIÓN
LA SELECCIÓN NATURAL MARIA ELISA ARROYO
GENETICA MENDELIANA.
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Teorías de la Evolución de los seres Vivos
Los principios de la selección natural.
BIOINFORMÁTICA TEMA 1 INTRODUCCIÓN
Teoría de Selección Natural
Computación Evolutiva
Capítulo 8 Genética poblacional y selección natural.
Neodarwinismo.
Aspectos adaptativos de adquisición y distribución de recursos
Algoritmos genéticos Introducción Esquema básico Codificación
VARIABILIDAD, HERENCIA Y MONOHIBRIDISMO
Una introducción a la computación evolutiva
Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas
HERENCIA Y MEDIO AMBIENTE
Tema 15: Evolución Jorge Muñoz Aranda Biología-Curso de Acceso
Mary C. Jarur M. ww.udec.cl/~mjarur
¿Cómo surgen las nuevas especies?
1.
INSTITUTO TECNOLÓGICO DE TIJUANA Maestría en Ciencias en Ciencias De La Computación Tema: Operadores genéticos Alumnas: Leticia Mendoza Reyes. Rosalinda.
Clase de nivelación en Biología Dr. Yntze van der Hoek
Teoría de la evolución de Lamarck
ALGORITMOS GENETICOS.
4.- EL LAMARCKISMO, LA PRIMERA TEORÍA EVOLUTIVA
3.4 PRINCIPALES FACTORES DE LA EVOLUCION
Taller: Inteligencia Computacional
Ing. Uziel Quiroz Castañeda Blanca Esthela Carranza Ortega 8º Semestre Junio/2013.
LA GENETICA.
TEORÍAS SOBRE LA EVOLUCIÓN
GREGOR JOHANN MENDEL Andrea Kaplan, 1ºB..
ANTECEDENTES “Teoría de la Generación espontanea”
GENETICA MENDELIANA.
TEORIAS SOBRE EL ORIGEN DE LAS ESPECIES
GENETICA MENDELIANA.
TRABAJO DE ESPAÑOL ESTUDIANTE: JOSE MANUEL MEDINA GRADO: 9-02 PROFESORA: OTILIA PITRE COLEGIO: RODOLFO MORALES – JOSE DOMINGO BC INTITUCION EDUCATIVA.
TEORÍAS SOBRE LA EVOLUCIÓN
Objetivos de aprendizaje Generalidades ¿Qué es la microevolución? ¿Cuál es el papel de las mutaciones en el proceso evolutivo? ¿Cuál es el papel del flujo.
Neodarwinismo o Teoría sintética y saltacionismo
Microevolución Cambios a pequeña escala en las frecuencias de los alelos, producidos por las mutaciones, selección natural, flujo genético y desplazamiento.
Transcripción de la presentación:

Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa http://www.ldc.usb.ve/~gabro/

Problema Optimización Numérica Función Vencindad: x = (x1, …, xn), li ≤ xi ≤ ui x’ = xi + N(0,σi), σi = (ui - li)/6 Hillclimbing iterado, generar vecindad de tamaño fijo Simulated Annealing, dos tipos de puntos vecinos.

Simulated Annealing in Matlab for i=1:TRIES, nAccep = 0; for j=1:NOVER, solNew = NewSolution(solCurr,bounds,i,TRIES); % Generate new solution [ solNew(1,:) solNew(1,totLen)] = EvalSol(solNew,evalOps); %Evaluate new Solution deltaE = solCurr(1,totLen) - solNew(1,totLen); if (deltaE >= 0) | (rand < exp(deltaE/T)) solCurr = solNew; % Accept Solution nAccep = nAccep + 1; end if (solCurr(1,totLen) < solBest(1,totLen)) % Minimization Problem solBest = solCurr; bestTrace = [bestTrace solBest(1,totLen)]; currTrace = [currTrace solCurr(1,totLen)]; T = T * TFACTR; % Annealing Schedule cbTrace = [cbTrace solBest(1,totLen)]; % Current best trace

Parámetros y variables del SA solCurr = zeros(1,totLen); % Allocate the current solution solNew = zeros(1,totLen); % Allocate the new solution solBest = zeros(1,totLen); % Allocate the best solution TFACTR = 0.85; % Ann Sched: Reduce T by this factor on each step TRIES = 100; % Number of Temperature Steps to try TMAX = 10; % Maximun Initial Temperature T = TMAX; % Current Temperature NOVER = 30; % Max. No. of solutions tried at any temp NLIMIT = 10; % Max. No. of successful solutions before continuing nAccep = 0; % Counter for the number of accepted solutions deltaE = 0; % Maintains difference in performance between current and new solution bestFitness = 0; % Maintais best-so-far fitness

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

Creacionismo Tesis más aceptada sobre el origen de las especies, durante mucho tiempo Dios creó a todas las especies del planeta de forma separada Especies jerarquizadas por Dios. El hombre ocupaba el rango superior, al lado del creador

Georges Louis Leclerc (Conde de Buffon) Especuló (siglo 18) que las especies se originaron entre sí, oposición al "creacionismo”. Notó las similitudes entre el hombre y los simios, y especuló sobre la existencia de un posible ancestro común entre estas 2 especies Creía que los cambios orgánicos, eran ocasionados por el ambiente Leclerc creía en los cambios orgánicos, pero no describió un mecanismo coherente que fuera responsable por efectuarlos, sino que especuló que era el ambiente el que influía directamente sobre los organismos

Jean-Baptiste Lamarck Principios siglo 19, enunció teoría de la Evolución Características adquiridas por un organismo durante su vida podían ser transmitidas a sus descendientes. Ley del uso y desuso

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)

August Weisman Teoría del germoplasma: (siglo 19) la información genética se transmite a través de ciertas células (llamadas germinales), mientras que otras células (llamadas somáticas) no pueden transmitir nada.

August Weisman Experimento: cortó las colas de un grupo de ratas durante 22 generaciones (1,592 ratas), sin que las nuevas generaciones de ratas perdieran dicha extremidad Demostró así la falsedad de la hipótesis fundamental del Lamarckismo

Johann Gregor Mendel Realizó una serie de experimentos con lentejas durante una buena parte de su vida, enunciando a partir de ellos las leyes básicas que gobiernan la herencia.

Experimentos de Mendel Planta alta (TT) cruzada con una corta (tt) Tt: Heterocigoto (Alelos distintos para mismo gen) TT, tt: Homocigotos (Alelos iguales para mismo gen) Carácter Alto es Dominante, y Corto es Recesivo

Neo-Darwinismo + +

Evolución Componentes: Proceso de descendencia con cambio, y posiblemente diversificación Componentes: 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

Naturaleza / Computación

Breve Historia 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

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.

Ramas de Algoritmos Genéticos Programación Genética (Genetic Programming, GP) Jhon Koza, 1989. 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.

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.

El Ciclo Evolutivo Selection Parents Recombination Population Mutation Replacement Offspring

Solución de Problemas usando Algoritmos Evolutivos

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.

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

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

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.

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

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