Programacion Genetica



Documentos relacionados
Programación Genética

COMPUTACIÓN EVOLUTIVA (CE) PROGRAMACIÓN GENÉTICA EVOLUCIÓN GRAMATICAL PROGRAMACIÓN POR EXPRESIÓN GENÉTICA

Algoritmos Genéticos. Introduccion a la Robótica Inteligente

C++ Genetic Algorithm Library

Algoritmos Genéticos Y

Capítulo 12: Indexación y asociación

Algoritmos Genéticos

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos

Ampliación de Estructuras de Datos

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Árbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción

Árboles binarios de búsqueda ( BST )

Introducción a la Computación Evolutiva

Algoritmos Genéticos.

Algorítmica y Lenguajes de Programación. Ordenación (i)

Árboles. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores

Computación Evolutiva. Inteligencia Computacional Dra. Maricela Bravo

Algoritmos Geneticos Algoritmos Evolutivos y Memeticos Curso de Postgrado UC3M Junio 16,17,

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Estructuras de datos: Árboles binarios de

Algoritmo Genético en Ruteamiento Dinámico en WRON

ECJ GENETIC. A Java-based Evolutionary Computation and Genetic Programming Research System. Néstor Arias (naariasm@unal.edu.co)

Introducción a los Algoritmos Genéticos

Media vs mediana vs moda Cual medida de tendencia central es mas adecuada? MEDIA conveniencias:

ELO320 Estructuras de Datos y Algoritmos. Arboles Binarios. Tomás Arredondo Vidal

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

Introducción al Cálculo Simbólico a través de Maple

ALGORITMOS GENÉTICOS

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

Aprendizaje Automatizado

ANÁLISIS DE DATOS NO NUMERICOS

Técnicas de análisis de la variabilidad de la frecuencia cardíaca

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

Algoritmos Genéticos Y

Clase 32: Árbol balanceado AVL

3. COLA DE PRIORIDAD DEFINICION (I)

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau

Reduce expresiones algebraicas (páginas )

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

11. Algunas clases estándar de Java (II)

Particiones binarias del espacio (BSP)

Manejo de versiones 392

Algoritmos Evolutivos

2. Métricas del Producto

Ingeniería Energética E-ISSN: Instituto Superior Politécnico José Antonio Echeverría. Cuba

Curso PHP Módulo 1 R-Luis

OBTENER DATOS EXTERNOS

Capítulo 6. ÁRBOLES.

Circuito RC, Respuesta a la frecuencia.

SIMULACION. Formulación de modelos: solución obtenida de manera analítica

Representación, Codificación en un AG Población Inicial. Aptitud. Estrategia de Selección. Cruce, Mutación, Reemplazo. Condición de Parada.

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

PHP y MySQL. Indice: Switch Bucles For While do...while

ESTADÍSTICA SEMANA 4

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Tema 1: Test de Distribuciones de Probabilidad

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Métodos Heurísticos en Inteligencia Artificial

ANÁLISIS DE VARIANZA EMPLEANDO EXCEL y WINSTATS

parte del tiempo de procesamiento en realizar este tipo de Es importante por que una computadora consume gran

Movimiento a través de una. José San Martín

CLASE # 5 TÉCNICAS DE CAJA BLANCA

2.2 Transformada de Laplace y Transformada Definiciones Transformada de Laplace

un programa concurrente

Computación I Representación Interna Curso 2011

Árboles AVL. Laboratorio de Programación II

Ecuaciones e Inecuaciones. 83 Ejercicios para practicar con soluciones. 1 Resuelve las siguientes ecuaciones bicuadradas:

JOSE VICENTE CONTRERAS JULIO CALCULO INTEGRAL LA ANTIDERIVADA

Random Forests. Felipe Parra

DISEÑADOR DE ESCALERAS

Selectividad Septiembre 2009 SEPTIEMBRE Opción A

Ahora podemos comparar fácilmente las cantidades de cada tamaño que se vende. Estos valores de la matriz se denominan elementos.

HERRAMIENTAS Y TECNICAS DE LA PLANEACIÓN

Siguiendo la tendencia sobre las Acciones del Ibex35

La meiosis consta de dos divisiones sucesivas de la célula con una única replicación del ADN. El producto final son cuatro células con n cromosomas.

UNIDAD 4 PROCESOS DE MARKOV

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

Vectores en el plano con punto inicial fijo

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Aprendizaje por refuerzo

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

GENERACIÓN DE CÓDIGO

Sistemas de Generación de Energía Eléctrica HIDROLOGÍA BÁSICA. Universidad Tecnológica De Pereira

Componente del sistema operativo que maneja el acceso a los archivos.

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE

Temario III Algoritmos Combinatorios y Metaheurísticas

Ejercicios. 1. Definir en Maxima las siguientes funciones y evaluarlas en los puntos que se indican:

x y 8000 x + y a) La región factible asociada a las restricciones anteriores es la siguiente: Pedro Castro Ortega lasmatematicas.

FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

Sistemas Operativos. Curso 2014 Planificación

Transcripción:

Programacion Genetica

PG a Vuelo de Pajaro Desarrollado: EEUU en los 90s Pioneros: J. Koza pero Generalmente aplicado a: prediccion, clasificacion Propiedades generales: compite con NN y similares necesita poblaciones bastante grandes (miles?) lenta Propiedades particulares: cromosomas no lineales: arboles, grafos mutacion posible pero no necesaria (disputado!)

Tableau Tecnico Representacion Recombinacion Mutacion Seleccion de padres Seleccion de sobrevivientes Arboles Intercambio de subarboles Modificaciones al azar en los (sub)arboles Proporcional al fitness Reemplazamiento generacional

Ejemplo:evaluacion de creditos Los bancos necesitan distinguir entre buenos aplicantes (a creditos) y malos Se necesita un modelo que se ajuste a datos historicos ID-3 ID ID-1 ID-2 Nro de hijos 2 0 1 Salario 45000 30000 40000 E.civil Casado Soltero Divorci ado OK? 0 1 1

Un modelo posible: IF (NDH = 2) AND (S > 80000) THEN bueno ELSE malo En general: IF formula THEN bueno ELSE malo No se conoce la estructura de la formula, entonces El espacio de busqueda es el espacion de formulas (fenotipo) Fitness de una formula designoide: porcentaje de casos bien clasificados La representacion natural de las formulas (genotipo) es un parse tree (arbol de clasificacion)

IF (NDH = 2) AND (S > 80000) THEN bueno ELSE malo se representa con: AND = > NDH 2 S 80000

Representacion basada en Arboles Representacion muy general, Ejemplo: Formula aritmetica 2 π + ( x + 3) y 5 + 1 Formula logica Programa (x true) (( x y ) (z (x y))) i =1; while (i < 20) { i = i +1 }

2 π + ( x + 3) y 5 + 1

(x true) (( x y ) (z (x y)))

i =1; while (i < 20) { i = i +1 }

En AGs, PE y EE la representacion se base en strings, por ejemplo, de bits, enteros, reales (vectores, permutaciones, etc) Estos arboles son estructuras no lineales En AGs, PE y EE los cromosomas (en general) son de una longitud fija En PG los arboles pueden variar de estructura varian de longitud (profundidad, densidad, etc)

Las expresiones representadas por arboles constan de: un conjunto terminal T un conjunto de funciones F (con sus aridades) Se adopta la siguiente definicion recursiva: 1. Cada t T es una expresion correcta 2. f(e 1,, e n ) es una expresion correcta if f F, arity(f)=n y e 1,, e n son expresiones correctas 3. No hay otras formas correctas En general, GP no es fuertemente tipado (propiedad de clausura: cualquier f F puede tomar g F como argumento)

Creacion de Hijos Comparen: Un AG usa secuencialmente mutacion y crossover (con probs) Un PG usa alternativamente mutacion o crossover (con probs)

GA flowchart GP flowchart

Mutacion La mutacion mas comun: reemplazar al azar un subtree con uno nuevo creado al azar

La mutacion tiene dos parametros: Probabilidad p m de seleccionar mutacion en vez de crossover Probabilidad de seleccionar un nodo interno como la raiz del subarbol a mutar Notablemente Koza recomienda p m = 0 (Koza 92) o muy chica, como por ejemplo 0.05 (Banzhaf et al. 98) Notar que el tamanio del hijo puede exceder el tamanio del padre

Recombinacion La recombinacion mas comun: intercambiar dos subarboles entre los padres Recombinacion usa dos parametros: Probabilidad p c de elegir recombinacion y no mutacion La probabilidad de elegir un nodo interno para recombinar Aqui tambien el resultado puede ser un hijo mas grande que los padres

P1 H1 P2 H2

Seleccion Para la seleccion de padres se usa generalmente proporcional al fitness Sobre seleccion en poblaciones grandes: se rankea y divide la poblacion en dos grupos: grupo 1: los mejores x% de la poblacion, grupo 2 el resto El 80% de los padres viene del grupo 1 (para la reproduccion) y solo un 20% del segundo para poblacion = 1000, 2000, 4000, 8000 x = 32%, 16%, 8%, 4% motivacion: incrementar la eficiencia, el % es un rule of thumb Seleccion de sobrevivientes Tipicamente: generacional, esto es hijos reemplazan padres Sin embargo recientemente la gente utilizo steady state por el elitismo

Initialisacion Se define una profundidad maxima D max para los arboles Metodo completo (cada rama realiza D max ): nodos con profundidad d < D max elegidos al azar del conjunto F nodes con profundidad d = D max elegidos al azar del conjunto T Metodo constructivo (cada rama con prof D max ): nodos con profundidad d < D max elegidos al azar de la union de F y T nodes con profundidad d = D max elegidos al azar del conjunto T Inicialisaciones: ramped half-and-half, donde cada uno de los anteriores produce la mitad de la poblacion

Bloat Bloat = Seleccion del mas gordo, i.e., los arboles en la poblacion tienden a crecer Hay un debate sobre las razones de bloat Tomar contra-medidas, e.g. Operadores que crean chicos mas bien deportivos y no tan gordos Parsimonia: penalizar los designoides grandes sin cambiar los operadores Hibrido de ambos metodos

PG para controladores Arboles para data fiting vs. arboles (programas) ejecutables La ejecucion de un programa podria cambiar el entorno donde el designoide esta embebido cambio de la funcion de fitness (si es que la evolucion acontece online) Ejemplo: robot controller Los designoides (controladores) se evaluan off-line por simulaciones que suelen ser o caras o MUY caras Sin embargo tienden a ser bastante buenos

Problema mas tipico: regresion simbolica Dados puntos ejemplos en R 2, (x 1, y 1 ),, (x n, y n ) Encontrar una funcion f(x) s.t. i = 1,, n : f(x i ) = y i PG al rescate: Representacion con F = {+, -, /, sin, cos}, T = R {x} El inverso del error es el fitnes Operadores estandard n = err( f ) ( f ( x i ) yi ) i= 1 poblacion = 1000, inicializacion ramped half-half Terminacion: n hits o 50000 evaluaciones de fitness (donde hit es f(x i ) y i < 0.0001, presicion) 2

Discusion Que es PG: El arte de evolucionar programas computacionales? El medio para programacion automatica? Un AG con otra representacion?