SlideShare una empresa de Scribd logo
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 word2
3xtremus
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
Daniel Gomez Jaramillo
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
Fredy 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 2019
DanielRosero23
 
PARADIGMA FUNCIONAL
PARADIGMA FUNCIONALPARADIGMA FUNCIONAL
PARADIGMA FUNCIONAL
Fredy Olaya
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
yamy matin
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarraga
Fabricio Galárraga
 
Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladores
CJAO
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
Anthony Benalcazar
 
Unidad 4 lenguaje hdl pe ISC
Unidad 4 lenguaje hdl pe ISCUnidad 4 lenguaje hdl pe ISC
Unidad 4 lenguaje hdl pe ISCJhonatan Pat
 
Tratamiento de errores
Tratamiento de erroresTratamiento de errores
Tratamiento de errores
MAURICIOANDRES39
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
Luis Peralta
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
LuisMolina269
 
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

Optimizando EAs
Optimizando EAsOptimizando EAs
Optimizando EAs
pacvslideshare
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
Ruby
 
Problemas Algoritmos Secuenciales
Problemas Algoritmos SecuencialesProblemas Algoritmos Secuenciales
Problemas Algoritmos Secuenciales
Shirley Contreras Ulloa
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
Pablo Contramaestre
 
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
 
Etapas de las pruebas
Etapas de las pruebasEtapas de las pruebas
Etapas de las pruebas
Giovanni Camana Infanzon
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
Rolf Pinto
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
adark
 
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 Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang

Tema1
Tema1Tema1
Tema1UH
 
Tema1
Tema1Tema1
Tema1UH
 
Tema1
Tema1Tema1
Tema1
UH
 
Programación EN INFORMATICA 3-4
Programación EN INFORMATICA 3-4Programación EN INFORMATICA 3-4
Programación EN INFORMATICA 3-4
Carito Paz
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programaciónionurrutia
 
Programacion
ProgramacionProgramacion
Programacion
edison
 
Tutorial perl en linux
Tutorial perl en linuxTutorial perl en linux
Tutorial perl en linux
Alex 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 diagnostico
JavierCR2017
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvez
Daniel Gelvez
 
diana estefania huertas villota
diana estefania huertas villotadiana estefania huertas villota
diana estefania huertas villota
diana
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacion
Mario Bastidas
 
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
Sol 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.4
Marquina, 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 programacion
joel210696
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
Elder Giron
 
Optimizando Algoritmos Evolutivos - MAEB
Optimizando Algoritmos Evolutivos - MAEBOptimizando Algoritmos Evolutivos - MAEB
Optimizando Algoritmos Evolutivos - MAEB
Juan J. Merelo
 
Terminado
TerminadoTerminado
Terminado
franciscolanuza
 
Edgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje cEdgar avila aplicaciones de lenguaje c
Edgar avila aplicaciones de lenguaje c
ragdeavil
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
Beatriz Moreyra
 

Similar a Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang (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 7
pacvslideshare
 
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
pacvslideshare
 
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
pacvslideshare
 
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
pacvslideshare
 
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
pacvslideshare
 
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
pacvslideshare
 
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
pacvslideshare
 
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
pacvslideshare
 
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. Contenedores
pacvslideshare
 
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
pacvslideshare
 
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
pacvslideshare
 
Cloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionesCloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuraciones
pacvslideshare
 
Cloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM BluemixCloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM Bluemix
pacvslideshare
 
Cloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. AzureCloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. Azure
pacvslideshare
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemu
pacvslideshare
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualización
pacvslideshare
 
Cloud Computing. Presentación general
Cloud Computing. Presentación generalCloud Computing. Presentación general
Cloud Computing. Presentación general
pacvslideshare
 

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

Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
SandraPiza2
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
JavierMontero58
 

Último (20)

Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
 

Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang

  • 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