SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Adaptando algoritmos evolutivos paralelos
al lenguaje funcional Erlang
J. Albert-Cruz1, L. Acevedo-Martínez1, J.J. Merelo2, P.A.
Castillo2, M.G. Arenas2
Centro de Estudios de Matemática Computacional, Universidad de Ciencias
Informáticas, Cuba
Dept. Arquitectura y Tecnología de los Computadores, Universidad de Granada,
España
jalbert@uci.cu
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Sumario
1 Introducción
2 Programación funcional
3 Diseño/implementación de AGs
4 Conclusiones
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Tecnologías usadas para implementar AGs
Java, C/C++ y Perl
Todas OO (o al menos procedurales)
La implementación importa
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Paradigmas emergentes
Funcional
Concurrente
En los lenguajes tradicionales se incluyen:
C# 3/4/5 (sucesivas características funcionales)
.NET Framework/Bibliotecas Java (patrones
concurrentes)
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
El desafío de los multi-núcleos
Necesidad de hacer paralelo el más simple de nuestros
programas de manera que hagan uso de los
microprocesadores modernos.
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
El desafío de los multi-núcleos
Bibliotecas
Nuevos lenguajes / versiones actualizadas de los
viejos
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Lenguajes de programación
Clojure, Go, Scala, Erlang
Poseen construcciones para concurrencia: facilitando
razonar sobre ella y simplificando su sintaxis
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Programación funcional
uso de las funciones como datos (pasándolas por
parámetros y devolviéndolas como resultados)
uso de listas
adecuada para el desarrollo de algoritmos
concurrentes pues estos tienen la primera fuente de
errores y complejidad en la comunicación entre
procesos, a través de cambios de estado
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Programación funcional: Erlang
lenguaje funcional, concurrente y distribuido
posee entre sus tipos de datos el de proceso
utiliza el modelo actor para su implementación del
paradigma de programación concurrente
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Mapeo entre conceptos de Erlang y de AGs
Concepto Erlang Concepto AG en el que se emplea
tupla cromosoma evaluado
lista cromosoma y población
función cruzamiento, mutación y selección
actor isla, evaluador y reproductor
mensaje migración
ets pool
módulo random naturaleza estocástica del AG
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Código desarrollado: erlEA
Módulos lógicos: reproducer, evaluator, poolManager
Módulos auxiliares e interconexión: experiment,
configBuilder, profiler, manager, report
El código se encuentra bajo la licencia AGPL en
https://github.com/jalbertcruz/erlEA/tree/MAEB
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Resultados
Problema OneMax (cantidad de 1s en la cadena)
Cromosomas de longitud 128
Población de 256 individuos por isla
Evaluadores y reproductores trabajando con bloques
de 50 cromosomas
Máquina con Windows 8, Core i7 y 16 Gb de RAM
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Resultados de los experimentos
No. Islas Evaluadores Reproductores Tiempo (s)
1 2 5 10 11.62375
2 2 10 20 25.3412
3 4 5 10 10.672001
4 4 10 20 27.09117
5 8 5 10 16.375004
6 8 10 20 36.294951
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Conclusiones
El escalado no es bueno, siendo en todo caso mejor
cuanto menor es el número de evaluadores.
Alta simplicidad de implementación de un modelo
híbrido de AG, en su versión concurrente.
Adaptando algoritmos evolutivos al lenguaje Erlang
Introducción Programación funcional Diseño/implementación de AGs Conclusiones
Trabajo futuro
Implementación de un experimento más complejo
Uso de arquitectura distribuida y heterogénea
(soporte para la distribución de procesos y e
implementación de la MV para varias plataformas)
Adaptando algoritmos evolutivos al lenguaje Erlang

Más contenido relacionado

La actualidad más candente

franco lorentz word2
franco lorentz word2franco lorentz word2
franco lorentz word23xtremus
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019DanielRosero23
 
PARADIGMA FUNCIONAL
PARADIGMA FUNCIONALPARADIGMA FUNCIONAL
PARADIGMA FUNCIONALFredy Olaya
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacionyamy matin
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarragaFabricio Galárraga
 
Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladoresCJAO
 
Unidad 4 lenguaje hdl pe ISC
Unidad 4 lenguaje hdl pe ISCUnidad 4 lenguaje hdl pe ISC
Unidad 4 lenguaje hdl pe ISCJhonatan Pat
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacionLuis Peralta
 
Que es programacion
Que es      programacionQue es      programacion
Que es programacionjhankey
 
La importancia de la teoría de los algoritmos
La importancia de la teoría de los algoritmosLa importancia de la teoría de los algoritmos
La importancia de la teoría de los algoritmosFredy Torres
 

La actualidad más candente (18)

Daniella
DaniellaDaniella
Daniella
 
franco lorentz word2
franco lorentz word2franco lorentz word2
franco lorentz word2
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019
 
PARADIGMA FUNCIONAL
PARADIGMA FUNCIONALPARADIGMA FUNCIONAL
PARADIGMA FUNCIONAL
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarraga
 
Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladores
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
 
Unidad 4 lenguaje hdl pe ISC
Unidad 4 lenguaje hdl pe ISCUnidad 4 lenguaje hdl pe ISC
Unidad 4 lenguaje hdl pe ISC
 
Compiladores iswi (parte 2)
Compiladores iswi (parte 2)Compiladores iswi (parte 2)
Compiladores iswi (parte 2)
 
Tratamiento de errores
Tratamiento de erroresTratamiento de errores
Tratamiento de errores
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Que es programacion
Que es      programacionQue es      programacion
Que es programacion
 
La importancia de la teoría de los algoritmos
La importancia de la teoría de los algoritmosLa importancia de la teoría de los algoritmos
La importancia de la teoría de los algoritmos
 

Destacado

Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmosRuby
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesKarina Arguedas Ruelas
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNadark
 
PLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALESPLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALESPablo Ospina
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuencialeschofers
 

Destacado (10)

Optimizando EAs
Optimizando EAsOptimizando EAs
Optimizando EAs
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
 
Problemas Algoritmos Secuenciales
Problemas Algoritmos SecuencialesProblemas Algoritmos Secuenciales
Problemas Algoritmos Secuenciales
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
 
Etapas de las pruebas
Etapas de las pruebasEtapas de las pruebas
Etapas de las pruebas
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
PLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALESPLAN DE CAPACITACIÓN PARA USUARIOS FINALES
PLAN DE CAPACITACIÓN PARA USUARIOS FINALES
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 

Similar a AG Erlang lenguaje

Tema1
Tema1Tema1
Tema1UH
 
Tema1
Tema1Tema1
Tema1UH
 
Tema1
Tema1Tema1
Tema1UH
 
Programación EN INFORMATICA 3-4
Programación EN INFORMATICA 3-4Programación EN INFORMATICA 3-4
Programación EN INFORMATICA 3-4Carito Paz
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programaciónionurrutia
 
Programacion
ProgramacionProgramacion
Programacionedison
 
Tutorial perl en linux
Tutorial perl en linuxTutorial perl en linux
Tutorial perl en linuxAlex Pin
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnosticoJavierCR2017
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvezDaniel Gelvez
 
diana estefania huertas villota
diana estefania huertas villotadiana estefania huertas villota
diana estefania huertas villotadiana
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacionMario Bastidas
 
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONSol López
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Marquina, Santiago
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionjoel210696
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionElder Giron
 
Optimizando Algoritmos Evolutivos - MAEB
Optimizando Algoritmos Evolutivos - MAEBOptimizando Algoritmos Evolutivos - MAEB
Optimizando Algoritmos Evolutivos - MAEBJuan J. Merelo
 
Edgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje cEdgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje cragdeavil
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 

Similar a AG Erlang lenguaje (20)

Tema1
Tema1Tema1
Tema1
 
Tema1
Tema1Tema1
Tema1
 
Tema1
Tema1Tema1
Tema1
 
Programación EN INFORMATICA 3-4
Programación EN INFORMATICA 3-4Programación EN INFORMATICA 3-4
Programación EN INFORMATICA 3-4
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programación
 
Programacion
ProgramacionProgramacion
Programacion
 
Tutorial perl en linux
Tutorial perl en linuxTutorial perl en linux
Tutorial perl en linux
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvez
 
diana estefania huertas villota
diana estefania huertas villotadiana estefania huertas villota
diana estefania huertas villota
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacion
 
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Optimizando Algoritmos Evolutivos - MAEB
Optimizando Algoritmos Evolutivos - MAEBOptimizando Algoritmos Evolutivos - MAEB
Optimizando Algoritmos Evolutivos - MAEB
 
Terminado
TerminadoTerminado
Terminado
 
Edgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje cEdgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje c
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 

Más de pacvslideshare

Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)pacvslideshare
 
Finding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository miningFinding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository mining pacvslideshare
 
Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7pacvslideshare
 
Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6pacvslideshare
 
Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5pacvslideshare
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4pacvslideshare
 
Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3pacvslideshare
 
Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2pacvslideshare
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1pacvslideshare
 
Servidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. PresentaciónServidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. Presentaciónpacvslideshare
 
Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)pacvslideshare
 
Cloud Computing. Contenedores
Cloud Computing. ContenedoresCloud Computing. Contenedores
Cloud Computing. Contenedorespacvslideshare
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrantpacvslideshare
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansiblepacvslideshare
 
Cloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionesCloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionespacvslideshare
 
Cloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM BluemixCloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM Bluemixpacvslideshare
 
Cloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. AzureCloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. Azurepacvslideshare
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemupacvslideshare
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualizaciónpacvslideshare
 
Cloud Computing. Presentación general
Cloud Computing. Presentación generalCloud Computing. Presentación general
Cloud Computing. Presentación generalpacvslideshare
 

Más de pacvslideshare (20)

Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
 
Finding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository miningFinding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository mining
 
Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7
 
Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6
 
Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4
 
Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3
 
Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1
 
Servidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. PresentaciónServidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. Presentación
 
Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)
 
Cloud Computing. Contenedores
Cloud Computing. ContenedoresCloud Computing. Contenedores
Cloud Computing. Contenedores
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrant
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansible
 
Cloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionesCloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuraciones
 
Cloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM BluemixCloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM Bluemix
 
Cloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. AzureCloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. Azure
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemu
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualización
 
Cloud Computing. Presentación general
Cloud Computing. Presentación generalCloud Computing. Presentación general
Cloud Computing. Presentación general
 

Último

CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 

Último (20)

CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 

AG Erlang lenguaje

  • 1. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang J. Albert-Cruz1, L. Acevedo-Martínez1, J.J. Merelo2, P.A. Castillo2, M.G. Arenas2 Centro de Estudios de Matemática Computacional, Universidad de Ciencias Informáticas, Cuba Dept. Arquitectura y Tecnología de los Computadores, Universidad de Granada, España jalbert@uci.cu Adaptando algoritmos evolutivos al lenguaje Erlang
  • 2. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Sumario 1 Introducción 2 Programación funcional 3 Diseño/implementación de AGs 4 Conclusiones Adaptando algoritmos evolutivos al lenguaje Erlang
  • 3. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Tecnologías usadas para implementar AGs Java, C/C++ y Perl Todas OO (o al menos procedurales) La implementación importa Adaptando algoritmos evolutivos al lenguaje Erlang
  • 4. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Paradigmas emergentes Funcional Concurrente En los lenguajes tradicionales se incluyen: C# 3/4/5 (sucesivas características funcionales) .NET Framework/Bibliotecas Java (patrones concurrentes) Adaptando algoritmos evolutivos al lenguaje Erlang
  • 5. Introducción Programación funcional Diseño/implementación de AGs Conclusiones El desafío de los multi-núcleos Necesidad de hacer paralelo el más simple de nuestros programas de manera que hagan uso de los microprocesadores modernos. Adaptando algoritmos evolutivos al lenguaje Erlang
  • 6. Introducción Programación funcional Diseño/implementación de AGs Conclusiones El desafío de los multi-núcleos Bibliotecas Nuevos lenguajes / versiones actualizadas de los viejos Adaptando algoritmos evolutivos al lenguaje Erlang
  • 7. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Lenguajes de programación Clojure, Go, Scala, Erlang Poseen construcciones para concurrencia: facilitando razonar sobre ella y simplificando su sintaxis Adaptando algoritmos evolutivos al lenguaje Erlang
  • 8. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Programación funcional uso de las funciones como datos (pasándolas por parámetros y devolviéndolas como resultados) uso de listas adecuada para el desarrollo de algoritmos concurrentes pues estos tienen la primera fuente de errores y complejidad en la comunicación entre procesos, a través de cambios de estado Adaptando algoritmos evolutivos al lenguaje Erlang
  • 9. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Programación funcional: Erlang lenguaje funcional, concurrente y distribuido posee entre sus tipos de datos el de proceso utiliza el modelo actor para su implementación del paradigma de programación concurrente Adaptando algoritmos evolutivos al lenguaje Erlang
  • 10. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Mapeo entre conceptos de Erlang y de AGs Concepto Erlang Concepto AG en el que se emplea tupla cromosoma evaluado lista cromosoma y población función cruzamiento, mutación y selección actor isla, evaluador y reproductor mensaje migración ets pool módulo random naturaleza estocástica del AG Adaptando algoritmos evolutivos al lenguaje Erlang
  • 11. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Código desarrollado: erlEA Módulos lógicos: reproducer, evaluator, poolManager Módulos auxiliares e interconexión: experiment, configBuilder, profiler, manager, report El código se encuentra bajo la licencia AGPL en https://github.com/jalbertcruz/erlEA/tree/MAEB Adaptando algoritmos evolutivos al lenguaje Erlang
  • 12. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Resultados Problema OneMax (cantidad de 1s en la cadena) Cromosomas de longitud 128 Población de 256 individuos por isla Evaluadores y reproductores trabajando con bloques de 50 cromosomas Máquina con Windows 8, Core i7 y 16 Gb de RAM Adaptando algoritmos evolutivos al lenguaje Erlang
  • 13. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Resultados de los experimentos No. Islas Evaluadores Reproductores Tiempo (s) 1 2 5 10 11.62375 2 2 10 20 25.3412 3 4 5 10 10.672001 4 4 10 20 27.09117 5 8 5 10 16.375004 6 8 10 20 36.294951 Adaptando algoritmos evolutivos al lenguaje Erlang
  • 14. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Conclusiones El escalado no es bueno, siendo en todo caso mejor cuanto menor es el número de evaluadores. Alta simplicidad de implementación de un modelo híbrido de AG, en su versión concurrente. Adaptando algoritmos evolutivos al lenguaje Erlang
  • 15. Introducción Programación funcional Diseño/implementación de AGs Conclusiones Trabajo futuro Implementación de un experimento más complejo Uso de arquitectura distribuida y heterogénea (soporte para la distribución de procesos y e implementación de la MV para varias plataformas) Adaptando algoritmos evolutivos al lenguaje Erlang