ALGORITMOS GENETICOS EVOLUCIÓN DE UNA POBLACIÓN DE

Slides:



Advertisements
Presentaciones similares
¿ Que es una muestra?.
Advertisements

Tema 13. Inferencia estadística Principales conceptos. Muestreo
Evolución según Lamarck y Darwin
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
“Impulsando la Sociedad
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Tema 3 Revisión de diversos métodos robustos aplicados en algunos problemas fotogramétricos.
PROGRAMACION DE ESTRUCTURAS DE DATOS
Algoritmos Aleatorizados
TEMA 9 PROPORCIÓN Y ESTRUCTURAS MODULARES
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 Geneticos
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos.
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
LAMARCKISMO DARWISNISMO TEORÍA SINTÉTICA
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica División de Estudios de Posgrado Algoritmos Genéticos.
ANALISIS DE DATOS CON EXCEL
Resolución gráfica de problemas de Optimización
1 Planteamiento del problema ¿Tenemos los humanos la capacidad de percibir si nos miran desde atrás? O, más exactamente: ¿Es defendible que existen otras.
Población y Muestra.
DR. ERNESTO SUAREZ.
ANALISIS DE DATOS CATEGORICOS
Evolución Selección Natural.
Sesión 6: Campos de Markov
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Reconocimiento y resolución de ecuaciones impresas Luis Fernández Pérez Marco Antonio Formoso Trigo.
BIOINFORMÁTICA TEMA 1 INTRODUCCIÓN
Universidad de Panamá Escuela de Biología Departamento de genética Genética de Poblaciones Integrantes: Castellanos, Rebeca Robinson, Anine Robles, Jazmin.
EL MALLADO HEXAGONAL Dolores Bonilla Silva Daniel González Ortegón Remedios Gutiérrez Martínez.
Gerenciamiento Técnico de Proyectos
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Universidad Nacional de Colombia Curso Análisis de Datos Cuantitativos.
Inferencia Estadística
El enfoque tradicional del enfoque de aceptación
Capacidad de Proceso.
Algoritmos genéticos Introducción Esquema básico Codificación
Herramientas básicas.
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
Análisis y Diseño de Algoritmos
Adelgazamiento de Imágenes RGB
Una introducción a la computación evolutiva
MoMento S Grupo 33: Ignacio Ayllón Benito Félix A. Velázquez Salas.
Variables estadísticas bidimensionales
Eliminación de ruido y Tratamiento de partes alargadas en imágenes digitales.
Principios de la evolución
Mary C. Jarur M. ww.udec.cl/~mjarur
Un modelo de computación no convencional: La Computación Cuántica
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
EVOLUCIÓN DE UNA POBLACIÓN DE CURVAS EN EL TIEMPO Y EN EL ESPACIO Francisco Antonio González Salas Luis Valencia Cabrera.
Estimación y contraste de hipótesis
ALGORITMOS GENETICOS.
3.4 PRINCIPALES FACTORES DE LA EVOLUCION
Taller: Inteligencia Computacional
Mariaisabel Adrián Fernanda Andrea Esteban Aníbal Nallely Arlet
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Variables estadísticas bidimensionales
Pixelación de imágenes avanzada usando el algoritmo slic
Ing. Uziel Quiroz Castañeda Blanca Esthela Carranza Ortega 8º Semestre Junio/2013.
DIAGRAMA DE HILOS Este tipo de diagrama nos ayuda a estudiar la trayectoria detallada del movimiento de materiales, el movimiento de las manos del operario.

El primer y más importante paso, antes de comenzar a trabajar con Genius, es efectuar su calibrado, este se debe repetir como mínimo cada 12 horas, mediante.
Mini-video 2 de 5 Materia: Límites de funciones Continuidad de funciones Prácticas con Introducción a Funciones de una variable.
P O W E R P O I N T CONCEPTOS BÁSICOS 1.
Circuitos Combinacionales I
Intervalos de Confianza M. C. José Juan Rincón Pasaye UMSNH – FIE Mayo de 2003.
2. LA REPRODUCCIÓN LA REPRODUCCIÓN CONSISTE EN OBTENER ORGANISMOS PARECIDOS A LOS ORGANISMOS ORIGINALES -Reproducción: si se hacen nuevos organismos -División.
Algoritmos voraces Códigos de Huffman. Descripción del problema Tenemos un archivo de entrada. Asumiremos que el archivo está compuesto de bytes (enteros.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Transcripción de la presentación:

ALGORITMOS GENETICOS EVOLUCIÓN DE UNA POBLACIÓN DE CURVAS EN EL TIEMPO Y EN EL ESPACIO

¿En qué consiste la práctica? Se trata de simular la evolución de una población de curvas cerradas y simples mediante Algoritmos Genéticos.

Índice Introducción Curvas Algoritmos Genéticos Conclusiones Aplicaciones Bibliografía Introducción

Introducción La idea es partir de una población inicial de curvas, como hemos dicho, cerradas y simples y hacerlas evolucionar en el tiempo, estableciendo unos parámetros que queremos primar en las curvas, y viendo el resultado obtenido tras un número determinado de generaciones.

Conceptos Básicos De Curvas Hemos dicho que trabajaremos con curvas cerradas y simples. Pero, ... ¿qué significa esto? ¿Qué restricciones nos impone? Dificultad de modelar un concepto analógico, la curva, mediante una máquina digital. Representamos la curva por una malla binaria, donde cada posición puede estar rellena o no. Trabajaremos en 4-adyacencia en blanco y 8-adyacencia en “negro”

Además de la malla comentada, usaremos como forma de codificación de las curvas su código de cadena. Aquí se muestra el código de cadena correspondiente a cada movimiento relativo desde un punto de la curva al siguiente: Y he aquí una muestra en un ejemplo concreto de la extracción del código de cadena de una curva:

Entendemos por curva cerrada a la curva que cumple que todos sus puntos son adyacentes al menos a otros dos puntos de la misma. Además, se debe cumplir que, si recorremos el código de cadena de la curva cuando hayamos terminado de recorrerlo, debemos haber llegado de nuevo al punto de partida. Esta curva no es cerrada!!! Aquí se corta el código de cadena  La curva no es cerrada.

Entendemos por curva simple a la curva que cumple que todos sus puntos son adyacentes como máximo a dos puntos de la misma. Así, la siguiente curva no sería simple: Este punto es adyacente a otros tres  La curva no es simple.

Problema codificar Modelo Evolutivo formalizar Algoritmo genético

"Los algoritmos genéticos son procedimientos adaptativos para la búsqueda de soluciones en espacios complejos inspirados en la evolución biológica, con patrones de operaciones basados en el principio darwiniano de reproducción y supervivencia de los individuos que mejor se adaptan al entorno en el que viven".

Tratamos de simular el proceso evolutivo. Los procesos evolutivos en la naturaleza se producen si se dan cuatro condiciones: Un individuo tiene la habilidad de reproducirse. Una población de ese tipo de individuos es capaz de reproducirse. Existen alguna variedad, diferencia, entre los individuos que se reproducen. Algunas diferencias en la habilidad para sobrevivir en el entorno están asociadas con esa variedad.

¿En qué notamos la diversidad? Variación de estructura y comportamiento Cambios en los cromosomas de los individuos de la población Se refleja en: Grado de supervivencia Adaptación (función objetivo) Nivel de reproducción Los individuos que mejor se adaptan a su entorno son los que más sobreviven y más se reproducen.

Los AG simulan el proceso evolutivo darwiniano y naturalmente utilizan operadores genéticos sobre los cromosomas. No hay una uniformidad en el terreno de los Algoritmos Genéticos, sino que se presentan múltiples variantes y, dependiendo del problema concreto que tratemos, nos convendrá acercarnos más a una postura o a otra. En cada caso hemos optado por la opción que consideramos que es más natural, más respetuosa con el propósito inicial que pretendemos.

Procedimiento: Algoritmo Genético Inicializar población P(0) Evaluar población inicial Mientras no se cumpla la condición de parada, para cada generación t, hacer: Seleccionar la población P(t) desde P(t-1) Recombinar P(t) Evaluar P(t) Fin Mientras Fin Procedimiento Inicializar población P(0) Evaluar población inicial Mientras no se cumpla la condición de parada, para cada generación t, hacer: Seleccionar la población P(t) desde P(t-1) Recombinar P(t) Evaluar P(t) Fin Mientras Fin Procedimiento

Generalmente se acepta que un Algoritmo Genético debe tener 5 componentes: 1. Una representación genética de las soluciones del problema, es decir, representación de las variables que intervienen en cadenas de bits. 2. Una forma de crear una población inicial de soluciones. 3. Una función de evaluación en términos de conveniencia o adaptación de la solución evaluada. 4. Operadores genéticos que cambien la composición de los descendientes. 5. Valores para los parámetros utilizados por los Algoritmos Genéticos (N, Pc, Pm, ...).

Función Objetivo Llamamos así a la función que evalúa la adaptación al medio de los individuos de la población, y es la que nos delimita el criterio a la hora de reproducir y seleccionar unos individuos de la población en lugar de otros. En nuestro caso damos la posibilidad al usuario de elegir entre unos 28 tipos de función objetivo, bien sea primando la mayor o menor aparición de cierto número en el código de cadena, primando unas direcciones por encima de otras (horizontal, vertical, diagonales, ...), o favoreciendo estructuras morfológicas o topológicas (tomar las curvas más o menos redondas, aparición de huecos, ...)

Operadores Genéticos Para efectuar los cambios pertinentes en la población, se emplean los Operadores Genéticos: Reproducción Cruce Mutación Asociadas a los operadores genéticos de cruce y mutación existen: La probabilidad de cruce: Pc La probabilidad de mutación: Pm La primera es la probabilidad de aplicar el operador de cruce sobre parejas de cadenas de "ADN" obtenidas en la reproducción; la segunda es la probabilidad de aplicar el operador de mutación sobre los caracteres de la cadena.

Reproducción ¿En qué consiste? Se trata de simular la reproducción de dos individuos de la población, obteniendo como resultado un nuevo individuo intermedio entre sus dos progenitores. Progenitor 2 Progenitor 1 Curva hija

Reproducción Escalar las dos curvas progenitoras al tamaño medio de las dos curvas (número medio de elementos en el código de cadena). Centrar de las dos curvas, mediante su centroide o centro de masas. Hacer que sus dos códigos de cadena comiencen en el punto de coordenada y=0. Avanzamos a lo largo de las dos curvas, y efectuamos lo siguiente: Calculamos el punto medio entre los puntos actuales (por el que vamos recorriendo) de ambas curvas. Calculamos el código de cadena del movimiento producido al pasar del punto anteriormente recorrido al que ahora estamos recorriendo (observando el movimiento relativo que se ha llevado a cabo). Realizamos el proceso necesario para asegurarnos de que nuestra nueva curva sea cerrada y simple.

Reproducción ¿Cómo hacer que la curva cerrada y simple? Primero hemos de hacer que la curva sea cerrada: Calculamos, recorriendo el código de cadena desde el punto inicial de la curva, cuál sería su punto final. Si la curva no es cerrada, es decir, si su punto inicial no coincide con el final en el código de cadena, iteramos hasta que el final llegue al principio: en función del movimiento relativo que habría que efectuar en la malla para llegar desde el punto final hasta el principio del código de cadena, vamos completando el mismo eligiendo en cada caso el código correspondiente a ese movimiento relativo.

Reproducción ¿Cómo hacer que la curva cerrada y simple? Luego hemos de hacer que la curva sea simple: En primer lugar, eliminamos todos los puntos que tengan un sólo punto adyacente. Realizamos un recorrido interior al código de cadena, para eliminar posibles puntos exteriores que hagan que la curva no sea simple. Ídem del paso anterior pero efectuando un recorrido exterior para eliminar los posible puntos interiores que hagan que la curva no sea simple.

Cruce Se trata de generar un nuevo individuo como resultado del cruce de dos individuos “originales”, dividiendo en un cierto punto el código genético de éstos y siendo el nuevo individuo el resultado de concatenar la primera parte del código genético del primer original con la segunda parte del código del segundo original. Original 2 Original 1 Curva cruzada [toma el color de uno de los originales]

Cruce ¿Cómo lo llevamos a cabo en nuestro caso? Asignamos de manera aleatoria al nuevo individuo el color y la velocidad de uno de los originales, tomando la dirección del otro. Colocamos ambas curvas centradas en la codificación de malla. Hacemos la mezcla de las dos curvas en la malla, ocupando cada una de ellas la mitad superior e inferior de la malla, respectivamente, y mezclándose ambas en las dos filas más centrales. Tratamos de lograr que nuestra curva sea cerrada y simple: Realizamos el recorrido exterior del código de cadena (ver reproducción). b. Realizamos el recorrido interior del código de cadena (ver reproducción).

Mutación ¿En qué consiste? Se trata de producir una leve modificación en el código genético de un individuo, con vistas a diversificar la población, y a la salida de un eventual estado estable en el cuál la similitud de todos los individuos coarten en gran medida la evolución hacia individuos con mayor función objetivo. mutación