Implementación de algoritmos genéticos paralelos de grano burdo en redes locales de computadoras. Resumen



Documentos relacionados
CAPITULO 3 REDES HIBRIDAS-COMPLEJAS. 3.1 Descripción de la Red Híbrida Compleja (HCNN)

Licenciatura en Computación

Unidad 5 Utilización de Excel para la solución de problemas de programación lineal

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Parque Biblioteca Tomás Carrasquilla La Quintana ANÁLISIS DE ENCUESTAS REDISTRIBUCIÓN DE EQUIPOS DE CÓMPUTO

Partes, módulos y aplicaciones de un Controlador de Procesos

Operación 8 Claves para la ISO

CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE

Servicio de hospedaje de servidores

SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS

Métodos y técnicas de capacitación en las empresas.

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

CALIDAD TOTAL. Visión estratégica y buena gestión son los ingredientes fundamentales.

Capacidad de respuesta y adaptación al cliente, claves para encontrar el camino del éxito

proyecto: parque de juegos infantiles a base de llantas usadas y otros residuos urbanos sólidos.

Los Ambientes Virtuales de Aprendizaje

Novedades incluidas en Discovery 4.50

Crear un Software que sea adaptable a las necesidades de cualquier tipo de Institución de Educación Superior.

Pruebas y Resultados PRUEBAS Y RESULTADOS AGNI GERMÁN ANDRACA GUTIERREZ

SEGUIMIENTO EDUCATIVO. Comunicaciones

lugus es un sistema informático desarrollado para facilitar y potenciar la Gestión Agrícola de su empresa.

Gestión de Permisos. Documento de Construcción. Copyright 2014 Bizagi

Caso práctico de Cuadro de Mando con Tablas Dinámicas

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

CAPÍTULO 17: ASPECTOS BÁSICOS DEL SISTEMA OPERATIVO WINDOWS

Actualización de versión a Bizagi 10.x

IV JORNADAS DE INNOVACIÓN EDUCATIVA Y ENSEÑANZA VIRTUAL EN LA UNIVERSIDAD DE MÁLAGA

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Proyecto sobre el Aprovechamiento de los estudiantes de Intercambio Internacional. 7 de septiembre del 2012

UNIDAD DE TRABAJO Nº2. INSTALACIONES DE MEGAFONÍA. UNIDAD DE TRABAJO Nº2.1. Descripción de Componentes. Simbología AURICULARES

Unidad II: Administración de Procesos y del procesador

CAPÍTULO 2 IMPORTANCIA DE LA ASIGNATURA OUTSOURCING EN TECNOLOGÍAS DE INFORMACIÓN

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

Plataforma Interactiva "In Time" Para Instituciones Educativas

Contenido. Curso: Cómo vender por Internet

Preguntas Frecuentes. Uruguay Estudia

Capítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias

Sistema de Provisión Centralizada CPS

LAS TIC EN EL ÀMBITO TURÌSTICO

Los estados financieros proporcionan a sus usuarios información útil para la toma de decisiones

MODULO ADMINISTRATIVO

Revisión del Universo de empresas para la Estimación de los Datos Del Mercado Español de Investigación de Mercados y Opinión.

Eficacia operativa en el sector público. 10 recomendaciones para reducir costes

PROGRAMAS OFICIALES DE POSGRADO

CAPÍTULO I PLANTEAMIENTO DEL PROBLEMA

Grupo de Trabajo del Tratado de Cooperación en materia de Patentes (PCT)

MANUAL DE PROCEDIMIENTOS DE SOLICITUD DE TRABAJO Y CUENTAS PRESUPUESTARIAS

PRODUCTIVIDAD. Contenido. 1. Introducción. 2. Importancia de la Productividad. 3. Que es productividad? 4. Como se mide la productividad?

TALLER 2. MEJORA CONTINUA

Wiip Surveillance. Sistema de gestión de rondas de vigilancia. Wiip Systems C.B. S.L

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000

AMBIENTALIZACION DE LOS PROYECTOS DE ARQUITECTURA

Proceso Transaccional

Educación virtual INFROMATICA ADRIAN GOMEZ ROMAN 2014/12/30

Centro de Capacitación en Informática

Sistema de Mensajería Empresarial para generación Masiva de DTE

Manual de Usuario SIMIN 2.0

1. Aplicación de la conmutación de circuitos y la conmutación de paquetes. 1.1 Sistema de señalización número 7 (SS7).

Sistema Operativo Windows

Semana 1. El software y su aplicación en la vida diaria. Semana El software 1 y su aplicación en la vida diaria. Empecemos! Qué sabes de...?

MANUAL DE USUARIO. Aplicación: Consulta Móvil

CAPITULO 3: SISTEMAS ADICIONALES PARA EL CENTRO DE LLAMADAS DE EMERGENCIA

El rincón de los problemas. Oportunidades para estimular el pensamiento matemático. Triángulos de área máxima o de área mínima Problema

Bhar aumenta 30% la eficiencia y mejora la satisfacción de los clientes

Complejo Deportivo UCA. República Saharaui s/n Puerto Real (Cádiz) Tel Fax

Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu

Vigilar que las credenciales para votar se entreguen oportunamente a los ciudadanos;

Servicios Administrados al Cliente

MANUAL DE MANTENIMIENTO

Gestión de proyectos

INTRODUCCIÓN AL MONITOREO ATMOSFÉRICO 214

1. PLANTEAMIENTO DEL PROBLEMA. 1.1 Descripción del problema

Universidad Nacional de Mar del Plata (UMP) Argentina

Análisis de propuestas de evaluación en las aulas de América Latina

Manual del Profesor Campus Virtual UNIVO

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

I. Introducción: [AUDITORÍA DE SISTEMAS] UNI - RUACS. Unidad I: Auditoría Informática

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍAS MAESTRÍA EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN ANÁLISIS MULTIVARIADO

Por qué es importante la planificación?

Uruguay en PISA Primeros resultados en Ciencias, Matemática y Lectura del Programa Internacional de Evaluación de Estudiantes.

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

MANUAL DE USUARIO CONTROL LOGÍSTICO DE TIEMPOS

Instructivo: Diagnóstico Interno y Externo por análisis FODA

HERRAMIENTA DE DIMENSIONADO DE SISTEMAS FOTOVOLTAICOS AUTONOMOS

La e-capacitación: Estrategia Competitiva

Presentación realizada por Juan Carlos Camus el 28 de junio de 2007, para un evento realizado por la empresa Inter-Media Ltda. En Santiago de Chile.

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Programa de formación de usuarios de la biblioteca

Redes I Clase # 3. Licda. Consuelo E. Sandoval

UNA HERRAMIENTA DE GESTION CENTRALIZADA DE INDICADORES DE CALIDAD EN EUSTAT

1. Conociendo el equipo

MODELO DE DISTRIBUCIÓN Y NORMATIVA DE ADQUISICIONES DE

E-learning: E-learning:

CAPITULO I FORMULACION DEL PROBLEMA

CONSTRUCCIÓN DE UN REOSTATO

Dr. Eduardo Cárdenas Alemán, Dr. Juan Oscar Molina Solís, Tecnologías para fomentar el aprendizaje activo.

SISTEMAS DE INFORMACIÓN II TEORÍA

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Plan de Estudios. Maestría en Matemáticas Aplicadas y Tecnologías Educativas

Transcripción:

Implementación de algoritmos genéticos paralelos de grano burdo en redes locales de computadoras. Arturo Gómez Cortés y Raúl Leal Ascencio ITESO, Guadalajara Resumen El presente trabajo describe una arquitectura para la implementación de algoritmos genéticos de grano burdo en redes locales de computadoras, utilizando los recursos de cómputo disponibles en instituciones educativas. 1 Introducción Los algoritmos genéticos han demostrado ser una herramienta poderosa en la solución de una gran variedad de problemas de optimización. Uno de los principales inconvenientes de su utilización es el tiempo de cómputo requerido para obtener una solución satisfactoria. Se han propuesto esquemas que permiten la implementación de estos algoritmos en múltiples procesadores, con lo que se puede obtener una reducción substancial de este tiempo. La mayoría de las universidades cuentan con un gran número de computadoras interconectadas mediante una red local. El poder de cómputo es muy elevado y en general se encuentra subutilizado. Las aplicaciones que con mayor frecuencia se emplean (procesadores de texto, hojas de cálculo, herramientas de dibujo, etc.) no hacen uso intensivo del procesador. Generalmente requieren de la interacción del usuario, quedando el procesador inactivo entre acciones del mismo. Los porcentajes de utilización del procesador y de la red son, en general, bajos. El sistema que aquí se propone busca utilizar estos recursos para la implementación de algoritmos genéticos. Dicho sistema no debe interferir de manera significativa con las actividades que actualmente se realizan en estas computadoras. El sistema debe facilitar la implementación de algoritmos genéticos, ocultando al usuario todos los detalles de la distribución de tareas en múltiples procesadores. 2 Algoritmos genéticos paralelos Los algoritmos genéticos han demostrado ser una herramienta poderosa en la solución de problemas de optimización (Para una descripción de diferentes implementaciones de las operaciones de los algoritmos genéticos se recomienda al lector consultar [1]). Tienen la desventaja de requerir de mucho tiempo de procesador. La evaluación de la función de desempeño suele tomar en muchos casos un tiempo considerable. Esta se debe evaluar para cada nuevo cromosoma generado, y esto se debe hacer por varias generaciones.

Afortunadamente el algoritmo es intrínsecamente paralelo. La evaluación de esta función se puede realizar de manera concurrente para diferentes cromosomas, si se dispone de múltiples procesadores y de un canal de comunicación entre ellos. A las implementaciones de los algoritmos genéticos que buscan aprovechar la disponibilidad de múltiples procesadores se les llama algoritmos genéticos paralelos. Existen varias formas de distribuir la carga de cómputo en varios procesadores. Los algoritmos genéticos maestro-esclavo llevan a cabo la forma más simple de distribución: los cromosomas a evaluar se reparten entre el número de procesadores disponibles. Los resultados se reportan al procesador maestro que realiza todas las otras operaciones del algoritmo genético. Sólo la evaluación se distribuye entre los diferentes procesadores, las operaciones restantes se efectúan de manera centralizada. Esta implementación de algoritmos genéticos paralelos tiene la desventaja de hacer uso intensivo del canal de comunicación. El tiempo que toma transferir los cromosomas a los distintos procesadores puede ser comparable al tiempo de evaluación de los mismos. De hecho se ha demostrado que en su punto de operación óptimo, un algoritmo genético maestro-esclavo sólo utiliza los procesadores el 50% del tiempo [2]. Los algoritmos genéticos de grano burdo buscan disminuir el tiempo de convergencia del algoritmo sin hacer uso intensivo del canal de comunicación. En este tipo de algoritmos genéticos existen múltiples poblaciones, tantas como procesadores se emplean. Cada procesador implementa el algoritmo completo sobre una población ubicada en su espacio de memoria. Las poblaciones evolucionan de manera independiente, hasta que un evento preestablecido acontece, y los mejores cromosomas de cada población emigran hacia las poblaciones vecinas. Los cromosomas que emigran substituyen algunos de los cromosomas de las poblaciones receptoras. La finalidad de la emigración es introducir nueva información que evite que la población converja a un máximo (ó mínimo) local. El evento que produce la emigración puede ser: la convergencia de todas las poblaciones, un tiempo preestablecido, o un número definido de generaciones transcurridas. La vecindad entre poblaciones no necesariamente corresponde a la vecindad física de los procesadores, establecida por el tipo de canal de comunicación, sino a una vecindad lógica. La definición de dichas vecindades establece la topología del algoritmo genético paralelo. El tiempo de convergencia de una población depende, entre otros factores, del número de cromosomas que la conforman. A mayor número de cromosomas mayor tiempo de convergencia. Esto se debe a dos factores: el primero es que entre más numerosa sea la población más tiempo toma por generación el evaluar los cromosomas, y el segundo es que el número de generaciones requeridas para que el algoritmo converja es mayor entre mayor es el número de cromosomas de la población.

Este tipo de algoritmos genéticos reducen el tiempo de convergencia reduciendo el tamaño de las poblaciones. Una población pequeña tiene el problema de que puede converger hacia un máximo (o mínimo) local. La emigración elimina este problema. Un algoritmo genético de grano burdo con n poblaciones de tamaño m puede obtener un resultado de la misma calidad que un algoritmo genético sencillo de tamaño nm [2]. 4 Arquitectura del sistema El sistema aquí propuesto es una plataforma para la implementación de algoritmos genéticos de grano burdo en las instalaciones de instituciones educativas. Éste está compuesto por tres tipos diferentes de programas: el maestro, el esclavo y el monitor. El maestro sólo se ejecuta en una computadora, mientras que el esclavo y el monitor se pueden ejecutar en una o más computadoras. La figura 1 esquematiza la arquitectura de este sistema. Las líneas señalan las comunicaciones entre elementos del sistema. Sólo existe comunicación entre los esclavos y el maestro, y entre los monitores y el maestro. El esclavo tiene la función de aplicar el algoritmo genético a una población. En cada esclavo existe una población que evoluciona. El maestro es el responsable de implementar la topología del algoritmo genético. Cuando las poblaciones de los esclavos convergen, transfieren sus mejores individuos al maestro. Éste retransmite los cromosomas recibidos a los esclavos en función de la topología del algoritmo genético. El monitor es la interface al usuario. Desde ésta, el usuario del sistema puede configurar el algoritmo genético con el que desea resolver un problema. Monitor Maestro Monitor Figura 1

Tanto el maestro como los esclavos se encuentran en ejecución cuando las computadoras en las que fueron instalados se encuentran encendidas. Los esclavos intentan establecer una conexión con el maestro. Si éste no está activo en ese momento, intentan conectarse nuevamente unos segundos después. Una vez que se establece la conexión entre los esclavos y el maestro, todos permanecen a la espera de algún comando a ejecutar. El maestro recibe comandos de los monitores y envía comandos a los esclavos. Tanto el maestro como los esclavos deben ejecutarse como procesos ocultos de baja prioridad para permitir que los procesadores puedan ser utilizados simultáneamente por otras aplicaciones. Siendo de baja prioridad el proceso, los usuarios de las computadoras pueden hacer uso de sus aplicaciones sin percibir un aumento importante en el tiempo de respuesta. Cuando un usuario desea hacer uso del sistema inicia la aplicación monitor y con ésta define el tipo de codificación a usar, los tipos de las operaciones del algoritmo genético que se van a emplear y la función de evaluación a utilizar. La función de evaluación debe ser implementada por el usuario, ya que es particular de cada problema que se desee resolver. El monitor envía al maestro la definición que el usuario hizo del algoritmo genético. El maestro cuenta con librerías que implementan las diferentes definiciones de las operaciones de los algoritmos genéticos (selección, cruce, etc.) para diferentes tipos de codificación de los cromosomas. En base a la definición del usuario, el maestro construye un mensaje conteniendo la implementación de las operaciones del algoritmo genético, y lo envía a los esclavos. Los esclavos inicializan sus poblaciones y ejecutan el algoritmo genético empleando las operaciones que recibieron del maestro. Cada vez que sus poblaciones convergen, los esclavos reportan al maestro sus mejores cromosomas. El maestro implementa la topología del algoritmo y además registra el mejor cromosoma de entre todas las poblaciones y el valor de su índice de desempeño. Éste se reporta al monitor. El usuario puede observar el desarrollo de la solución del problema desde el monitor. No es necesario que el monitor esté activo durante todo el proceso de solución de un problema. El maestro y los esclavo pueden continuar su ejecución y posteriormente el usuario puede ejecutar un monitor para consultar los resultados. El usuario puede programar, empleando alguna herramienta de desarrollo, nuevas definiciones de operaciones de los algoritmos genéticos y darlas de alta en el maestro. Estas pueden ser posteriormente empleadas por los usuarios del sistema. 5 Comentarios finales Actualmente se está realizando una implementación de la arquitectura aquí descrita. Dicha implementación se va a poner a prueba en la universidad ITESO

en Guadalajara, Jalisco. Resultados de desempeño del sistema podrán ser reportados posteriormente. Referencias [1] GEN, MITSUO; CHENG, RUNWEI. Genetic Algorithms & Engineering Design, John Wiley & Sons, Inc., Estados Unidos, 1997. [2] CANTÚ-PAZ, ERIK, Designing Efficient and Accurate Parallel Genetic Algorithms, julio, 1999, ftp://ftp-illigal.ge.uiuc.edu/pub/papers/illigals/99017.ps.z

Datos de los autores: Nombre: Arturo Gómez Cortés Actividad: tesista de la Maestría en Electrónica Industrial de ITESO, Guadalajara, Jal. Correo electrónico: agomezcortes@usa.net Intereses: programación evolutiva, sistemas no lineales. Nombre: Raúl R Leal Ascencio Actividad: Profesor/Investigador de la Maestría en Electrónica Industrial de ITESO, Guadalajara, Jal. Correo electrónico: rleal@iteso.mx Intereses: aplicaciones indutriales de inteligencia de máquina. aplicaciones de las redes neuronales artificiales.