Aplicaciones de Algoritmos Genéticos

Slides:



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

El modelo de Von Neumann
Configuración de Control
INTERPRETACIÓN DE LA ECUACIÓN DE REGRESIÓN
Tecnología Electrónica de Computadores
Inteligencia Artificial
Diseño y análisis de algoritmos
SIMULACIÓN DE MONTECARLO
Diseño de Circuitos Lógicos Secuenciales1
Aritmética del Computador Introducción a la Tecnología de la Información.
Representación de la Información dentro del Computador
Sistemas Numéricos UPOLI - Estelí MSc. Marcos Hernández Zamora
Sistema Numérico Binario
CLASE 1 SISTEMAS NUMÉRICOS Y CÓDIGOS
Mapas de Karnaugh Término Ejemplo No. d 1´s 1 literal A 8
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
Unidad de competencia II Estadística descriptiva:
Investigación de Operaciones
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA
Planificación con Prioridades Fijas
Convertidores A/D y D/A
Tema 4 Introducción a la Programación Lineal
Circuitos de Conmutación
Grupo 4 Matías Melgar Pablo Carbonell
Modulación de pulsos.
INTEGRACIÓN.
Las fracciones
INFORMÁTICA II.
Marketing para Tecnología de Información
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Combinadores SK.
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Investigación Algorítmica
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introducción Unidad 5: Matemáticas necesarias.
Curso Circuitos Digitales I Sesión 2 (complemento)
FIRMAS DIGITALES UTILIZANDO
Clase # 8: Análisis Conformacional (II)
Introducción Control digital
Inteligencia Artificial Búsqueda informada y exploración
Unidad aritmético-lógica
PRINCIPIOS GENERALES DE LA ADMINISTRACION – FUNCIONES ADMINISTRATIVAS
Metodología para la Construcción de Programas
MODELOS DE ECUACIONES SIMULTÁNEAS
5-Variables K-mapas ƒ(A,B,C,D,E) = Sm(2,5,7,8,10,
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.
UNIDAD 1:SISTEMA DE NUMEROS
Posgrado de Especialización en Entornos Virtuales Universidad Virtual Quilmes SEMINARIO DE TIC Y ENSEÑANZA Profesora Noemí Tessio Aula Nº 5.
Sistemas Inteligentes Algoritmos Geneticos
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Curso Circuitos Digitales I Sesión 2
Ventajas de la señal digital Inconvenientes de la señal digital
Capítulo 4 BUSQUEDA INFORMADA.
Sistemas decimal, binario, octal y hexadecimal
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
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
Una introducción a la computación evolutiva
Algoritmos Genéticos en Aprendizaje Clase 3 de Computación Evolutiva.
Trabajo de Graduación “SISTEMA DE PLANEACIÓN AVANZADO (APS) PARA DETERMINAR LA UBICACIÓN ÓPTIMA DE CAPACITORES EN UNA RED DE DISTRIBUCIÓN DE ENERGÍA ELÉCTRICA.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
D. Pandolfi. LabTEm: Laboratorio de Tecnologías Emergentes Universidad Nacional de la Patagonia Austral Unidad Académica Caleta Olivia G. Leguizamón LIDIC:
Lenguaje programación
ALGORITMOS GENETICOS.
Taller: Inteligencia Computacional
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.
INTRODUCCIÓN A LA INGENIERÍA PROFESOR Juan Sebastián Duque Jaramillo
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:

Aplicaciones de Algoritmos Genéticos Angel Kuri Instituto Tecnológico Autónomo de México Mayo, 2003

Optimización Los Algoritmos Genéticos son meta-heurísticos basados en una analogía con los procesos evolutivos, en donde tres ideas sobresalen: a) Cualquier problema optimizable puede someterse a un proceso de codificación. b) Un problema así codificado es más fácilmente atacable que su contraparte no codificada. c) Los operadores genéticos, llamados selección, cruzamiento y mutación son suficientes para explorar completa y eficientemente el espacio de soluciones.

Optimización (Todo problema es codificable) Para que esto se cumpla debemos restringir los espacios de solución a un subconjunto finito del original. Esta no es una fuente de problemas ni conceptuales ni prácticos ya que, en todos los casos, la solución compu-tacional de cualquier problema está codificada digitalmente.

Optimización (Un problema codificado es más fácil de atacar) Esto no es obvio. Pero la amplia evidencia al respecto deja poca posibilidad de duda. Más importantemente, argumentos teóricos no dejan duda: a) Los AGs siempre convergen a la mejor solución. b) La convergenia es,usualmente, muy eficiente.

Optimización (La aplicación de los operadores genéticos arroja un desempeño eficiente) Nuestra meta al diseñar AGs es hacer que la convergencia mencionada sea tan eficiente como se pueda. Dos fuentes de ineficiencia han sido claramente determinadas: a) Funciones Deceptivas b) Correlación Espuria

Algoritmo de Vasconcelos Para evitar las limitaciones del AGS hemos introducido el llamado AG de Vasconcelos. Posee: a) Acoplamiento determinístico (i -> n-i+1) b) Cruzamiento anular c) Mutación uniforme d) Elitismo completo

Acoplamiento Determinístico

Cruzamiento Anular

Elitismo Completo

Ejemplo de Aplicación Optimización de una función sujeta a restricciones Funciones Lineales Restricciones Lineales Funciones no-lineales Restricciones No-lineales

Función de Adaptación donde s es el número de restricciones satisfechas y

Representación Numérica Genoma de punto Fijo

Ejemplo Numérico

Corrida de Muestra

Corrida de Muestra

Sample Run

Corrida de Muestra

Corrida de Muestra

Corrida de Muestra

Asignación de Tareas en una Línea de Producción (Job scheduling) Este problema consiste en encontrar el orden óptimo de ejecución de tareas en máquinas de un proceso industrial. Cada una de las tareas tarda un cierto tiempo en ser ejecutada. Estos tiempos son diferentes para cada tarea (job) en cada máquina.

Job Scheduling En la figura se ilustra una matriz de costos para 9 jobs y 6 máquinas:

Job Scheduling La solución, entonces, consistirá de 9 números. Por ejemplo, una posible “solución” sería la secuencia 2,3,4,6,1,5,9,8,7 que indica que los jobs se alimentan a las 6 máquinas en el orden indicado. Es fácil ver, de la matriz de costos, que esta secuencia toma 119 unidades de tiempo en ser procesada.

Job Scheduling Para representar esta secuencia en binario, necesitamos 4 bits por cada job y, por tanto, 36 bits en total: 0010, 0011, 0100, 0110, 0001, 0101, 2 3 4 6 1 5 1001, 1100, 0111 9 8 7

Job Scheduling Un individuo, para el algoritmo genético, consiste, entonces, de 36 bits. Nótese, sin embargo, que las combinaciones binarias 1010, 1011, 1100, 1101, 1110 y 1111 están “prohibidas” ya que los jobs 10, 11, 12, 13, 14 y 15 no existen.

Job Scheduling Tampoco es válido que alguno de los jobs se repita en el genoma. Por ejemplo, la combinación 1,3,5,7,9,2,4,3,8 aunque contiene solamente jobs entre 1 y 9, es inválida porque el job 3 aparece dos veces.

Reparación Estos individuos inválidos pueden aparecer como resultado de la aplicación de los operadores genéticos de cruzamiento y/o mutación. Considérense los genomas válidos 000100100011010001010110011110001001 y 100110000111011001010100001100100001

Reparación Si el cruzamiento ocurre en el punto que se ilustra: 00010010001101000101 0110011110001001 1 2 3 4 5 6 7 8 9 10011000011101100101 0100001100100001 9 8 7 6 5 4 3 2 1 “nacen” los individuos 00010010001101000101 0100001100100001 1 2 3 4 5 4 3 2 1 10011000011101100101 0110011110001001 9 8 7 6 5 6 7 8 9

Reparación Por lo tanto, se debe incluir un operador de reparación, que convierta individuos inválidos en otros que no lo sean.

Ejemplo No-Numérico Job Scheduling

Ejemplo No-Numérico

Ejemplo No-Numérico Resultados en la Generación 18

Ejemplo No-Numérico Resultados en la Generación 50 Como se puede ver, el algoritmo encontró la solución en la generación 18

Ejemplo No-Numérico Resultados

Problema de Scheduling Simulación

Problema de Scheduling Simulación

Conclusiones En los problemas que ilustramos no hay, esencialmente, ningún cambio en el AG mismo. Es decir, el mismo algoritmos trabaja en problemas diferentes. La metodología, por ello, es aplicable a un amplio rango de problemas.

Ahora veamos el programa!