Universidad Nacional de Colombia

Slides:



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

Diseño y análisis de algoritmos
ORGANIZACIÓN de la PRODUCCIÓN
Metodología Población y muestra
Gestion Financiera Modelo de inventarios
CONTENIDOS Teoría del muestreo ¿Cómo seleccionar una muestra?
TEORIA DE DECISIONES Introducción.
EVALUACION DE PROYECTOS
Convertidores A/D y D/A
COSTOS CONJUNTOS Y SUBPRODUCTOS
Códigos Detectores y Correctores de Errores
Investigación de Operaciones II
“Impulsando la Sociedad
Expositores: María Gracia León Nelson Arol Ruiz
Población Y Muestra..
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
La prueba U DE MANN-WHITNEY
Clase # 8: Análisis Conformacional (II)
PROGRAMACION DE ESTRUCTURAS DE DATOS
Representación en espacio de estado
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
METODOLOGIA DE LA INVESTIGACIÓN EN ENFERMERÍA
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
Métodos de muestreo.
Conceptos básicos de inferencia
Lic. Eduardo Alatrista Vargas – Docente del curso
Sistemas Inteligentes Algoritmos Geneticos
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos.
Resumen Población Grupo de individuos de la misma especie que ocupan un área determinada y que realizan intercambios de genes. Conjunto de organismos de.
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.
MUESTREO DE ACEPTACIÓN DE LOTES POR VARIABLES
Tema 2: Métodos de ajuste
EXPONENTES Y RADICALES
Evaluación de los proyectos Método general. Evaluación de proyectos de inversión Todos los proyectos de inversión tienen características estructurales.
Población y Muestra.
Universidad de los Andes-CODENSA
Mejoramiento de poblaciones alógamas
Estadística Administrativa I
TEMA Nº 1 Conjuntos numéricos.
(Organización y Manejo de Archivos)
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
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.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Análisis Cuantitativo de Datos (Básico)
Capítulo 8 Genética poblacional y selección natural.
Aspectos adaptativos de adquisición y distribución de recursos
Algoritmos genéticos Introducción Esquema básico Codificación
Análisis y Diseño de Algoritmos
Una introducción a la computación evolutiva
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
Parte I. Estructuras de Datos.
Mary C. Jarur M. ww.udec.cl/~mjarur
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Asignación de Horarios
Simulación por Computadora del Fraude Electoral
INSTITUTO TECNOLÓGICO DE TIJUANA Maestría en Ciencias en Ciencias De La Computación Tema: Operadores genéticos Alumnas: Leticia Mendoza Reyes. Rosalinda.
Investigación de mercados “Muestreo”
ALGORITMOS GENETICOS.
Tomando decisiones sobre las unidades de análisis
3.4 PRINCIPALES FACTORES DE LA EVOLUCION
Taller: Inteligencia Computacional
MEDIDAS DE TENDENCIA CENTRAL
Ing. Uziel Quiroz Castañeda Blanca Esthela Carranza Ortega 8º Semestre Junio/2013.
TEMA: DECISIONES BAJO RIESGO –TEORIA DE JUEGOS Ing. Larry D. Concha B.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Alvaro Alfredo Bravo Dpto. de Matemáticas y Estadística Universidad de Nariño - Colombia METODOS ALEATORIOS.
Transcripción de la presentación:

Universidad Nacional de Colombia Algoritmos Genéticos Freddy Alexander Posada 495983 Nohora Esperanza Rozo 415851 Juan Carlos Lezama 416065 Alfredo Velandia 415706 Norma Idarraga 415114 Eliana Ortegón 415188 Juan Bernardo 416289 Universidad Nacional de Colombia

Origen La vida de los seres en la tierra ha podido evolucionar y ser lo que es a través de los procesos de selección natural, recombinación y mutación. Ilustrar como estos procesos naturales han trabajado en conjunto para llegar a producir una amplia gama de flora y fauna es algo bastante complejo, pero que es susceptible de análisis bastante interesantes.

Definición Cada uno de los organismos vivos está diseñado naturalmente siguiéndose un conjunto de reglas Las reglas son los genes de un organismo Cada gen representa un rasgo específico del organismo Este rasgo tiene una serie de opciones diferentes

Esquema de los seres vivos Definición SELECCIÓN RECOMBINACIÓN MUTACIÓN Los procesos de selección natural, la supervivencia del más fuerte y la mutación de los genes desarrollan un papel muy importante para generar la evolución de un organismo. Esquema de los seres vivos Esquema de la cosas.

Definición General Un algoritmo es simplemente una serie de pasos que están organizados, por lo tanto se encuentran describiendo un proceso que se debe seguir en la búsqueda de solución a determinado problema. Los algoritmos genéticos se definen así dado que son inspirados en la evolución biológica y su base genético molecular

Codificación Binaria Entera Real La representación sea cual sea, debe ser capaz de identificar las características constituyentes de un conjunto de soluciones. Debe darse de forma que distintas representaciones permitan distintas perspectivas y así mismo distintas soluciones. Binaria Entera Real

Codificación Los algoritmos genéticos requieren que el conjunto se codifique en un cromosoma, un cromosoma tiene varios genes, que corresponden a parámetros del problema. Para poder trabajar estos genes en una computadora se codifican en una cadena. El número de bits que se usen para cada parámetro dependerá entonces de la precisión que se busque o del número de opciones que se tengan como posibles. 

Ejemplo Codificación Al principio y tratándose de una población grande, los cromosomas se crean al azar. Una solución que busquemos, por ejemplo 23, representada por 6+5*4/2+1 se representaría así:

Funcionamiento PRUEBA Se prueba el cromosoma en solución al problema Se le asigna una puntuación por ello SELECCIÓN Tomar dos miembros de la población actual Método de la ruleta CRUCE Tasa de cruce depende del número de bits del cromosoma MUTACIÓN La tasa de mutación depende del paso

Ruleta de Selección Es un método para elegir a los miembros de la población de los cromosomas de una manera que sea proporcional a su aptitud. Ello no garantiza que el miembro más fuerte pase a la siguiente generación, pero tiene una buena oportunidad de hacerlo.

Tasa de Cruce Corresponde a la posibilidad de que dos cromosomas se intercambien sus bits. El cruce se realiza mediante la selección de un gen al azar a lo largo de los cromosomas y el intercambio de todos los genes después de ese punto.

Tasa de Mutación Esta corresponde a la posibilidad de que algo dentro del cromosoma se cambie, - un cero se convierta en 1 o un 1 en cero-. Tratándose de genes codificados con números binarios el valor de la tasa de mutación suele ser bajo 1 1

Funcionamiento PRUEBA SELECCIÓN CRUCE MUTACIÓN Los pasos b,c,d se repiten hasta que una nueva población de los miembros de n se ha creado.

Algoritmo Principal Cada uno de los algoritmos genéticos representa una posible solución al problema que se desea resolver. Todo individuo tiene asociado un ajuste de acuerdo a la bondad con respecto al problema de la solución que representa, a ese ajuste de cada individuo se le llama Algoritmo principal.

Reproducción de los AGs La reproducción de los algoritmos se puede hacer a través de: Cruce: Trata de una reproducción de tipo sexual Copia: Trata de una reproducción de tipo asexual. Del algoritmo principal desarrollado por Holland se han propuesta distintas variaciones para reemplazar una población temporal, esas variaciones son: Reemplazo de padres. Reemplazo de individuos similares. Reemplazo de los peores individuos. Reemplazo aleatorio.

ALGORITMO GENÉTICO SIMPLE También denominado canónico es un tipo de algoritmo, el cuál necesita una codificación o representación del problema que resulte conveniente para este, además requiere una función de ajuste la cuál asigna un número real a cada solución codificada. El resultado de la combinación de las anteriores funciones será un conjunto de individuos (posibles soluciones al problema), los cuales en la evolución del Algoritmo Genético formarán parte de la siguiente población.

TIPOS DE REPRESENTACIÓN DE LOS AGs Representación binaria en la que el valor de cada gen es 0 o 1. Representación entera en la que cada gen toma un valor numérico dentro del rango de números enteros. Representación real en la que cada gen es un valor real.

TAMAÑO DE LA POBLACIÓN Se intuye que el trabajo con poblaciones pequeñas es riesgoso al no cubrir al 100% el espacio de búsqueda, mientras que en poblaciones grandes, el riesgo es tener un excesivo costo computacional. Goldberg concluyó que un tipo de población de tamaño L crece exponencialmente con codificación binaria, pero, no sería muy aplicable a las codificaciones de valor real. Alander sugiere una población ideal entre 1 y 21 tipos, y cree que este rango es suficiente para solucionar los problemas por él planteados.

POBLACIÓN INICIAL Habitualmente la población inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los posibles valores del alfabeto con probabilidad uniforme. Si los individuos de la población inicial se obtienen por optimización local, puede acelerar la convergencia del Algoritmo Genético.

FUNCIÓN OBJETIVO Existen dos aspectos que resultan cruciales en el comportamiento de los Algoritmos Genéticos y son una adecuada función de adaptación o función objetivo así como la codificación utilizada.

ANATOMÍA DE UN AGs En un algoritmo genético tras parametrizar el problema bajo una serie (Xi,..., Xn), se codifican en un cromosoma. Todos los operadores utilizados por un algoritmo genético se aplicarán a estos cromosomas, o sobre poblaciones de ellos. Las soluciones codificadas en un cromosoma compiten entre sí para ver cual constituye la mejor solución al problema entre todas las alternativas creadas.

ANATOMÍA DE UN AGs El algoritmo genético se usará para solucionar solo una función y no solucionar diversas funciones relacionadas entre sí simultáneamente, a lo que se le llama optimización multimodal. Los algoritmos genéticos son programas computacionales cuyo fin es imitar el proceso de "selección natural" que, según la Teoría de Darwin, rige el curso de la evolución.

Esa población se multiplica por medio del intercambio de genes ANATOMÍA DE UN AGs Se tiene una población, Esa población se multiplica por medio del intercambio de genes De la nueva generación solo sobrevivirán aquellos capaces de adaptarse al medio ambiente, y por consiguiente, así estos nuevos individuos capaces, serán una nueva población "mejore" que la anterior. Este ciclo de creación de las poblaciones a lo podemos evidenciar generación tras generación

Operadores Genéticos Selección por ruleta Selección escalada OPERACIONES DE SELECCIÓN Es el encargado de transmitir y conservar aquellas características de las soluciones que se consideran valiosas a lo largo de las generaciones.  La probabilidad que tiene un individuo de reproducirse es proporcional a la diferencia entre su aptitud y la de sus competidores. Se eligen subgrupos de individuos de la población, y los miembros de cada subgrupo compiten entre ellos Selección por ruleta Selección escalada Selección por torneo Al incrementarse la aptitud media de la población, la fuerza de la presión selectiva también aumenta y la función de aptitud se hace más discriminadora.

Operadores Genéticos OPERACIONES DE CRUCE Es una estrategia de reproducción sexual.   Los genes de los padres son intercambiados de forma aleatoria. Cruce Uniforme Se establecen 2 puntos de intercambio en un lugar aleatorio del genoma Cruce de 2 punto Cruce de 1 punto Se establece 1 punto de intercambio en un lugar aleatorio del genoma

Operadores Genéticos OPERACIONES DE REEMPLAZO Cuando se trabaja con una sola población, sobre la que se realizan las selecciones e inserciones, deberá tenerse en cuenta que para insertar un nuevo individuo deberá de eliminarse previamente otro de la población: Aleatorio. Reemplazo de padres. Reemplazo de similares. Reemplazo de los peores

Operadores Genéticos OPERACIONES DE COPIA Se trata de una estrategia de reproducción asexual OPERACIONES DE MUTACIÓN Provoca que alguno de sus genes, generalmente uno sólo, varíe su valor de forma aleatoria.

VENTAJAS DE LOS AGS Los algoritmos genéticos explotan un sinnúmero de soluciones Los algoritmos genéticos están íntimamente relacionados, pues operan de forma simultánea con varias soluciones. Poseen habilidad para manipular muchos parámetros simultáneamente No necesitan tener un conocimiento previo para resolver un problema

DESVENTAJAS DE LOS AGS El lenguaje que se debe utilizar debe tener la capacidad de tolerar cambios aleatorios Puede demorarse bastante en converger o no en absoluto Pueden converger prematuramente debido a una serie de problemas. (Este problema se presenta en poblaciones pequeñas, donde una variación aleatoria en el ritmo de reproducción provoca que un genotipo se haga dominante sobre los otros.)

Jhon Holland El desarrollo de los Algoritmos Genéticos se debe en gran medida a John Holland, investigador de la Universidad de Michigan. A finales de la década de los 60 desarrolló una técnica que imitaba en su funcionamiento a la selección natural. Aunque originalmente esta técnica recibió el nombre de planes reproductivos, a raíz de la publicación en 1975 de su libro ``Adaptation in Natural and Artificial Systems” se conoce principalmente con el nombre de Algoritmos Genéticos.

Aplicaciones de AGs La Ruleta : Es el usado por Goldberg en su libro [4]. Este método es muy simple, y consiste en crear una ruleta en la que cada cromosoma tiene asignada una fracción proporcional a su aptitud. Sin que nos refiramos a una función de aptitud en particular, supongamos que se tiene una población de 5 cromosomas cuyas aptitudes están dadas por los valores mostrados en la Tabla 1. Cromosoma No. Cadena Aptitud % del Total 1 11010110 254 24.5 2 10100111 47 4.5 3 00110110 457 44.1 4 01110010 194 18.7 5 11110010 85 8.2 TOTAL 1037 100.0

Con los porcentajes mostrados en la cuarta columna de la Tabla 1 podemos elaborar la ruleta de la Figura 1. Esta ruleta se gira 5 veces para determinar qué individuos se seleccionarán. Debido a que a los individuos más aptos se les asignó un área mayor de la ruleta, se espera que sean seleccionados más veces que los menos aptos.

Ejemplo Económico Un grupo de financieros mexicanos ha resuelto invertir 10 millones de pesos en la nueva marca de vino "Carta Nueva“. Así pues, en 4 ciudades de las principales de México se decide iniciar una vigorosa campaña comercial: México en el centro, Monterrey en el noroeste, Guadalajara en el occidente y Veracruz en el oriente. A esas 4 ciudades van a corresponder las zonas comerciales I, II, III y IV. Un estudio de mercado ha sido realizado en cada una de las zonas citadas y han sido establecidas curvas de ganancias medias en función de las inversiones totales (almacenes, tiendas de venta, representantes, publicidad, etc.) Estos datos se ilustran en la Tabla 2 y en la Figura 5. Para simplificar los cálculos, supondremos que las asignaciones de créditos o de inversiones deben hacerse por unidades de 1 millón de pesos. La pregunta es: ¿en dónde se deben de asignar los 10 millones de pesos de los que se dispone para que la ganancia total sea máxima?

1) Representación : Lo primero que necesitamos determinar para poder aplicar el algoritmo genético, es cuál será el esquema a utilizarse para representar las posibles soluciones del problema. En este caso necesitamos 4 bits ( 2 4 = 16) para representar cada solución, porque cada una admite 11 valores posibles (de 0 a 10). Como existen 4 valores independientes (uno por cada zona de estudio), se requieren entonces 16 bits (4 x 4) por cada cromosoma. De tal forma, una cadena representativa de un cromosoma será como se muestra en la Figura 4. Es importante hacer notar que se requiere una función de codificación (i.e., que transforme el valor de la inversión a binario) y una de decodificación (i.e., que realice el proceso inverso). Debido a que en este caso los 4 bits utilizados para representar una solución pueden producir más valores de los que se necesitan, se usará una función de ajuste que haga que los resultados producidos siempre se encuentren en el rango válido.

Datos obtenidos con la investigación de mercado en cada una de las regiones de estudio Inversión (en millones) Beneficio I II III IV 1 0.28 0.25 0.15 0.20 2 0.45 0.41 0.33 3 0.65 0.55 0.40 0.42 4 0.78 0.50 0.48 5 0.90 0.75 0.62 0.53 6 1.02 0.80 0.73 0.56 7 1.13 0.85 0.82 0.58 8 1.23 0.88 0.60 9 1.32 0.96 10 1.38 1.00

2) Función de Aptitud : Dado que el objetivo es obtener las inversiones que sumen 10, y que tengan un beneficio máximo, podemos usar la siguiente función de aptitud penalizada: F(x) =c1+ c2 + c3 + c4 500 * v +1 donde c1, c2, c3 y c4 son las ganancias por zona, que se calculan de acuerdo a los valores de la Tabla 2, y v es el valor absoluto de la diferencia entre la suma obtenida y 10. Nótese que cuando no se viole ninguna restricción (i.e., cuando la suma de inversiones sea exactamente 10) la función de aptitud no será "castigada“.

3) Operadores : Se usará una cruza de 2 puntos, la cual se efectúa de la forma que se indica en la Figura 3. La probabilidad que se dará a la misma será del 80%. En cuanto a la mutación, se le asignará una probabilidad baja, tal y como sugiere Goldberg [4], por lo que será del orden del 1%. El tamaño de población manejado para este ejemplo será de 50 cromosomas, y se correrá el algoritmo genético durante 20 generaciones.

4) Resultados : El resultado obtenido en una corrida típica es de $1 4) Resultados : El resultado obtenido en una corrida típica es de $1.81 (en millones de pesos), correspondiente a los valores de C1=4 millones, C2=3 millones, C3=1 millón y C4=2 millones. Esta es la solución óptima, la cual se obtuvo originalmente mediante programación dinámica [13]. El tiempo que le tomó al algoritmo genético encontrar este valor fue de sólo 13 segundos3. Debe hacerse notar que, en este caso, si deseáramos analizar inversiones que sumen otra cantidad, y en unidades menores al millón, el algoritmo genético tendría que modificarse de manera mínima, mientras que la programación dinámica requeriría una cantidad tal de trabajo que prácticamente se volvería inoperante.

Ejemplo

Ejemplo

Gracias!