COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.

Slides:



Advertisements
Presentaciones similares
BizAgi - Business Agility
Advertisements

ALGORITMOS GENETICOS EVOLUCIÓN DE UNA POBLACIÓN DE
Arquitecturas de administración de redes y sus submodelos
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Estructura de Datos Hugo Araya Carrasco Hugo Araya Carrasco.
Diseño orientado al flujo de datos
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Tipos de Datos Abstractos Modularidad
“Impulsando la Sociedad
Términos Básicos y Conceptos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Yeimi Constanza Patiño
UNIDAD II Modelo de Datos.
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
M.S.C. Ivette Hernández Dávila
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.
LOGICA DE NEGOCIOS ADAN GONZALEZ BARRERA.
Sistemas Inteligentes Algoritmos Geneticos
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
Alumno: Jorge Ahumada A. Profesor Guía : Nelson Baloian T.
Temas importantes para el desarrollo de la segunda parte del TPE
Weka.
Arquitectura de una aplicación
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
RESUMEN En este artículo se describe en forma breve una de las líneas de investigación que se están llevando a cabo en el Laboratorio de Tecnologías Emergentes.
5.3 APROXIMACIONES AL DISEÑO
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Comunicación y Multimedia
VIMER HUAMAN COMUN GESTION DE REDES VIMER HUAMAN COMUN
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
PROCESO DE MERCADEO.
Ingeniería del Software
Algoritmos genéticos Introducción Esquema básico Codificación
Diseño e Implementación de Sistemas Basados en Conocimiento
Una introducción a la computación evolutiva
FRAMEWORK VS Código fuente
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Mary C. Jarur M. ww.udec.cl/~mjarur
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Términos y Conceptos Básicos
Ciclo de Vida del Software Paradigmas de Desarrollo
D. Pandolfi. LabTEm: Laboratorio de Tecnologías Emergentes Universidad Nacional de la Patagonia Austral Unidad Académica Caleta Olivia G. Leguizamón LIDIC:
Alexander Aristizabal Ángelo flores herrera
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Ciclo de vida de un sistema
D. Pandolfi., A. Villagra, E. de San Pedro, M. Lasso LabTEm: Laboratorio de Tecnologías Emergentes Universidad Nacional de la Patagonia Austral Unidad.
ALGORITMOS GENETICOS.
Introducción al proceso de verificación y validación.
Taller: Inteligencia Computacional
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Ing. Uziel Quiroz Castañeda Blanca Esthela Carranza Ortega 8º Semestre Junio/2013.
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.

DISEÑO DE COMPONENTES Y DESARROLLO BASADO EN COMPONENTES
Proceso de desarrollo de Software
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
La Programación Orientado a Objetos
Capas de ingeniería del Software. Rosendo Antonio Manuel Ingeniería en Sistemas Computacionales.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
BUSINESS T&G Think & Grow Uniclass Gestión Documental Solución Web para Mejorar la Captura y Gestión.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Fundamentos de Ingeniería de Software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
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:

COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL

Motivación llevar a cabo el desarrollo de componentes de software para algoritmos genéticos, implica realizar el análisis, diseño e implementación de cada uno de ellos como un componente independiente dentro del sistema, fundamentado en un modelo de proceso para desarrollo de software basado en componentes, lo que implica realizar una adecuada abstracción, garantizando la identificación, interacción y especificación interna de cada componente. Orange es un framework de código abierto que cuenta con componentes de software para algoritmos de aprendizaje automático; sin embargo, Orange no cuenta con algoritmos de optimización. Goldenberry es un proyecto que busca implementar algoritmos de optimización basados en estimación de distribución (EDA) en Orange, como parte del proyecto Goldenberry buscamos aportar la implementación del componente de algoritmo genético, brindando al usuario final la posibilidad de utilizar varios métodos de selección, cruce y mutación o integrar métodos personalizados a través de código inyectado en tiempo de ejecución.

Componentes Un componente es una unidad de composición de aplicaciones software, que posee un conjunto de interfaces y un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes de forma independiente, en tiempo y espacio". El paradigma de programación por componentes, esta orientado a crear componentes de software, buscando establecer mecanismos estándar para la creación de los mismos, en este enfoque, los desarrolladores de software crean, utilizan y distribuyen componentes previamente elaborados y probados con el fin de implementar aplicaciones de forma mas rápida. Bajo esta perspectiva se hace necesario pensar en un esquema de adaptación o personalización del componente ver figura.

Algoritmos Genéticos Los Algoritmos Genéticos nacen como una manera de solucionar problemas complejos de búsqueda y optimización, por medio del análisis de sistemas adaptativos en la naturaleza. El termino Algoritmo Genético se usa por el hecho de que estos simulan los procesos de la evolución darwiniana, por esto están clasificados como modelos computacionales inspirados en la evolución. Estos algoritmos codifican una posible solución a un problema especifico en un cromosoma simple como una estructura de datos y aplican los operadores de recombinación a estas estructuras con el fin de preservar la información critica.

Función Objetivo por medio de esta se realiza la exploración sobre la población para determinar la aptitud de los individuos, basados en el valor asociado del cromosoma o "fitness" para ser solución al problema. Al realizar el planteamiento de esta se debe contemplar el criterio del problema de optimización(minimización o maximización de un objetivo) y las restricciones presentes en el problema de optimización. También se debe garantizar que no se produzca una convergencia rápida, haciendo que el algoritmo converja a óptimos locales, esta se denomina prematura, pero también en otros casos el problema es justo el opuesto, es decir se produce una convergencia lenta del algoritmo.

Operadores genéticos Los operadores genéticos son fundamentales en el desarrollo del algoritmos genéticos, ya que por medio de estos se realiza la generación de una nueva población basada en los individuos mejores adaptados de la generación anterior. Cruce consiste en combinar dos cromosomas para producir un nuevo cromosoma. Existen diferentes tipos de cruces, entre los que se encuentran: Cruce de un punto: una sola posición se elige al azar de los padres y las partes de ambos se intercambian para formar dos hijos. Cruce de dos puntos: El operador de cruce de dos puntos elige al azar dos puntos de cruce, intercambiando el segmento que cae entre estos dos puntos. Cruce uniforme: Define un esquema en el cual cada gen tiene una probabilidad de ser incluido en el nuevo cromosoma, esto por medio de una "mascara de cruce"

Operadores genéticos Mutación Por medio de la mutación se garantiza una diversidad genética, asegura a la población contra la fijación permanente en cualquier lugar particular del espacio de búsqueda. Consiste en la alteración uno o mas valores de genes en un cromosoma, esto puede dar lugar a valores de genes nuevos en la estructura del cromosoma. Con estos nuevos valores de genes, el algoritmo genético puede ser capaz de llegar a la mejor solución de manera mas eficiente.

Maestro - Esclavo Paraleliza el paso de evaluación de la población en varios hilos de procesamiento, cuenta con un maestro encargado de dividir los individuos de la población asignando una fracción de esta a cada proceso esclavo (Ver Figura 5.1.1), el maestro, también es responsable por guardar los resultados de la evaluación.

Orange Orange es un software basado en componentes que ofrece un conjunto de herramientas para aprendizaje computacional y minera de datos. Cuenta con una arquitectura multi-capa, proveyendo una interfaz grafica denominada canvas para el uso y alambrado de componentes graficos (widgets), adicionalmente permite el acceso a dichas funcionalidades a través de invocaciones por código.

ORANGE Orange apoya las diversas tareas de minera de datos que abarcan desde pre-procesamiento de datos para su análisis y evaluación hasta la visualización grafica de resultados, cuenta con técnicas para: Entradas de datos, soportando algunos de los formatos mas comunes. Manipulación y pre-procesamiento de datos como: filtros, discretización, comparaciones y asociación de nuevos atributos. Métodos para el desarrollo de modelos de clasificacion, incluyendo arboles, clasificador bayesiano, enfoque basado en instancias y regresiones. Métodos de regresión incluyendo regresión lineal, arboles de regresión y enfoques basados en instancias. Reglas de asociación y métodos de agrupación de datos. Métodos de evaluación. Métodos para exportar modelos productivos a PMML.