TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf ·...

158
Universidad Politécnica de Madrid Facultad de Informática Algoritmos de distribución de cargas de proceso en computación con membranas TESIS DOCTORAL Miguel Ángel Peña Camacho Máster en Tecnologías de la Información Graduado en Ingeniería del Software 2011

Transcript of TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf ·...

Page 1: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Universidad Politécnica de MadridFacultad de Informática

Algoritmos de distribución de cargas deproceso en computación con membranas

TESIS DOCTORAL

Miguel Ángel Peña CamachoMáster en Tecnologías de la InformaciónGraduado en Ingeniería del Software

2011

Page 2: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Departamento de Inteligencia ArtificialFacultad de Informática

Algoritmos de distribución de cargas deproceso en computación con membranas

TESIS DOCTORAL

Miguel Ángel Peña CamachoMáster en Tecnologías de la InformaciónGraduado en Ingeniería del Software

DIRECTORES: Juan Castellanos PeñuelaDoctor en Informática

Luis Fernando de Mingo LópezDoctor en Informática

2011

Page 3: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

UNIVERSIDAD POLITÉCNICA DE MADRID

Tribunal nombrado por el Magfco. y Excmo. Sr. Rector de la Universidad Politécnica deMadrid, el día de de 20

Presidente: a

Vocal: a

Vocal: a

Vocal: a

Secretario: a

Suplente: a

Suplente: a

Realizado el acto de defensa y lectura de la Tesis el día de de

20 en la E.T.S.I./Facultad a.

EL PRESIDENTE LOS VOCALES

EL SECRETARIO

Page 4: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

A mis padres

iv

Page 5: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Agradecimientos

¡Qué contradicción! Esta página que aparece aquí al principio es la última queestoy escribiendo de la tesis, pero será la más leída. Al final de la tesis, se pretendeagradecer en esta página a mucha gente sus aportaciones en el desarrollo de lamisma. Y yo, sin embargo, tengo el miedo de olvidarme de alguien. Por ello,he decido apenas nombrar, pues igual que soy de la opinión de que las floresa los vivos, los agradecimientos, día a día. Aún así, y para los acérrimos deesta fórmula, quienes pretenden encontrar agradecimientos en esta hoja, abro unpoquito de mi corazón, y le dejo las siguientes líneas. Si bien, los agradecimientosa las personas que me han apoyado, espero haberlos entregado antes de ponerestas palabras.

Con la finalización de esta tesis, pongo fin a una cadena de estudios realizados-aunque de aprender no se termina nunca- y empezaré otra etapa que espero seatan gratificante como la que dejo atrás. Es por tanto un buen momento paraagradecer a todas esas personas que me han marcado, y a las que no puedonombrar aquí, pues necesitaría otro libro entero.

Si bien es un tópico, debo empezar dando las gracias a mis tutores. Nosólo por el proceso de 4 años de elaboración de esta tesis, sino por todos esosmomentos que hemos vivido. Gracias JuanCas por esos consejos antes de cadaviaje, de cada aventura; y gracias LuisFer por enseñarme que sin parecer quese trabaja, se puede hacer mucho. A esa forma de hacer sin darle importancia,porque importa más lo que se hace, que da sus frutos.

Gracias también a esos tutores foráneos, de los que tanto he aprendido, yque me han hecho abrir “fronteras”, no sólo a mi parte académica, sino tambiéna mi desarrollo personal. Gracias Cristian, Pier, Erzsébet, György, Anna y Paolo.Siempre recordaré la forma de hacer presentaciones de Pier, saltándose los for-malismos, y facilitando la comprensión; el ser capaz de hacer chistes sobre en loque uno trabaja, como Erzsebet; y a todo un país como Nueva Zelanda.

He de dar las gracias al DIA, en el cuál he realizado la tesis, a OEI en laescuela, a la Escuela en general, a la Facultad, a la propia Universidad, y alas Universidades en su conjunto; de las que tanto he aprendido en esta etapaacadémica, formativa, docente, investigadora, y profesional. Han sido muchosaños dentro, en los que he conocido a muchísima gente que me ha aportadotanto, que no tendrían espacio suficiente para nombrarlos a todos aquí. Aúnasí, un especial agradecimiento a Jorge y Bobi, por tan buenos consejos que herecibido estos años, y por decir las cosas como son. También a Eugenio, queen paz descanse, por tantos proyectos juntos que hemos hecho, y tantas horasde conversación en estos años. Y a Pepi, capaz de enseñarme que las cosas sonsencillas si ella está presente.

v

Page 6: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

No puedo olvidarme de mis amigos, ni de los que he ido conociendo en estaetapa y que circunstancias del destino, hacen que estemos alejados. Gracias aMontse, porque es la única que conoce mi verdadero yo, y que tanto apoyo medió cuando realmente lo necesitaba. Gracias a Josito y David por esas barbacoasen las que no hacía falta nada más para disfrutar. Mi tesis no empezó comovuestro TFC, pero espero que al menos termine igual.

Gracias María, por enseñarme que lo importante no es la meta, sino disfrutardel camino. Por recorrer este camino conmigo. Por sufrirme este tiempo. Por esafelicidad que irradias. Por alegrarme cada día. No existen palabras para darte lasgracias. . .

Gracias papá y mamá. Todo lo que soy es por vosotros. El dedicaros estatesis es sólo un gesto pequeño del agradecimiento hacia vosotros. Sé que estatesis significa mucho más para vosotros que para mí. Sé que con esto se cumplenalgunos de vuestros sueños, y guardaréis un especial recuerdo de ello. Para mí,me basta con saber que pase lo que pase y esté donde esté, tendré vuestro apoyoy cariño en lo que decida hacer, como lo he tenido hasta ahora. Y gracias Bea,por ser la persona que sufre en silencio mi mal humor, porque, aunque no locreas, yo tengo envidia de cómo eres.

vi

Page 7: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Resumen

Con el surgir de los problemas irresolubles de forma eficiente en tiempo polino-mial en base al dato de entrada, surge la Computación Natural como alternativaa la computación clásica. En esta disciplina se trata de o bien utilizar la natu-raleza como base de cómputo o bien, simular su comportamiento para obtenermejores soluciones a los problemas que los encontrados por la computación clási-ca. Dentro de la computación natural, y como una representación a nivel celular,surge la Computación con Membranas.

La primera abstracción de las membranas que se encuentran en las células,da como resultado los P sistemas de transición. Estos sistemas, que podrían serimplementados en medios biológicos o electrónicos, son la base de estudio deesta Tesis.

En primer lugar, se estudian las implementaciones que se han realizado, conel fin de centrarse en las implementaciones distribuidas, que son las que pue-den aprovechar las características intrínsecas de paralelismo y no determinismo.Tras un correcto estudio del estado actual de las distintas etapas que englobana la evolución del sistema, se concluye con que las distribuciones que buscan unequilibrio entre las dos etapas (aplicación y comunicación), son las que mejoresresultados presentan. Para definir estas distribuciones, es necesario definir com-pletamente el sistema, y cada una de las partes que influyen en su transición.Además de los trabajos de otros investigadores, y junto a ellos, se realizan va-riaciones a los proxies y arquitecturas de distribución, para tener completamentedefinidos el comportamiento dinámico de los P sistemas.

A partir del conocimiento estático –configuración inicial– del P sistema, sepueden realizar distribuciones de membranas en los procesadores de un clústerpara obtener buenos tiempos de evolución, con el fin de que la computación delP sistema sea realizada en el menor tiempo posible. Para realizar estas distribu-ciones, hay que tener presente las arquitecturas –o forma de conexión– de losprocesadores del clúster. La existencia de 4 arquitecturas, hace que el procesode distribución sea dependiente de la arquitectura a utilizar, y por tanto, aunquecon significativas semejanzas, los algoritmos de distribución deben ser realizadostambién 4 veces. Aunque los propulsores de las arquitecturas han estudiado eltiempo óptimo de cada arquitectura, la inexistencia de distribuciones para es-tas arquitecturas ha llevado a que en esta Tesis se probaran las 4, hasta quesea posible determinar que en la práctica, ocurre lo mismo que en los estudiosteóricos.

Para realizar la distribución, no existe ningún algoritmo determinista que con-siga una distribución que satisfaga las necesidades de la arquitectura para cual-quier P sistema. Por ello, debido a la complejidad de dicho problema, se proponeel uso de metaheurísticas de Computación Natural. En primer lugar, se propone

vii

Page 8: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

utilizar Algoritmos Genéticos, ya que es posible realizar alguna distribución, ybasada en la premisa de que con la evolución, los individuos mejoran, con la evo-lución de dichos algoritmos, las distribuciones también mejorarán obteniéndosetiempos cercanos al óptimo teórico. Para las arquitecturas que preservan la topo-logía arbórea del P sistema, han sido necesarias realizar nuevas representaciones,y nuevos algoritmos de cruzamiento y mutación.

A partir de un estudio más detallado de las membranas y las comunicacionesentre procesadores, se ha comprobado que los tiempos totales que se han utilizadopara la distribución pueden ser mejorados e individualizados para cada membrana.Así, se han probado los mismos algoritmos, obteniendo otras distribuciones quemejoran los tiempos. De igual forma, se han planteado el uso de Optimización porEnjambres de Partículas y Evolución Gramatical con reescritura de gramáticas(variante de Evolución Gramatical que se presenta en esta Tesis), para resolverel mismo cometido, obteniendo otro tipo de distribuciones, y pudiendo realizaruna comparativa de las arquitecturas.

Por último, el uso de estimadores para el tiempo de aplicación y comuni-cación, y las variaciones en la topología de árbol de membranas que puedenproducirse de forma no determinista con la evolución del P sistema, hace que sedeba de monitorizar el mismo, y en caso necesario, realizar redistribuciones demembranas en procesadores, para seguir obteniendo tiempos de evolución razo-nables. Se explica, cómo, cuándo y dónde se deben realizar estas modificacionesy redistribuciones; y cómo es posible realizar este recálculo.

viii

Page 9: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Abstract

Natural Computing is becoming a useful alternative to classical computationalmodels since it its able to solve, in an efficient way, hard problems in polynomialtime. This discipline is based on biological behaviour of living organisms, usingnature as a basis of computation or simulating nature behaviour to obtain bettersolutions to problems solved by the classical computational models. MembraneComputing is a sub discipline of Natural Computing in which only the cellularrepresentation and behaviour of nature is taken into account.

Transition P Systems are the first abstract representation of membranes be-longing to cells. These systems, which can be implemented in biological organismsor in electronic devices, are the main topic studied in this thesis.

Implementations developed in this field so far have been studied, just to focuson distributed implementations. Such distributions are really important since theycan exploit the intrinsic parallelism and non-determinism behaviour of living cells,only membranes in this case study. After a detailed survey of the current stateof the art of membranes evolution and proposed algorithms, this work concludesthat best results are obtained using an equal assignment of communication andrules application inside the Transition P System architecture. In order to definesuch optimal distribution, it is necessary to fully define the system, and each oneof the elements that influence in its transition. Some changes have been made inthe work of other authors: load distribution architectures, proxies definition, etc.,in order to completely define the dynamic behaviour of the Transition P System.

Starting from the static representation –initial configuration– of the Tran-sition P System, distributions of membranes in several physical processors of acluster is algorithmically done in order to get a better performance of evolution sothat the computational complexity of the Transition P System is done in less timeas possible. To build these distributions, the cluster architecture –or connectionlinks– must be considered. The existence of 4 architectures, makes that the pro-cess of distribution depends on the chosen architecture, and therefore, althoughwith significant similarities, the distribution algorithms must be implemented 4times. Authors who proposed such architectures have studied the optimal timeof each one. The non existence of membrane distributions for these architectureshas led us to implement a dynamic distribution for the 4. Simulations performedin this work fix with the theoretical studies.

There is not any deterministic algorithm that gets a distribution that meetsthe needs of the architecture for any Transition P System. Therefore, due to thecomplexity of the problem, the use of meta-heuristics of Natural Computing isproposed. First, Genetic Algorithm heuristic is proposed since it is possible tomake a distribution based on the premise that along with evolution the indivi-duals improve, and with the improvement of these individuals, also distributions

ix

Page 10: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

enhance, obtaining complexity times close to theoretical optimum time.

For architectures that preserve the tree topology of the Transition P System,it has been necessary to make new representations of individuals and new algo-rithms of crossover and mutation operations. From a more detailed study of themembranes and the communications among processors, it has been proof thatthe total time used for the distribution can be improved and individualized foreach membrane. Thus, the same algorithms have been tested, obtaining otherdistributions that improve the complexity time. In the same way, using ParticleSwarm Optimization and Grammatical Evolution by rewriting grammars (Gram-matical Evolution variant presented in this thesis), to solve the same distributiontask. New types of distributions have been obtained, and a comparison of suchgenetic and particle architectures has been done.

Finally, the use of estimators for the time of rules application and com-munication, and variations in tree topology of membranes that can occur in anon-deterministic way with evolution of the Transition P System, has been doneto monitor the system, and if necessary, perform a membrane redistribution onprocessors to obtain reasonable evolution time. How, when and where to makethese changes and redistributions, and how it can perform this recalculation, isexplained.

x

Page 11: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Índice general

Agradecimientos V

Resumen VII

Abstract IX

Índice de figuras XIV

Índice de cuadros XVII

I Introducción1 Computación Natural 2

2 Computación con Membranas 52.1. La membrana biológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2. Definición formal de los elementos de los sistemas de membranas . . . . . . . . . . . . . . . 9

Multiconjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Estructura de membranas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Reglas de evolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Definición de un P sistema de transición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Dinámica de los P sistemas de transición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Aplicación de las reglas de evolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

II Estado del arte de las implementaciones de los P sistemas3 Las Implementaciones de los P Sistemas 20

3.1. Computación secuencial basada en software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2. Computación paralela basada en software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3. Computación basada en hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4. Análisis de las implementaciones y frameworks de desarrollo . . . . . . . . . . . . . . . . . . 23

4 Implementaciones distribuidas de P Sistemas 244.1. Selección de reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.2. Aplicación de reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.3. Arquitecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Entre iguales (Peer-to-Peer - P2P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Peer-to-Peer Jerárquica (Hierarchical Peer-to-Peer - HP2P) . . . . . . . . . . . . . . . . . . . 33Maestro-Esclavo (Master-Slave - MS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Maestro-Esclavo Jerárquica (Hierarchical Master-Slave - HMS) . . . . . . . . . . . . . . . . . 36

4.4. Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Arquitectura Peer-to-Peer (P2P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Arquitectura P2P Jerárquica (HP2P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

xi

Page 12: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Arquitectura Maestro-Esclavo (MS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Arquitectura Maestro-Esclavo Jerárquica (HMS) . . . . . . . . . . . . . . . . . . . . . . . . . 49

III Distribuciones estáticas5 Distribución basada en parámetros globales 54

5.1. Algoritmos genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Tipo de la representación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Tamaño de la población . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Población inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Operador de cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Operador de mutación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Reemplazo de la población o extensión y reducción de la población . . . . . . . . . . . . . . 63Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Paralelismo de los Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.2. Aplicación de algoritmos genéticos para la distribución de membranas . . . . . . . . . . . . . 64Algoritmo genético que preserva la topología arbórea . . . . . . . . . . . . . . . . . . . . . . . 65

Población inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Operador de cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Operador de mutación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Operadores o algoritmos reparadores . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Resultados de los operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Aplicación en la distribución de membranas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6 Distribución basada en parámetros locales 826.1. Optimización por Enjambres de Partículas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.2. Evolución Gramatical y Enjambres de Gramáticas . . . . . . . . . . . . . . . . . . . . . . . . . 92

Evolución Gramatical con reescritura de gramáticas . . . . . . . . . . . . . . . . . . . . . . . 956.3. Distribución de membranas con Enjambres Gramaticales y Optimización por Enjambres de

Partículas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

IVDistribuciones dinámicas7 Distribución dinámica 105

7.1. Control de tiempos, e intervalos de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087.2. Arquitecturas Peer-to-Peer y Peer-to-Peer Jerárquica, con recálculo total . . . . . . . . . . . 1117.3. Arquitecturas Peer-to-Peer y Peer-to-Peer Jerárquica, con recálculo de adyacentes . . . . . . 1137.4. Arquitecturas Maestro-Esclavo y Maestro-Esclavo Jerárquica, con recálculo total . . . . . . 1157.5. Arquitectura Maestro-Esclavo Jerárquica, con recálculo en maestros intermedios . . . . . . . 118

8 Algoritmos reubicativos 1208.1. Arquitecturas Peer-to-Peer (P2P) y Peer-to-Peer Jerárquica (HP2P) . . . . . . . . . . . . . 1218.2. Arquitectura Maestro-Esclavo (MS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1228.3. Arquitectura Maestro-Esclavo Jerárquica (HMS) . . . . . . . . . . . . . . . . . . . . . . . . . 126

V Conclusiones9 Conclusiones y Líneas Futuras 129

10 Conclusions and Future Remarks 131

VIBibliografía

xii

Page 13: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Bibliografía 134

xiii

Page 14: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Índice de figuras

1.1. Dominios de la Computación Natural. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1. Esquema de una célula eucariota [Fuente: Wikipedia]. . . . . . . . . . . . . . . . . . . . . . . . . 72.2. Modelo del mosaico fluido [fuente: Wikipedia]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3. Estructura de membranas y su árbol asociado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4. Grado de cambio de permeabilidad de la membrana con las acciones δ y τ. . . . . . . . . . . . . 13

4.1. Ejemplo de P sistema de transición y el árbol de decisión de la membrana 1 para la determinaciónde reglas activas. [Fuente: [Frutos et al., 2009]] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2. Ejemplo de distribución de un P sistema en procesadores sin conservar la topología arbórea(izquierda) y preservándola (derecha). [Fuente: [Tejedor et al., 2008]] . . . . . . . . . . . . . . . 32

4.3. Ejemplo de cómo el uso de proxies para la comunicación del ejemplo de la figura 4.2 reduce elnúmero de comunicaciones. [Fuente: [Tejedor et al., 2008]] . . . . . . . . . . . . . . . . . . . . . . 32

4.4. Distribución de procesadores en forma de árbol con 4 niveles de altura y amplitud 3. [Fuente:[Bravo et al., 2007a]] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.5. Cronograma de la arquitectura HP2P con 4 niveles y amplitud 3. [Fuente: [Peña et al., 2011]] . 344.6. Amplitud y número de niveles para obtener el mínimo tiempo usando la arquitectura HP2P.

[Fuente: [Peña et al., 2011]] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.7. Cronograma de la arquitectura Maestro-Esclavo, con 4 esclavos. [Fuente: [Bravo et al., 2007b]] 364.8. Cronograma de la arquitectura HMS con 4 niveles y amplitud 3. [Fuente: [Peña et al., 2011]] . . 374.9. Amplitud y número de niveles para obtener el mínimo tiempo usando la arquitectura HMS.

[Fuente: [Peña et al., 2011]] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.10. Cronograma de la arquitectura HMS con 4 niveles y amplitud 3 con solapamiento de etapas.

[Fuente: [Peña et al., 2011]] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.11. Amplitud y número de niveles para obtener el mínimo tiempo usando la arquitectura HMS con

solapamiento de etapas. [Fuente: [Peña et al., 2011]] . . . . . . . . . . . . . . . . . . . . . . . . . 404.12. Ejemplo de distribución de un P sistema en 4 procesadores y el contenido del procesador 2 y de

su proxy asociado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.13. Diferentes arquitecturas de P sistemas distribuidos, incluyendo el orden de comunicación. [Fuen-

te: [Peña et al., 2011]] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.14. Ejemplo del proxy según la arquitectura P2P, para el procesador 2 del P sistema de la figura 4.12. 444.15. Ejemplo de distribución de un P sistema según la arquitectura MS. . . . . . . . . . . . . . . . . . 484.16. Ejemplo de los proxies según la arquitectura MS, para el procesador 2 y el maestro del P sistema

de la figura 4.15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.17. Ejemplo de distribución de un P sistema según la arquitectura HMS. . . . . . . . . . . . . . . . . 52

5.1. Ejemplo de una distribución de membranas (T ) en procesadores (C T ) conservando la topologíaarbórea. V es representado por círculos, y E son aristas continuas. C se representa por cuadrados,y A son fechas discontinuas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

xiv

Page 15: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

5.2. Ejemplo de cvi

1→ ck y cvi

n→ ck , donde cvi

1→ ck = {ca ,cb} y cvi

n→ ck = {cc ,cd ,ce }. . . . . . . . . . 685.3. Diferentes posibilidades de existencia de membranas madres e hijas de vi en el mismo clúster. . 705.4. Ejemplos de distribuciones en las que en ci está vi y su madre (vp), pero no sus hijas, y las

migraciones que se pueden realizar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.5. Ejemplos de distribuciones en las que en ci está vi y alguna de sus hijas (vc), pero no su madre

(vp), y las migraciones que se pueden realizar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.6. Ejemplos de distribuciones en las que en ci está vi , pero ninguna de sus hijas ni su madre (vp),

y las migraciones que se pueden realizar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.7. Tiempos mejor, peor y media para la población inicial y final (después del algoritmo genéti-

co) para distintos porcentajes de mutación, sobre una población de 100 P sistemas de 100membranas cada uno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.8. Tiempos mejor, peor y media para la población inicial y final (después del algoritmo genéti-co) para distintos porcentajes de mutación, sobre una población de 100 P sistemas de 1000membranas cada uno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.9. Tiempos con una distribución aleatoria y después de evolucionar con los algoritmos genéticospara las diferentes arquitecturas, y comparativa con la mejor solución teórica. . . . . . . . . . . . 78

5.10. Tiempos con una distribución aleatoria y después de evolucionar con los algoritmos genéticospara las arquitecturas P2P y HP2P, en los P sistemas de 100 membranas, y la comparativa conla mejor solución teórica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.11. Tiempos con una distribución aleatoria y después de evolucionar con los algoritmos genéticospara las arquitecturas MS y HMS, en los P sistemas de 100 membranas, y la comparativa conla mejor solución teórica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.12. Tiempos con una distribución aleatoria y después de evolucionar con los algoritmos genéticospara las arquitecturas P2P y HP2P, en los P sistemas de 1000 membranas, y la comparativacon la mejor solución teórica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.13. Tiempos con una distribución aleatoria y después de evolucionar con los algoritmos genéticospara las arquitecturas MS y HMS, en los P sistemas de 1000 membranas, y la comparativa conla mejor solución teórica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6.1. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en laarquitectura P2P sobre los P sistemas de 100 membranas. . . . . . . . . . . . . . . . . . . . . . . 85

6.2. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en laarquitectura HP2P sobre los P sistemas de 100 membranas. . . . . . . . . . . . . . . . . . . . . . 85

6.3. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en laarquitectura MS sobre los P sistemas de 100 membranas. . . . . . . . . . . . . . . . . . . . . . . 86

6.4. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en laarquitectura P2P sobre los P sistemas de 1000 membranas. . . . . . . . . . . . . . . . . . . . . . 86

6.5. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en laarquitectura HP2P sobre los P sistemas de 1000 membranas. . . . . . . . . . . . . . . . . . . . . 87

6.6. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en laarquitectura MS sobre los P sistemas de 1000 membranas. . . . . . . . . . . . . . . . . . . . . . . 87

6.7. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en lasarquitecturas P2P, HP2P y MS sobre los P sistemas de 100 membranas. . . . . . . . . . . . . . . 88

6.8. Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para la distribución en lasarquitecturas P2P, HP2P y MS sobre los P sistemas de 1000 membranas. . . . . . . . . . . . . . 88

6.9. Comparativa de los tiempos obtenidos tras usar PSO y algoritmos genéticos para la distribuciónen la arquitectura HMS sobre los P sistemas de 100 membranas. . . . . . . . . . . . . . . . . . . 98

6.10. Tiempos comparativos entre Algoritmos Genéticos y Gramáticas Evolutivas con reescritura paralas arquitecturas P2P y HP2P, en los P sistemas de 100 membranas. También se muestran lostiempos de las distribuciones aleatorias con los que ha partido cada heurística. . . . . . . . . . . 100

6.11. Tiempos comparativos entre Algoritmos Genéticos y Gramáticas Evolutivas con reescritura paralas arquitecturas P2P y HP2P, en los P sistemas de 1000 membranas. También se muestran lostiempos de las distribuciones aleatorias con los que ha partido cada heurística. . . . . . . . . . . 101

xv

Page 16: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

6.12. Tiempos comparativos para las diferentes arquitecturas utilizando la metaheurística que mejoresresultados obtiene. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

7.1. Ejemplo de un P sistema de transición con el árbol de selección de reglas activas para lamembrana 1. [Fuente: [Frutos et al., 2009]] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

7.2. Ejemplo del contenido del procesador 2, con sus acumuladores de tiempos de evolución, segúnel ejemplo de la figura 4.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

xvi

Page 17: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Índice de cuadros

4.1. Orden de complejidad de algoritmos para obtener reglas activas. [Fuente: [Frutos et al., 2009]] . 28

6.1. Mejoras obtenidas con el uso de tiempos parciales en distribuciones realizadas con algoritmosgenéticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.2. Mejoras obtenidas por los algoritmos genéticos con el uso de tiempos parciales. . . . . . . . . . . 876.3. Ejemplo de genotipo, representado cada codón de 8 bits como un número entero. . . . . . . . . 946.4. Proceso de transformación del genotipo del cuadro 6.3 con la gramática indicada. . . . . . . . . 946.5. Genotipo, que utilizando una transformación con reescritura de gramáticas, para el P sistema

de la figura 5.1 da como resultado la distribución de dicha imagen. . . . . . . . . . . . . . . . . . 966.6. Mejoras obtenidas al aplicar evolución gramatical con reescritura de gramáticas contra los mis-

mos test utilizando algoritmos genéticos, para cálculos con tiempos parciales. . . . . . . . . . . . 1016.7. Porcentaje de mejora obtenido en la población inicial al usar evolución gramatical, comparado

con la población inicial de los algoritmos genéticos, para cálculos con tiempos parciales. El valornegativo indica que la población inicial en algoritmos genéticos es mejor. . . . . . . . . . . . . . 102

6.8. Porcentaje de mejora obtenido tras la evolución gramatical, en comparativa a los tiempos dedistribuciones aleatorias utilizados para la misma técnica. . . . . . . . . . . . . . . . . . . . . . . 102

xvii

Page 18: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Índice de algoritmos

1. Algoritmo de aplicación de reglas [Fuente: [Gil et al., 2009]] . . . . . . . . . . . . . . . . . . . 292. Algoritmo del proxy para la arquitectura P2P . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453. Local analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454. Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465. Process the message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466. Children communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467. Create a message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468. Preparing the message for the parent with dissolved membranes application . . . . . . . . . . 479. Father sending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4710. Algoritmo del proxy para la arquitectura HP2P . . . . . . . . . . . . . . . . . . . . . . . . . . . 4711. Children communication in HP2P architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 4812. Algoritmo del proxy de los procesadores esclavos para la arquitectura MS . . . . . . . . . . . . 5013. Algoritmo del proxy del procesador maestro para la arquitectura MS . . . . . . . . . . . . . . . 5114. Algoritmo Genético Abstracto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5815. Algoritmo 1 recursivo (llamado distribute1) para crear un individuo que preserve la topología

arbórea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6616. Algoritmo 2 recursivo (llamado distribute2) para crear un individuo que preserve la topología

arbórea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6717. Operador reparador cuando el número de nodos del árbol es mayor que el permitido para

individuos válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7018. Operador reparador cuando el número de nodos del árbol es menor que el permitido para

individuos válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7419. Algoritmo del PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9020. Algoritmo para la reubicación de membranas en la arquitectura P2P, que utiliza el procesador

raíz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12221. Algoritmo para la reubicación de membranas en la arquitectura P2P, que utiliza el resto de

procesadores, con cada mensaje que recibe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12322. Algoritmo para la reubicación de membranas en la arquitectura MS, cuando se realiza la

reubicación entre la recepción de objetos por el procesador maestro, y su respuesta . . . . . . 12523. Algoritmo para la reubicación de membranas en la arquitectura MS, cuando se realiza la

reubicación después de terminar la etapa de comunicación . . . . . . . . . . . . . . . . . . . . 126

xviii

Page 19: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Par

te

I

Introducción

1

Page 20: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

1Computación Natural

Desde la formalización de los primeros modelos de computación en la década de los treinta, hasta laactualidad, el estudio científico que se desarrolla sobre los sistemas automatizados de manejo de información,ha crecido de forma insospechada. En esa primera década, y más concretamente en el lustro comprendidoentre 1931 y 1936, se realizaron tres formalizaciones diferentes del concepto de procedimiento mecánico.En 1931 K. Gödel [Gödel, 1931] definió la relación recursiva y las funciones recursivas. La segunda for-malización [Church, 1936], con una idea originaria en el mismo año, fue propuesta por A. Church y S.Kleene en su desarrollo del concepto de λ-cálculo y la relación con el concepto de función computable. Yla tercera formalización, y más extendida, proviene de A. Turing, quien en 1936 [Turing, 1937b] utilizarael concepto abstracto de máquina como formalización del concepto de algoritmo y de función computable.Posteriormente, en 1937, Turing [Turing, 1937a] establece la equivalencia de su modelo y el de las funcionesλ-calculables, y anuncia la equivalencia entre la clase de funciones computables por máquinas de Turing yla clase de funciones recursivas, obteniendo que los tres modelos de computación introducidos formalmenteson equivalentes. Estos estudios, no solo son las primeras formalizaciones de los algoritmos, sino que danlugar a la aparición de los primeros modelos de computación, teniendo tres formalizaciones diferentes delprocedimiento mecánico.

Se cree que las máquinas de Turing (y por equivalencia, los modelos de computación de las funcionesrecursivas y del λ-cálculo) tienen una potencia computacional universal. Es decir, todos los modelos construi-dos posteriormente se pueden simular en dichas máquinas. En base a los trabajos de Turing de una máquinauniversal, programable y de propósito general, John von Neumann desarrolla el modelo conceptual de losordenadores actuales; marcando este hito, el inicio de la Teoría de la Computación.

En la década de los cincuenta, se desarrollan los primeros lenguajes de programación, traductores ysistemas operativos. En esta época, el poder de cálculo de los procesadores y de almacenamiento de lasmemorias está muy limitado, tomando importancia el estudio de la complejidad de los problemas. En la décadade los sesenta, se realiza la clasificación de los lenguajes y funciones en base al tiempo y el espacio necesariopara su generación y cálculo [Stearns et al., 1965] [Lewis et al., 1965]. Estos estudios son los orígenes dela Teoría de la Complejidad Computacional, que estudia la complejidad inherente a la resolución de unproblema computable, normalmente en base al tiempo (y número de pasos) que tarda un algoritmo y alespacio (memoria necesaria) que se necesitan. En base a estos parámetros, la Teoría de la Complejidad

2

Page 21: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

clasifica los problemas en función de la resolubilidad algorítmica práctica de los mismos en base a si losrecursos necesarios para su ejecución, en el peor de los casos, están acotados por un polinomio en el tamañodel dato de entrada o no. Da lugar a los problemas tratables (designados por P) cuando son resolubles deforma eficiente, y a problemas NP cuando no.

Puesto que los computadores actuales de silicio, basados en la arquitectura de von Neumann, permitenresolver los problemas P, pero no los problemas NP, han surgido otra serie de alternativas con ideas dealgoritmos no deterministas. Entre las alternativas existentes, la que más énfasis tiene y más esfuerzosconcentra es la llamada Computación Natural.

La Computación Natural es una de las alternativas a la computación denominada clásica, que busca nue-vos paradigmas que puedan proporcionar una solución efectiva a las limitaciones de los modelos conceptuales.Estos paradigmas se centran principalmente en dos tipos de soluciones: crear nuevos algoritmos inspirados enel comportamiento de la naturaleza, o utilizar elementos de la naturaleza como base de cómputo. Entre losque se encuentran en el primer grupo, se puede mencionar las redes neuronales y la programación evolutiva,mientras que en el segundo grupo se tiene a la computación molecular y a la computación cuántica (queaunque no es fiel a la definición de Computación Natural, se suele agrupar dentro de la misma). Otra clasi-ficación que se suele realizar de los modelos de biocomputación es la clasificación por niveles de agregación,como se muestra en la figura 1.1.

Figura 1.1: Dominios de la Computación Natural.

En 1943, W.S. McCulloch y W. Pitts [McCulloch and Pitts, 1943] proponen el primer modelo de RedNeuronal como simulación de la actividad nerviosa. Esta red finita de neuronas convencionales puede imple-mentar un programa de la máquina de Turing. Con el estudio del cerebro y de las neuronas se ha implementadouna herramienta de análisis estadístico que permite la construcción de un modelo de comportamiento a partirde una base de ejemplos de dicho comportamiento. La diferencia entre las redes neuronales y los modelosconvencionales radica en que las redes no son algorítmicas, sino que es la propia red la que genera sus propiasreglas y aprende de los ejemplos y sus errores.

Otro gran ejemplo de simulación de sistemas biológicos en ordenadores es la Computación Evolutiva, cuyomáximo representante son los algoritmos genéticos. Los Algoritmos Genéticos son métodos adaptativos quepueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genéticode los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza deacorde con los principios de la selección natural y la supervivencia de los más fuertes, postulados por Darwin

3

Page 22: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

[Darwin, 1859]. Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando solucionespara problemas del mundo real. La evolución de dichas soluciones, con una adecuada codificación de lasmismas, converge hacia valores óptimos del problema. Los principios básicos de los Algoritmos Genéticosfueron establecidos por Holland [Holland, 1975], y se encuentran bien descritos en los textos de Goldberg[Goldberg, 1989] o Davis [Davis, 1991].

La Inteligencia de Enjambres es una disciplina de la Computación Natural que trata con sistemas naturalesy artificiales compuestos de muchos individuos que se coordinan utilizando control descentralizado y auto-organización. El término, introducido por Beni y Wang [Beni and Wang, 1989], se refiere a sistemas que estánconstituidos por agentes simples que interactúan localmente unos con otros y con el ambiente, siguiendoreglas simples y sin tener un control centralizado, y cuyas interacciones producen una conducta globalinteligente. Existen múltiples algoritmos, destacando los basados en el comportamiento de animales, comohormigas (Optimización por Colonias de Hormigas), abejas, bacterias, pájaros (Optimización de Enjambresde Partículas), etc.

Además de estas técnicas de cómputo inspiradas en la naturaleza e implementadas en equipos electró-nicos, existen otros paradigmas cuyo soporte hardware es la propia naturaleza, o una representación de lamisma. Se puede destacar en este grupo a la computación molecular y a la computación cuántica.

Las ideas del premio nobel R.P. Ferynman [Feynman, 1960] a finales de los 50 sobre el concepto teóricode Computación Molecular adquieren relevancia cuando en la década de los 80 se establecen las limitacionesfísicas de la velocidad de cálculo de los procesadores. En 1987, T. Head [Head, 1987] propone el modelosplicing basado en la manipulación de las moléculas de ADN, de forma que la información es almacenada enlas cadenas de caracteres al modo en que lo hacen las moléculas de ADN. En 1994 Adleman [Adleman, 1994]realizó un experimento en un laboratorio que conseguía solucionar el Problema del Camino Hamiltoniano de7 nodos, que es considerado un problema intratable. Aunque este experimento no es una implementaciónpráctica del modelo de Head, el sustrato utilizado y las operaciones que usa sobre dicho sustrato son similaresa las propuestas por el modelo splicing. En la actualidad han surgido modelos moleculares alternativos, lamayoría de los cuales, utilizan el ADN como molécula básica y se diferencian en las operaciones primitivas.Existen otros modelos que utilizan diferentes tipos de moléculas biológicas como dispositivo para almacenarla información, tales como ARN, y enzimas específicas para su tratamiento.

La idea de Computación Cuántica surge en 1981, cuando Paul Benioff expuso su teoría para aprovecharlas leyes cuánticas en el entorno de la computación. En vez de trabajar a nivel de voltajes eléctricos, setrabaja a nivel de Quantum. En la computación cuántica, al contrario que en la computación digital quelos bit pueden tomar dos valores, la partícula puede estar en superposición coherente, permitiendo realizarvarias operaciones a la vez.

Los modelos de computación basados en la naturaleza estaban inspirados en la observación de dosniveles: el nivel neuronal y el nivel genético. Gheorghe Păun, en 1998, se inspira en el nivel celular para darlugar a la Computación con Membranas [Păun, 2000]. Este modelo bioinspirado nace como una abstraccióny simplificación de las membranas contenidas en las células. Sobre este sistema inicial han sido muchas lasvariantes introducidas buscando una veces mayor eficiencia en la solución de los problemas complejos, y otras,una mayor aproximación al modelo biológico real que trata de simular. A diferencia de los otros modelos dela Computación Natural descritos, la Computación con Membranas no dispone (Figura 1.1) en la actualidadde ninguna implementación real, ya sea en laboratorio o en la adaptación de ordenadores convencionales.Todo lo realizado en esta dirección se reduce a una interpretación de redes de ordenadores convencionales ode los procesos de ciertas reacciones químicas que se producen en medio acuoso, y a una simple simulaciónde ejecuciones a través de lenguajes de programación.

Basándose en los P sistemas que propuso Păun, Victor Mitrana propone otro modelo de computaciónbasado en las regiones celulares, llamado Redes de Procesadores Evolutivos. Son una serie de procesadoresinterconectados, formando un grafo no dirigido, que poseen cadenas (multiconjuntos de objetos), y quetransforman estas cadenas en base a unas reglas de evolución. Las cadenas son enviadas entre procesadores,pero los canales de comunicación tienen unos filtros de entrada y salida, que restringen las transferencias.[Castellanos et al., 2001], [Castellanos et al., 2003] y [Martin-Vide and Mitrana, 2005].

4

Page 23: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

2Computación con Membranas

En octubre de 1998 Gh. Păun introduce un nuevo modelo de computación paralela y distribuida, de-nominada P sistemas de transición [Păun, 2000]. Este modelo también se conoce con el nombre decomputación celular con membranas.

Los procesos que se producen en una célula son lo suficientemente complejos para no intentar mode-lizarlos. El objetivo de Păun fue crear un modelo abstracto que simule el comportamiento de las células yque permita obtener soluciones alternativas a problemas computacionalmente intratables desde un punto devista convencional. Para ello toma todas las características del comportamiento y constitución de la célulaque pueden ser de utilidad en la elaboración de un modelo de computación que combine potencia y sencillez.

La primera característica destacable es la estructura interna de la célula. En ella, las distintas partesque la componen se encuentran delimitadas por varios tipos de membranas. Una característica de estasmembranas es que no delimitan compartimentos estancos sino que permiten el paso de ciertos compuestosquímicos. En base a esta idea, los P sistemas se basan en una estructura de membranas como modelomatemático de ordenación física de la célula. En esta agrupación en forma jerárquica de membranas existiránunos elementos atómicos denominados objetos, al igual que en el interior de las células biológicas existensustancias químicas que pueden traspasar las membranas. Estas sustancias químicas en base a reaccionesquímicas pueden transformase en otras. De igual forma, en los P sistemas, en base a reglas de evolución,los objetos pueden convertirse en otros. Las reglas de evolución, además de indicar las transformaciones deobjetos, indican el traspaso de objetos entre membranas; y también pueden hacer desaparecer la membranasobre la que se están ejecutando, simulando el hecho biológico de la disolución de las membranas. Cuandoocurre esta disolución, los objetos de la membrana disuelta pasan a formar parte de la membrana que lacontuviese directamente. Con respecto a las reacciones químicas que se producen puede haber diferencias deprobabilidad de producirse, basándose en el hecho de que la aplicación de ciertas enzimas puede provocar lainhibición de otras presentes en la misma membrana. Otro motivo también diferenciador de las reaccionesquímicas es que en ciertos momentos, solo alguna puede desatarse debido al alto consumo de energía quepuede requerir. Este comportamiento biológico, se ha copiado en la computación con membranas, donde sepuede considerar un cierto orden en la aplicación de las reglas a través de una relación de prioridad, de modoque si dos reglas pueden ser aplicadas simultáneamente, y hay una relación de prioridad entre ellas, entoncessolo se podrán ejecutar aquellas de prioridad más alta. En el caso de que existan varias reglas en una misma

5

Page 24: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

membrana que puedan ser ejecutadas en un cierto instante, el sistema actuará de manera no determinista;es decir, el sistema tendrá varias posibilidades de evolución, y podrá ejecutar cualquiera de las reglas de igualprioridad que sean aplicables. Además, las reglas deben aplicarse en su máximo, en el sentido de que en cadapaso de computación deben agotarse todos los objetos afectados por reglas que se puedan aplicar. Para ello,se entiende que el dispositivo está sincronizado. Además de este paralelismo (todas las reglas se ejecutan ala vez), en el sistema existe otro de mayor envergadura, puesto que todas las membranas evolucionan a lapar.

Desde el punto de vista estático, e inicial del P sistema antes de la evolución, los elementos principalesson: la estructura de membranas, los multiconjuntos de objetos y los conjuntos de reglas de evoluciónpersistentes en las regiones definidas en la estructura de membranas. El estado de estos elementos encada instante temporal es conocido como configuración. Pero como se ha mencionado levemente, estoscomponentes interactúan de forma dinámica en la evolución del sistema. A partir de una configuración, ycon la aplicación de las reglas de evolución, se producen una transacción, que es el proceso para pasar de unaconfiguración a otra. Y una secuencia de transacciones entre configuraciones se define como computación. Deentre las posibles computaciones, serán satisfactorias aquellas cuya computación finalice. Es decir, aquellasque lleguen a una configuración en la que ninguna de las reglas existentes en el sistema pueda ser aplicada.A una computación satisfactoria se le puede asociar un resultado contando los objetos presentes en laconfiguración final en una membrana elemental, i0. De una forma más concreta, se puede usar un sistema demembranas para resolver tres tipos de tareas: utilizarlo como un dispositivo generativo, como un dispositivode cálculo, o como un dispositivo de decidibilidad.

En algunos casos, en lugar de utilizar la membrana elemental para obtener la salida del sistema, tambiénse puede considerar que los objetos que abandonan la membrana externa del sistema durante el proceso dela computación satisfactoria determinan el multiconjunto de objetos resultado.

Por último, es remarcable que se ha demostrado que algunos de los dispositivos esbozados anteriormenteson Turing completos. Por ejemplo, en el caso generativo, pueden generar todos los conjuntos de vectores denúmeros naturales recursivamente enumerables. Por otro lado, ciertas clases de sistemas de membranas, conun paralelismo potenciado, son capaces de resolver problemas NP-completos en tiempo lineal. Esto suponecambiar espacio por tiempo, y utilizar un espacio exponencial, en forma de membranas y objetos presentesen la configuración del sistema durante una computación.

En la sección siguiente se describe brevemente el modelo biológico que sustenta estos sistemas, y en laúltima sección se da una definición formal de los sistemas de membranas.

2.1. La membrana biológica

La célula es la subdivisión morfológica y funcional más pequeña que puede considerarse viva. A partirde ella, se clasifican los organismos vivos según la cantidad de ellas que contengan. Las células tambiénse clasifican en dos tipos en función de la existencia (eucariota) o no (procariota) de núcleo. Además, lasprocariotas no tienen sistemas de endomembranas u orgánulos delimitados por membranas biológicas. Elsistema endomembranoso también proporciona un sistema del transporte para las moléculas móviles a travésdel interior de la célula, así como superficies interactivas para la síntesis de lípidos y de proteínas. Lasmembranas que componen el sistema endomembranoso se construyen a partir de una bicapa lípida, con lasproteínas unidas a cada lado o atravesándolas. El esquema de una célula eucariota se puede observar en lafigura 2.1, donde se observa como la célula está compuesta de múltiples orgánulos especialidazados de entrelos que destaca el núcleo y el Aparato de Golgi.

Las células son entes dinámicos, con un metabolismo celular interno de gran actividad cuya estructuraes un flujo entre rutas anastomosadas. Un fenómeno observado en todos los tipos celulares es la comparti-mentalización, que consiste en una heterogeneidad que da lugar a entornos más o menos definidos (rodeadoso no mediante membranas biológicas) en las cuales existe un microentorno que aglutina a los elementos

6

Page 25: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 2.1: Esquema de una célula eucariota [Fuente: Wikipedia].

implicados en una ruta biológica. Esta compartimentalización alcanza su máximo exponente en las célulaseucariotas, las cuales están formadas por diferentes estructuras y orgánulos que desarrollan funciones espe-cíficas, lo que supone un método de especialización espacial y temporal. No obstante, células más sencillas,como las procariotas, ya poseen especializaciones semejantes.

Las membranas que se ubican en la célula poseen características similares, pero la composición y funcio-namiento es diferente. Entre los distintos tipos de membranas que existen, se puede destacar a la membranacelular o plasmática, la envoltura nuclear y los retículos endoplasmáticos. Estas membranas son simples odobles, y como se muestra en el retículo endoplasmático, son un conjunto de membranas. Desde el punto devista de la estructura, funcionamiento y composición, destaca la membrana plasmática, que ha sido la quemás estudios ha recibido.

Un modelo que explica el funcionamiento de la membrana plasmática es el modelo del mosaico fluido,de J. S. Singer y G. Nicolson en 1972 [Singer and Nicolson, 1972], que desarrolla un concepto de unidadtermodinámica basada en las interacciones hidrófobas entre moléculas y otro tipo de enlaces no covalentes,como se observa en la figura 2.2.

La membrana plasmática o celular es una estructura laminar formada por fosfolípidos (con cabeza hidro-fílica y dos colas hidrofóbicas) y proteínas que engloban a las células, definiendo sus límites y contribuyendoa mantener el equilibrio entre el interior (medio intracelular) y el exterior (medio extracelular) de éstas. Lacomposición de la membrana plasmática varía entre células dependiendo de la función o del tejido en laque se encuentre, pero posee elementos comunes. Está compuesta por una doble capa de fosfolípidos, porproteínas unidas no covalentemente a esa bicapa, y por glúcidos unidos covalentemente a lípidos o proteínas.Generalmente, las moléculas más numerosas son las de lípidos; sin embargo, la proteínas, debido a su mayormasa molecular, representan aproximadamente el 50% de la masa de la membrana. La principal característicade esta barrera es su permeabilidad selectiva, lo que le permite seleccionar las moléculas que deben entrar ysalir de la célula. De esta forma se mantiene estable el medio intracelular, regulando el paso de agua, iones y

7

Page 26: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 2.2: Modelo del mosaico fluido [fuente: Wikipedia].

metabolitos, a la vez que mantiene el potencial electroquímico (haciendo que el medio interno esté cargadonegativamente).

Los lípidos más abundantes son los fosfoglicéridos (fosfolípidos) y los esfingolípidos, que se encuentranen todas las células; le siguen los glucolípidos, así como esteroides (sobre todo colesterol). El porcentaje deproteínas oscila entre un 20% en la vaina de mielina de las neuronas y un 70% en la membrana internamitocondrial; el 80% son intrínsecas, mientras que el 20% restantes son extrínsecas. Las proteínas sonresponsables de las funciones dinámicas de la membrana, por lo que cada membrana tiene una dotación muyespecífica de proteínas; las membranas intracelulares tienen una elevada proporción de proteínas debido alelevado número de actividades enzimáticas que albergan. En la membrana, las proteínas desempeñan diversasfunciones: transportadoras, conectoras, receptoras y enzimas.

El orden de las cabezas hidrofílicas y las colas hidrofóbicas de la bicapa lipídica impide que solutos polares,como aminoácidos, ácidos nucleicos, carbohidratos, proteínas e iones, difundan a través de la membrana,pero generalmente permite la difusión pasiva de las moléculas hidrofóbicas. Esto permite a la célula controlarel movimiento de estas sustancias vía complejos de proteína transmembranal tales como poros y caminos,que permiten el paso de glucosa e iones específicos como el sodio y el potasio.

Las cinco capas de moléculas fosfolípidas forman un “sándwich” con las colas de ácido graso dispuestoshacia el centro de la membrana plasmática y las cabezas de fosfolípidos hacia los medios acuosos que seencuentran dentro y fuera de la célula.

La función básica de la membrana plasmática es mantener el medio intracelular diferenciado del entorno.Esto es posible gracias a la naturaleza aislante en medio acuoso de la bicapa lipídica y a las funciones detransporte que desempeñan las proteínas. La combinación de transporte activo y transporte pasivo hacen dela membrana plasmática una barrera selectiva que permite a la célula diferenciarse del medio.

La mayor característica de las membranas es la permeabilidad, es decir, la facilidad de las moléculaspara atravesarla. Esto depende principalmente de la carga eléctrica y, en menor medida, de la masa molarde la molécula. Moléculas pequeñas o con carga eléctrica neutra pasan la membrana más fácilmente queelementos cargados eléctricamente y moléculas grandes. Además, la membrana es selectiva, lo que significaque permite la entrada de unas moléculas y restringe la de otras. Debido a la selectividad de la membranasurge el concepto de transporte de membrana como el mecanismo que regula el paso de iones, solutos ymoléculas a través de la membrana plasmática. En los tipos de transporte, está la difusión simple (que norequiere de la intervención de proteínas de las membranas, pero si de las características de la sustanciaa transportar y de la naturaleza de la bicapa), la difusión facilitada (que requiere de la intervención deproteínas), y el transporte activo y contransporte (que al contrario que los anteriores que aumentan laentropía del sistema y disminuyen la energía libre, porque las proteínas transportadoras implicadas consumenenergía metabólica).

8

Page 27: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

2.2. Definición formal de los elementos de los sistemas demembranas

A continuación se definen matemáticamente algunos de los elementos que constituyen los sistemasde membranas, tal y como se encuentran recogidos generalmente en la literatura relevante sobre el área.En primer lugar se especifican los multiconjuntos de objetos, después la estructura de membranas -y porextensión la estructura del sistema-, y el último elemento caracterizador, que son las reglas de evolución.A partir de estos preliminares se definirá el modelo, tal y como fue definido en su origen, y se explicará elcomportamiento del mismo, explicando el dinamismo del sistema.

Multiconjuntos

Un multiconjunto es un conjunto en el que se considera la multiplicidad o número de veces que unelemento se encuentra repetido en dicho conjunto.

Definición 2.2.1. Un multiconjunto sobre un conjunto finito arbitrario U es una correspondencia unívocade U sobre el conjunto de los números naturales

M : U → Na → M a

La imagen de todo elemento de a ∈U se define como la multiplicidad de a, esto es, el número de copiasque del elemento a se tiene en el multiconjunto. Naturalmente, la multiplicidad de todo elemento de U esfinita para nuestros propósitos. Otra forma de representar multiconjuntos es de forma de conjuntos de paresordenados, en los que el primer elemento del par es el elemento de U y el segundo elemento del par es lamultiplicidad de dicho elemento.

M = {(a, M a)|a ∈U }

Incluso se puede representar un multiconjunto sobre U = {a1, a2, . . . , am} de forma más compacta de lamanera siguiente:

M = aM(a1)1 aM(a2)

2 . . . aM(am )m

Toda permutación de este polinomio considerado como cadena de caracteres representa al mismo mul-ticonjunto. Más aún, se denomina el vector de Parikh asociado al multiconjunto M sobre U al vector de lasmultiplicidades de los elementos de U (M(a1), M(a2), . . . M(am)) . En esta definición el orden de los elementosdel conjunto U es relevante.

Definición 2.2.2. Sea M un multiconjunto sobre un conjunto U . Se define soporte del multiconjunto M yse representa por supp(M) al conjunto siguiente:

supp(M) = {a ∈U |M(a) > 0}

Definición 2.2.3. Un multiconjunto se dice que es vacío si su soporte es el conjunto vacío y se representapor ;.

Consideramos ahora el conjunto de todos los multiconjuntos que se pueden formar sobre un conjuntofinito U .

M (U ) = {M : U → N |M es un Multiconjunto sobre U }

9

Page 28: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Sobre M (U ) se puede definir la relación de inclusión y las siguientes operaciones:

Inclusión de Multiconjuntos:

∀M1, M2 ∈M (U ), M1 ⊆ M2 ⇔∀a ∈U , M1(a) ≤ M2(a)

Suma de Multiconjuntos

+ : M (U )xM (U ) →M (U )(M1, M2) → M1 +M2 = {(a, M1(a)+M2(a))|a ∈U }

Diferencia de Multiconjuntos ∀M1, M2 ∈M (U )|M1 ⊆ M2

− : M (U )xM (U ) →M (U )(M1, M2) → M1 −M2 = {(a, M1(a)−M2(a))|a ∈U }

Producto escalar por un número natural

· : M (U )xM (U ) →M (U )(n, M) → n ·M = {(a,n ·M(a))|a ∈U }

Estructura de membranas

El elemento principal de un sistema de membranas es la propia estructura de membranas. Una estructurade membranas puede visualizarse como una distribución tridimensional de vesículas, en las que el tamañoy la distribución espacial no son relevantes; lo que realmente importa son las relaciones de inclusión entremembranas. En estos sistemas siempre habrá una membrana externa, la piel. En este punto, es importantehacer notar la correspondencia uno a uno entre membranas y regiones que encierran. Precisamente a causade esta correspondencia, es posible hablar de membranas, de etiquetas de las regiones, de los contenidos delas membranas, etc.

El concepto de membrana que se utiliza en la computación con membranas es un concepto idealizado,de forma que lo que permanece de la biología es la idea de barrera entre una región interior y otra regiónexterior. En este modelo la estructura interna de la membrana se pierde.

Una estructura de membranas se puede representar matemáticamente como un árbol dirigido y desor-denado, en el que la raíz del árbol es la membrana externa o piel, los nodos son las membranas y los arcosrepresentan la relación “estar incluida directamente en”.

En la representación en árbol de la estructura de membranas se pierde la interpretación bioquímicaenfatizando el hecho de que las posiciones no son relevantes, sino que lo que realmente importa, son lasrelaciones de contenido de unas membranas en otras. Un ejemplo de la estructura de membranas y su árbolasociado aparece en la figura 2.3.

Una estructura de membranas también puede ser representada como una cadena de paréntesis empa-rejados. Por ejemplo, la estructura en árbol de la figura 2.3 se puede representar en forma de cadena de laforma siguiente:

[1[2]2[3]3[4[5]5[6[8]8[9]9]6[7]7]4]1

Debido a que las membranas tienen asociadas etiquetas, los corchetes etiquetados también están etiquetados.

Al considerar la estructura de membranas como un árbol, surgen ciertas definiciones referentes a larelación jerárquica de las mismas.

Definición 2.2.4. Se considera un grafo no dirigido G como el par ordenado (V ,E), en donde V es unconjunto finito cuyos elementos se denominan vértices o nodos y E ⊆ {{u, v} : u, v ∈V ∧u 6= v}.

10

Page 29: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 2.3: Estructura de membranas y su árbol asociado.

Definición 2.2.5. Se define un camino de longitud k desde un vértice u hasta un vértice v de G = (V ,E)como la sucesión finita (x0, x1, · · · , xk ) de vértices de G tal que u = x0,v = xk y ∀ j (0 ≤ j < k → [x j , x j+1] ∈ E).

Definición 2.2.6. Se dice que un grafo no dirigido es conexo si todo par de vértices distintos están conectadospor algún camino en el grafo.

Definición 2.2.7. Se define un ciclo como un camino en el que todas las aristas y todos los vértices quelo forman son diferentes entre sí (excepto el primero y el último), de longitud al menos 1 y que comienza yacaba en el mismo vértice.

Definición 2.2.8. Se denomina árbol a un grafo no dirigido, conexo y sin ciclos (acíclico).

Definición 2.2.9. Se denomina árbol enraizado al árbol con uno de sus vértices distinguido. Este vértice sedenomina raíz.

Definición 2.2.10. Sea G un árbol enraizado de raíz r , y dado un vértice u, cualquier otro vértice v (v 6= u),que esté en el único camino que une la raíz r con u, se dice que es un antecesor o ascendiente de u. Tambiéndiremos que u es un descendiente de v .

Definición 2.2.11. Dado G = (V ,E), un árbol enraizado de raíz r , diremos que un vértice u es padre de vsi {v,u} ∈ E y v es descendiente de u. De igual forma, diremos que v es hijo de u.

Definición 2.2.12. Diremos que un vértice de un árbol es hoja si el vértice no tiene descendientes.

Definición 2.2.13. Una estructura de membranas es un árbol enraizado en el que los nodos se denominanmembranas, la raíz se denomina piel, y las hojas se denominan membranas elementales.

La representación en árbol de la estructura de membranas hace posible considerar varios parámetros,como son: la profundidad de la estructura de membranas, y la topología de la estructura de membranassegún la forma del árbol.

11

Page 30: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Definición 2.2.14. Sea MS el lenguaje sobre el alfabeto V = {[, ]} cuyas cadenas se definen recursivamentede la forma siguiente:

[] ∈ MS

si µ1, . . . ,µn ∈ MS,n ≥ 1, entonces [µ1 . . .µn] ∈ MS

Sobre MS se define la relación ∼ de la forma siguiente:

∀x, y ∈ MS, x ∼ y ⇔ x =µ1µ2µ3µ4 ∧ y =µ1µ3µ2µ4 ∧µ1µ4µ2µ3 ∈ MS

Esta relación establece que dos estructuras de membranas están relacionadas si y solo si una se obtienea partir de la otra como una permutación de paréntesis emparejados situados en el mismo nivel. Es decir, sitomamos las representaciones en árbol de ambas estructuras de membranas y a partir de una, intercambiandodos nodos del mismo nivel del árbol obtenemos la otra.

Representando con ∼∗ el cierre transitivo y reflexivo de la relación ∼ se tiene que dicho cierre establecesobre MS una relación de equivalencia.

Definición 2.2.15. Sea MS ∼∗= MS el conjunto de las clases de equivalencia de MS sobre la relación ∼∗.

Los elementos de MS se denominan estructuras de membranas. Cada par de corchetes emparejados [,] dela estructura de membranas se denomina membrana. La membrana externa de la estructura de membranasse denomina piel. Una membrana que no tiene membranas internas (es decir con la forma []) se denominamembrana elemental.

El número de membranas de una estructura de membranas µ ∈ MS se llama grado de la estructura demembranas y se representa por deg (µ) y se define recursivamente de la forma siguiente:

g r ado([]) = 1

g r ado([µ1 · · ·µn]) = 1+n∑

i=1deg (µi )

En una estructura de membranas µ ∈ MS se puede definir, también recursivamente, la función de pro-fundidad que determina el número de membranas que forman la estructura de la forma siguiente:

pr o f ([]) = 1

pr o f ([µ1 · · ·µn]) = 1+max{pr o f (µ1), · · · , pr o f (µn)}

El concepto de adyacencia es fundamental en la definición de la estructura de membranas desde el puntode vista formal, y se puede definir de la forma siguiente:

Sea µ ∈ MS una estructura de membranas con las membranas etiquetadas biunívocamente en L ={1, · · · ,deg (µ)}. Automáticamente, las regiones asociadas a las membranas son también etiquetadas con lamisma etiqueta que su membrana asociada. Entonces, se puede definir la siguiente relación de orden parcialen L:

Definición 2.2.16. Dadas dos etiquetas i , j ∈ L, diremos que i <µ j si y solo si la región con etiqueta icontiene directamente a la región con etiqueta j o i contiene una región con etiqueta k ∈ L que contiene ala región con etiqueta j .

De esta manera, se puede caracterizar las regiones adyacentes.

Definición 2.2.17. Sean i , j ∈ L = {1, · · · ,deg (µ)} dos etiquetas asociadas a dos regiones de una estructurade membranas µ, diremos que la región con etiqueta i es adyacente a la región con etiqueta j si y solo si:

(i <µ j ∧Øk ∈ {1, · · · ,deg (µ)}|i <µ k ∧k <µ j )∨ ( j <µ i ∧Øk ∈ {1, · · · ,deg (µ)}| j <µ k ∧k <µ i )

12

Page 31: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Reglas de evolución

En las regiones de una estructura de membranas se sitúan multiconjuntos de objetos, que son conjuntosdonde cada uno de sus elementos aparece repetido el número de veces que se indica; es decir, que para cadaobjeto del conjunto se encuentran un número de copias atómicas idénticas y no identificables en la región,igual a la multiplicidad de dicho objeto en el multiconjunto. Estos objetos evolucionan por medio de reglas.La reglas están asociadas a las regiones, en base a la idea de que cada región tiene una condiciones específicaspara que se produzcan unas determinadas reacciones químicas. Las reglas especifican la transformación deobjetos, así como la transferencia de los mismos a otras membranas. El paso de un objeto a través de unamembrana se denomina comunicación. El típico ejemplo de regla es

cabb → caadout di n3

con el siguiente significado: Una copia del catalizador c (que no es cambiado durante la reacción, peroque es necesario para que se realice) junto con un objeto a y dos copias del objeto b reaccionan juntas yproducen, además del catalizador que no se consume, dos copias de a y dos copias de d . De las copias ded , una traspasa la membrana hacia fuera cuando la regla se aplica, y la otra atraviesa la membrana interioradyacente etiquetada con 3. Los objetos c, a y a permanecen en la misma membrana. Si la membranaetiquetada como 3 no existiese o no estuviera directamente incluida en la membrana en la que la regla seestá aplicando, entonces la regla no sería aplicable. Si un objeto es enviado a través de un comando outfuera de la membrana piel, entonces el objeto abandonaría el sistema y nunca volvería.

Además, en el procesamiento de las reglas, los objetos utilizados son eliminados de los objetos contenidosen la región y los objetos generados -si no se indica destino- son añadidos a la región. En el ejemplo anterior,cabb son eliminados del conjunto de reglas, obteniendo caa. Además, un símbolo d es añadido a la regiónde la membrana madre y otro símbolo d a la región de la membrana 3.

Cuando se utiliza una regla que utiliza el símbolo de acción δ, la membrana en la que se aplica dicharegla se disuelve, manteniendo libremente todos sus objetos y pasando estos a la membrana inmediatamentesuperior, y desapareciendo todas las reglas de la membrana disuelta. También se puede considerar una accióndual a la acción de δ, con la acción τ (inhibición de la comunicación), que hace que una membrana inhibatemporalmente la comunicación a través de ella; la membrana puede abrir de nuevo sus comunicacionesdespués de utilizar una regla que contenga el símbolo δ. Utilizando las acciones δ y τ se puede controlar lacomunicación a través de las membranas de forma muy efectiva, como se observa en la figura 2.4. Todas lasmembranas inicialmente tienen densidad 1. Con las operaciones δ y τ, la densidad varia, pudiendo llegar a2, donde no se permite que ningún objeto atraviese esa membrana. Si la densidad pasara a 0, la membranase disolvería.

Figura 2.4: Grado de cambio de permeabilidad de la membrana con las acciones δ y τ.

13

Page 32: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Las reglas se aplican de forma no determinista, y masivamente paralela. Esto significa que los objetosque evolucionan son usados por las posibles reglas de forma no determinista, y además, todos los objetos quepueden evolucionar en un determinado paso, lo hacen a la vez. A veces, se considera definida entre las reglasde evolución una relación de prioridad, por lo que las reglas que se utilizan y los objetos que se procesan seseleccionan de forma que solamente se utilizan las reglas que tienen la máxima prioridad entre aquellas queson aplicables.

Definición de un P sistema de transición

En base a los elementos introducidos anteriormente, se pueden definir los P Sistemas de Transición(Transition P System), que es el modelo básico de computación con membranas introducido por Păun[Păun, 2000].

Definición 2.2.18. Un P Sistema de Transición de grado n, con n ≥ 1, es una tupla

Π= (V ,µ,ω1, · · · ,ωn , (R1,ρ1), · · · , (Rn ,ρn), i0)

en donde:

V es un alfabeto, cuyos elementos se denominan objetos.

µ es una estructura de membranas de grado n, con las membranas (regiones) etiquetadas biyectiva-mente con elementos de un conjunto de etiquetas Λ. Es habitual usar como conjunto de etiquetasΛ= {1, . . . ,n}.

Para cada i tal que 1 ≤ i ≤ n, ωi es un multiconjunto finito sobre V . El multiconjunto ωi se consideraasociado a la región de µ etiquetada por i .

Para cada i tal que 1 ≤ i ≤ n, Ri es un conjunto de reglas de evolución sobre V . El conjunto Ri

se considera asociado a la región de µ etiquetada por i . Para cada i tal que 1 ≤ i ≤ n, ρi es unorden parcial estricto sobre Ri , que especifica la prioridad entre las reglas del conjunto Ri . Unaregla de evolución es un par ordenado (u, v) (habitualmente escrito en la forma u → v , en dondeu es un multiconjunto sobre V y v = v ′ o v = v ′δ, siendo v ′ un multiconjunto sobre el alfabeto(V x{her e,out })

⋃(V x{i n j |1 ≤ j ≤ n}. δ es un símbolo especial no incluido en V . La longitud de u se

denomina radio de la regla (u, v).

El número i0 verifica que 1 ≤ i0 ≤ n y representa la membrana de salida del P Sistema.

Cualquiera de los multiconjuntos asociados a las membranas puede estar vacío, así como los conjuntosde reglas o las relaciones de prioridad.

Los símbolos her e, out , i n j , 1 ≤ j ≤ m, se denominan comandos de dirección o de objetivo, en el sentidode que especifican el destino de los objetos que la regla produce. Para simplificar la notación, la indicaciónher e se omite en las reglas de evolución.

Dinámica de los P sistemas de transición

El proceso por el que los P sistemas son transformados, se denomina evolución. La evolución se lograa través de la aplicación de las reglas de evolución situadas en las regiones definidas por la estructura demembranas.

Sea Π el P sistema de grado n ≥ 1 siguiente:

14

Page 33: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Π= (V ,µ,ω1, · · · ,ωn , (R1,ρ1), · · · , (Rn ,ρn), i0)

Definición 2.2.19. Se dice que la (n +1)− tupl a (µ,ω1, · · · ,ωm) es la configuración inicial de Π.

En general, cualquier (ik+1)− tupl a (µ′,ω′i1

, · · · ,ω′ik

), siendo µ′ una estructura de membranas obtenidaeliminando de µ todas las membranas distintas de i1, · · · , ik y ω′

i j,1 ≤ j ≤ k, i j ∈ {1, · · · ,m} multiconjuntos

sobre V , se denomina configuración de Π.

Es preciso anotar que durante el proceso de evolución, las etiquetas asociadas a las membranas, y portanto también a las regiones, no se cambian. De esta forma, se preserva la correspondencia existente entre:membranas, multiconjuntos de objetos y los conjuntos de reglas de evolución, con las regiones definidasinicialmente por la estructura de membranas; permitiendo identificar el contenido de todas y cada una delas regiones que existen en un instante dado en el P sistema.

Definición 2.2.20. Dadas dos configuraciones de Π, C1 = (µ′,ω′i1

, · · · ,ω′ik

), y C2 = (µ′′,ω′′j1

, · · · ,ω′′jk

) se diceque se tiene una transición de C1 a C2 y se representa por C1 ⇒C2, si podemos pasar de C1 a C2 utilizandolas reglas de evolución Ri1 , · · · ,Rik de forma masivamente paralela en todas las regiones simultáneamente.

Es decir, simultáneamente y de forma no determinista, en toda región del P sistema, toda regla quepuede ser aplicada para hacer que el sistema transite de una configuración a otra debe aplicarse, respetandola relación de precedencia definida entre las reglas de la región a la que la regla está asociada.

En toda región, todo objeto que pueda ser utilizado por una regla en la transición de una configuracióna otra debe utilizarse. Esto hace que de forma no determinista y simultáneamente en todas las regionesdel P sistema, las reglas de mayor nivel de precedencia de entre las que se pueden utilizar en la transición,compitan entre ellas para conseguir consumir los objetos del contenido de la membrana y llevar a cabo latransformación de objetos cuantas más veces mejor, ya que una regla puede ser utilizada múltiples veces ysimultáneamente durante el proceso de transición de una configuración a otra.

Definición 2.2.21. Se define como paso de evolución de un P sistema a cada una de las transiciones entredos configuraciones del P sistema.

En este sentido, los P sistemas evolucionan de manera discreta y síncrona en el tiempo. Es decir, elproceso de evolución avanza de un paso de evolución a otro de manera síncrona. Mientras no finaliza unpaso de evolución no puede comenzar otro. La transformación de la propia estructura de membranas del Psistema no se hace presente en el sistema hasta que no finaliza el paso de evolución (hay que tener en cuentaque existen reglas con capacidad para disolver membranas).

Definición 2.2.22. Una computación se define como una secuencia de transiciones entre configuracionesdel P sistema Π.

Definición 2.2.23. Una computación se dice que es satisfactoria si y solo si se llega a una configuraciónen la que no hay reglas que se puedan aplicar sobre los objetos presentes en ella y la membrana i0 es unamembrana elemental que está presente en la configuración final.

Definición 2.2.24. Se define resultado de una computación satisfactoria al número de objetos presentes enla membrana de salida del sistema i0 en la configuración final de Π.

Es preciso remarcar que los objetos que no están presentes en la membrana de salida no son tenidos encuenta.

Definición 2.2.25. Se define por N (Π) al conjunto de los números computados por Π. Considerando lasimilitud con las gramáticas, se dice también que el conjunto N (Π) es generado por Π.

15

Page 34: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Aplicación de las reglas de evolución

La aplicación masivamente paralela y no determinista de las reglas de evolución en el sistema hace queéste transite de una configuración a otra. Esto resalta la importancia de determinar con detalle la dinámica deaplicación de las reglas de evolución y los efectos producidos por dicha aplicación de una región determinadade un P sistema.

Consideremos Π un P sistema de grado n ≥ 1. Sea la regla {r : u → v} ∈ Ri ,1 ≤ i ≤ m una regla deevolución contenida en la región i-ésima definida por la estructura de membranas del sistema µ; y sea ωi

el multiconjunto de objetos contenido en la misma región. Entonces, la regla r puede ser utilizada en undeterminado paso de evolución si cumple:

u ⊆ωi .

No hay en Ri una regla de prioridad mayor que r que pueda ser aplicada simultáneamente con r .Esto es, las reglas de mayor prioridad que compiten en el proceso evolutivo inhiben a las de menorprioridad.

La competición por objetos en la región se realiza con las siguientes premisas:

Al aplicar una regla, todos los objetos situados en su antecedente son consumidos, y por tantoeliminados del contenido de la región.

Se comienza examinando las reglas en orden decreciente de prioridad y asignándoles objetos a ellashasta completar su antecedente. Una regla puede ser usada únicamente cuando en la región hay copiassuficientes de los objetos cuya evolución describe la regla, que no han sido previamente asignados aotras reglas en la región. Una misma regla puede ser utilizada múltiples veces en el mismo paso deevolución.

Cuando se aplica una regla de un nivel de prioridad, ninguna regla que tenga menos prioridad puedeser utilizada. Las reglas que tienen la misma prioridad, y que cumplen u ⊆ωi compiten libremente enparalelo por los objetos de la región.

El proceso termina cuando no hay ninguna regla que con los objetos que quedan en la región, cumplau ⊆ωi .

Finalmente, según este método de proceder, todo objeto al que se le puede aplicar una regla en undeterminado paso de evolución es sujeto de la aplicación de una regla.

Todo el proceso descrito se produce en paralelo e instantáneamente. Por tanto, no hay producción deobjetos por parte de ninguna regla de las elegidas hasta este preciso momento.

Por otro lado, el resultado de la utilización de una regla es su consecuente v . Como se ha indicado, v esun multiconjunto sobre el conjunto V x({her e,out })

⋃{i n j |1 ≤ j ≤ n} al que se puede añadir o no el símbolo

δ, indicando la capacidad de disolver la membrana que tiene la regla. La interpretación de este multiconjuntoen la ejecución de la regla es la siguiente:

Si her e aparece asociado a un objeto de V , significa que el número de copias de dicho objeto, que laregla produce, permanece en la región en la que se aplica la regla. Es decir, la región i-ésima.

Si out aparece asociado a un objeto de V , significa que el número de copias de dicho objeto quela regla produce, abandona la región i-ésima atravesando la membrana i-ésima y pasa a la regiónasociada a la membrana del nivel inmediatamente superior que la encierra.

16

Page 35: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Si i n j aparece asociado a un objeto de V , significa que el número de copias de dicho objeto que la reglaproduce, abandona la región i-ésima atravesando la membrana j-ésima que debe ser una membranaencerrada por la membrana i-ésima, o lo que es lo mismo, adyacente a ella. Si la membrana j-ésimano es adyacente a la membrana i-ésima, entonces la regla no se puede aplicar, por lo que se dice quela regla no es útil en el paso de evolución y no podrá ser utilizada.

Por todo esto, las reglas que se pueden utilizar en un paso de evolución son las que cumplen los siguientesrequisitos:

1. Son útiles.

2. Son aplicables: u ⊆ωi .

3. Son activas: No hay en Ri una regla de prioridad mayor que r que pueda ser aplicada simultáneamentecon r .

Los objetos que atraviesan una membrana y pasan de una región del sistema a otra, son añadidos almulticonjunto contenido de la región asociada a la membrana que atraviesan. Si un objeto es enviado fuerade la membrana externa o piel del sistema, el objeto abandona el sistema y nunca vuelve.

Si el símbolo δ está presente en el consecuente de la regla, la membrana i-ésima es eliminada o disuelta.Este hecho provoca que el conjunto de reglas asociado a dicha membrana Ri , junto con su relación de priori-dad, ρi , sean eliminados del sistema. El multiconjunto contenido por la región, ωi , se añade al multiconjuntode la región asociado a la membrana que rodea (membrana madre) a la membrana i-ésima. La piel no sedisuelve nunca, puesto que significaría que el sistema dejaría de existir como un sistema único.

En cada una de las regiones definidas por la estructura de membranas del P sistema, simultáneamentese eligen las reglas que se van a aplicar para transitar de una configuración a otra. Las reglas han competidopor los objetos que forman sus antecedentes, respetando la relación de prioridad y de forma no determinista.Todo objeto susceptible de evolucionar va a evolucionar. Ahora las reglas de evolución han consumidoobjetos del multiconjunto de objetos de su región, pero no se produce la evolución hasta que no se producela comunicación entre regiones. El proceso de comunicación es descrito para cada regla, pero la comunicacióndel sistema se produce de forma paralela e instantánea entre todas las regiones del sistema.

Parece observarse una contradicción, puesto que hay reglas que están enviando objetos a regiones defi-nidas por membranas que van a ser disueltas por la aplicación de alguna de las reglas. Tal contradicción noexiste. Se puede entender que los objetos enviados a una región cuya membrana desaparece aparecen en elmismo instante en la membrana que se ha disuelto, con lo que dichos objetos son asumidos o añadidos a losque existen en la membrana que rodea a la que desaparece, como se menciona en [Păun, 2000].

La dinámica de los P sistemas puede, por tanto, resumirse de la forma siguiente: Para toda región deun P sistema, en paralelo y de forma no determinista, las reglas r compiten entre sí para obtener los objetosque necesitan en su antecedente cumpliendo:

1. Las reglas pueden ser utilizadas si sus antecedentes cumplen u ⊆ωi .

2. Una regla que la que su antecedente envíe objetos a una región no adyacente a la región que la reglaestá asociada no es una regla utilizable, y por tanto, no es útil.

3. No hay en Ri una regla de prioridad mayor que r que pueda ser aplicada simultáneamente con r .Esto es, las reglas de mayor prioridad que compiten en el proceso evolutivo inhiben a las de menorprioridad.

4. Todo objeto que pueda ser consumido por una regla debe ser sujeto de aplicación de una regla en elpaso de evolución.

17

Page 36: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Una vez se han seleccionado no determinísticamente todas las reglas que se aplicarán en paralelo en todaslas regiones. Las reglas proceden también en paralelo a la transformación de los contenidos de las regionesy de la propia estructura del sistema enviando objetos y, en su caso, disolviendo membranas en paralelo.Una vez se ha producido el hecho de la comunicación y modificación de la estructura de membranas del Psistema, el sistema ha transitado de una configuración a otra.

18

Page 37: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Par

te

II

Estado del arte de lasimplementaciones de los P sistemas

19

Page 38: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

3Las Implementaciones de los P

Sistemas

La Computación con Membranas es una de las áreas más jóvenes dentro de la Computación Natural.Debido a esta juventud, tanto el modelo teórico como las implementaciones del mismo aún están en una edadtemprana, aunque sean múltiples y rápidos los avances que se producen. El modelo original de P sistemas (Psistemas de transición) está perfectamente definido, pero sobre él han surgido diversas variantes, como lossistemas con promotores/inhibidores, los que crean reglas durante la computación, las membranas activas,con reglas symport/antiport, sistemas dP, etc.

En los modelos teóricos se trata de mejorar las prestaciones de los mismos; dotándolos de mayor capaci-dad, reduciendo los tiempos de cómputo, y acercándolos al modelo biológico presente en la naturaleza. Sinembargo, aunque existen modelos que se acercan al comportamiento biológico, no existe aún ningún sistemaque haya sido implementado utilizando células vivas. El propio fundador de estos sistemas ya reconoció elproblema de llegar a estos sistemas, porque, entre otros, existía el problema de que el modelo conceptualde P sistemas de transición generaba materia, algo que las leyes de la naturaleza no permiten. Los nuevosmodelos que van surgiendo, van realizando mejoras en estos sistemas, de forma que las limitaciones queexisten para implantar este modelo (que no hay que olvidar que es una simplificación de un modelo vivo)van siendo eliminadas. Aunque no se puedan realizar implementaciones in vivo, por el momento; en in vitrose ha avanzado notablemente en los últimos años. Un equipo dirigido por el biólogo norteamericano Venterha creado una célula en un laboratorio. Con este avance, se hace previsible que en los siguientes años, losP sistemas puedan ser implantados in vitro. Hasta el momento, ya existen pequeños avances en mediosacuosos.

Pero si en medios biológicos aún queda un tiempo de espera hasta llegar a ver los P sistemas evolucionan-do, en silicio hace años que es una realidad. Desde el origen de este modelo, han existido simuladores softwareque muestran la potencia de estos sistemas. Han sido muchos los investigadores que han conseguido crear soft-ware capaz de simular membranas en un procesador con diversas técnicas. En [Gutierrez-Naranjo et al., 2006]se hace un estudio sobre las implementaciones existentes hasta el 2005. Las primeras aproximaciones no handejado de ser simulaciones donde el paralelismo intrínseco de estos sistemas era reducido a un modelo se-cuencial, pero ordenado que permitiera obtener los mismos resultados que de si una implementación in vivo

20

Page 39: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

se tratara. Para reducir los problemas asociados a la evolución secuencial, y por tanto, aumentar el para-lelismo reduciendo el tiempo, se han realizados experimentos con procesadores distribuidos. Por otro lado,en busca de mejoras en el procesamiento paralelo y mejorar el no determinismo de los sistemas descritosanteriormente, se han creado nuevos modelos hardware.

3.1. Computación secuencial basada en software

Las primeras simulaciones de los P sistemas fueron realizadas en equipos monoprocesador, que ejecutaronsecuencialmente un conjunto de instrucciones. Sobre estos equipos, en base a un correcto ordenamiento de lasinstrucciones a realizar, se pueden simular P sistemas, pero perdiendo muchas de las propiedades que dieronlugar a su origen. Su utilización como herramientas de comprensión del modelo y los diferentes elementosque los componen es alta. Además, permite comprobar el correcto funcionamiento de un sistema diseñado.La mayor ventaja que presenta es que con solo modificaciones del software (sin necesidad de cambios en elequipo físico) puede ser adaptado para otra funcionalidad.

Por contra, el proceso asociado en el procesador, es el mantenimiento del P sistema en memoria, y laejecución de instrucciones por parte de la unidad de procesamiento. La ejecución de estas instrucciones esrealizada de forma secuencial según el algoritmo utilizado. Esta ejecución posee un rendimiento bajo respectoal tiempo necesario en la evolución del sistema, debido a la ausencia de paralelismo, perdiendo una de lascaracterísticas más relevantes de estos sistemas. Además, las herramientas creadas que simulan los sistemastienen limitaciones en cuanto a la memoria, que se refleja en el número de membranas, reglas u objetos conlos que pueden trabajar.

Existen gran cantidad de simuladores secuenciales realizados en diversos lenguajes de programación. Estossimuladores han sido desarrollados en diferentes lenguajes de programación. De entre ellos, podemos des-tacar los que utilizan lenguajes declarativos, como Prolog [Malita, 2000] [Cordón-Franco et al., 2004],LISP[Suzuki and Tanaka, 2000], Schema [Balbontín-Noval et al., 2003], o Haskell [Arroyo et al., 2003]. Aunquetambién han realizado algunos siguiendo otros paradigmas de programación, como la programación orientadaa objetos que ha utilizado [Nepomuceno-Chamorro, 2004] en su simulación en Java.

3.2. Computación paralela basada en software

Los simuladores secuenciales no pueden incorporar ninguno de los dos paralelismos que presenta el mo-delo. Para ello, diversos investigadores han trabajado en la utilización de múltiples elementos de procesoque puedan ejecutarse a la vez. La aproximación más sencilla consiste en el uso de múltiples procesadoresen el mismo host o equipo. Para realizar esta implementación, los datos (objetos) deben comunicarse entreambos procesadores, por lo que comúnmente se recurre al uso de memoria compartida. Con la comparticiónde memoria se debe prestar atención a los mecanismos de acceso a la misma, y con la ejecución de instruc-ciones en varios procesadores, se deben utilizar mecanismos de sincronización para que todas las membranasevolucionen a la vez.

Aunque esta solución mejora los resultados respecto a la computación secuencial, sigue presentandoproblemas en el acceso a memoria o en la cantidad de memoria necesaria, además del sincronismo entreprocesadores. Por otro lado, requiere de equipos especializados en los que el número de procesadores quecompartan memoria sea alto. Para una ejecución totalmente paralela sería necesaria tantos procesadorescomo membranas existan en el P sistema, y una memoria compartida capaz de albergar todos los objetosexistentes en todas las membranas a la par que todos los nuevos objetos generados.

Para solventar el inconveniente del uso de un superordenador capaz de albergar todo el P sistema, losinvestigadores se han centrado en el uso de hosts interconectados de forma que cada equipo contiene su

21

Page 40: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

propia unidad de proceso y memoria. Se puede utilizar por tanto un “clúster” (grupo) de nodos, o incluso PCsconvencionales conectados por una red Ethernet, dando lugar a implementaciones distribuidas. Entre las si-mulaciones realizadas con estos sistemas, destaca la implementación de Syropoulos [Syropoulos et al., 2004],usando RMI (Java Remote Method Invocation). Otra implementación de estos sistemas es la desarrollada enun clúster de nodos de dos CPU’s Pentium II de Intel de 1.4GHz y 1GB de memoria cada uno, conectadosa través de una red Gigabit Ethernet, que realizó Ciobanu y Guo [Ciobanu and Guo, 2004].

Sobre este aparatado se continuará más adelante en este escrito, ya que la computación distribuida deP sistemas es el eje central de esta investigación.

3.3. Computación basada en hardware

Las implementaciones realizadas en software presentan la ventaja de que no requieren especialización, yaque pueden ser ejecutadas en PCs convencionales. Además, las implementaciones distribuidas pueden añadirun alto grado de paralelismo a los sistemas, similares al sistema teórico. Pero presentan un cierto inconvenienteen lo referente al no determinismo. Por software no se puede implementar un sistema no determinista, sinosimular una aleatoriedad. Por el contrario, los sistemas hardware son los únicos que pueden obtener el nodeterminismo, aunque en la práctica existen limitaciones, ya que los resultados tienen un alto sesgo. A pesarde ello, en el momento en que físicamente, mediante un hardware específico, se consiga una generación debits no determinista, es previsible que este dispositivo también pueda ser usado desde el software.

La computación en hardware permite obtener plataformas de computación paralela que ejecutan algo-ritmos que son diseñados para hardware específico. Con estas soluciones se obtiene circuitos integrados queconsiguen mejores rendimientos que el uso de microprocesadores generales programados por software, peroreducen la flexibilidad, puesto que el algoritmo implementado es exclusivo en el chip, siendo necesaria lacreación de otro chip para un nuevo P sistema.

Con un nivel más de reutilización, dando lugar a un hardware que puede ser reutilizado, surge el diseñode hardware reconfigurable. En este campo, uno de los avances más relevantes es el publicado por Petreskay Teuscher [Petreska and Teuscher, 2004] donde utiliza hardware sobre VHDL generado automáticamente.A pesar de ser los primeros en desarrollar una implementación completa de un modelo particular de Psistema sobre hardware reconfigurable, no contemplan todas las características intrínsecas del modelo. Enconcreto, la aplicación de reglas de evolución en una membrana son realizadas secuencialmente, eliminandouno de los paralelismos del sistema. Para solventar estos problemas, otros investigadores, como Martínez,han centrado sus estudios consiguiendo un paralelismo en la selección y aplicación de reglas, como se puedeobservar en [Martinez et al., 2007] y [Martinez et al., 2009]. De los trabajos más completos sobre este tipode implementaciones hay que citar los trabajos de Nguyen [Nguyen et al., 2008], [Nguyen et al., 2010], quesi bien plantean un modelo completo, aún presentan algunas limitaciones respecto a las características delos P sistemas.

Además del uso de hardware reconfigurable, y acercándose a los modelos software, se han realizado expe-rimentos en el uso de microcontroladores. Esta solución intermedia está en un término medio de flexibilidadentre la programación distribuida y el hardware específico; y también en medio del paralelismo del hardwa-re específico y la programación distribuida. Esta implementación con cierta similitud a la máquina de vonNeumann utiliza una unidad de proceso que es el microcontrolador (generalmente uno por membrana); unaunidad de memoria o almacenamiento, como una EEPROM; y un bus de comunicaciones que interconectalos microcontroladores entre sí y con las memorias. Entre los avances de estas arquitecturas, se pueden citarlos alcanzados por Gutierrez [Gutierrez et al., 2007] [Gutierrez et al., 2008].

La tendencia actual en la implementación de P sistemas, y que ha conseguido los mejores resultados,es la utilización de GPU (Graphics Processing Unit). Si bien las GPU es un tipo particular de procesador,y el funcionamiento es similar al de un procesador (con sus buses y memoria asociado), por tratarse de untipo tan específico de hardware ha sido incluido en este apartado. Aunque las GPU están pensadas para el

22

Page 41: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

procesamiento de imágenes, presentan características que son de utilidad en la computación con membranas.La principal característica que tienen es el alto grado de paralelismo inherente debido a su arquitectura enparalelo que le permite obtener una potencia de cálculo mayor que las CPUs. Además, su arquitectura enel modelo circulante presenta mejores resultados que la tradicional arquitectura de von Neumann. De igualforma, estos dispositivos usan memoria similar a la de los procesadores, generalmente de menor capacidad,con mejores tiempos de acceso. Entre el uso de estas unidades de cómputo se encuentra el trabajo descritoen [Cecilia et al., 2010a].

3.4. Análisis de las implementaciones y frameworks de desarrollo

Aunque existen diversidad de implementaciones y/o simuladores de P sistemas, cada uno de ellos presentacaracterísticas que los hacen la mejor opción. Así, por ejemplo, las soluciones secuenciales pueden ser unabuena herramienta para el aprendizaje de estos sistemas, pero presentan limitaciones respecto al modeloteórico y por ello no son planteados como la mejor implementación para resolver problemas, puesto que nopodrían solventar problemas NP en tiempo polinómico.

Recientemente, en [Cecilia et al., 2010b] se ha realizado un estudio sobre distintas implementacionespara solucionar el mismo problema, obteniendo resultados muy interesantes. La conclusión más importanteque se puede obtener de ese estudio, es el acercamiento en caso reales de implementaciones que obtienentiempos cercanos a los polinómicos para problemas NP. Aún a pesar de ser resultados bastante alentadoresy claros, en el campo de las implementaciones software aún queda mucho que investigar.

Además de los avances en distintas arquitecturas y dispositivos físicos o lógicos, otros investigadores hancentrado su estudio en la búsqueda de la modelización de los P sistemas para poder ser implementados pordispositivos hardware o software. Además de los problemas de no poder crear sistemas completamente nodeterministas en estos tipos de equipos, existen otros asociados principalmente al paralelismo y la comunica-ción entre los distintos elementos que componen cualquiera de las implementaciones descritas anteriormente.En [Gómez et al., 2007] se propone un framework que permite reducir los problemas asociados al diseño deimplementaciones, tanto software como hardware, de P sistemas. El uso de este framework permite unaunificación de la composición del P sistema, y utiliza patrones diseño comúnmente conocidos para el diseñodel sistema.

En paralelo a los avances de diseño de implementaciones y simuladores de P sistemas se ha creado unlenguaje de programación específico (P-Lingua) para simuladores de computación celular. Este lenguaje origi-nado en [Díaz-Pernil et al., 2008] y que ya se encuentra por su versión 2, permite la creación de simuladorescon diferentes tipos de membranas.

23

Page 42: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

4Implementaciones distribuidas de P

Sistemas

Con la inexistencia aún de implementaciones in vivo o in vitro, las implementaciones in silicio, tantohardware como software, han tomado especial relevancia en el campo de la computación con membranas.De entre todas las posibles implementaciones desarrolladas, las que más importancia han tomado son lasimplementaciones distribuidas, donde se pretende explotar al máximo el paralelismo de este modelo decomputación. El valor añadido de este tipo de implementaciones es que puede ser replicado en la mayoría delas descritas anteriormente. Por ejemplo, los modelos implantados de forma distribuida sobre una arquitecturade la máquina de von Neumann pueden ser adaptados a GPUs teniendo en cuenta las características de estasarquitecturas.

Existen incluso modelos de P sistemas que está enfocados para ser distribuidos. Los P sistema multi-entorno, introducidos por Pérez y Romero [Romero-Campero and Pérez-Jiménez, 2008] son una variante delos P sistemas, donde diversos P sistemas son conectados formado un entorno distribuido más complejo.Un entorno está formado por diversas membranas, que comunican con otros entornos. Diferentes copias delmismo P sistema son distribuidas aleatoriamente entre los entornos. Para la evolución en estos sistemas, senecesita un grado más de paralelismo, pues es necesario evolucionar todos los P sistemas que contienen.Focalizándose en la distribución, es fácil imaginar como cada uno de estos entornos serían asociados a unprocesador, que se encarga de los P sistemas que contiene.

Debido a las similitudes que pueden presentar las diferentes arquitecturas, y los diferentes modelos decomputación con membranas, es el momento de centrar el estudio en un modelo sencillo de comprender yfácilmente utilizable, por lo que se ha elegido usar a lo largo de todo este estudio el P sistema de transición,ya que el resto de modelos están basados en éste. De igual forma, se cree conveniente centrase en lasimplementaciones distribuidas y concretamente en las que se aplican sobre clústeres o redes de procesadores,que facilitarán la realización de pruebas. Además, teniendo en cuenta lo anteriormente descrito, los resultadosobtenidos serán fácilmente exportados a otros sistemas; tanto a otras implementaciones, como a otrosmodelos de P sistemas.

Cuando se habla de implementaciones distribuidas de P Sistemas, es necesario definir previamente cómo

24

Page 43: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

se adapta el modelo teórico a la implementación real. Aunque han sido varias las implementaciones realizadas,ambas presentan problemas, alejando sus resultados de los esperados matemáticamente. Al realizar estas im-plementaciones hay que estudiar el doble paralelismo existente en el modelo teórico, y que difícilmente puedeser aplicado en dispositivos de silicio. Las implementaciones existentes ya contemplan que las membranasson las unidades básicas de cómputo, y por tanto, cada una de ellas debe llevar asociado un procesador quetrabaje en exclusividad sobre esa membrana. El problema surge al tratar de abordar el segundo paralelismoque deben presentar estos sistemas. La aplicación de reglas se debe realizar de forma paralela y no deter-minista. Para simular el paralelismo de estos sistemas, en las implementaciones existentes se ha optado porusar una ejecución secuencial (obviamente no paralela) o una implementación mediante threads (hilo). Laimplementación mediante threads mejora el comportamiento, pero no consigue un paralelismo real, puestoque un procesador solo puede estar ejecutando un thread en cada instante. Una posible solución pasaría pordisponer de tantos procesadores (en la actualidad podrían ser núcleos) como reglas se apliquen en paralelo.Con este sistema surge un problema, se debe decidir previamente que objetos serán utilizados por cada regla.Además, las reglas (y por tanto los procesadores) deben acceder a memoria compartida, con lo que se debenintensificar los mecanismos que garanticen el sincronismo entre los mismos y el resultado sea el determinadopor la asignación previa de objetos a reglas. Estos mecanismos, añadirían tiempo de cómputo, alejando losresultados de los matemáticamente estudiados. La solución pasaría por realizar la misma implementaciónsobre circuitos integrados, o, como no, in vivo. Aún a pesar de estos problemas asociados de paralelismo, ysin olvidar el problema del no determinismo, los últimos avances en las implementaciones son esperanzadoras,puesto que el tiempo de más necesario para estas ejecuciones se ha visto drásticamente reducido debido alos últimos avances en la aplicación (y selección) de reglas, y a las mejoras en los soportes físicos sobre losque se ejecutan, llegando a no ser necesario el uso del múltiples procesadores por membrana, reduciendo loscostes y las limitaciones actuales.

Analizando los resultados, y en especial los mostrados por Ciobanu [Ciobanu and Guo, 2004], los tiemposson muy esperanzadores, pero existen partes que deben ser estudiadas en detalle para mejorar el rendimien-to de estos sistemas. En concreto, Ciobanu encontró que en ciertas ocasiones el tiempo de respuesta eraexcesivamente alto debido a que la red se congestionaba. En este experimento, la comunicación no teníaningún control, sino que los equipos transmitan a la red sus mensajes según les era necesaria esa transmi-sión. Además, debido a las características de estos sistemas, es necesario un sincronismo entre membranasque también debe ser realizado mediante la red. Por último, esta implementación no considera la disolu-ción de membranas por lo que la determinación de reglas útiles no era necesaria realizarla, eliminando lascomunicaciones de red que se derivan.

Como se ha indicado ya, se trabaja con el modelo conceptual de los P sistemas de transición y portanto, las limitaciones anteriormente descritas deben ser subsanadas. Son muchos los investigadores que sehan encargado de estos estudios, y han obtenido grandes avances, especialmente en la mejora de los tiemposde respuesta, acercando los obtenidos a los que matemáticamente presenta el modelo. En primer lugar, esnecesario definir el comportamiento de estos sistemas para mostrar posteriormente los avances que se hanrealizado sobre cada una de las partes.

La evolución del P sistema se realiza a través de configuraciones. Según describe en su tesis doctoralTejedor [Tejedor Cerbel, 2011], los siguientes siete micropasos son realizados, entre cada configuración, encada membrana en paralelo y de forma no determinista:

1. Determinación del conjunto de reglas útiles: En este micropaso se evalúan todas las reglas de evoluciónde la membrana con el fin de determinar cuáles son útiles. Una regla es útil cuando existen en el sistematodas las membranas que se indican en el consecuente de la regla.

2. Determinación del conjunto de reglas aplicables: Se evalúa todas las reglas de la membrana paraidentificar a aquellas que cumplen que su antecesor se encuentra en el multiconjunto de objetos dela región.

3. Determinación del conjunto de reglas activas: La intersección de los dos conjuntos anteriores confor-man el grupo de entrada de este micropaso. Cada una de las reglas del conjunto debe ser procesada,

25

Page 44: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

para determinar que cumple con la condición de regla activa. Para determinar si una regla cumplecon esa condición, es necesario comprobar que no hay otra regla con mayor prioridad que pertenecea las reglas útiles y aplicables establecidas.

4. Distribución no determinista de los objetos de la región entre sus reglas activas y la aplicación dereglas: En este micropaso, las copias de los objetos presentes en el multiconjunto de la región sedistribuyen entre las reglas de evolución activas de la misma. Las copias de los objetos que se asignana cada regla, coinciden con las del conjunto múltiple que resulta del producto escalar de un númeroentre el mínimo y el máximo consolidado de aplicabilidad de las reglas y su predecesor. Este proceso dedistribución se hace de forma no determinista. Además, al final, los objetos no asignados a ningunaregla forman un conjunto múltiple y que se caracteriza porque no contiene a ningún antecesor delas reglas. El resultado de la distribución es un conjunto múltiple de las reglas activas, donde lamultiplicidad de cada regla define las veces que se aplicaría, y por lo tanto, indirectamente a través desus predecesores, los objetos se asignan a los multiconjuntos de la región. Los objetos que se utilizanson eliminados y se generan nuevos objetos que contienen un destino (una membrana).

5. Transferencia del multiconjunto de objetos generados o fase de comunicación: En este micropaso,los nuevos objetos generados en el micropaso previo cuyo indicador de membrana destino era “in” o“out”, deben ser transferidos a sus membranas correspondientes. Cada membrana, se quedará con losobjetos no utilizados en la aplicación, junto con los que resultan de la aplicación de las reglas quetienen como destino esa membrana.

6. Disolución de membranas: Esta acción implica que las membranas que han aplicado alguna regla concapacidad de disolución, deben enviar a su antecesor más cercano los objetos que contengan en estemomento.

7. Composición del nuevo multiconjunto de objetos: Al finalizar este último micropaso, en cada mem-brana se deberá generar un nuevo multiconjunto de objetos que será utilizado en el siguiente paso deevolución. De esta manera, el multiconjunto de objetos de la región delimitada por una membranaidentificada como j estará formado por:

Los objetos que no se asignaron a ninguna regla en el reparto no determinista.

Los objetos creados en la membrana cuyo identificador de destino es la propia membrana.

Los objetos creados en las membranas hijas cuyo identificador de destino era out .

Los objetos procedentes de la membrana madre cuyo identificador de destino era i n j .

Los objetos procedentes de la disolución de las membranas hijas de la membrana j y todos losobjetos cuyo destino fuera la membrana hija de j disuelta.

En los múltiples estudios realizados sobre cada uno de los micropasos descritos, se han realizado grandesavances, dejando completamente descrito cómo debe implementarse un P sistema. En algunos casos, se hanunificado micropasos, con el fin de obtener resultados mejores. En los siguientes apartados se detallan cadauna de estas partes.

4.1. Selección de reglas

La selección de reglas engloba los 3 primeros micropasos descritos: selección de reglas útiles, aplicables yactivas. Cada una de estas partes se realiza en paralelo en cada membrana y para la determinación de reglasútiles, es necesario conocer la existencia y permeabilidad de otras membranas del sistema, por lo que debeexistir comunicación entre las membranas.

Son muchos los investigadores centrados en solventar los problemas asociados a la selección de reglas,y han dado lugar a múltiples algoritmos. Como esta fase se realiza de forma similar en cualquiera de los

26

Page 45: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

dispositivos a utilizar (simulaciones secuenciales, paralelas o en hardware), los resultados obtenidos paracualquiera de estos sistemas pueden ser aplicados en los demás.

Aunque los estudios han tratado cada una de las tres selecciones de reglas por separado, Frutos proponeun análisis común basado en árboles de decisión; si bien, el uso de árboles de decisión para la determinaciónde reglas ya había sido usado con anterioridad para la selección de reglas aplicables.

El modelo propuesto [Frutos et al., 2009] basa su potencia en que un análisis estático del sistema puededeterminar para una configuración qué reglas son útiles sin necesidad de comunicarse con otras membranas,con solo almacenar información de las comunicaciones realizadas anteriormente. El uso de análisis estáticodel sistema, permite que el análisis solo deba ser realizado una vez, pero utilizado las veces que sea necesario.Así, para cada membrana, a partir de la configuración inicial se puede obtener el árbol de decisión en basea una serie de atributos.

Para comprender el significado de estos atributos, es importante otro concepto que introduce Frutos: elcontexto total.

Definición 4.1.1. Se define el contexto total (T C (i )) de una membrana i , como el conjunto de todas lasmembranas que pueden llegar a ser hijas de esa membrana.

El conjunto de atributos Ai se establece como las propiedades necesarias para definir un estado o situaciónde la membrana i en el P sistema. En concreto, el conjunto Ai consta de los siguientes atributos:

Los atributos necesarios para determinar el estado de utilidad de la membrana i , es decir, las membra-nas indicadas en los consecuentes de la reglas. Por lo tanto, habrá un atributo para cada membranaque pertenece al contexto total de la membrana i . El valor asociado será verdadero si la membranahija representada pertenece al estado de utilidad actual.

Ai ⊃ {a ≡ m j | j ∈ TC (i )}

Un atributo más para determinar la inhibición en el estado de permeabilidad de la membrana i . Elvalor verdadero se corresponde con la inhibición de la membrana.

Ai ⊃ {a ≡ I }

Además, se consideran los atributos para la aplicabilidad de las reglas. Estos atributos representan elconjunto de las repeticiones entre los objetos del multiconjunto de la membrana y los objetos de losantecedentes de las reglas de evolución. Ni repeticiones ni comprobaciones con cero repeticiones seconsideran.

Ai ⊃ {a ≡ |ω|u ≥ k| |i nput (r )|u = k ∧k 6= 0 ∀u ∈U }

Donde |ω|u representa el peso del símbolo u en ω (multiconjunto de la membrana i); y |i nput (r )|ues el peso del símbolo u en el antecedente de r .

En el ejemplo de la figura 4.1, solo se muestran las reglas de la membrana 1, y los símbolos δ y τ dedisolución e inhibición de membranas respectivamente, en las membranas que contienen alguna regla queaplique estas propiedades. A partir de esta configuración, en base a los atributos mencionados anteriormente,el algoritmo ID3 obtiene el árbol de decisión mostrado en la misma figura.

La ventaja de este algoritmo radica en que tras un primer estudio de las membranas y las reglas quecontiene, es capaz de generar un árbol de decisión que en base a consultas simples permite determinar cuálesson las reglas activas. Esta determinación de reglas, que se traduce en un recorrido en altura del árbol, estáacotada por el número de atributos descritos. Una comparación de este algoritmo respecto de los clásicos, semuestra en el cuadro 4.1, donde |R| es el número de reglas en la membrana, |T C | es el número de membranasdel contexto total, |U| es el número de símbolos del alfabeto, y |C u

i | es el número de diferentes conjuntos derepeticiones de objetos de las reglas de las membranas.

27

Page 46: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.1: Ejemplo de P sistema de transición y el árbol de decisión de la membrana 1 parala determinación de reglas activas. [Fuente: [Frutos et al., 2009]]

Reglas útiles Reglas aplicables Reglas activasAlgoritmos clásicos O(n) O(n) O(n2)+O(n)

n = |R| · (|TC |+1) n = |R| · |U | n = |R|Árboles de decisión O(n)

n = |T C |+1+ ∑u∈U

|C ui |

Cuadro 4.1: Orden de complejidad de algoritmos para obtener reglas activas. [Fuente:[Frutos et al., 2009]]

28

Page 47: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Con este algoritmo, y según los estudios de Frutos, el número de operaciones en árboles de decisión esentre el 11,32% y el 21,21% del número total de operaciones de los algoritmos clásicos.

4.2. Aplicación de reglas

La aplicación de reglas es el paso siguiente a la selección de reglas, y se corresponde con el micropaso4 descrito anteriormente. A partir de las reglas activas, en cada membrana, los objetos existentes en lamembrana son utilizados por las reglas para producir los nuevos objetos indicados en los consecuentes. Estaaplicación de reglas se realiza de forma maximal (es decir, todo objeto que pueda ser usado en alguna regla,se usa), y de forma paralela (todas las aplicaciones de reglas se realizan en paralelo), sin perjuicio de laaplicación paralela en todas las membranas.

La utilización de equipos de silicio limita esta aplicación paralela según se ha descrito en el capítuloanterior, pero diversos investigadores se han encargado de buscar métodos de aplicación que reduzcan eltiempo de aplicación de reglas, alcanzando tiempos razonables. Entre todos los resultados obtenidos, seha destacado el trabajo presentado por Gil, debido a su sencillez y prestaciones. Este trabajo se encuentraperfectamente descrito en [Gil et al., 2009] y el algoritmo propuesto es el algoritmo 1.

Algoritmo 1 Algoritmo de aplicación de reglas [Fuente: [Gil et al., 2009]]1: ω′ ←ω

2: ωR ←;MR(U )

3: for i = 1 to |R|−1 do4: M ax ←∆R[i ]

⌈ω′⌉

5: if M ax 6= 0 then6: k ← r andom(0, M ax)7: ωR ←ωR + {R[i ]k }8: ω′ ←ω′− i nput (R[i ]) ·k9: A[i ] = (k < M ax)10: else11: A[i ] = f al se12: end if13: end for14: A[|R|] = true15: for i = |R| downto 1 do16: if A[i ] then17: M ax ←∆R[i ]

⌈ω′⌉

18: ωR ←ωR + {R[i ]M ax}19: ω′ ←ω′− i nput (R[i ]) ·M ax20: end if21: end for

El número de operaciones que este algoritmo realiza está calculado en el propio artículo, y es

oper aci ones = 3(2|R|−1)Supp(ω)

donde |R| es el número de reglas y Supp(ω) es el número de símbolos contenidos en la membrana. Por ello,la complejidad asociada a la aplicación de reglas es O(n), donde n es |R|.

29

Page 48: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Para la aplicación de reglas de evolución, solo se utilizan las reglas activas, que no tienen porqué coincidircon las reglas de las membranas. Además, este conjunto de reglas variará dinámicamente en función de laexistencia y permeabilidad de otras membranas y del multiconjunto contenido en la membrana. Con lautilización del árbol de decisión descrito para la selección de reglas activas se puede conocer cuáles son lasposibles reglas activas que se pueden dar independiente de la evolución. Además, para cada regla se conoceSupp(ω), por lo que es posible conocer el número de operaciones máximas que se realizarán en la aplicaciónde reglas.

Definición 4.2.1. Sea H el subconjunto de hojas del árbol de decisión para las reglas activas de la membrana,donde cada hoja (hi ∈ H) es un subconjunto de reglas de la membrana(hi ⊆ R), donde cada una de estasreglas es hi j , se define el máximo de operaciones, o cota superior, del algoritmo de aplicación de reglas comomax{

∑hi j ∗ supp(ωhi j

) : ∀hi ∈ H }

Con el conocimiento del máximo de operaciones para determinar el conjunto de reglas activas y el máximode operaciones para la aplicación de las mismas, se puede conocer el máximo de operaciones necesario para laselección y aplicación de reglas en una membrana como una actividad común. Y por tanto, es posible conocerel tiempo necesario para esta operación. Además, como la determinación de estos tiempos se puede realizara partir de elementos estáticos o topológicos del P sistema, es posible determinarlo para cada membranaantes de su evolución.

Definición 4.2.2. Se define el tiempo de aplicación, y se denota como Tapli , al tiempo necesario para laselección de reglas activas y su posterior aplicación en una membrana i .

4.3. Arquitecturas

La siguiente operación realizada por un P sistema en su evolución no se realiza internamente en lamembrana, sino que se realiza entre todas las membranas del sistema. En el micropaso de comunicación deobjetos, cada membrana comunicará a sus adyacentes los objetos generados, en función de los destinos de losmismos indicados en sus reglas de evolución. Es este paso el que marca la diferencia entre las simulacionessecuenciales o paralelas con memoria compartida de las implementaciones distribuidas. En los primeros casos,para realizar las operaciones de comunicación no se deben tener en cuenta más que las limitaciones marcadaspor el secuenciamiento de operaciones o por el acceso a la memoria compartida, que ya han sido tenidas encuenta en la aplicación de reglas. Sin embargo, en las implementaciones distribuidas, en la comunicación deobjetos influyen varios procesadores y el medio de transmisión, lo que lo diferencia de la etapa de aplicaciónde reglas.

Las primeras implementaciones distribuidas ([Syropoulos et al., 2004] y [Ciobanu and Guo, 2004]) sebasaban en colocar cada membrana en un procesador. Aunque la intuición propone crear una conexiónbidirecional entre cada dos membranas conectadas, como la tecnología no permitía (ni permite) esta imple-mentación, realizaron una comunicación mediante una red Ethernet, donde todos los procesadores estabanconectados a la misma red. Ciobanu encontró problemas en la comunicación por colisiones entre los mensajesenviados por las membranas, y por tanto, los tiempos de evolución en algunos casos eran desorbitados. Enpalabras de Ciobanu:

The response time of the program has been acceptable. There are, however, executions thatcould take a rather long time due to unexpected network congestion.

Tejedor [Tejedor et al., 2008] estudió los problemas de la comunicación en las implementaciones, y propo-ne que las membranas no deben ser distribuidas tan ligeramente, sino que debe observarse el comportamientoglobal del sistema, y propone una arquitectura para la distribución de las membranas en procesadores y laforma en que estos deben comunicar para evitar las conexiones y mejorar el tiempo de evolución del sistema.

30

Page 49: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Así pues, el tiempo de comunicación de objetos vendrá determinado por la arquitectura de distribución demembranas utilizada. Del estudio de Tejedor se concluye que hay 3 elementos importantes para las arqui-tecturas de distribución, y por ello, el resto de investigadores del área las han tenido en cuenta para suspropuestas. Estos elementos son: la distribución de membranas, el uso de proxies, y el paso de tokens en lacomunicación.

Aunque en los trabajos previos se propone ubicar una membrana en cada procesador (o todas en elmismo, en los simuladores secuenciales), Tejedor propone que es mejor buscar un equilibrio entre el tiempoque el sistema tarda en aplicar reglas y el que tarda en comunicar (los objetos); de forma que dependiendode las características del P sistema y de la arquitectura elegida, se pueden conseguir mejores resultados(menores tiempos de evolución) ubicando varias membranas en el mismo procesador.

Para comunicar dos membranas que se encuentran en distintos procesadores, la comunicación no serealiza de forma directa, sino que en los procesadores existen proxies encargados de realizar la comunicación.El uso de proxies permite controlar el flujo de la comunicación, pero sobre esto se hablará más adelante.

El paso de tokens para la comunicación es un mecanismo para evitar las colisiones. En cada momentosolo un procesador puede estar comunicando, de forma que el uso del canal compartido en cada instantedel tiempo solo es usado por uno de los integrantes. Cuando las membranas terminan su fase de aplicación,deberían pasar a la fase de comunicación, y por ello, transmitir mensajes por la red. Con el uso de proxiesy el secuenciamiento de mensajes entre los procesadores, se evitan las colisiones. Un procesador solo podrátransmitir cuando tenga el token. Esto limita el número de comunicaciones a solo una (la del procesadorque tiene el token), por lo que limita el paralelismo del sistema, dejándolo en un proceso secuencial. Sinembargo, otros investigadores han encontrado arquitecturas donde el paso de objetos puede ser realizado enparalelo por varios procesadores evitando la colisión, pero requiriendo un orden en el envío de mensajes.

Existen cuatro arquitecturas destacables, que se basan en los principios mencionados, pero que muestranuna topología lógica de conexiones diferente y hace uso de los elementos descritos, aunque con diferenteaplicación. Estas arquitecturas son: comunicación entre iguales o Peer-to-Peer, comunicación entre igua-les jerárquica o Hierarchical Peer-to-Peer, maestro-esclavo o Master-Slave y maestro-esclavo jerárquico oHierarchical Master-Slave.

Entre iguales (Peer-to-Peer - P2P)

La primera arquitectura propuesta para la distribución de membranas en procesadores es la que presentóTejedor junto al estudio mencionado anteriormente en su artículo titulado “An architecture for attackingthe bottleneck communication in P System” [Tejedor et al., 2008]. Esta arquitectura posteriormente pasó allamarse Peer-to-Peer (P2P) por la consideración de que todos los procesadores son iguales, en contraposicióncon otras arquitecturas. En esta arquitectura se utilizan los elementos importantes mencionados para lasarquitecturas de distribución tal y como han sido nombrados, puesto que es en este escrito donde surgieronpor primera vez. La característica principal de esta arquitectura es que propone que los procesadores formen unárbol (independientemente de la conexión física que la sustente). Para que las comunicaciones sean mínimas,según la teoría de grafos, el número de conexiones debe ser P −1, donde P es el número de procesadores.Para que se cumpla esta condición, la distribución de membranas en procesadores debe preservar la topologíaarbórea. La figura 4.2 muestra como sobre el mismo P sistema se pueden hacer distribuciones que preservenla topología de árbol.

Como pueden existir dos o más membranas en un procesador que comuniquen con sus respectivasmembranas hijas localizadas en el mismo procesador hijo, el proxy organiza la comunicación para que soloexista una comunicación entre dos proxies alojados en diferentes procesadores. En el ejemplo de la figura4.2, las membranas 2 y 3 alojadas en el procesador 1, comunican con las membranas 4 y 5 respectivamente,alojadas en el procesador 2. Para reducir el número de comunicaciones, los proxies se encargan de lascomunicaciones, como se muestra en la figura 4.3.

31

Page 50: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.2: Ejemplo de distribución de un P sistema en procesadores sin conservar la topologíaarbórea (izquierda) y preservándola (derecha). [Fuente: [Tejedor et al., 2008]]

Figura 4.3: Ejemplo de cómo el uso de proxies para la comunicación del ejemplo de la figura4.2 reduce el número de comunicaciones. [Fuente: [Tejedor et al., 2008]]

32

Page 51: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Con esta arquitectura, el tiempo que un P sistema tarda en pasar de una configuración a otra es

T = kTapl +2(P −1)Tcom (4.1)

donde k es el número de membranas por procesador, considerando que hay una distribución del númerode membranas uniforme; Tapl es el tiempo máximo de aplicación de la membrana que más tarda; Tcom esel tiempo máximo de comunicación entre dos proxies; y P es el número de procesadores. Aunque aquí seestá utilizado Tcom como el tiempo máximo de comunicación entre dos proxies, no es el concepto originalintroducido por Tejedor [Tejedor et al., 2008], sino que él lo denominaba Tcomp r o , mientras que Tcom esel tiempo máximo que tardaría un procesador en comunicar con otro si cada procesador contuviera sólouna membrana. Así, en los términos de Tejedor, Tcomp r o = cTcom , donde c es una constante que vendrádeterminada por las comunicaciones entre las membranas alojadas en diferentes procesadores, siendo suvalor mucho más pequeño que k, y siempre mayor o igual que 1.

En base a esta fórmula, se puede estimar el tiempo mínimo (Fórmula 4.2) necesario por el P sistema, ycuáles son los valores de k (Fórmula 4.3) y P (Fórmula 4.4) para obtener este tiempo óptimo.

Tmi n = 2√

2MTapl Tcom −2Tcom (4.2)

kopt =⌈√

2MTcom

Tapl

⌉(4.3)

Popt =⌈√

MTapl

2Tcom

⌉(4.4)

Peer-to-Peer Jerárquica (Hierarchical Peer-to-Peer - HP2P)

En base a la arquitectura propuesta por Tejedor, Bravo introduce una variante a la misma, mejorandolos tiempos de comunicación y el rendimiento global del sistema. La mejora introducida consiste en lacomunicación simultánea entre varios procesadores sin colisiones. El modelo propuesto [Bravo et al., 2007a]realiza una distribución simétrica de los procesadores, dando lugar a la arquitectura P2P Jerárquica o HP2P.Es decir, considerando el árbol de procesadores, cada procesador contendrá A procesadores hijos. En otrostérminos, se hará una distribución de amplitud A. Se tendrá un árbol balanceado de altura L (o L niveles,considerando la raíz el nivel 1) y amplitud A. Un ejemplo con L = 4 y A = 3 se aprecia en la figura 4.4

Los dispositivos switches para redes, permiten aislar subredes, eliminando las colisiones. Si la subredformada por los procesadores 3, 4, 5 y 6 de la figura 4.4 están comunicándose entre sí, con el uso deswitches, los procesadores 7, 8, 9 y 10 podrían hacerlo simultáneamente con la garantía de que no existiríancolisiones.

En base al uso de este componente electrónico, Bravo propone realizar comunicaciones en paralelo, perocon un cierto orden, para evitar las colisiones. Sobre el modelo propuesto por Bravo, en [Peña et al., 2011]se hace un reordenamiento de las comunicaciones, para contemplar la fase de disolución de las membranas,y que la comunicación y disolución puedan realizarse con una sola comunicación como se verá con el usodel proxy. En la figura 4.5 se observa el orden de mensajes que se enviarán entre los procesadores (serán losproxies los encargados de enviar dichos mensajes).

En esta arquitectura se siguen utilizando los principios marcados por Tejedor de distribuir varias mem-branas en cada procesador que serán evolucionadas secuencialmente, y después, realizar una comunicaciónde objetos y aplicar la distribución a partir de proxies. La distribución de membranas se hará manteniendola topología arbórea del P sistema. La diferencia entre ambas arquitecturas radica en el orden de envío de

33

Page 52: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.4: Distribución de procesadores en forma de árbol con 4 niveles de altura y amplitud3. [Fuente: [Bravo et al., 2007a]]

Figura 4.5: Cronograma de la arquitectura HP2P con 4 niveles y amplitud 3. [Fuente:[Peña et al., 2011]]

34

Page 53: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

mensajes, permitiendo Bravo la concurrencia de éstos, y variando el concepto de token en la comunicación,puesto que serán múltiples tokens los que se utilicen. Esta variante, por supuesto, varía los tiempos de evo-lución del sistema, mejorándolos. El tiempo vendrá determinado por el número de procesadores utilizados,que está descrito en base a A y L. La fórmula 4.5 define el tiempo necesario para cada paso de evolución.

THP2P = Tapl M(A−1)

AL −1+ (L A+L−2)Tcom (4.5)

Para obtener los mejores resultados, es necesario localizar los valores de A y L que minimicen dichafunción. Sin embargo, el procesado no da una fórmula sencilla por la limitación de A y L como valoresenteros, y la mejor forma de observarlo para utilizarlo, es mediante la gráfica de la figura 4.6.

Figura 4.6: Amplitud y número de niveles para obtener el mínimo tiempo usando la arqui-tectura HP2P. [Fuente: [Peña et al., 2011]]

Maestro-Esclavo (Master-Slave - MS)

En contraposición a las arquitecturas P2P donde se debe realizar una distribución de membranas quepreserve la topología en forma de árbol del P sistema, Bravo en [Bravo et al., 2007b] propone la arqui-tectura Maestro-Esclavo (MS). En esta arquitectura la primera diferencia es la utilización de dos tipos deprocesadores: el maestro (PM ) y los esclavos (PS). El procesador maestro será el encargado de organizar lacomunicación entre los esclavos, organizando los multiconjuntos, mientras que los esclavos serán los únicosque contendrán membranas. Además, las conexiones estarán limitadas, existiendo solo una entre el maestroy cada esclavo, mientras que dos esclavos no se comunicarán entre sí.

Como el resto de arquitecturas, cada procesador esclavo contendrá también el mismo número k demembranas, y utilizará un proxy para las comunicaciones. Con estas características, la mayor aportación deesta arquitectura es que cualquier distribución de membranas pueda ser válida. Bravo, muestra en la fórmula4.6 el tiempo necesario para que una membrana evolucione. Además, como se observa en la figura 4.7, sepueden solapar las etapas de aplicación y evolución, mejorando los tiempos. Y con una correcta selección demembranas, se puede reducir el tiempo global del sistema, haciendo un solapamiento total. En el caso desolapamiento total, el mejor de los resultados vendrá determinado por la ecuación 4.7.

T = kTapl +Tcom(P +1) (4.6)

35

Page 54: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.7: Cronograma de la arquitectura Maestro-Esclavo, con 4 esclavos. [Fuente:[Bravo et al., 2007b]]

T = 2PTcom if (P −1)Tcom > kTapl (4.7)

En base a la fórmula general del comportamiento de la membrana con esta arquitectura (fórmula 4.6,Bravo obtuvo los parámetros para la mejor distribución, que vienen determinados por los mejores valorespara k (fórmula 4.8) y el número de procesadores esclavos Ps (fórmula 4.9). A partir de estos valores, sepuede determinar el tiempo mínimo necesario para un paso de evolución del P sistema, que está determinadoen la fórmula 4.10.

k =⌈√

MTcom

Tapl

⌉(4.8)

PS =⌈√

MTapl

Tcom

⌉(4.9)

Tmi n = 2√

MTapl Tcom +Tcom (4.10)

Maestro-Esclavo Jerárquica (Hierarchical Master-Slave - HMS)

Bravo observó que en su modelo Maestro-Esclavo las comunicaciones eran realizadas secuencialmente,lo que ampliaba el tiempo de comunicación en escenarios con muchos procesadores esclavos, provocandoesperas en las membranas. Para evitar ese comportamiento lineal de las comunicaciones decidió utilizar unaarquitectura distribuida de forma jerárquica [Bravo et al., 2008] unificando las ventajas del modelo Maestro-Esclavo, con el modelo Peer-to-Peer Jerárquico. Utilizaría un árbol de procesadores balanceado con factoresA y L de forma semejante a la arquitectura HP2P. En el último nivel, colocaría los procesadores esclavos,siendo el resto procesadores maestros. Con este modelo permite agrupar procesadores, creando subredes, yutilizar switches para realizar comunicaciones en paralelo. Utiliza las ventajas de la arquitectura MS, para ladistribución de k membranas en cada procesador, sin la limitación de la preservación de la topología marcadapor el P sistema. Aunque Bravo propone un secuenciamiento de mensajes entre los diferentes procesadores,en [Peña et al., 2011] se añade la etapa de disolución de membranas adjuntándolas al envío de objetos. Elnuevo orden de comunicación está indicado en la figura 4.8.

36

Page 55: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.8: Cronograma de la arquitectura HMS con 4 niveles y amplitud 3. [Fuente:[Peña et al., 2011]]

En estas condiciones, el número de procesadores esclavos y maestros viene determinado por las fórmulas4.11 y 4.12 respectivamente, dando un total de procesadores en términos de A y L según se indica en lafórmula 4.13.

Ps = AL−1 (4.11)

Pm = AL−1 −1

A−1(4.12)

P = AL −1

A−1(4.13)

Según estos parámetros, el tiempo necesario en cada paso de evolución es el indicado en la fórmula 4.14.

TH MS = MTapl

AL−1+ (L A+L−2)Tcom (4.14)

Para obtener la mejor distribución de membranas, que dará el menor tiempo de evolución, es necesarioconocer los valores óptimos de A y L, considerando que estos deben ser enteros. Para ello, se puede utilizarla gráfica de la figura 4.9.

En la propuesta inicial de Păun [Păun, 2000] sobre el funcionamiento de las membranas, cada uno delos micropasos descritos se ejecutan secuencialmente, aunque haya paralelismo dentro de cada micropaso.

37

Page 56: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.9: Amplitud y número de niveles para obtener el mínimo tiempo usando la arqui-tectura HMS. [Fuente: [Peña et al., 2011]]

Estos micropasos se ejecutan en paralelo en todos los procesadores. Sin embargo, en las implementacionessoftware y hardware, los recientes estudios han demostrado que algunos micropasos pueden ser agrupados,y ejecutados en paralelo -con nuevos algoritmos- de manera que el tiempo total se reduzca, sin perder laspropiedades del sistema. Por ejemplo, para la selección de reglas, como se muestra en [Frutos et al., 2009], yse utiliza en este trabajo. En la figura 4.8 se observa cómo mientras algunos procesadores están comunicando,otros pueden realizar su fase de aplicación. En concreto esta figura muestra como un procesador cuandoobserva que ha terminado la comunicación, empieza la aplicación de reglas. Pero ocurre que aunque hayaterminado la comunicación en la subred en la que él está conectado, la fase de comunicación no ha terminado,puesto que en otra subred se siguen produciendo comunicaciones. Por ejemplo, la subred de procesadores del3 al 6 (P3−P6), termina en el tiempo 15 de comunicación (t = 15). En este instante, los procesadores 4, 5y 6 pueden empezar su fase de aplicación de reglas al pensar que la fase de comunicación ha terminado. Sinembargo, en otras subredes, hay procesadores que aún no han terminado de comunicar, como el procesador7.

Esta idea, que reduce los tiempos de comunicación, superpone las etapas de comunicación y aplicación.Si un procesador no espera a que termine la comunicación en la subred a la que pertenece, y empieza suetapa de aplicación de reglas en el momento en el que termina su comunicación, se puede reducir aún másel tiempo global de evolución. En el mismo ejemplo, el procesador 4 podría empezar su fase de seleccióny aplicación de reglas en t = 13. La figura 4.10 muestra como queda el cronograma de ejecución con estasuperposición de etapas. Así, entre t = 13 y t = 19 se están produciendo simultáneamente comunicación enunos procesadores, y aplicación de reglas en otros procesadores. Entre que un procesador termina su fase decomunicación, y la red está disponible para una nueva fase de comunicación, transcurren:

T = (A−1)Tcom

Es decir, lo que tardan en comunicar el resto de procesadores esclavos de la subred. En el ejemplo, elprocesador 4 puede volver a comunicar en t = 15 si hubiera terminado su fase de aplicación de reglas. Estoprovoca dos tipos de distribuciones posibles en la arquitectura maestro-esclavo jerárquica: las que superponentotalmente la comunicación y la aplicación, y en las que solo hay una superposición parcial. En las del primergrupo, la utilización de la red es máxima, no estando ociosa esperando a que un procesador termine su fasede aplicación. Además, utilizando intervalos fijos de tiempo para la comunicación, cada procesador puedeiniciar la comunicación en su tiempo asignado sin observar el estado de la red, y con la certeza de que no seproducirán colisiones. Si por el contrario la aplicación de reglas tarda más, y la superposición es parcial, es

38

Page 57: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.10: Cronograma de la arquitectura HMS con 4 niveles y amplitud 3 con solapamientode etapas. [Fuente: [Peña et al., 2011]]

necesario que el procesador monitorice el estado de la red para no iniciar su comunicación antes del tiempoindicado. Al existir estos dos tipos de superposición de etapas, el tiempo utilizado en cada paso de evoluciónvendrá determinado por la fórmula 4.15.

TH MS ={

(AL+L−2)Tcom siMTapl

AL−1 ≤ (A−1)TcomMTapl

AL−1 + (L A+L− A−1)Tcom en otro caso(4.15)

Sobre estas dos opciones, y para cada caso, se debe analizar cuál es la que reduce el tiempo global deevolución. En la figura 4.11 se muestra en función del número de membranas y el cociente entre Tapl y Tcom ,la mejor combinación de procesadores para minimizar el tiempo de evolución. En concreto, se muestran losvalores de la amplitud y la altura. Comparándolo con la evolución sin solapamiento, aumenta la amplitudconsiderablemente para que el tiempo en el que otros procesadores comunican, se realice la aplicación dereglas.

Observando los cronogramas de las arquitecturas HP2P y HMS, que se encuentran en las figuras 4.5 y 4.8respectivamente, se observa que salvo la primera evolución del sistema, en el resto, las comunicaciones quese producen requieren el mismo tiempo. La diferencia existente en el comportamiento de ambas arquitecturasreside en el número de membranas localizadas en cada procesador. Mientras que en la arquitectura HP2Pse pueden ubicar membranas en todos los procesadores, en el modelo HMS solo se pueden ubicar en losprocesadores esclavos. Esto reduce el comportamiento del modelo HMS, solo pudiendo ubicar A −1 vecesmenos membranas en cada procesador para obtener el mismo tiempo de evolución. Por tanto, las prestaciones

39

Page 58: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.11: Amplitud y número de niveles para obtener el mínimo tiempo usando la arqui-tectura HMS con solapamiento de etapas. [Fuente: [Peña et al., 2011]]

de ambos sistemas son similares, pero en la arquitectura HP2P se obtienen los mejores resultados. Por contra,en la arquitectura HP2P se debe mantener la topología arbórea del P sistema, lo que complica la distribuciónde membranas en procesadores, mientras que en la arquitectura HMS cualquier distribución proporcionadasería válida.

Con el avance del solapamiento de etapas que se realiza en la arquitectura Maestro-Esclavo Jerárquica,se mejoran los tiempos de evolución del sistema, pudiendo incluso dar tiempos mejores que la arquitecturaHP2P (depende de los valores Tcom , Tapl y del número de membranas). Este solapamiento no puede realizarseen la arquitectura Peer-to-Peer Jerárquica, puesto que el procesador raíz también tiene membranas, y es elprimero y último que comunica. Aunque no puede existir solapamiento en este procesador, en el resto deprocesadores sí. Si solo se aloja la membrana raíz en dicho procesador, se pueden hacer otras distribucionesde membranas que consigan un solapamiento en el resto de procesadores y reducir el tiempo global.

4.4. Proxies

La propuesta de cada una de las diferentes arquitecturas condiciona la evolución global del sistema ysu comportamiento, aún a pesar de basarse en los mismos principios. Las características diferenciadorasde cada arquitectura, darán lugar a que aunque todas proponen el uso de proxies para la comunicación,el comportamiento de los mismos sea diferente. El proxy será la parte principal de cada procesador, queademás de contener las membranas asignadas, contendrá un proxy que se encargará de la comunicaciónentre procesadores, del paralelismo global del sistema, y del secuenciamiento de las etapas que se realizanen el procesador.

Con los estudios de [Frutos et al., 2009] y [Gil et al., 2009] están perfectamente definidos los 4 primerosmicropasos de la evolución del P sistema. Para los 3 siguientes -y últimos- será el proxy el encargado de surealización. Para todas las arquitecturas, en cada procesador, se ejecutará de forma secuencial (con variasunidades de proceso, podría ser en paralelo), las etapas de selección y aplicación de reglas para todas lasmembranas, de la forma que se propone en [Tejedor et al., 2008]. Después, entrará el funcionamiento elproxy, cuyo comportamiento será diferente para cada una de las arquitecturas descritas.

El proxy se encargará de recopilar los objetos creados en las membranas y moverlos a sus destinos

40

Page 59: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(micropaso 5). Si el destino está en el mismo procesador, será un movimiento directo, pero si el destino estáen otro procesador, los almacenará para enviarlos agrupados a posteriori. El proxy se encargará también deindicar a sus proxies adyacentes (proxies de procesadores adyacentes - padre e hijos) las membranas que sehan disuelto (micropaso 6). Por último, el proxy al recibir los objetos y situarlos en la membrana destinocontribuirá a la composición del nuevo multiconjunto (micropaso 7).

Para realizar esta composición del multiconjunto, los objetos no utilizados por ninguna regla, nuncasaldrán de la membrana. Los objetos creados en la membrana y con ese destino, tampoco saldrán. Losobjetos creados en membranas hijas cuyo destino out sea una membrana del mismo procesador, será movidosdirectamente en la etapa en que se recorren los objetos creados, y los que estén en un procesador hijo, seránenviados a través de proxy, y a su recibimiento serán colocados en la membrana. De forma similar ocurrirá conlos objetos cuyo destino indicado sea una membrana hija específica. Por último, con un correcto ordenamientode los mensajes entre los proxies (máximo uno entre cada par de proxies), los objetos cuyo destino sea unamembrana disuelta, modificarán su destino por el de la membrana madre, y serán enviados a ésta.

Para evitar la pérdida de objetos porque se envíen a membranas disueltas, los proxies establecerán unorden que permita que los objetos lleguen a las membranas antes de su disolución; y en el momento de sudisolución, mande su multiconjunto a su membrana madre.

Además de estas comunicaciones, analizando el proceso de evolución del P sistema, y las necesidadesmarcadas por los algoritmos descritos, existe otra comunicación a realizar. En el algoritmo de Frutos parala selección de reglas, es necesario que cada membrana conozca la existencia y la permeabilidad de lamembrana madre, y de las hijas. Para este conocimiento en el momento de realizar la selección de reglas,sería necesario realizar comunicaciones entre proxies (o procesadores) para conocer estos valores de cadauna de las membranas involucradas. Para buscar un rendimiento óptimo al sistema, no debería realizarseninguna comunicación, salvo la indicada por el proxy para las tres etapas mencionadas. Añadiendo nuevascaracterísticas a los proxies, a los mensajes que intercambian, es posible conocer este valor en cada momento,sin necesidad de nuevas comunicaciones. El proxy, debe contener la estructura (topología) del P sistema, ylos cambios que se produzcan. Así, cuando una membrana necesite conocer la existencia de otras, solo debehacer una consulta al proxy. De igual forma, se puede mantener la permeabilidad de las membranas. Paramantener estos valores conocidos permanentemente, el proxy debe comunicar los cambios en la permeabilidadde membranas, y los cambios en la existencia de membranas, que vienen marcados por las disoluciones. Esdecir, el proxy conocerá el contexto total de las membranas que contiene.

Por supuesto, el proxy debe conocer para cada membrana, el procesador (o proxy) que la contiene, parapoder orientar la comunicación. En caso contrario, con cada proxy con el que se comunicara tendría queenviar todos los objetos que no son de las membranas de ese procesador. Esto indica que los objetos a enviar,y que no se están enviando, sino agrupando para ser enviados a su correspondiente procesador, deben seralmacenados en algún lugar. Este lugar es el proxy, y para ello contará con un lugar de almacenamientodenominado “ObjectToSend”. De igual forma, el proxy debe conocer qué membranas se van a disolver,aunque la disolución se haga a posteriori (por lo indicado unos párrafos atrás). Para ello, contará con unalista de indicaciones de membranas a disolver, denominada “MembranesToDissolves”. Por simplicidad, no secontempla la permeabilidad de membranas, pero su inclusión consistiría en repetir el proceso descrito paralas membranas disueltas.

En la figura 4.12 se observa cómo sería el contenido del procesador y del proxy del procesador 2 para ladistribución de la misma figura. Cada membrana se representa por un círculo y se observa que el procesador 2contiene las membranas 4, 7 y 8, con sus respectivos objetos, reglas y prioridades. El proxy además, contienelas referencias del resto de membranas, y al resto de proxies. Para los proxies y las membranas, contiene lasrelaciones jerárquicas. También contiene los almacenes de objetos para enviar, y las membranas disueltas.Así, cuando una membrana pregunte al poxy por otras membranas, este contendrá la información actualizaday podrá responder sin necesidad de comunicarse con otros procesadores.

Para cada membrana contenida en el proxy, éste solo contiene su identificador, la indicación de lasmembranas hijas y madre, y la referencia al proxy (o procesador) que la contiene. El proxy también contienela información de los otros proxies. Para cada uno de estos, contiene su identificador, su dirección, sus

41

Page 60: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.12: Ejemplo de distribución de un P sistema en 4 procesadores y el contenido delprocesador 2 y de su proxy asociado.

proxies padre e hijos, y las membranas incluidas en el proxy o procesador. Así, si contuviera m membranasy p proxies, sería necesario:

4m +5p números

El comportamiento del proxy, y parte de su contenido variará en función de la arquitectura sobre la quese sustente.

Arquitectura Peer-to-Peer (P2P)

La arquitectura entre iguales, o Peer-to-Peer -P2P-, por sus siglas en inglés, se basa en que los procesa-dores tienen una topología arbórea, manteniendo la presentada por el P sistema. En esta arquitectura, cadaproxy esperará a que el padre se comunique con él, y procesará la información recibida. Después, comunicarácon uno de sus hijos, y esperará a que este le responda. Tras procesar la información recibida, realizará elproceso con otro de sus hijos, y así sucesivamente para todos los hijos. Cuando haya terminado de comunicarcon los hijos, preparará el mensaje para comunicar con el padre, y aplicará la disolución. Finalmente, enviará

42

Page 61: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

el mensaje al padre, y podrá comenzar la siguiente evolución. En la figura 4.13a se puede ver cómo seríaesta arquitectura con 7 procesadores, las comunicaciones existentes, y el orden de las mismas.

(a) Arquitectura Peer to Peer (b) Arquitectura Peer to Peer jerárquica

(c) Arquitectura maestro-esclavo (d) Arquitectura maestro-esclavo jerárquico

Figura 4.13: Diferentes arquitecturas de P sistemas distribuidos, incluyendo el orden de co-municación. [Fuente: [Peña et al., 2011]]

El proxy contendrá las membranas ascendientes y descendientes de las que contiene el procesador, comose muestra en la figura 4.14. El funcionamiento del proxy se basa en varias etapas, que serán comunes(aunque con peculiaridades) para los proxies de todas las arquitecturas:

El análisis local (local analysis) consiste en recorrer todas las membranas del procesador y analizar eldestino de los nuevos objetos creados. Se pondrán los objetos en su membrana correspondiente si estaestá en el procesador o en ObjectToSend para después ser enviados a sus destinos correspondientes.Además, si alguna membrana ha ejecutado alguna regla que implique su disolución, ésta será añadidaa MembranesToDissolve. (Algoritmo 3).

Para evitar las colisiones en la comunicación, se deben sincronizar (synchronization) los procesadoresy la comunicación entre ellos, de forma que solo una comunicación se produzca en cada instante. Para

43

Page 62: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.14: Ejemplo del proxy según la arquitectura P2P, para el procesador 2 del P sistemade la figura 4.12.

hacer esto, cuando los procesadores necesiten comunicar con otros, pararán su ejecución y esperaránla orden para continuar (Es el token descrito en [Tejedor et al., 2008]). El procesador 0 o raíz seauto-ordenará continuar la ejecución. (Algoritmo 4).

La otra forma de que un procesador o proxy continúe, es con la orden indicada en la recepción deun mensaje de su padre (parent receiving message) que contendrá objetos con su destino y lasmembranas disueltas. Este mensaje se debe procesar, poniendo los objetos en su correspondiente lugar(la membrana si está en el procesador, o en ObjectToSend los demás). Como también se recibe laindicación de otras membranas que se van a disolver, las añadirá a la lista de membranas disueltas(MembranesToDissolve). (Algoritmo 5).

Después de recibir y procesar la información enviada por el padre, debe comunicar con sus hijos(communicates with the children). Para ello, de forma secuencial, para cada hijo preparará unmensaje que le enviará, y esperará a que el hijo le responda. En el mensaje a enviar al hijo, añadirá todoslos objetos de ObjectToSend cuyo destino esté el procesador hijo, o en alguno de sus descendientes.Además, añadirá la indicación de todas las membranas a disolver. Enviará el mensaje, y esperará a queel hijo responda para continuar su ejecución. Es decir, enviará el token, y esperará a que sea devueltopor el hijo. El mensaje que recibe del hijo, además del token, contendrá objetos y qué membranasse han disuelto. Procesará este mensaje de forma similar a como ha procesado el mensaje del padre.(Algoritmo 6).

En este punto, contiene toda la información para comunicar con el padre. Los objetos encontrados

44

Page 63: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

en ObjectToSend tendrán como destino el padre o cualquiera de los ascendientes del procesador, asíque deben ser añadidos en un nuevo mensaje que preparará para enviar al padre (new messagethat is preparing to send the parent). También indicará cuales son las membranas que se van adisolver, cuyas referencias están en MembranesToDissolve. Después procesará todas las membranasmarcadas para disolver (en MembranesToDissolve). La disolución de una membrana consiste en moversus objetos a la membrana madre si está en el procesador, o añadirlos al mensaje indicando comodestino la membrana madre. Completará la disolución borrando la membrana (tanto si está en elprocesador como si está en el proxy) y reajustando el árbol de membranas que indica las relacionesentre membranas. (Algoritmo 8).

Por último, enviará el mensaje al padre (sends the message to the father), indicando que hafinalizado la etapa de comunicación. Añadirá el token para que el padre pueda continuar. (Algoritmo9).

Estas etapas, para el caso del proxy de la arquitectura P2P está descrito en el Algoritmo 2, donde sereferencia al resto de algoritmos utilizados.

Algoritmo 2 Algoritmo del proxy para la arquitectura P2P1: Local analysis (Algoritmo 3)2: Synchronization (Algoritmo 4)3: Parent receiving message and Process the message (Algoritmo 5)4: Children communication (Algoritmo 6)5: Preparing the message for the parent with dissolved membranes application (Algoritmo

8)6: Father sending (Algoritmo 9)

Algoritmo 3 Local analysis1: for all membrane of current processor do2: for all new object do3: if current processor contain the destine of object then4: Put the object in the membrane5: else6: Put the object in objectToSend7: end if8: end for9: if execute a rule to dissolve the membrane then

10: Add membrane to MembranesToDissolve11: end if12: end for

Arquitectura P2P Jerárquica (HP2P)

Esta arquitectura fomenta las comunicaciones en paralelo, sin que se produzcan colisiones. Para ello, elorden debe ser reordenado, de forma que sobre la misma subred no se realicen nunca dos comunicacionessimultáneas. La distribución de los procesadores sigue siendo en forma de árbol, y su proxy por tanto mantiene

45

Page 64: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 4 Synchronization1: if currentProcessor =0 then2: Create a message (Algoritmo 7)3: SEND (processor0, message)4: end if5: WAIT (message)

Algoritmo 5 Process the message1: for all object do2: if CurrentProcessor contain the destine then3: PUT the object in the membrane4: else5: PUT the object in ObjectToSend6: end if7: end for8: for all membrane in MembraneToDissolve received in the message do9: ADD to MembranesToDissolve if not exists

10: end for

Algoritmo 6 Children communication1: for all child processor do2: Create a message (Algoritmo 7)3: SEND (child processor, message)4: WAIT (message)5: Process the message (Algoritmo 5)6: end for

Algoritmo 7 Create a message1: for all object in ObjectToSend do2: if membrane’s destine is in this child processor or another descendant of this child

processor then3: PUT the object in the message (and remove to the ObjectToSend)4: end if5: end for6: for all membrane in MembranesToDissolve do7: PUT the membrane in the message8: end for

46

Page 65: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 8 Preparing the message for the parent with dissolved membranes application1: for all object in ObjectToSend do2: PUT the object in the message (and remove to the ObjectToSend)3: end for4: for all membrane in MembranesToDissolve do5: PUT the membrane in the message6: if parent membrane in other processor then7: for all object in the membrane do8: PUT the object in the message, but the destine is the parent of membrane.9: end for10: else11: for all object in the membrane do12: MOVE the object to the parent membrane13: end for14: end if15: ADJUST the tree removing this membrane16: end for

Algoritmo 9 Father sending1: if currentProcessor <>0 then2: SEND (parent processor, message)3: end if

los principios de la arquitectura P2P. La figura 4.14 muestra el contenido del proxy para la arquitectura P2P,pero sería igual para la arquitectura HP2P. Las comunicaciones ordenadas que se realizan entre los proxiesse pueden ver en la figura 4.13b. En las comunicaciones se observa como un procesador comunicará consus hijos secuencialmente, sin esperar respuesta de ellos. Después, y siguiendo el mismo orden, recibirá larespuesta. Esta variante permite que en el mismo nivel, varios procesadores estén comunicando en paralelo,sin que se produzcan colisiones. El funcionamiento del proxy presenta solo esta variante, como se puede veren el Algoritmo 10.

Algoritmo 10 Algoritmo del proxy para la arquitectura HP2P1: Local analysis (Algoritmo 3)2: Synchronization (Algoritmo 4)3: Parent receiving message and Process the message (Algoritmo 5)4: Children communication (HP2P) (Algoritmo 11)5: Preparing the message for the parent with dissolved membranes application (Algoritmo

8)6: Father sending (Algoritmo 9)

47

Page 66: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 11 Children communication in HP2P architecture1: for all child processor do2: Create a message (Algoritmo 7)3: SEND (child processor, message);4: end for5: for all child processor do6: WAIT (message)7: Process the message (Algoritmo 5)8: end for

Arquitectura Maestro-Esclavo (MS)

La arquitectura Maestro-Esclavo presenta diferencias topológicas respecto a las anteriores. Estas diferen-cias influyen en que existan dos tipos de procesadores, y que la distribución no deba mantener la topologíaarbórea. Esta diferenciación de procesadores en dos tipos, hace que los proxies alojados en los procesadorestengan contenido y comportamiento diferentes. Incluso, en la distribución de membranas se aprecia esta di-ferenciación: los procesadores esclavos contienen membranas, mientras que el maestro no. Para el P sistemade la figura 4.12, se puede obtener una distribución como la mostrada en la figura 4.15. Las comunicacionescontroladas por los proxies también tienen un orden diferenciado al de otras arquitecturas. Los esclavos, pororden, comunican con el maestro, que tras procesar todos los mensajes, comunica en secuencia a todos losesclavos. Este orden de comunicación se observa en la figura 4.13c.

Figura 4.15: Ejemplo de distribución de un P sistema según la arquitectura MS.

El contenido de los proxies es diferente en los procesadores esclavos y en el maestro. Mientas que losesclavos solo contienen la dirección del procesador maestro y las membranas ascendientes y descendientes delas contenidas; el maestro contiene todas las membranas con su jerarquía, las direcciones de los procesadoresesclavos, y la ubicación de membranas en procesadores. La figura 4.16 muestra el contenido de ambos tiposde proxies.

48

Page 67: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Proxy Esclavo (b) Proxy Maestro

Figura 4.16: Ejemplo de los proxies según la arquitectura MS, para el procesador 2 y elmaestro del P sistema de la figura 4.15.

De igual forma que el contenido de los proxies es diferente para el maestro comparándolo con losesclavos, en el funcionamiento existen estas diferencias. Además, los esclavos no se comportan como en laarquitectura P2P, aunque mantienen intacta alguna de las partes. El comportamiento del proxy esclavo esanalizar los objetos creados y membranas disueltas, para enviarlos a su correspondiente destino, que o bienes una membrana del procesador, o bien, debe enviarlos al maestro. Después del envío espera a la respuestadel maestro, y procesa la información recibida colocando los objetos en sus correspondientes membranas yaplicando la disolución de membranas. El algoritmo 12 muestra en detalle este procedimiento.

El proxy maestro se encarga de recibir los nuevos objetos creados y la indicación de las membranasa disolver. Como contiene todas las membranas (sin objetos y sin reglas), pone los objetos recibidos enlas membranas correspondientes, y aplica la disolución de membranas, recolocando los objetos. Después,de forma secuencial, para cada proxy hijo crea un mensaje, y con el recorrido de todas sus membranassecuencialmente añade al mensaje los objetos que tienen sus membranas (quitándolos de éstas). A todosestos mensajes les añade todas las membranas disueltas. Y comunica a los proxies esclavos, como se observaen el algoritmo 13.

Arquitectura Maestro-Esclavo Jerárquica (HMS)

Esta arquitectura es una variante de la anterior, donde el uso de múltiples maestros permite aumentarla eficiencia del sistema, aumentando el número de comunicaciones en paralelo que se pueden realizar. En lafigura 4.13d se observan como son las comunicaciones en esta arquitectura. La distribución de membranasse hace de forma similar a la arquitectura maestro-esclavo, con la peculiaridad de que ahora los esclavosestán conectados a varios procesadores maestros que son hoja de una distribución arbórea de procesadores.La figura 4.17 muestra un ejemplo de distribución para esta arquitectura.

En cuanto al funcionamiento del proxy, ya no se tienen dos tipos de proxies diferenciados, sino tres: losproxies de los procesadores esclavos, los proxies de los procesadores maestros y el proxy del procesador raíz.Los proxies de los procesadores esclavos se comportan igual que en la arquitectura MS (Algoritmo 12). Lomismo ocurre con el proxy del procesador raíz, que se comporta como el proxy maestro de la arquitecturaMS (Algoritmo 13). Los proxies de los procesadores maestros tienen un comportamiento muy sencillo, puessolo se encargar de agrupar y desagrupar mensajes de objetos y membranas disueltas. Así, un proxy recibirá

49

Page 68: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 12 Algoritmo del proxy de los procesadores esclavos para la arquitectura MS1: CREATE a new message2: for all membrane of current processor do3: for all new object do4: if current processor contain the destine of object then5: Put the object in the membrane6: else7: Put the object in the message8: end if9: end for10: end for11: for all membrane of current processor do12: if execute a rule to dissolve the membrane then13: Add membrane with object to message and remove the membrane14: end if15: end for16: SEND message in its turn.17: WAIT message18: /*PROCESS THE MESSAGE */19: for all object do20: PUT the object in its corresponding membrane21: end for22: for all dissolve membrane do23: REMOVE the membrane in the proxy and ADJUST the tree24: end for25: /*END PROCESS THE MESSAGE*/

secuencialmente mensajes de los procesadores hijos, y los agrupará para enviarlos al procesador padre. A lavuelta, y con el mensaje recibido por el procesador padre, desagrupará el mensaje, partiéndolo en tantos comoprocesadores hijos. Los objetos recibidos los pondrá en el mensaje hacia el procesador donde se encuentre,directamente o a través de sus descendientes, la membrana destino. En todos los mensajes añadirá lasmembranas a disolver.

50

Page 69: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 13 Algoritmo del proxy del procesador maestro para la arquitectura MS1: for all slave do2: WAIT(message)3: /* PROCESS THE MESSAGE: */4: for all object do5: PUT object in the corresponding membrane6: end for7: for all dissolve membrane in the message do8: Add the membrane to MembraneToDissolve.9: Add the objects of membrane to the corresponding membrane in the proxy.

10: end for11: /*END PROCESS MESSAGE*/12: end for13: for all membrane in MembraneToDissolve do14: MOVE the object of this membrane to the parent membrane15: ADJUST the tree removing the membrane16: end for17: for all slave do18: Create a new message19: for all membrane in this processor do20: if the membrane have object then21: PUT the object in the message with destine this membrane, and remove the

object to the membrane22: end if23: end for24: Put the MembranesToDissolve in the message25: Send message26: end for

51

Page 70: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 4.17: Ejemplo de distribución de un P sistema según la arquitectura HMS.

52

Page 71: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Par

te

III

Distribuciones estáticas

53

Page 72: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

5Distribución basada en parámetros

globales

Para implementar un P sistema de forma distribuida, las membranas deben alojarse en procesadores uotros dispositivos electrónicos. Con el trabajo de muchos investigadores, se ha demostrado que para que eltiempo de evolución sea mínimo, la distribución debe hacerse siguiendo unos principios que vienen marcadospor la arquitectura. En concreto, y como se ha mostrado, hay 4 arquitecturas. Si bien, éstas se pueden agruparen dos tipos: las jerárquicas o en forma de árbol, donde se encuentran las arquitecturas P2P y HP2P; y lasmaestro-esclavo, donde están las arquitecturas MS y HMS. Estos tipos de arquitecturas marcan dos formasde distribución diferenciadas, marcadas por la restricción del mantenimiento de la topología arbórea del Psistema o no. Las distribuciones en forma de árbol, restringen, como su nombre indica, a que la distribución demembranas en procesadores tenga que mantener la topología arbórea. En las arquitecturas maestro-esclavo,las membranas colocadas en cada procesador esclavo no deben cumplir ninguna limitación marcada por elP sistema.

Los investigadores, sobre cada arquitectura, marcan cuales son el número de procesadores y el númerode membranas en cada procesador para conseguir la distribución óptima, en base a los tiempos de aplicaciónde las membranas y comunicación entre los procesadores. Como el tiempo de comunicación entre los proce-sadores vendrá determinado por el contenido de dichos procesadores, en base a la constante c que mencionaTejedor [Tejedor et al., 2008], y cuyo valor depende de la distribución que se realice, se considera que estosvalores son fijos (hasta que se estudie en profundidad dichos parámetros en el capítulo siguiente), aunquedependerán de los valores concretos de la implantación donde se realice (ordenadores y red, por ejemplo).Estos valores pueden ser calculados a priori, y utilizados para todos los P sistemas que se vayan a evolucionaren esos dispositivos.

Como los valores del número de procesadores y del número de membranas por procesador vienen deter-minados por los valores mencionados y descritos, y por el P sistema concreto que se vaya a evolucionar, deeste P sistema solo es necesario conocer el número de membranas (M) que contiene. Con estos valores, sepodría realizar una distribución para que la evolución se realizara en un tiempo óptimo, según las condicionesindicadas. Para las arquitecturas maestro-esclavo, al no existir ninguna restricción extra, y considerar todas

54

Page 73: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

las membranas iguales, cualquier distribución siguiendo las indicaciones mencionadas sería válida. Para lasarquitecturas que deben preservar la topología jerárquica no es posible realizar cualquier distribución, puestoque se deben mantener estas restricciones topológicas.

Para realizar la distribución, es necesario realizar clustering (agrupamiento) de las membranas del Psistema, de forma que en cada uno de los Popt procesadores se distribuya un clúster. Además, cada clústercontendrá un número igual de membranas, que se corresponde con el Kopt . Al darse la condición de quePopt Kopt ≥ M , puede que no todos los clústeres contengan el mismo número de membranas, pero estaráacotado superiormente por Kopt . Además de esta restricción común para todas las arquitecturas, para lasarquitecturas que preservan la topología, es necesario que la distribución de los clústeres en procesadoressiga formando un árbol, al igual que el marcado por el P sistema. Así, considerando que el P sistema esun árbol, y que las membranas de los clústeres son las mismas que las del P sistema, las comunicacionesentre los clústeres, y por tanto, entre los procesadores, deben ser las mismas. Al existir este agrupamiento,algunas de las comunicaciones serán internas, es decir, las dos membranas que se comunican están en elmismo clúster; y otras serán externas, o entre clústeres distintos, cuando las dos membranas a comunicarestén en diferentes clústeres. Se marcan las comunicaciones entre los clústeres como las que producen lascomunicaciones externas de las membranas que contienen. Estos clústeres con sus comunicaciones marcanun grafo. La restricción marcada por las arquitecturas P2P, es que el grafo mencionado debe ser un árbol.

Definición 5.0.1. Se define el árbol de membranas T =<V ,E > como un árbol donde:

vi ∈ V si vi es una membrana, con un peso asociado (w(vi )), que se corresponde al tiempo deaplicación (Tapl ) de la membrana i .

(vi , v j ) ∈ E si vi 6= v j y son membranas adyacentes.

Definición 5.0.2. Se definirá un árbol de clústeres, o árbol de procesadores, asociado a un árbol de mem-branas T, como un árbol C (T ) =<C , A > tal que:

Ci ∈C si⋃

iCi =V ∧ (Ci

⋂C j ) =;.

(Ci ,C j ) ∈ A si Ci 6=C j y ∃vki ∈Ci y vk j ∈C j tal que (vki , vk j ) ∈ E .

Es decir, un árbol de procesadores C T asociado al árbol de membranas T será un árbol (condiciónindispensable) donde los nodos serán los elementos de una partición de V y dos nodos (o procesadores)estarán relacionados si alguna de sus membranas están relacionadas entre sí en el árbol de membranas T .En la figura 5.1 se puede ver un árbol de clústeres sobre un árbol de membranas, que contiene todos loselementos mencionados.

El objetivo de la distribución para estas arquitecturas consiste en decidir a que c j pertenece cada unode los vi de T , para minimizar la función 5.1.

f : max{(∑

w(vi ) : ∀vi ∈ c j ) : ∀c j ∈C }+2k(|A|−1) (5.1)

donde k es una constante que se corresponde con el tiempo de comunicación (Tcom).

Existen diversas técnicas para intentar minimizar esta función, pero no existe ningún algoritmo queobtenga el mínimo global. La mayoría de las técnicas se basan en heurísticas y estimaciones, y muchas deellas son parte de la computación natural. De entre todas las opciones, se muestra cómo se deben utilizarlos algoritmos genéticos. En primer lugar, se dará una pincelada sobre los algoritmos genéticos siguiendo lasdefiniciones que sobre los mismos se pueden encontrar en la literatura especializada del área. Después, seadaptarán estos algoritmos para dar solución al problema planteado.

55

Page 74: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 5.1: Ejemplo de una distribución de membranas (T ) en procesadores (C T ) conservandola topología arbórea. V es representado por círculos, y E son aristas continuas. C se representapor cuadrados, y A son fechas discontinuas.

5.1. Algoritmos genéticos

El precursor de los Algoritmos Genéticos fue John Holland, de la Universidad de Michigan, quien aprincipios de los años 60 comenzó a desarrollar sus ideas a partir de la teoría genética de la selección naturalcomo una forma de adaptación. Así, en 1975, publicó el origen de los algoritmos genéticos en [Holland, 1975].15 años después, David Goldberg, un ingeniero industrial, fue alumno de Holland, y trató de aplicar losalgoritmos genéticos a problemas industriales.

Los algoritmos genéticos son métodos adaptativos que pueden usarse para resolver problemas de bús-queda y optimización. Están basados en el proceso genético de los organismos vivos. A lo largo de lasgeneraciones, las poblaciones evolucionan en la naturaleza con los principios de la selección natural y lasupervivencia de los más fuertes. Por imitación de este proceso, los Algoritmos Genéticos son capaces de ircreando soluciones para otros tipos de problemas.

Nombrar a los algoritmos genéticos es una forma de revivir al científico inglés Charles Darwin, quienpostuló que todas las especies de seres vivos han evolucionado con el tiempo a partir de un antepasadocomún, mediante un proceso denominado selección natural. Su obra fundamental, El origen de las especiespor medio de la selección natural [Darwin, 1859], o la preservación de las razas favorecidas en la lucha porla vida, publicada en 1859, estableció que la explicación de la diversidad que se observa en la naturaleza sedebe a las modificaciones acumuladas por la evolución a lo largo de las sucesivas generaciones. Así, aunquea Holland se le conoce como el padre de los Algoritmos Genéticos, es Darwin el científico que formuló losprincipios de la naturaleza sobre los que se basa el trabajo de Holland.

En la naturaleza los individuos de una población compiten entre si en la búsqueda de recursos, e inclusoen la búsqueda de compañeros. Aquellos individuos que tienen más éxito en sobrevivir y en atraer compañerostienen mayor probabilidad de generar un gran número de descendientes. Esto se traduce en que los genes de losindividuos mejor adaptados se propagan en sucesivas generaciones. La combinación de buenas característicasprovenientes de diferentes ancestros, puede a veces producir descendientes “superindividuos”, cuya adaptaciónes mucho mayor que la de cualquiera de sus ancestros. De esta forma, las especies evolucionan lograndounas características cada vez mejor adaptadas al entorno en el que viven.

Los algoritmos genéticos se basan en estos principios. El objetivo del algoritmo genético es encontrarel individuo mejor adaptado que sea solución de un problema dado. Aunque los algoritmos genéticos no

56

Page 75: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

garantizan que se encuentre la solución óptima del problema, existe evidencia empírica de que se encuentransoluciones de un nivel aceptable, en un tiempo competitivo comparado con el resto de algoritmos de opti-mización combinatoria. El campo de aplicación de los algoritmos genéticos son los problemas para los queno existen técnicas especializadas.

Los algoritmos genéticos establecidos en [Holland, 1975], se encuentran bien definidos en muchos textos,como [Goldberg, 1989], [Davis, 1991], [Michalewicz, 1992] o [Reeves, 1993].

Son múltiples los motivos que aventajan a estos algoritmos respecto a los tradicionales. Destaca queutilizan operadores probabilísticos, en vez de los típicos operadores determinísticos de las técnicas tradicio-nales. Además de no necesitar conocimientos específicos sobre el problema a resolver, es fácil ejecutarlosen las modernas arquitecturas masívamente paralelas. Debido a sus características, están indicados pararesolver problemas cuyo espacio de soluciones potenciales sea realmente grande para hacer una búsquedaexhaustiva en un tiempo razonable. Otra ventaja que presentan es que se desenvuelven bien en problemas enlos que la función objetivo es discontinua, ruidosa, cambia con el tiempo, o tiene muchos óptimos locales.También permiten manipular varios parámetros simultáneamente, tales como múltiples funciones objetivo.Por último, una característica muy relevante de esta técnica, es el desconocimiento del problema a resolver.Sus decisiones están basadas en la aleatoriedad, así que todo el espacio de búsqueda es teóricamente posible,en contraposición a otros algoritmos expertos o a los diseñados por humanos.

Pero los algoritmos genéticos también tienen puntos débiles que deben ser conocidos antes de serseleccionados como técnica para la resolución de un problema. La más importante es la dificultad de definiruna representación del problema. El lenguaje utilizado para especificar soluciones candidatas debe ser robusto;es decir, debe ser capaz de tolerar cambios aleatorios que no produzcan constantemente errores fatales oresultados sin sentido. El problema de representar a las soluciones candidatas de manera robusta no surgeen la naturaleza, porque el código genético (representación) es inherentemente robusto. Al igual que esimportante definir una codificación apropiada, es necesario definir correctamente la función objetivo, paraque el algoritmo busque solución al problema planteado. Al igual que en estos campos, es necesario que el restode parámetros del algoritmo genético se elijan cuidadosamente. Además de estos problemas que plantean ensu elaboración, con su uso se pueden encontrar dos problemas que destacan sobre los demás: la convergenciaprematura, obteniendo un óptimo local; y además, los algoritmos genéticos tienen dificultades con problemascon funciones objetivo engañosas, donde la situación de los puntos mejorados ofrecen información engañosasobre dónde se encuentra probablemente el óptimo global.

Los algoritmos genéticos se han usado, y se pueden usar, en muchísimos campos donde no existe unatécnica especializada. En general, en problemas donde el espacio de búsqueda es grande, aunque delimitado.Además, deben permitir definir una función de aptitud, y los candidatos deben poder codificarse para sertratados por el computador. Entre los tipos de problemas que pueden resolver destacan los de optimización,que fueron la fuente de inspiración para los creadores de estos algoritmos. Pero también se usan en pro-gramación automática, en el aprendizaje de la máquina, en economía, en sistemas inmunes, en ecología, engenética de poblaciones, en evolución y aprendizaje, en sistemas sociales, en automática, y en muchísimoscampos de la ingeniería industrial.

El hecho de que los algoritmos genéticos efectúen búsquedas robustas, se debe a que implícitamentemuestrean hiperplanos. Es decir, cada individuo, representado por medio de una codificación binaria, cons-tituye un vértice del hipercubo que representa el espacio de búsqueda, y es a su vez un miembro de 2l −1diferentes hiperplanos, donde l es la longitud de la codificación binaria. Por otra parte, existen un totalde 3l −1 hiperplanos particionales sobre el espacio de búsqueda total. Cada individuo no proporciona graninformación si se examina por separado. Es por ello que la búsqueda basada en una población es críticapara los algoritmos genéticos. Una población de individuos, proporciona información sobre numerosos hi-perplanos, estando los hiperplanos de bajo orden muestreados por numerosos puntos de la población. Elhecho de que se muestreen muchos hiperplanos cuando se evalúa una población de ristras, se conoce comoel paralelismo implícito o intrínseco de los algoritmos genéticos. Dicho paralelismo implícito, significa quemuchas competiciones entre hiperplanos se efectúan simultáneamente.

Son muchos los investigadores que han demostrado la convergencia del algoritmo hacia el óptimo.

57

Page 76: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Por ejemplo, en [Liepins, 1992] se demuestra la convergencia del algoritmo genético hacia poblaciones quecontienen al óptimo, en el caso de algoritmos genéticos sin operador de mutación, pero en los que el reemplazode individuos es elitista -el mejor individuo no se pierde nunca- y además se efectúa de tal manera que encada paso cualquier punto del espacio sea potencialmente alcanzable por medio de la operación de cruce.Para criterios prácticos, es muy útil la definición de convergencia introducida en este campo por De Jongen su tesis doctoral (1975). Si el algoritmo genético ha sido correctamente implementado, la poblaciónevolucionará a lo largo de las generaciones sucesivas de tal manera que la adaptación media extendida atodos los individuos de la población, así como la adaptación del mejor individuo, se irán incrementandohacia el óptimo global. Un gen habrá convergido cuando al menos el 95% de los individuos de la poblacióncompartan el mismo valor para dicho gen. De igual forma, se dice que la población converge cuando todoslos genes han convergido.

Sobre los algoritmos genéticos, existen diferentes representaciones en base a las operaciones que serealicen sobre la población inicial. Pero una perfecta definición en pseudocódigo es la del Algoritmo GenéticoAbstracto, que se representa en el algoritmo 14.

Algoritmo 14 Algoritmo Genético Abstracto1: Obtener la población inicial al azar2: while NO stop do3: Seleccionar padres de la población4: Producir hijos a partir de los padres seleccionados5: Mutar los individuos hijos6: Extender la población añadiendo los hijos7: Reducir la población extendida8: end while

Para definir correctamente un algoritmo genético, es necesario introducir algunas definiciones. Dadoun dominio finito D y una función f : D →R, el problema de la optimización de la función f se refiere aencontrar el mejor valor de la función f en el dominio D. Se trata por tanto de encontrar x ∈ D para el cualf (x) ≤ f (y)∀y ∈ D.

Ya que max{ f (x)} =−mi n{− f (x)} la restricción al problema de minimización no supone ninguna pérdidade generalización. En general, la tarea de optimización se complica debido a la existencia de óptimos locales(mínimos locales en este caso).

La función f tiene un mínimo local en x ∈ D si se verifica la siguiente condición:

∃E(x), entorno de x, tal que si y ∈ E(x),⇒ f (x) ≤ f (y)

Diremos que e : D → Sl donde l ≥ log ||S||||D|| constituye una codificación, siendo la finalidad de la mismael representar los elementos de D por medio de ristras de elementos de S. A S se le denomina alfabeto,mientras que Sl constituye el espacio de búsqueda. A la función f (x) = g (e(x)) se le denomina funciónobjetivo. Es necesario que la función e sea inyectiva, para que los elementos de D sean discernibles.

El algoritmo genético abstracto examinará un subconjunto del espacio de búsqueda, obteniendo unaristra x∗, cuya función objetivo g (x∗) puede considerarse un estimador del mi nx∈Sl g (x). Se designará comoI a los elementos de Sl .

Definición 5.1.1. Se considera un Algoritmos Genético Abstracto (AGA) a la 10-tupla:

AG A = (P0,λ, l , fsel , fpr od , fmut , fext , fr ed , g ,ct )

donde:

58

Page 77: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

P0 = {I 10 , . . . , Iλ0 } ∈ (Sl )λ población inicial,

λ tamaño de la población,l longitud de la representación,fsel función de selección,fpr od función de producción de hijos,fmut función de mutación,fext función de extensión,fr ed función de reducción,g función objetivo,ct criterio de parada.

Tipo de la representación

En los algoritmos genéticos, a las posibles representaciones del problema se las denomina individuos.Un individuo se representa como un conjunto de parámetros que se denominan genes. Los genes agrupadosforman una ristra de l valores que se denomina cromosoma. El conjunto de parámetros representando uncromosoma particular se denomina genotipo. El genotipo contiene la información requerida para construirun organismo, el cual es referido como fenotipo.

En sus orígenes, los algoritmos genéticos representaban a los individuos como cadenas de bits, debido aque se adapta perfectamente al tipo de operadores que se utilizan. En general, una representación ha de sercapaz de identificar las características constituyentes de un conjunto de soluciones. Por ello, la representaciónbinaria no siempre es la más adecuada, y se han utilizado otros tipos de representaciones. Así, cada gen, queen origen era un valor binario (1 o 0), dependiendo del problema puede ser representado por un valor enteroo una representación real. Se tiene así representación binaria, entera o real respectivamente.

El problema del viajante de comercio, conocido como TSP por sus siglas en inglés (Travelling SalesmanProblem), consiste en que dada una colección de ciudades, determinar la gira de mínimo costo, visitando cadaciudad exactamente una vez, y volviendo al punto de partida. Mas precisamente, dado un número enteron ≥ 3 y dada una matriz D = (di j ∈ M(n,n), con elementos di j enteros no negativos, se trata de encontrarla permutación cíclica π de los enteros de 1 a n que minimiza

∑n−1i=0 ciπ(i ). Son numerosos los heurísticos que

se han desarrollado para el TSP. La primera aproximación al TSP a partir de algoritmos genéticos la efectuóBrady [Brady, 1985]. Su intento fue seguido por muchos otros investigadores. Para este tipo de problemas,de permutación de números, han surgido nuevas representaciones.

La representación binaria o entera podrían ser representaciones para este tipo de problemas. Sin embargo,al realizar operaciones sobre los individuos, la probabilidad de que representen soluciones ilegales, y por tantodeban ser descartados, es muy alta. La representación basada en la trayectoria es la representación másnatural de una permutación. En ella, la permutación, o gira como en el caso del TSP, se representa comouna lista de n ciudades. Si la ciudad i es el j-ésimo elemento de la lista, la ciudad i es la j-ésima ciudada visitar. Debido a que los operadores clásicos no funcionan con esta representación, se han definido otrosoperadores de cruce y mutación.

Otro tipo de representaciones, para este tipo de problemas son las representaciones matriciales, dondela representación es realizada con una matriz binaria. [Fox and McMahon, 1990] representan una gira comouna matriz en la cual el elemento (i , j ) de la misma vale 1, si y solo si, en la gira la ciudad i se visita conanterioridad a la j .

Tamaño de la población

Una cuestión que se plantea en la definición de un algoritmo genético, es el tamaño de la población, onúmero de individuos que tendrá la población. Valores pequeños corren el riesgo de no cubrir adecuadamente

59

Page 78: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

el espacio de búsqueda, mientas que el trabajo de una abundante población puede acarrear un alto costocomputacional.

Goldberg [Goldberg, 1989] efectuó un estudio teórico, obteniendo que el tamaño óptimo de la poblaciónpara ristras de longitud l , con codificación binaria, crece exponencialmente con el tamaño de la ristra.

Alander [Alander, 1992], basándose en evidencia empírica sugiere que un tamaño de población compren-dida entre l y 2l es suficiente para atacar con éxito los problemas que él consideró.

Aunque el algoritmo genético contempla poblaciones de distinto tamaño, generalmente se restringe aque todas las poblaciones sean generadas con un tamaño igual.

Definición 5.1.2. Se denota por Pλ el conjunto de poblaciones de tamaño λ.

Población inicial

Habitualmente la población inicial se escoge generando ristras al azar, pudiendo contener cada gen unode los posibles valores del alfabeto con probabilidad uniforme. En los pocos trabajos que existen sobre eluso de técnicas heurísticas para generar la población inicial, se constata que esta iniciación no aleatoria dela población inicial, puede acelerar la convergencia del algoritmo genético. Sin embargo, puede llevar a unaprematura convergencia del algoritmo hacia óptimos locales.

Función objetivo

La función de adaptación o función objetivo (g ) debe ser diseñada para cada problema de maneraespecífica. Dado un cromosoma particular, la función de adaptación le asigna un número real, que se suponerefleja el nivel de adaptación al problema del individuo representado por el cromosoma.

Además de la codificación utilizada, la función objetivo son los dos aspectos que resultan cruciales en elcomportamiento de los algoritmos genéticos. La regla general para construir la función objetivo es que debereflejar el valor “real” del individuo, pero en muchos problemas donde existen gran cantidad de restricciones,buena parte de los puntos de búsqueda representan individuos no válidos. Una solución a este problema es laconocida como “absolutista”, en la que los individuos que no verifican las restricciones, no son consideradoscomo tales, siendo estos descartados o asignándoles un valor 0 en los problemas de maximización. Tambiénse puede añadir una penalización en función de las restricciones que no cumpla. Otra solución es el uso deloperador llamado “reparador” que se encarga de convertir una solución no válida en una que sí lo sea.

En el caso de que la función objetivo sea muy compleja, se suele realizar una evaluación aproximada dela función objetivo. A veces, la obtención de n funciones objetivo aproximadas puede resultar mejor que laevaluación exacta de una única función objetivo.

Algunos de los problemas habituales del uso de los algoritmos genéticos son la convergencia prematu-ra hacia óptimos locales y la lenta convergencia. Para solventar la convergencia prematura, que se sueledar cuando la selección de individuos se realiza de manera proporcional a su función objetivo, se realizantransformaciones en la función objetivo para que los individuos con una adaptación superior no lleguen adominar la población. Para la lenta convergencia, se realiza una expansión del rango de la función objetivo.La idea de especies de organismos es un método propuesto en [Goldberg and Richardson, 1987], y utiliza unamodificación de la función objetivo de cada individuo, de tal forma que individuos que estén muy cercanosentre sí devalúen su función objetivo, con la misión de que la población gane en diversidad.

60

Page 79: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Selección

En la fase de reproducción, se seleccionan individuos de la población para cruzarse y producir descen-dientes. La selección de padres se efectúa normalmente al azar, pero utilizando algún algoritmo que favorezcala selección de los individuos mejor adaptados.

La función de selección global fsel , selecciona al azar y con reemplazamiento una colección de individuosy ∈ Pλ a partir de una población x ∈ Pλ:

fsel : (α, x) → y,

donde α es un vector de dimensión λ constituido por valores escogidos aleatoriamente.

La función de selección proporcional a la función objetivo es la función más utilizada. Con esta función,cada individuo tiene una probabilidad de ser seleccionado proporcional al valor de su función objetivo. Seappr op

j ,t la probabilidad de que el individuo I jt sea seleccionado como padre, se tiene que:

ppr opj ,t = g (I j

t )λ∑

j=1g (I j

t )

El problema asociado a esta función es la rápida convergencia, y para solventar este problema se utilizala función de selección proporcional al rango del individuo, con lo que se realiza una partición más uniforme.Para esta función, los individuos se ordenan por la función objetivo, teniendo valor 1 el menos adaptado, yrango λ el más adaptado. Siendo pr ang o

j ,t la probabilidad de que el individuo I jt sea seleccionado como padre,

se tiene que:

pr ang oj ,t = r ang o(g (I j

t ))

λ(λ+1)/2

En 1981, Brindle [Brindle, 1981] introdujo el muestreo estocástico con reemplazamiento del resto dondecada individuo es seleccionado un número de veces que coincide con la parte entera del número esperadode ocurrencias de dicho suceso, compitiendo los individuos por los restos. Es decir, si n(I j

t ) es el número deveces que el individuo I j

t es seleccionado para el cruce, entonces:

n(I jt ) = n1(I j

t )+n2(I jt )

donde n1(I jt ) = [g (I j

t )/g t ], y n2(I jt ) se corresponde con la componente aleatoria que resulta de muestrear

sobre los λ−∑λj=1[g (I j

t )/g t ] restantes individuos, siendo el muestreo proporcional a la función objetivo decada individuo.

La multitud de métodos existentes, ha dado lugar a clasificaciones de éstos. Se pueden dividir entremétodos de selección dinámicos, donde la probabilidad de selección varía de generación a generación yestáticos, conde las probabilidades permanecen constantes. También se dividen en preservativos, cuandotodos los individuos tienen una probabilidad mayor que 0 de ser seleccionados, o extintivos en caso contrario.Incluso, existe la selección elitista donde se fuerza a que el mejor individuo de la población en el tiempo t ,sea seleccionado como padre.

Operador de cruce

El operador de cruce consiste en crear nuevos individuos por recombinación genética de los genomasde los progenitores. Normalmente son utilizados dos progenitores, pero en ciertos operadores, el número a

61

Page 80: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

utilizar suele ser mayor. En el caso de que el operador de cruce no se utilice, los nuevos individuos son creadospor imitación de los padres.

La función de reproducción global, fpr od , produce una población de descendientes z ∈ Pλ a partir deindividuos seleccionados y ∈ Pλ por medio de un operador de cruce:

fpr od : (β, y) → z,

donde β es un vector de dimensión λ/2 de valores escogidos al azar entre los enteros {1, . . . , l −1}.

De entre las múltiples variantes de operadores de cruce, destaca el cruce basado en un punto, en el quea partir de los dos individuos seleccionados, se recombinan por medio de la selección de un punto de corte,intercambiándose las secciones que se encuentran a la derecha de dicho punto.

La función de reproducción se dice que está basada en un punto si los padres I i = (s1, . . . , sl ) y I j =(b1, . . . ,bl ) producen hijos C H i , j ;1 = (c1, . . . ,cl ) y C H i , j ;2 = (d1, . . . ,dl ) verificándose:

c j ={

s j if j ≤ mb j otherwise

d j ={

b j if j ≤ ms j otherwise

donde m es un número entero escogido al azar según una distribución uniforme discreta definida sobreel conjunto {1, . . . , l −1}.

Se ha investigado el comportamiento del cruce basado en varios puntos, concluyendo en [De Jong, 1975]que el usar dos puntos mejora, pero que al añadir más puntos no se obtienen beneficios significativos.

En [Syswerda, 1991] se propone el operador de cruce uniforme, donde cada gen del nuevo individuo escreado por el correspondiente gen del progenitor de acuerdo a una máscara. Así, la máscara indicará de quéprogenitor se toma ese gen. Otra variante en el uso de máscaras es la propuesta en [Larrañaga et al., 1994],en el operador de cruce basado en la función objetivo. En este operador, la máscara de cruce se basa en laadaptación de los progenitores, de forma que a mayor adaptación, más genes transmitirá a los descendientes.La muestra aleatoria de tamaño l proviene de una distribución de Bernouilli de parámetro

p = g (I jt )/(g (I j

t )+ g (I it ))

donde I jt y I i

t son los padres.

Existen otros operadores de cruce específicos para un determinado problema, como ocurre con los proble-mas en que la codificación es una permutación, como en el TSP. En [Larranaga et al., 1999] se encuentranrecogidos gran cantidad de dichos operadores. Como ejemplo, el operador de cruce basado en la correspon-dencia parcial (Partially mapped crossover - PMX) introducido en [Goldberg and Lingle, 1985] que consisteen que una parte del cromosoma se mantiene en el descendiente, siendo la otra la del otro padre con in-tercambio de información resultante para evitar duplicados. El operador de cruce basado en ciclos (cyclecrossover operator - CX) propuesto por [Oliver et al., 1987] crea un descendiente a partir de los padres, detal forma que cada posición sea ocupada por el correspondiente elemento de uno de los padres. Con la mismaidea de mantener el orden de los elementos de los progenitores, en [Davis, 1985] y en [Syswerda, 1991] secrean los operadores de cruce basados en el orden.

Operador de mutación

El operador de mutación se aplica a cada hijo de forma aislada, y consiste en la alteración aleatoria decada gen del cromosoma.

62

Page 81: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

La función de mutación individual fi nd−mut , aplicada a I = (s1, . . . , sl ), genera otro individuo M I =(sm1, . . . , sml ), es decir fi nd−mut (I ) = M I , tal que ∀ j ∈ {1, . . . , l },P (sm j = s j ) = 1 − pm , donde pm es laprobabilidad de mutación.

La mutación es considerada un operador básico que permite ampliar el espacio de búsqueda, frentea la convergencia mostrada por el cruzamiento. Así, la mutación va ganando en importancia a medidaque la población de individuos va convergiendo. Incluso, en [Schaffer et al., 1989] utilizan una evoluciónprimitiva donde solo se usaba selección y mutación. La probabilidad de mutación ha sido objeto de diversosestudios. En [De Jong, 1975] se recomienda la utilización de una probabilidad del bit de l−1, mientras queen [Schaffer et al., 1989] lo estiman en 1

λ0,9318l 0,4535 . Aunque la probabilidad de mutación suele mantenerseconstante en la evolución, en base a la importancia creciente que adquiere este operador, algunos sugierenvariarla a la alza a medida que también crece el número de iteraciones.

De forma similar a como ocurre con los operadores de cruce, para los problemas de permutación tambiénexisten operadores de mutación diseñados específicamente. Un ejemplo es el operador de mutación basado enel desplazamiento (Displacement mutation - DM) [Michalewicz and Janikow, 1991], donde una subcadenade genes seleccionados al azar son extraídos del cromosoma, y colocados en una posición aleatoria del mismo.Otro operador es la mutación basada en cambios (Exchange mutation - EM) [Banzhaf, 1990], que seleccionaal azar dos genes e intercambia sus valores.

Una diferencia entre los operadores de cruce y los de mutación para los problemas de permutación esque los operadores de mutación aplicados para la permutación de elementos pueden utilizarse también paraotros tipos de problemas. Sin embargo, el operador típico de mutación no puede ser aplicado -al menos sinalgoritmo reparador- para los problemas de permutaciones.

Reemplazo de la población o extensión y reducción de la población

Una vez obtenidos los individuos descendientes de una determinada población en el tiempo t , el procesode reducción al tamaño original, consiste en escoger λ individuos de entre los λ individuos que forma partede la población en el tiempo t , y los λ individuos descendientes de los mismos. Este proceso viene marcadopor las funciones de extensión y de reducción.

La función de extensión, fext , crea a partir de dos poblaciones x, z ∈ Pλ, una población n ∈ P2λ:

fext : (x, z) → n

Denotando por Ni con i = 1, . . . ,2λ el i-ésimo individuo en n, por Xk , con k = 1, . . . ,λ el k-ésimo individuoen x, y por Z j con j = 1, . . . ,λ el j-ésimo individuo en z, se tendrá:

Ni ={

Xi if i ≤λZi−λ otherwise

La función de reducción global, fr ed , convierte una población n ∈ P2λ en una población r ∈ Pλ:

fr ed : n → r

Nótese que r denota la población de individuos en el tiempo t +1.

Definición 5.1.3. La función de reducción es elitista de grado λ si la población en el tiempo t + 1 estáconstituida por los mejores λ individuos que constituyen la población en el tiempo t y los descendientesderivados de ellos

63

Page 82: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Definición 5.1.4. La función de reducción se denomina simple si la población en el tiempo t+1 está formadapor los descendientes derivados de la población en el tiempo t .

El reemplazo de la población, como se ha mostrado puede ser parcial o completo, dando lugar a quepadres coexistan con sus hijos o no, respectivamente. De forma general, en el caso de coexistir, la probabilidadde que un cromosoma existente en t , siga vivo en tiempo t +1 depende de su adaptación, y por tanto, devalores altos de la función objetivo. De igual forma, de los hijos se suelen seleccionar los mejores adaptados.Una variante sobre esto, y con el fin de reducir el tiempo de cómputo, es que los i mejores individuos en eltiempo t sobrevivan, y la población del tiempo t +1 sea completada con λ− i cromosomas nuevos que secrearán a partir de la población del tiempo t .

Parada

El algoritmo evolutivo es un algoritmo de aplicación continua, donde con la evolución la población, vaconteniendo mejores individuos que se aproximan un óptimo del problema. Este óptimo puede ser el globalo uno local. El algoritmo por tanto, intuitivamente parará cuando se obtenga la convergencia previamentemencionada. Sin embargo, en ciertas evoluciones, la convergencia es lenta, y la mejora mostrada frente alcoste de la evolución es mínima. En este caso, el algoritmo puede ser finalizado antes de una convergenciaen el óptimo.

Paralelismo de los Algoritmos Genéticos

Una ventaja aportada por este tipo de algoritmos es el paralelismo inherente de los mismos. Así, losalgoritmos genéticos pueden ejecutarse de forma paralela en múltiples procesadores, mejorando su eficienciay capacidad de búsqueda. En [Stender, 1993] se profundiza sobre este tema. Existen varias formas de im-plementar este paralelismo. Se puede realizar la paralelización desde una donde cada procesador se encargade aplicar la misma función a la población, siendo cada procesador diferente el encargado de cada función;hasta una paralelización de la población, donde se crean subpoblaciones que son distribuidas en los distintosprocesadores.

Los modelos de islas es un ejemplo de este último tipo de paralelización, donde la población es dividaen islas, que son asignadas a procesadores. Cada cierto número de generaciones, se efectúa un intercambioentre las subpoblaciones, conocido como emigración. Dentro del modelo de islas, se pueden distinguir variostipos, en función de cómo se realice la comunicación entre subpoblaciones. Con la comunicación en estrella,una subpoblación es seleccionada como maestra, y recibe los h1 ≥ 1 mejores individuos de cada una de lasotras subpoblaciones. Además, manda a las subpoblaciones los h2 ≥ 1 mejores individuos de la subpoblaciónmaestra. La comunicación en red, es una comunicación de difusión, donde todas las subpoblaciones secomunican con todas las demás, transfiriéndose entre ellas los mejores individuos. La comunicación en anillose basa en una comunicación cíclica, donde cada isla comunica solo con una vecina, formando entre todaslas islas un ciclo.

5.2. Aplicación de algoritmos genéticos para la distribución demembranas

El problema de la distribución de membranas en procesadores para obtener tiempos mínimos en la evolu-ción del P sistema es una tarea basada en los estudios del comportamiento de las arquitecturas mencionadas.A nivel teórico, para estas arquitecturas se ha conseguido obtener el mejor tiempo, y catalogar cómo debe

64

Page 83: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

realizarse la distribución. Así, para las arquitecturas HMS y MS con cualquier partición de las m membranasen Popt grupos de kopt membranas, se obtendría el resultado óptimo; donde Popt y kopt son los valores delnúmero de procesadores esclavos y el número de membranas por procesador recogidos de las fórmulas de laarquitectura, respectivamente. Estos tiempos además, pueden ser mejorados en ciertos casos, dependiendode la topología del P sistema, puesto que el cálculo de Popt y kopt se realiza con redondeo a la alza anúmeros enteros.

En el caso de las arquitecturas jerárquicas (Peer-to-Peer e Hierarchical Peer-to-Peer) la distribución demembranas, debe además cumplir que la distribución mantenga la topología arbórea. El objetivo es conseguirlo indicado previamente en la fórmula 5.1. Para la búsqueda de la mejor distribución que cumpla con lasrestricciones impuestas, se propone utilizar algoritmos genéticos como técnica, por las ventajas mostradasanteriormente.

Algoritmo genético que preserva la topología arbórea

Del Algoritmos Genético Abstracto es necesario definir los 10 valores de su tupla. En primer lugar, hayque definir cómo se crearán los cromosomas. Es decir, qué atributos definen una solución del problema dedistribución, y como se representa en una ristra. Intuitivamente, conociendo que existen Popt procesadoresy kopt membranas por procesador, se puede poner k genes para el procesador 1, seguidos de k genes para elprocesador 2 y así sucesivamente para todos los procesadores. Puesto que una membrana solo puede estaren un procesador, se tratará de una representación de permutación de elementos, donde cada gen tiene unvalor entre 1 y M (número de membranas del P sistema), y este valor aparecerá una y solo una vez enel cromosoma. El problema asociado a esta representación es que con los operadores clásicos de cruce ymutación, la restricción de que los procesadores formen un árbol apenas se cumplirá. Tras el uso de cualquieroperador, la probabilidad de que la solución siga siendo un árbol será muy baja. Y el uso de operadoresreparativos será demasiado costoso. Otra solución es buscar nuevos operadores.

Se propone una codificación del problema que facilite la creación de nuevos operadores de cruce ymutación. Cada membrana dará lugar a un gen, y el contenido del gen representará al procesador dondese ubicará la membrana. Se debe concebir la estructura del cromosoma no como una estructura lineal, sinocomo una estructura con forma de árbol, donde un grupo de genes conformarán un nodo del árbol, comoen el ejemplo de la figura 5.1. Para tratar esta estructura del cromosoma, se deben crear nuevos operadoresde mutación y cruce, además de algoritmos para crear soluciones iniciales válidas. También, y debido a lalimitación de que el número de clústeres está acotado, surgen algoritmos reparadores. Con esta forma decrear individuos, y con los operadores mencionados, se preservará la topología arbórea, para que cualquierindividuo sea válido, y no se produzca el descarte masivo antes mencionado.

Población inicial

Los algoritmos 15 y 16 son dos algoritmos que permiten crear cromosomas que preserven la topologíaarbórea de las membranas. Estos algoritmos utilizan dos funciones auxiliares: newCluster, y newRandom-Boolean. La primera de estas funciones crea un nuevo nodo del árbol que representa el cromosoma (o valornuevo posible para un gen). Es decir, dado C = {c0, · · · ,ci }, crea un c j , con j = i +1 y lo añade a C : C =C ∪c j .La función newRandomBoolean devuelve un valor booleano (cierto o falso) de forma aleatoria. Para ambosalgoritmos, el conjunto C contiene un elemento inicial c0 donde aún no se ha colocado ninguna membrana(llamadas v). Para el uso del algoritmo 15 se situará la membrana raíz en la raíz del cromosoma (c0 ← v0)y se llamará a dicho algoritmo con estos valores: distribute1 (c0, v0).

El algoritmo 15 presenta una restricción, y es que dos membranas, madre e hija, contenidas en el mismoprocesador no pueden tener al menos un descendiente cada una en otro clúster. Es decir, sea vi , v j ∈ cz , talque (vi , v j ) ∈ E , si vk ∈ cx ,Øvm ∈ cx /(vi , vk ), (v j , vm) ∈ E . Para evitar esta limitación, surge el algoritmo 16.

65

Page 84: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 15 Algoritmo 1 recursivo (llamado distribute1) para crear un individuo quepreserve la topología arbóreaRequire: cz , v1: ω← {vi |(v, vi ) ∈ E }2: for vi ∈ω do3: if nextRandomBoolean() = true then4: cz ← cz ∪ vi

5: ω←ω− vi

6: distribute1 (zz ,vi )7: end if8: end for9: while ω 6= ; do10: c j= newCluster()11: A ← A∪ (cz ,c j )12: c j ←ω0

13: ω←ω−ω0

14: for vi ∈ω do15: if nextRandomBoolean() = true then16: c j ← c j ∪ vi

17: ω←ω− vi

18: distribute1(c j ,vi )19: end if20: end for21: end while

Para el usar el algoritmo 16, es necesario asignar también la membrana raíz al procesador raíz (c0 ← v0)y asignar al conjunto ω con el que se hará la distribución, la misma membrana (ω← v0). Se utilizará dichoalgoritmo pasándole los dos conjuntos mencionados: distribute2 (c0, ω).

Operador de cruce

Para el operador de cruce o crossover, se propone el uso del operador de cruce basado en un puntoadaptado a árboles. Este operador sigue la filosofía del operador genérico análogo, con la peculiaridad deque en vez de partir un punto de una lista, se parte un punto de árbol, y la recombinación se realiza consubárboles. Esta variante también podría utilizarse para crear operadores de cruce basados en múltiplespuntos.

Este operador, a partir de dos cromosomas Ii = (s1, · · · , sl ) y I j = (b1, · · · ,bl ) y los valores k = max{sn}+1y k ′ = max{bn}+1, produce los hijos C H i , j ;1 = (c1, . . . ,cl ) y C H i , j ;2 = (d1, . . . ,dl ) verificándose:

c j ={

b j +k si i = r o descendiente de rs j en otro caso

d j ={

s j +k ′ si i = r o descendiente de rb j en otro caso

66

Page 85: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 16 Algoritmo 2 recursivo (llamado distribute2) para crear un individuo quepreserve la topología arbóreaRequire: cz ,ω1: ω′ =;2: while ω 6= ; do3: for {vi : (ω0, vi ) ∈ E } do4: if nextRandomBoolean() = true then5: cz ← cz ∪ vi

6: ω←ω∪ vi

7: else8: ω′ ←ω′∪ vi

9: end if10: ω←ω− vi

11: end for12: end while13: while ω′ 6= ; do14: c j= newCluster()15: A ← A∪ (cz ,c j )16: c j ←ω′

017: ω←ω′

018: ω′ ←ω′−ω′

019: for vi ∈ω′ do20: if nextRandomBoolean() = true then21: ω←ω∪ vi

22: ω′ ←ω′− vi

23: c j ← c j ∪ vi

24: end if25: end for26: distribute1(c j ,ω)27: end while

donde r es un número entero escogido al azar según una distribución uniforme discreta definida sobreel conjunto {1, . . . , l −1}.

Operador de mutación

El algoritmo de mutación propuesto modifica el valor de una membrana o gen, para situarlo en otroprocesador o clúster. Dada una distribución (cromosoma), no todas las membranas (genes) se pueden reubicaren otros procesadores sin perder la topología del sistema. Además, aunque una membrana se pueda reubicar,no puede ser reubicada en cualquier procesador, por el mismo motivo. Por ello, es necesario determinarprimero que membranas pueden reubicarse, y después, donde se pueden reubicar dichas membranas. Ambospasos podrían realizarse a la vez.

Partiendo de que la membrana vi se encuentra en ci , son necesarias las siguientes definiciones paradeterminar si la migración se podrá realizar.

67

Page 86: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Definición 5.2.1. Sea vi ∈ ci , definimos cvi

1→ ck = {ck |ck ⊆ C /(ci ,ck ) ∈ A ∧ (∃va ∈ ck /(vi , va) ∈ E)∧ (Øvb ∈ck /(vc , vb) ∈ E ∧ vc ∈ ci )}, al conjunto de elementos hijos de ci cuya conexión con éste sea solo por vi .

Definición 5.2.2. De igual forma, sea vi ∈ ci , definimos cvi

n→ ck = {ck |ck ⊆C /(ci ,ck ) ∈ A∧(∃va ∈ ck /(vi , va) ∈E)∧(∃vb ∈ ck /(vc , vb) ∈ E ∧vc ∈ ci )}, al conjunto de elementos hijos de ci cuya conexión con éste sea por máselementos que por vi .

La figura 5.2 muestra ejemplos de estas definiciones.

Figura 5.2: Ejemplo de cvi

1→ ck y cvi

n→ ck , donde cvi

1→ ck = {ca ,cb} y cvi

n→ ck = {cc ,cd ,ce }.

Para poder realizar la mutación, hay que analizar la existencia de membranas madres e hijas de vi en ci ,pudiéndose obtener los casos mostrados en la figura 5.3. Y clasificándolo por estos casos, las posibilidadesde mutación o migración son:

Si en el mismo clúster en que está la membrana, están la madre y al menos una hija, no se puedereubicar. Es decir, que si ∃vp ∈ ci /(vp , vi ) ∈ E ∧∃va ∈ ci /(vi , va) ∈ E no se puede mutar (Figura 5.3a).

Si la membrana madre está en ese clúster, pero no hay ninguna hija (∃vp ∈ ci /(vp , vi ) ∈ E)∧Øva ∈ci /(vi , va ∈ E) (Figura 5.3b), se podrá migrar a: (ejemplos en la figura 5.4)

• A un clúster nuevo, si se permite tener más clústeres y |cvi

n→ ck | = 0.

• a un clúster donde esté una de sus membranas hijas, si |cvi

n→ ck | ≤ 1. En el caso de que sea 1

podrá ir a cvi

n→ ck y en caso de que sea 0 a cualquiera de cvi

1→ ck .

• A un clúster hijo en el que no tenga ninguna membrana hija ({cl |(cl ∈C /(ci ,cl ) ∈ A)∩cvi

1→ ck }),si |cvi

n→ ck | = 0.

Si la membrana madre no está en el clúster, pero al menos hay una hija (Øvp ∈ ci /(vp , vi ) ∈ E ∧∃va ∈ci /(vi , va) ∈ E) (Figura 5.3c), se puede migrar a: (ejemplos en la figura 5.5)

• Al clúster padre (cp ∈ C /(cp ,ci ) ∈ A), si la membrana no es la raíz (∃vp ∈ V /(vp , vi ) ∈ E), yademás, |cvi

n→ ck | = 0.

68

Page 87: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

• A un clúster hijo, pero solo a alguno de cvi

1→ ck , si |cvi

n→ ck | = 0∧ (Øva ∈ ci /(vb , va) ∈ E ∧ vb ∈cp ).

• A un clúster nuevo si se permite tener más clústeres y si |cvi

n→ ck | = 0∧ (Øva ∈ ci /(vb , va) ∈E ∧ vb ∈ cp ).

• A un clúster hermano (ca ∈C /(cp ,ci ), (cp ,ca) ∈ A), si |cvi

n→ ck | = 0∧(Øva ∈ ci /(vb , va) ∈ E ∧vb ∈cp ).

Si no están ni la membrana madre, ni ninguna hija, (Øvp ∈ ci /(vp , vi ) ∈ E ∧Øva ∈ ci /(vi , va) ∈ E)(Figura 5.3d), se puede migrar a: (ejemplos en la figura 5.6)

• Al clúster padre (cp ∈C /(cp ,ci ) ∈ A), si existe, y |cvi

n→ ck | = 0.

• A un clúster hermano (ca ∈C /(cp ,ci ), (cp ,ca) ∈ A), si no es la raíz, y |cvi

n→ ck | = 0.

• A un clúster nuevo, si se pueden crear nuevos, en el clúster existen más membranas, y además,|cvi

n→ ck | = 0.

• A un clúster hijo, si no hay más membranas en el clúster, y se pueden eliminar clústeres. Siexistieran más membranas, solo podría ir a un clúster hijo si |cvi

n→ ck | = 0.

El operador de mutación propuesto, podría usarse de forma similar a como se usan el resto de operadorescon la misma función: para cada una de las membranas determinaría en base a la probabilidad de mutarsi ésta muta, y en caso afirmativo, buscaría un procesador al que se reubicaría. Como es posible que unamembrana no pueda reubicarse sin perder la topología arbórea, para evitar que el número de mutaciones seamenor que el porcentaje indicado por la tasa de mutación, se puede seleccionar primero las membranas quesí pueden mutar, y sobre ellas, aplicar la probabilidad de mutación para definitivamente mutar o no. Tambiénse puede utilizar este operador en base a una probabilidad sobre el cromosoma. Es decir, cada membrana,tendrá cierta probabilidad de mutar, y en caso de que mute, se aplicarán n mutaciones, siendo el valor de nnormalmente 1.

Operadores o algoritmos reparadores

Con los operadores de los algoritmos genéticos aplicados a los cromosomas, se pueden producir individuosque no sean válidos por alguna de las restricciones del problema. En el caso de los algoritmos que preservanla topología arbórea, se ha mostrado que utilizar operadores clásicos suelen generar en un porcentaje muyalto individuos que no son válidos, por no preservar la topología; y además, los algoritmos reparadoresserían complicados y costosos. Con el uso de los operadores descritos en esta sección, estas restriccionessiempre serán cumplidas, y por tanto, no hay que pensar en algoritmos reparadores. Sin embargo, en algunosproblemas, como los de optimización, pueden existir algunas otras restricciones a aplicar sobre los árbolesgenerados. Un ejemplo de restricciones es que el número de nodos del árbol (|c|), esté acotado al rango[ra ,rb], o existan limitaciones en la altura del árbol, o cualquier otra limitación que se pueda imaginar. Parael caso de la restricción en el número de nodos, se proponen los algoritmos 17 y 18. En el caso de que |C | > rb

se utilizará el algoritmo 17 tantas veces como sea necesario hasta cumplir la condición. De igual forma, seutilizará tantas veces como sea necesario el algoritmo 18 en el caso de que |C | < ra .

Resultados de los operadores

Se han probado los operadores anteriormente indicados, para mostrar que su aplicación en algoritmosgenéticos mejoran las soluciones encontradas. Se ha partido de poblaciones generadas con el algoritmo 15,para posteriormente aplicar los operadores de cruce y mutación. Se ha probado usando, y no usando, eloperador de cruce, y con diferentes probabilidades de realizar la mutación (en agrupaciones del 10%, desde

69

Page 88: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Padre e hija (b) Padre pero no hija

(c) Hija pero no padre (d) Ni hija ni padre

Figura 5.3: Diferentes posibilidades de existencia de membranas madres e hijas de vi en elmismo clúster.

Algoritmo 17 Operador reparador cuando el número de nodos del árbol es mayor que elpermitido para individuos válidos1: n ← ci , |v j ∈ ci | ≥ |vk ∈ cl |∀cl ∈C2: cc ← una componente conexa de n3: if |vk | = |v j |, vk ∈ cc ∧ v j ∈ n then4: c|C |+1 ← vk ∈ cc, (v j , vk ) ∈ E ∧ v j ∉ n5: n ← n − vk ∈ cc, (v j , vk ) ∈ E ∧ v j ∉ n6: else7: c|C |+1 ← vk ∈ cc8: end if

70

Page 89: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Ejemplo 1 (b) Ejemplo 1 migrado a un clústernuevo

(c) Ejemplo 1 migrado al hijo cb (d) Ejemplo 1 migrado al hijo cc (e) Ejemplo 1 migrado al hijo ca

(f) Ejemplo 2 (g) Ejemplo 2 migrado al hijo cb (h) Ejemplo 3 (no se puede migrar)

Figura 5.4: Ejemplos de distribuciones en las que en ci está vi y su madre (vp), pero no sushijas, y las migraciones que se pueden realizar.

71

Page 90: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Ejemplo 1 (b) Ejemplo 1 migradoal padre cp

(c) Ejemplo 2 (vi es laraíz)

(d) Ejemplo 2 migradoa un clúster nuevo cn

(e) Ejemplo 2 migradoal hijo ca

(f) Ejemplo 3. No sepuede migrar porque|cvi

n→ ck | > 0

(g) Ejemplo 4

(h) Ejemplo 4 migradoal padre cp

(i) Ejemplo 4 migrado aun clúster nuevo cn

(j) Ejemplo 4 migrado aun hijo cb

(k) Ejemplo 4 migradoa un clúster hermano ca

Figura 5.5: Ejemplos de distribuciones en las que en ci está vi y alguna de sus hijas (vc),pero no su madre (vp), y las migraciones que se pueden realizar.

72

Page 91: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Ejemplo 1. No se puedemigrar porque |cvi

n→ ck | > 0

(b) Ejemplo 2 (vi es la raíz) (c) Ejemplo 2 migrado al hi-jo ca

(d) Ejemplo 2 migrado al hi-jo cb

(e) Ejemplo 3 (f) Ejemplo 3 migrado al pa-dre cp

(g) Ejemplo 3 migrado alhermano cb

(h) Ejemplo 3 migrado al hi-jo ca

(i) Ejemplo 3 migrado a unclúster nuevo cn

Figura 5.6: Ejemplos de distribuciones en las que en ci está vi , pero ninguna de sus hijas nisu madre (vp), y las migraciones que se pueden realizar.

73

Page 92: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 18 Operador reparador cuando el número de nodos del árbol es menor que elpermitido para individuos válidos1: Selecciona ci y c j , |vk ∈ ci |+ |vl ∈ c j | ≥ |vm ∈ cn |+ |vo ∈ cp |∀cn ,cp ∈C2: ci = ci ∪ c j

3: Eliminar c j

0% hasta 90%). Así, se han probado 20 combinaciones posibles. Para cada una de estas pruebas, se hanutilizado un conjunto de 100 P sistemas de 100 membranas cada uno. Es decir, sobre cada uno de los 100P sistemas de prueba, se han realizado 20 pruebas variando el porcentaje de mutación y el uso o no deloperador de cruce. En todos los casos, se ha impuesto la restricción de que el número de clústeres (C) aformar es 5, debido a que Tapl = 0,15 y Tcom = 0,3, y la función de fitness u objetivo es la de la fórmula 4.1.El tamaño de la población, para cada caso ha sido de λ= 2M , donde M es el número de membranas del Psistema. El número de evoluciones en el algoritmo genético ha sido log1,01 M , y en cada nueva población se haconservado el 10% de los padres mejor adaptados. Para cada uno de los porcentajes de mutación y el uso ono del operador de cruzamiento, se obtienen 100 resultados (uno por cada P sistema). Con estos resultados,se obtiene la mejor y la peor solución, y la media. Además, como sobre cada P sistema se obtiene unapoblación inicial, se pueden comparar estos resultados. Se seleccionará el mejor individuo de cada población,y se obtendrá el mejor y el peor de entre los 100 P sistemas que forman el banco de prueba. La diferenciaentre los individuos después de la aplicación del algoritmo genético con los obtenidos de la población inicial,muestra la mejoría que aporta el uso de los algoritmos genéticos con los operadores descritos bajo estascondiciones. La figura 5.7a muestra estos valores en el caso de que se use el operador de cruce, y la figura5.7b en el caso de que no. De los resultados que se obtienen, se observa como los algoritmos genéticos conlos operadores descritos consiguen en algunos casos la solución óptima. También se observa que a medidaque se aumenta la probabilidad de mutación, la probabilidad de conseguir la solución óptima aumenta; y parael resto de casos, la solución tiende a mejorar; aunque sigue habiendo algún caso donde no se encuentranmejores soluciones. Esto pone de manifiesto que la topología del P sistema influye en la distribución que sepuede realizar, y que el tiempo teórico óptimo no siempre puede ser alcanzado, porque no exista ningunadistribución que manteniendo la topología arbórea del P sistema use los valores Popt y kopt . También seobserva la baja repercusión del operador de cruce respecto al operador de mutación, aunque como se observaentre ambas gráficas, cuando la mutación no existe, y solo existe el operador de cruce, la evolución aportadapor el algoritmo genético mejora las soluciones.

Además de estas pruebas, se ha repetido el proceso, bajo las mismas condiciones, pero para un conjuntode 100 P sistemas ahora de 1000 membranas cada uno. Los resultados aparecen en la figura 5.8. En estecaso se observa grandes diferencias entre usar o no el operador de cruzamiento, mostrando la importancia delmismo. También se observa como la mutación es importante, ya que con cualquier probabilidad de mutaciónse obtienen mejores resultados que si no se usara dicho operador. Pero a partir de una probabilidad de 0,1, seobtienen soluciones mejores, por lo que la ganancia de muchas mutaciones es relativa. Se observa tambiéncomo entre la mejor y la peor solución encontrada la diferencia es mínima, mostrando una línea convergentede la técnica. Destaca que en este caso la solución óptima, es más difícil de alcanzar, y solo unas pocasdistribuciones la alcanzan. Pero las soluciones muestran que el tiempo invertido será entre el 0% y el 5% másdel tiempo óptimo, en contraposición al 35% que se alcanza con distribuciones aleatorias. Es mencionablecomo aunque no se utilice el operador de cruce, se puede alcanzar la distribución óptima, mientras que solocon el operador de cruce no se alcanzaría dicha solución, lo que hace concluir que ambos operadores sonimportantes y complementarios.

74

Page 93: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Usando el operador de cruce

(b) Sin usar el operador de cruce

Figura 5.7: Tiempos mejor, peor y media para la población inicial y final (después del algorit-mo genético) para distintos porcentajes de mutación, sobre una población de 100 P sistemasde 100 membranas cada uno.

Aplicación en la distribución de membranas

Los algoritmos genéticos se muestran como una técnica útil y eficiente para la distribución de membranasen procesadores siguiendo cualquiera de las 4 arquitecturas existentes. Hasta el momento, la distribuciónse basaba en una asignación aleatoria de membranas en procesadores tratando de cumplir las limitacionesimpuestas por las arquitecturas. Se pretende mostrar como los algoritmos genéticos son una técnica queconsigue mejorar los tiempos de evolución del sistema, en base a mejores distribuciones que las aleatorias. Eltrabajo no contempla la búsqueda de los mejores parámetros para el algoritmo genético, sino que simplemente,pretende mostrar cómo los algoritmos genéticos son una técnica válida para este cometido. Además, muestracomo los nuevos operadores adaptados a las limitaciones de la topología arbórea mejoran el rendimiento delalgoritmo genético frente al uso de técnicas tradicionales que no consiguen mejorar los tiempos de evoluciónrespecto a las distribuciones aleatorias.

Se probará el uso de los algoritmos genéticos para un conjunto de 1000 P sistemas de 100 membranascada uno, y para 122 P sistemas de 1000 membranas cada uno. Para cada uno de los P sistemas se realizará laprueba para las 4 arquitecturas existentes. Por tanto, es necesario definir la 10-tupla que define un algoritmo

75

Page 94: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Usando el operador de cruce

(b) Sin usar el operador de cruce

Figura 5.8: Tiempos mejor, peor y media para la población inicial y final (después del algorit-mo genético) para distintos porcentajes de mutación, sobre una población de 100 P sistemasde 1000 membranas cada uno.

genético 4 veces (una para cada arquitectura). Si bien, hay partes que compartirán en común. Los 4 algoritmosgenéticos a definir, por sus similitudes, se pueden agrupar en 2: los de topología arbórea o P2P y los llamadosMS. En el primer grupo estarán los definidos para la arquitectura P2P y HP2P, y en el segundo grupo losde las arquitecturas MS y HMS. En ambos casos, la única diferencia entre los 2 algoritmos será la funciónobjetivo.

Los 4 algoritmos genéticos utilizados tendrán en común el tamaño de la población, siendo λ= 2M , dondeM es el número de membranas del P sistema. La función de selección será proporcional a la función objetivo.Habrá cruzamiento y mutación, pero con funciones distintas. Para la creación de una nueva población, el10% de la población serán los padres mejor adaptados, y el resto serán nuevos hijos creados. Solo se crearánun 90% de la población de hijos, es decir, 1,8M . Los algoritmos pararán en la población log1,01 M . Para lassimulaciones se utilizarán Tapl = 0,2 y Tcom = 0,3, si bien estos valores dependen del equipo físico donde serealice la evolución del P sistema.

Para las arquitecturas que preservan el árbol de membranas marcado en el P sistema, cada cromosomaserá un árbol, donde cada nodo contiene membranas. De forma sencilla, el genotipo se representa comouna cadena de números, donde cada número o posición representa una membrana (l = m), y el valor es

76

Page 95: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

el procesador o clúster al que será asignado. Por supuesto, el fenotipo (árbol) y el genotipo (cadena denúmeros) son similares. La población inicial será creada con el algoritmo 16. El cruce y la mutación seránel operador de cruce basado en un punto adaptado a árboles y la mutación adaptada a árboles descritosanteriormente, respectivamente. Para la mutación, se realizarán 3 mutaciones por cromosoma creado, conuna probabilidad de realizar cada una de las 3 mutaciones del 50%. Para la mutación, se seleccionará al azaruna de las membranas que pueden mutar, y se realizará la mutación o reasignación de membrana al azar, auno de los posibles procesadores destino. Aunque se podría realizar un reajuste del número de procesadorespara que siempre hubiera Popt procesadores, las pruebas previas han demostrado que dependiendo de latopología del P sistema se pueden conseguir resultados mejores eliminando dicha restricción. La diferenciaentre los algoritmos genéticos creados para las arquitecturas P2P y HP2P viene determinada por la funciónobjetivo. En el caso de P2P, viene determinado por la fórmula 4.1, y para HP2P por la fórmula 4.5.

Para las arquitecturas MS, al no preservar la topología arbórea, se han utilizado funciones clásicasdescritas para la determinación del algoritmo genético. Cada cromosoma será una cadena de m números,donde cada posición i se corresponde a la membrana i-ésima, y el valor es el procesador a la que dichamembrana será asignada. La población inicial será creada al azar, situando cada membrana por orden enuno de los procesadores existentes, o en otro nuevo. El cruce será basado en un punto, y la mutación serealizará 3 veces sobre cada cromosoma. Cada una de estas mutaciones tendrá una probabilidad del 50%de realizarse. En caso de realizarse, una membrana cambiará de procesador o irá a un procesador nuevo. Deigual forma que para las otras arquitecturas, no se restringirá el número de procesadores. La función objetivoo de adaptabilidad está estipulada por las fórmulas 4.6 y 4.7 para la arquitectura MS y por la fórmula 4.15para la arquitectura HMS.

Con estas condiciones, se ha probado la idoneidad de los algoritmos genéticos en un conjunto de 1000P Sistemas de 100 membranas cada uno, y en 122 casos documentados de 1000 membranas. Los resultadosobtenidos se encuentran en la figura 5.9.

Debido a la dificultad que presenta la gráfica agregada de tantos valores, se ha optado por particionarlay mostrar los datos por separado. La figura 5.10 muestra los datos para la arquitectura P2P y HP2P enlos 1000 P sistemas de 100 que se han estudiado. Los resultados para la arquitectura P2P muestran comolas distribuciones aleatorias consiguen tiempos similares a los mejores teóricos, pero si se usan algoritmosgenéticos para la distribución, las distribuciones que estos obtienen consiguen mejorar los tiempos teóricos.Esto se debe a que en las fórmulas teóricas se aplica el redondeo a la alza para los valores del númerode procesadores y del número de membranas por procesador, puesto que deben ser números enteros. Alno aplicar esta restricción al algoritmo genético, es posible una pequeña mejora. Pero esta depende de latopología del P sistema, y se da para estos valores del número de membranas, y los tiempos de aplicacióny comunicación. Con otros valores, esta mejora del tiempo óptimo teórico no se produciría, si bien, eltiempo óptimo sería alcanzado. La mejora de los algoritmos genéticos es mínima, y se sitúa en un 5% demedia, lo cual es significativo, cuando de media, las soluciones iniciales están solo un 2% por encima de lasolución teórica. Para la arquitectura HP2P se obtienen unos resultados diferentes. En primer lugar, tantolas distribuciones aleatorias, como las distribuciones después de aplicar algoritmos genéticos están alejadasde la solución óptima teórica. Las distribuciones aleatorias tardarían entre un 32% y un 91% más tiempo delóptimo teórico, mientras que las distribuciones que proponen los algoritmos genéticos solo sería un 24% demedia peor que el teórico. Es decir, el uso de algoritmos genéticos consigue soluciones un 28% mejores quelas aleatorias, pudiendo llegar hasta el 55%. Los motivos principales se deben a la dificultad de encontrardistribuciones que cumplan el grado de paralelismo que requiere dicha arquitectura, y cuya distribución tieneun alto acoplamiento con la topología del P sistema, lo que dificulta este paralelismo. Aún así, los tiemposobtenidos por esta arquitectura, tanto a nivel teórico como en distribuciones aleatorias y distribucionesgeneradas con algoritmos genéticos, son menores. En el caso de los tiempos teóricos, la arquitectura HP2Pes un 57% más eficiente, aunque la distribución aleatoria solo presenta una mejoría del 32%, mientras quelos algoritmos genéticos muestran la mejoría de esta arquitectura en el 44%.

En el caso de las arquitecturas MS y HMS, como se observa en la figura 5.11, es sencillo obtenerdistribuciones que inviertan el mismo tiempo que los estudios teóricos (5,6). Para la arquitectura MS, lasdistribuciones aleatorias, en la mayoría de los casos obtienen los tiempos óptimos teóricos, mientras que el

77

Page 96: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) P sistemas de 100 membranas

(b) P sistemas de 1000 membranas

Figura 5.9: Tiempos con una distribución aleatoria y después de evolucionar con los algoritmosgenéticos para las diferentes arquitecturas, y comparativa con la mejor solución teórica.

uso de algoritmos genéticos permite obtener mejores distribuciones que las indicadas teóricamente, por losmotivos mencionados para la arquitectura P2P. La mejora por el paralelismo de la arquitectura HMS permiteque el tiempo óptimo teórico se reduzca a 5,3, el cual es alcanzado con el uso de algoritmos genéticos. Sinembargo, las distribuciones aleatorias no alcanzan estos resultados, pero solo difieren entre un 4% y un 7%.Aunque los estudios teóricos muestran que es posible alcanzar el mejor tiempo tanto en las arquitecturasHP2P y HMS, datado en 5,3, en la práctica, solo con para la arquitectura HMS, y con el uso de algoritmosgenéticos se consiguen distribuciones que evolucionen en ese tiempo. Es más, la arquitectura MS en lapráctica obtiene tiempos de evolución mejores que los que se obtienen para la arquitectura HP2P. Tantopara las distribuciones aleatorias como para las que obtienen los algoritmos genéticos, los tiempos obtenidosson peores para la arquitectura P2P, seguidos de la HP2P, y la MS. La HMS presenta los mejores tiempos,además de poder obtenerse distribuciones que alcancen los tiempos teóricos usando algoritmos genéticos.

En el caso de P sistemas de 1000 membranas, los resultados obtenidos son significativamente distintos.La figura 5.12 muestra los resultados para las arquitecturas P2P y HP2P. En ambos casos, tanto los tiemposde las distribuciones aleatorias como las que proponen los algoritmos genéticos son superiores a los óptimosteóricos. En la arquitectura P2P, las distribuciones aleatorias tardan en ejecutarse más del doble de lo que

78

Page 97: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 5.10: Tiempos con una distribución aleatoria y después de evolucionar con los algo-ritmos genéticos para las arquitecturas P2P y HP2P, en los P sistemas de 100 membranas,y la comparativa con la mejor solución teórica.

(a) Arquitectura MS

(b) Arquitectura HMS

Figura 5.11: Tiempos con una distribución aleatoria y después de evolucionar con los algo-ritmos genéticos para las arquitecturas MS y HMS, en los P sistemas de 100 membranas, yla comparativa con la mejor solución teórica.

79

Page 98: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

tardaría la solución óptima teórica, mientras que las distribuciones que obtienen los algoritmos genéticossolo son un 82% peores; lo cuál sige siendo un porcentaje muy alto, aunque muestra que los algoritmosgenéticos mejoran las distribuciones. Con una selección de mejores parámetros de definición del algoritmogenético, esta mejora podría aumentar, aunque es difícil alcanzar los tiempos óptimos teóricos. Entre otrascosas, porque solo se pueden conseguir sobre P sistemas muy balanceados. En el caso de la arquitecturaHP2P se pone de manifiesto aún más este efecto de la topología del P sistema. Aunque como se muestraa nivel teórico los resultados deberían ser mucho mejores que para la arquitectura P2P, la diferencia entrelos resultados teóricos y los prácticos difieren más. En este caso, las distribuciones aleatorias necesitan casiun 300% del tiempo teórico. La mejora de los algoritmos genéticos solo consigue rebajar el tiempo a lanecesidad del doble del teórico. En otros términos, los algoritmos genéticos mejoran un 42% los tiempos delas distribuciones aleatorias.

Figura 5.12: Tiempos con una distribución aleatoria y después de evolucionar con los algo-ritmos genéticos para las arquitecturas P2P y HP2P, en los P sistemas de 1000 membranas,y la comparativa con la mejor solución teórica.

En el caso de las arquitecturas MS y HMS, como se muestra en la figura 5.13, la diferencia entre lostiempos teóricos y los que se obtienen en distribuciones aleatorias o mediante algoritmos genéticos es mínima.En la arquitectura MS, las distribuciones aleatorias son entre un 5% y un 8% peores que las teóricas, mientrasque las que proponen los algoritmos genéticos son las óptimas o como mucho un insignificante 1% peores.En el caso de la arquitectura HMS, los tiempos teóricos son casi la mitad que en la arquitectura MS, peroen la práctica no se obtienen distribuciones que obtengan estos tiempos. Si bien, la diferencia es mínima.En las distribuciones aleatorias solo es del 12% de media, mientras que las distribuciones que obtienen losalgoritmos genéticos son siempre un 5% peor que los resultados teóricos.

En la comparativa entre las 4 arquitecturas, como se observa en la figura 5.9b, el orden de arquitecturaspor tiempos, tanto a nivel teórico como práctico, se mantiene. Es muy reseñable el caso de que utilizandoalgoritmos genéticos, las arquitecturas HP2P y MS tienen un comportamiento similar. También se muestra laimportancia de elegir la arquitectura correcta, puesto que las distribuciones que se obtienen con los algoritmosgenéticos para la arquitectura P2P son más de 8 veces superiores a las obtenidas para la arquitectura HMS.

80

Page 99: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 5.13: Tiempos con una distribución aleatoria y después de evolucionar con los algo-ritmos genéticos para las arquitecturas MS y HMS, en los P sistemas de 1000 membranas,y la comparativa con la mejor solución teórica.

81

Page 100: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

6Distribución basada en parámetros

locales

En el capítulo anterior, se ha mostrado como los algoritmos genéticos son una técnica válida para laresolución del problema de ubicación de membranas en los distintos procesadores del clúster donde evolu-cionará el P sistema. Para hacer esta distribución, se parte de los estudios de diversos investigadores quehan adaptado arquitecturas de comunicaciones para el caso concreto de los P sistemas, y han estudiado elcomportamiento de las mismas. Estos estudios, consideran que todas las membranas tardarán en evolucionarel mismo tiempo, y que la comunicación entre procesadores no depende de ningún otro factor, siendo siempreconstante. Cuando mencionan que los tiempos son fijos, no mencionan que tiempo han usado. Se puede utili-zar el tiempo medio que tardará cada membrana en evolucionar, el tiempo que tarda la membrana más lenta,o cualquier otra cota superior. Se debe tener presente que las arquitecturas con comunicaciones paralelasno pueden utilizar un tiempo que no sea el máximo (es decir, no pueden usar tiempos medios), puesto quecada procesador no monitoriza el resto de la red, y se podrían producir las colisiones que pretenden eliminarestas arquitecturas. A lo largo de las siguientes páginas se mostrará cómo con un mayor conocimiento delcomportamiento de las membranas y de las comunicaciones que existen entre ellas, es posible reducir laestimación del tiempo total de evolución del P sistema, y por tanto, buscar distribuciones de membranasmejores.

Los estudios de Frutos [Frutos et al., 2009] y Gil [Gil et al., 2009] han sido capaces de desmenuzar lasetapas de selección de reglas y aplicación de las mismas. Frutos contempla que un análisis estático delas reglas de la membrana (y de las membranas consanguíneas) genera un árbol que permite para cadaconfiguración conocer las reglas a aplicar. Este árbol, según el planteamiento de Frutos, es binario (aunquepodría extenderse a otro tipo de árboles), cuya altura máxima estará marcado por el número de atributosutilizados para su creación (Ai ). Cada uno de los nodos internos o nodos de test (incluida la raíz) conllevala evaluación de algunos de los parámetros conocidos por la membrana y por tanto, el tiempo para evaluarcualquier nodo será constante. Además, como la ejecución de esta comprobación se realiza sobre el mismoprocesador, el tiempo siempre será el mismo, independientemente de la membrana que lo realice.

Definición 6.0.3. Denotamos por tsn al tiempo necesario para evaluar cualquier nodo interno del árbol dedecisión de selección de reglas de cualquier membrana.

82

Page 101: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

En base a esta definición, podemos calcular el tiempo máximo para seleccionar las reglas activas decada membrana, y que en términos generales, estará acotado para la membrana i por tsn |Ai |, siendo Ai elconjunto de atributos necesarios para definir el estado de la membrana i .

La cota inferior estará marcada por el número de nodos internos del camino mínimo entre la raíz ycualquiera de las hojas. En general, cada hoja indica una posibilidad de reglas activas, y el tiempo necesariopara que la evaluación concluya en esta alternativa estará marcado por el número de nodos internos delárbol del camino entre la raíz y la hoja. Además, tratándose de un árbol binario, si se sigue una distribuciónuniforme de la probabilidad de que se seleccione cada una de las alternativas, cada uno de los descendientes deun nodo interno tendrá una probabilidad del 50%. Así, para cada hoja (o posible conjunto de reglas activas),la probabilidad de ser elegida será de 0,5n j y el tiempo necesario para llegar a esa conclusión (evaluaciónde los nodos internos) será de tsn n j , donde n j representa el número de nodos internos del camino de laraíz a la hoja j . Así, el tiempo máximo para la membrana i , con c j conjuntos de reglas activas según elárbol de decisión, estará acotado por el max{tsn n j | j ∈ c j }. De igual forma, el término medio necesario parala selección de reglas será:

∑c j

j=1 0,5n j tsn n j . Por ejemplo, en el árbol de decisión de la figura 4.1, el tiempomáximo para determinar las reglas activas será 5tsn , el mínimo sería 2tsn y el tiempo medio será 3,3125tsn .

En base al conjunto de reglas activas, Gil ha conseguido un algoritmo no determinista que aplica lasreglas en la membrana. Además, con el uso de este algoritmo, el número de operaciones -y por tanto eltiempo necesario- está acotado por 3(2|R|−1)Supp(ω), donde Supp(ω) es el número de símbolos contenidosen la membrana y R es el número de reglas activas. En concreto, para cada una de las reglas activas (R), serealizarán como mucho 6Supp(ωk ), donde ωk es el conjunto de símbolos indicados en el antecedente de laregla rk ∈ R. El tiempo de aplicación del conjunto de reglas activas R es

∑Rk=1 6Supp(ωk )ta , gracias a que el

tiempo de generación y eliminación de objetos es independiente del objeto, y es ta .

Con el conocimiento del tiempo necesario para la aplicación de las reglas, y la probabilidad de quecada conjunto de reglas sea activo, se puede calcular el tiempo de aplicación medio de la membrana. Conla combinación de ambos tiempos (selección y aplicación), se puede determinar el tiempo necesario para laaplicación con selección de reglas de cada una de las hojas del árbol de selección. El máximo y mínimo tiemponecesario para la aplicación (con selección) de reglas vendrá determinado respectivamente por el máximoy mínimo tiempo de los indicados. Hay que destacar que aunque un conjunto de reglas activas (hojas delárbol de decisión) determina el tiempo máximo de selección, no tiene porqué determinar el tiempo máximode selección y aplicación de reglas. En base a estos valores, se puede determinar también el tiempo mediode aplicación (con selección) de reglas.

Aunque Tejedor [Tejedor et al., 2008] para sus cálculos propone que el tiempo de comunicación entremembranas situadas en dos procesadores si cada procesador contiene una sola membrana, y cuando contienenvarias membranas, varía en una constante c, estudios recientes han demostrado que la fase de comunicaciónentre membranas para sistemas distribuidos es un proceso complejo. En los estudios que se encuentrancon detalle en [Peña et al., 2010] se muestra la complejidad de determinar el tiempo necesario para lacomunicación de objetos entre membranas ubicadas en distinto procesador, y cómo es posible que ciertasimplementaciones no consigan un tiempo acotado. Además, añadiendo el tiempo necesario en cada procesador(tiempo que consume el proxy del procesador) en generar los nuevos multiconjuntos de objetos, los tiemposde comunicación no solo dependen de la velocidad de la red sobre la que se realice la implementación. Ademásde este factor, influyen en número de membranas destino diferentes y el número de símbolos por membranadestino. Si bien, al ser un sistema no determinista, cuando se utilizan mensajes de longitud variable, estetiempo no se puede determinar, sino estimar.

Con estos ajustes de los tiempos de comunicación y aplicación basados en nuevos parámetros, depen-dientes de cada membrana, se pueden realizar distribuciones más ajustadas a la realidad. Los algoritmosgenéticos utilizados anteriormente siguen siendo válidos, y solo es necesario reajustar la función objetivo,para que la función de adaptación de cada solución contemple los nuevos parámetros introducidos.

La mayor diferencia con las distribuciones previas realizadas reside en que para las arquitecturas MSy HMS ya no es válida cualquier distribución, puesto que aunque antes el tiempo de comunicación era

83

Page 102: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

constante, ahora el tiempo depende de la distribución realizada. Además, las fórmulas utilizadas previamentepara determinar el tiempo óptimo de comunicación y los procesadores y membranas por procesador, ahorano son válidas.

Con el fin de contrastar la hipótesis de que las generaciones basadas en tiempos parciales -según lodescrito- mejoran los tiempos globales del sistema, y por tanto, el rendimiento del mismo, se han realizadolas mismas ejecuciones de algoritmos genéticos sobre los P sistemas de prueba, teniendo en cuenta que paracada membrana se han recalculado los tiempos de aplicación y comunicación en base a estos parámetros.Sobre estos algoritmos genéticos, ha sido necesario realizar algún pequeño cambio para adaptarse a lasnuevas características de las arquitecturas expuestas. Además de cambiar la función de fitness, que ahorase calcula a partir de los tiempos parciales de cada membrana, se ha eliminado la restricción del número deprocesadores a usar, puesto que a priori, con estas nuevas características de los sistemas, son desconocidos.Con el uso de algoritmos genéticos, este cambio debe realizarse sobre dos puntos del mismo: en la creaciónde individuos y en los operadores evolutivos.

En el caso de las arquitecturas P2P y HP2P, al crear individuos, se deja ilimitado el número de procesa-dores y se utiliza el algoritmo 16, como ya se hacía cuando se utilizaban tiempos constantes de comunicacióny aplicación. Respecto a los operadores evolutivos, ya se mostró que la no limitación del número de proce-sadores conlleva encontrar la mejor solución. Siguiendo la máxima de los algoritmos genéticos de que con laevolución se tiende al óptimo, esta característica que ya se ha mostrado que se cumple cuando se usabantiempos totales, se prevé que ahora se siga cumpliendo. En conclusión, solo se introduce la variante de lafunción objetivo, respecto a las pruebas ya realizadas.

Para el caso de las arquitecturas MS y HMS, son necesarias más modificaciones en los algoritmos ge-néticos, puesto que previamente se estaba limitando el número de procesadores. Además, en el caso de laarquitectura HMS, al componer los procesadores una estructura jerárquica, el orden de los procesadores esrelevante, y puede darse el caso de que un procesador contenga menos procesadores hijos que los otros,desequilibrando el árbol de procesadores. Esta limitación intrínseca de esta arquitectura hace que los algo-ritmos genéticos, tal y como han sido planteados previamente, no puedan tomarse como una alternativapara el problema mostrado, y hace pensar que sea necesario el uso de otros algoritmos. En el caso de laarquitectura MS, la población inicial se crea de forma aleatoria, de forma que cada membrana se ubicará enalguno de los procesadores donde se encuentran las membranas precedentes o sobre uno nuevo. El algoritmode cruce y el de mutación es el mismo que se utilizó cuando no se consideraban los tiempos parciales, perocon la eliminación de la restricción del número de procesadores. Es decir, sin hacer uso de los algoritmosreparadores.

Las gráficas de las figuras 6.1, 6.2 y 6.3 representan respectivamente cómo el uso de tiempos parcialesobtiene distribuciones cuyo tiempo de evolución estimado es menor que el obtenido cuando se usaba tiempoglobal. Estos resultados son para los ejemplos de 100 membranas usados anteriormente. Para los de 1000membranas, se tiene las gráficas 6.4, 6.5 y 6.6, aunque solo se ha realizado la prueba para 51 de los Psistemas propuestos.

En términos generales, utilizando los mismos parámetros, se observa la mejora en tiempos estimadospara la evolución, cuando se usa tiempos parciales. Analizando caso a caso, obtenemos los valores mostradosen el cuadro 6.1. Lo más destacable es cómo el uso de tiempos parciales en la arquitectura MS cuandohay 1000 membranas no mejora los tiempos. Aunque la lógica hace presagiar que los tiempos deberían sermejores, en la práctica no ocurre esto, puesto que la estimación realizada por el investigador que propuso estaarquitectura es que el tiempo de comunicación entre dos procesadores es constante independientemente delnúmero de membranas que transmitan objetos. Como se ha demostrado anteriormente, y aparece reflejadoen [Peña et al., 2010] el tiempo de comunicación depende del número de membranas receptoras de objetosy del número de símbolos distintos que reciben.

Además del análisis separado, hay que observar el análisis comparativo entre las arquitecturas (figuras6.7 y 6.8), y las mejoras que realizan los algoritmos genéticos contrastado con las posibles distribucionesaleatorias. En primer lugar, los resultados finales (distribuciones obtenidas por los algoritmos genéticos)de las simulaciones muestran que la arquitectura P2P y HP2P presentan un comportamiento similar. Este

84

Page 103: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 6.1: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en la arquitectura P2P sobre los P sistemas de 100 membranas.

Figura 6.2: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en la arquitectura HP2P sobre los P sistemas de 100 membranas.

Media (%) Desviación típica (σ)100 membranas P2P 83,602 1,944

HP2P 70,394 3,873MS 30,739 9,770

1000 membranas P2P 84,656 1,638HP2P 32,359 8,121MS −109,275 21,570

Cuadro 6.1: Mejoras obtenidas con el uso de tiempos parciales en distribuciones realizadascon algoritmos genéticos.

85

Page 104: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 6.3: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en la arquitectura MS sobre los P sistemas de 100 membranas.

Figura 6.4: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en la arquitectura P2P sobre los P sistemas de 1000 membranas.

comportamiento no solo es un 80% y un 70% mejor -respectivamente- que usando tiempos globales, sinoque eliminan las diferencias obtenidas entre ambas arquitecturas. Así, la ventaja que otorga el paralelismodel HP2P frente a las posibilidades de no utilizar intervalos fijos de comunicación queda de manifiesto. Sobreeste punto, es necesario un estudio más amplio que será realizado cuando se introduzcan otras técnicas dedistribución.

Las mejoras que aportan el uso de algoritmos genéticos frente a las distribuciones aleatorias se observanen el cuadro 6.2, para el uso de tiempos parciales. Se observa como con los parámetros elegidos (queno están optimizados), se consiguen distribuciones cuyo tiempo de evolución es la mitad que el obtenidoaleatoriamente.

Con estos datos mostrados, se observa como el uso de tiempos parciales por membrana reduce lasestimaciones de tiempos de evolución y los algoritmos genéticos siguen siendo una técnica válida para obtenermejores distribuciones. Sin embargo, estas técnicas presentan problemas. Entre estos problemas destaca elcomportamiento de las arquitecturas MS y HMS, que no pueden ser simuladas con dichos algoritmos (almenos sin hacer cambios importantes), e incluso, aunque se pueda, sigue siendo mejor el planteamiento

86

Page 105: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 6.5: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en la arquitectura HP2P sobre los P sistemas de 1000 membranas.

Figura 6.6: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en la arquitectura MS sobre los P sistemas de 1000 membranas.

Media (%) Desviación típica (σ)100 membranas P2P 48,232 3,263

HP2P 48,294 3,186MS 63,568 3,199

1000 membranas P2P 49,265 1,641HP2P 49,385 1,540MS 56,300 1,193

Cuadro 6.2: Mejoras obtenidas por los algoritmos genéticos con el uso de tiempos parciales.

87

Page 106: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 6.7: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en las arquitecturas P2P, HP2P y MS sobre los P sistemas de 100 membranas.

Figura 6.8: Comparativa de los tiempos obtenidos tras usar algoritmos genéticos para ladistribución en las arquitecturas P2P, HP2P y MS sobre los P sistemas de 1000 membranas.

de tiempos globales. El otro gran problema existente con el uso de los algoritmos genéticos que se haobservado (aunque debe tenerse en cuenta que no se han optimizado), es el tiempo necesario para encontrarla distribución. Es decir, los algoritmos genéticos, según se han planteado, tardan demasiado tiempo enejecutarse. Si bien, una vez ejecutados, sus resultados son válidos para cualquier configuración del P sistema.En los próximos apartados se detalla el uso de otras técnicas de Computación Natural, y más concretamente,de la Inteligencia de Enjambres.

6.1. Optimización por Enjambres de Partículas

La inteligencia de enjambres, o Swarm Intelligence aparece reflejada por primera vez en 1989 como

systems of non-intelligent robots exhibiting collectively intelligent behaviour evident in theability to unpredictably produce “specific” ([i.e.] not in a statistical sense) ordered patterns of

88

Page 107: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

matter in the external environment

[Beni and Wang, 1989], en el contexto de sistemas de robots celulares. Si bien, con el tiempo, se ha extendidosu uso, estando ahora incluida dentro de la Computación Natural y por tanto, de la Inteligencia Artificial.

La inteligencia de enjambres se basa en el comportamiento de un colectivo -de ahí que también seadenominada inteligencia colectiva- de individuos o agentes cuyo sencillo comportamiento -basado en pocasreglas simples- provoca en su interacción un comportamiento inteligente para la comunidad. Son múltiples lossistemas inteligentes basados en este estudio de la naturaleza, como las colonias de hormigas, el crecimientobacteriano, el comportamiento de cardúmenes, o los enjambres de luciérnagas.

Dentro de este grupo de algoritmos, se encuentra la Optimización por Enjambres de Partículas (PSO, delinglés, Particle Swarm Optimization) basada en que una población -llamada enjambre- de posibles soluciones -llamadas partículas- se desplazan siguiendo una fórmula sencilla. El desplazamiento de las partículas siguiendoal líder (o partícula de mejor resultado) hace que se busque en soluciones que a priori deben ser mejores quelas obtenidas. Este proceso es repetido con el fin de encontrar la mejor solución.

En 1995, Kennedy y Eberhart intentaron simular el comportamiento social como una representación delos movimientos realizados por las bandadas de pájaros o los bancos de peces [Eberhart and Kennedy, 1995][Kennedy et al., 1995]. El algoritmo inicial fue simplificado y se observó que puede ser utilizado para proble-mas de optimización. Sobre este algoritmo se ha realizado pequeñas variaciones que han dado lugar a lo queactualmente se conoce como PSO. En el libro de Kennedy y Eberhart se describen los aspectos más relevan-tes de los PSO y de la inteligencia de enjambres [Eberhart et al., 2001]. Si bien Kennedy y Eberhart son lospadres de los PSO, su propuesta se basa en un estudio de los movimientos realizados por los seres vivos den-tro de un colectivo, que ya fueron realizados por otros investigadores. Wilson [Wilson, 1975], en su trabajosobre el comportamiento de bancos de peces, indica que los individuos se benefician de los descubrimientosy experiencia previa de los otros; y mientras que Reynolds [Reynolds, 1987] simula el comportamiento de lasbandadas de pájaros en el vuelo, Heppner [Heppner and Grenander, 1990] simula su comportamiento parala búsqueda de alimento.

Esta metaheurística se basa en tres principios del comportamiento de los individuos: evaluar, compa-rar e imitar. Cada individuo evalúa el medio, para aprender y evolucionar. Además de la evaluación, losindividuos se comparan con los demás, imitando aquellos rasgos destacados de los demás (generalmentede los más adaptados). Siguiendo estos principios, a cada partícula i se le asocian 3 vectores: su posición:~xi = (x1, x2, . . . , xd ), la mejor posición individual que ha hallado en su historia: ~pi = (p1, p2, . . . , pd ) y su ve-locidad: ~vi = (v1, v2, . . . , vd ), considerando un espacio de dimensión d . Los valores asociados a las partículasiniciales son generalmente de forma aleatoria, para que luego estas partículas se muevan a través de unespacio de búsqueda, empleando un sistema de ecuaciones que se modifica en cada iteración, para hallarla mejor solución. Además de los vectores asociados a cada partícula, se utiliza un vector general ~g querepresenta la mejor posición encontrada entre todos los individuos.

El algoritmo que describe el proceso del PSO se encuentra descrito como algoritmo 19. Aunque en lostrabajos originales los parámetros (ω, c1 y c2) no se detallaron, y han sido añadidos en sucesivos refinamien-tos, hoy en día, la comunidad investigadora los considera como integrantes de la versión canónica. Estosparámetros se denominan: peso inercial (ω) y ratios de aprendizaje (c1 y c2). La primera parte de la ecuaciónde la actualización de la velocidad es un término del momento de la partícula donde ω es el grado delmomento; la segunda parte consiste en la parte “cognitiva” que representa el “conocimiento” independientede la partícula y la tercera parte es la parte “social” que representa la colaboración entre las partículas. Así,c1 y c2 representan ponderaciones de la parte cognitiva y social, respectivamente; e influencian cada partí-cula en dirección a las posiciones ~pi y ~g . Estos parámetros, según [Toro Ocampo et al., 2006] son ajustadosgeneralmente a tentativa y error, al tamaño de la población o dependiendo de la naturaleza del problema.

Una de las ventajas de los PSO respecto a otras técnicas reside en la simplicidad de uso, y en la mínimadefinición de los parámetros. Con solo 3 variables en su algoritmo (ω, c1 y c2) se define un PSO que se hamostrado como una técnica eficiente para la resolución de múltiples problemas. Por contraposición, otrastécnicas, como los algoritmos genéticos con los que permanente son comparados, requieren de la elección de

89

Page 108: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 19 Algoritmo del PSO1: Iniciar un array de partículas con posiciones y velocidades aleatorias de d dimensiones.2: ~pi ← ~xi

3: if f (~pi ) < f (~g ) then4: ~g ← ~pi

5: end if6: repeat7: for cada partícula ~xi do8: actualiza la velocidad: ~vi ←ω~vi + r and()c1(~pi −~xi )+ r and()c2(~g −~xi )9: Mueve la partícula (actualiza la posición): ~xi ← ~xi +~vi

10: if f (~xi ) < f (~pi ) then11: ~pi ← ~xi

12: if f (~pi ) < f (~g ) then13: ~g ← ~pi

14: end if15: end if16: end for17: until criterio de terminación

más valores (en concreto la definición de la 10-tupla mencionada) para conseguir el mismo objetivo. Además,según los creadores, requieren menos recursos que otras metaheurísticas. En [Eberhart and Kennedy, 1995]se comenta que

It requires only primitive mathematical operators, and is computationally inexpensive in termsof both memory requirements and speed

El peso inercial (ω) comprende un valor fijado, aunque Shi propone ir disminuyendo el peso inercial amedida que transcurren las iteraciones. Este valor controla el equilibrio entre las capacidades de exploraciónglobal y local. Utilizando una velocidad máxima de 2, en [Shi and Eberhart, 1998a] se ha encontrado que ωcon valores entre [0,9,1,2] tienen mayor probabilidad de encontrar el óptimo global en un plazo razonabledel número de iteraciones. Además, la disminución del peso de inercia de 1,4 a 0 es más eficiente que eluso de un peso inicial fijo. Esto se debe a que la inercia de los pesos más grandes al principio ayudará aencontrar las buenas semillas, y el peso de la inercia más pequeño al final facilitará una búsqueda fina. En[Shi and Eberhart, 1998b], para las simulaciones realizadas, concluyen que lo mejor es disminuir linealmentedesde 0,9 hasta 0,4 para las primeras 1500 iteraciones, y mantenerlo constante en 0,4 para las siguientes2500 iteraciones.

Otro valor muy usado para ω es ω= 0,729, que puede obtener el comportamiento deseado si c1 y c2 seestablecen adecuadamente. Para este caso, Robinson [Robinson and Rahmat-Samii, 2004] recomienda usarc1 = c2 = 1,49445. Los primeros estudios [Kennedy et al., 1995] también usaban de forma satisfactoria valoresde c1 = c2 = 2,05, pero sin considerar ω (ω= 1).

Un concepto que fue introducido al PSO fue la velocidad máxima (Vmax), y representa la máximavelocidad a la que se puede desplazar cada partícula en cada dimensión. Valores altos de movimiento puedenprovocar que la partícula sobrepase soluciones buenas, mientras que valores pequeños conlleva que no seexplore suficientemente el espacio de búsqueda. Por ello, se introdujo este nuevo término. Vmax se sueleajustar entre el 10% y el 20% del rango de la variable en cada dirección [Eberhart et al., 2001].

Los trabajos de Clerc en 1999 [Clerc, 1999], [Clerc and Kennedy, 2002] proponen el uso de un factor deconstricción o reducción. Este factor K es dependiente de los valores de c1 y c2, como se refleja en la fórmula

90

Page 109: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

6.1. A partir de este valor, el movimiento de las partículas está determinado por la fórmula 6.2.

K = 2

2−ϕ−√ϕ2 −4ϕ

, donde ϕ= c1 + c2,ϕ> 4 (6.1)

~vi = K[~vi + r and()c1(~pi −~xi )+ r and()c2(~g −~xi )

](6.2)

El valor típico de ϕ cuando se usa el método de constricción de Clerc, es 4,1, siendo K = 0,729, yambos términos c1, c2 iguales (c1 = c2 = 0,729∗2,05 = 1,49445). Lo que indica que ambas aproximacionesson algebraicamente equivalentes [Banks et al., 2007]. La aportación realmente importante del factor deconstricción de Clerc deriva del hecho de que su aplicación no hace necesaria la aplicación de Vmax , eliminandoasí un parámetro del algoritmo.

Respecto al tamaño de la población, el número de partículas es dependiente del problema, si bien, entre20 y 50 partículas son los valores más usados [Eberhart et al., 2001].

También se observa que al aumentar la dimensión del problema, la convergencia se hace más lenta, porlo cual, cuando se trata de problemas de alta dimensión, se suele aplicar un mayor número de iteraciones.En [Korenaga et al., 2007] se desarrolló un modelo PSO, en donde se actualizan los valores de la veloci-dad, considerando la rotación del sistema de coordenadas. Este modelo está dirigido a problemas de altadimensionalidad y mostró buenos resultados al aplicarse al conjunto de funciones de De Jong, considerandomayores dimensiones.

Los PSO basan su búsqueda en la mejor posición obtenida por la partícula, y la mejor posición obtenidapor todas las partículas, marcando así una exploración local y global. El conocimiento colectivo también hasido objeto de estudio, con el fin de determinar la importancia de este conocimiento. Así, hay autores queproponen que cada partícula solo conozca los valores de algunas (las más cercanas), formando vecindarios(modelos lbest), mientras que otros autores proponen que utilicen como mejor solución la mejor de entretodas las partículas de la población (modelos gbest). Aunque hay estudios sobre el uso de vecindarios locales,no hay ninguna resolución concluyente, siendo éstas dependientes de los problemas a utilizar. Por lo tanto,la tendencia es al uso de la mejor partícula del colectivo.

Los PSO se han comportado como una metaheurística eficiente para la resolución de problemas. En[Eberhart and Kennedy, 1995] se comenta que pueden ser usados para muchos tipos de problemas, como losalgoritmos genéticos. Esta primera comparación con los algoritmos genéticos ha dado lugar a muchas otras,e incluso a que ciertos autores incluyan a la inteligencia de enjambres como un grupo más de computaciónevolutiva. Son muchos las comparativas realizadas entre los algoritmos genéticos y los PSO, como porejemplo, los mostrados en [Settles et al., 2003] o [Eberhart and Shi, 1998].

Son muchos los campos de aplicación del PSO, a la par que múltiples los investigadores que estudian sucomportamiento o los usan para la resolución de problemas. En 2008 Poli desarrolló un estudio [Poli, 2008]sobre las publicaciones de los PSO y las áreas de aplicación, analizando 1100 artículos publicados en la basede datos del IEEE Xplorer, buscando las conexiones entre los mismos. Además, con 650 artículos estudió loscampos de aplicación, siendo estos muy dispares. Así, los PSO se han utilizado para resolución de problemasen antenas, redes de comunicaciones, clústering, planificación, robótica, visualización de vídeos o sobre laeconomía y las finanzas.

Aunque originalmente se diseñó un modelo de individuos denominados partículas, para optimizar funcio-nes en un espacio binario de búsqueda, que luego se modificó para problemas sin restricciones en espaciosde búsqueda con variable continua, actualmente se ensaya en aplicaciones de problemas de optimización nolineal, con restricciones y problemas multiobjetivo. También se desarrollan modelos en los cuales se empleantécnicas híbridas combinadas con algoritmos genéticos y/o lógica borrosa, o con redes neuronales.

91

Page 110: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

6.2. Evolución Gramatical y Enjambres de Gramáticas

La Evolución Gramatical fue propuesta por Ryan, Collins y O’Neill [Ryan et al., 1998] en 1998. Surgecomo un algoritmo evolutivo capaz de generar automáticamente programas escritos en un lenguaje de pro-gramación. El proceso de generación de programas se divide en la evolución de los genotipos de longitudvariable y su correspondiente transformación en los fenotipos, que son los programas propiamente dichos. Pa-ra realizar esta conversión, cada genotipo representa una secuencia de elecciones en las reglas de producciónde una gramática libre de contexto representada en la notación de Backus-Naur (BNF). Este procedimientode generación de programas asegura que siempre son sintácticamente correctos.

La Evolución Gramatical se desarrolla en dos partes, de forma similar a los algoritmos genéticos. En primerlugar, existen un conjunto de genotipos, que son evolucionados (como en los algoritmos genéticos). Estosgenotipos generan nuevos genotipos, que son transformados en sus correspondientes fenotipos; los cualesson evaluados, asignando un fitness a cada uno de los genotipos. En base a esto, se siguen produciendonuevas poblaciones.

El genotipo, que es transformado en un fenotipo, está formado por codones (de forma similar a como enlos algoritmos genéticos eran genes). Desde el punto de vista biológico, la información genética del ARN esgenerada a partir de las 4 bases nitrogenadas: Adenina, Citosina, Guanina y Uracilo. Estas bases se agrupande tres en tres, dando lugar a los codones, que se encargan de codificar un aminoácido o los símbolos decomienzo y parada. En el código genético, cada aminoácido está codificado por un codón o varios codones.En total hay 64 codones que codifican 20 aminoácidos y 3 señales de parada. Esto hace que el código searedundante, lo que se denomina código degenerado, porque hay varios codones diferentes que codifican elmismo aminoácido. El proceso de transformación del genotipo en fenotipo en la Evolución de Gramáticassimula el fenómeno biológico conocido como la biosíntesis de proteínas. En [Ryan et al., 1998] se proponeutilizar 8 bits para cada codón, si bien, por lo general, el número de opciones para cada símbolo es menor.Por ello, el código es también degenerado. Este fenómeno permite la ocurrencia de mutaciones silenciosas,que son aquellas que no tienen efecto en el fenotipo del individuo, y que son la base de la teoría neutral dela evolución que formuló Kimura [Kimura, 1985].

El fenotipo es un programa que es generado a través del genotipo por la elección de las reglas deproducción de una gramática libre de contexto. Una gramática formal (G) es una tupla (N ,T,P,S), donde

N es un conjunto de símbolos no terminales, los cuales no aparecen en las cadenas formadas por G.

T es un conjunto de símbolos terminales, tal que T⋂

N =;.P es un conjunto de reglas de producción, donde cada regla es (T

⋃N )N (T

⋃N )∗ → (T

⋃N )∗ , donde

∗ es el operador de Kleene.

S ∈ N es el símbolo inicial.

En las gramáticas de contexto libre (según la Jerarquía de Chomsky), las reglas de producción son de laforma:

N → (T⋃

N )∗

La Backus Normal Form o Backus-Naur Form (BNF) es una técnica de notación para gramáticas libresde contexto, que frecuentemente es usada para describir los lenguajes de programación. Como no podríaser de otra forma, la Evolución Gramatical utiliza una representación BNF para realizar la conversión delgenotipo al fenotipo.

La conversión de un genotipo al fenotipo correspondiente se realiza transformando los codones en reglasde producción, mediante una derivación por la izquierda. Se empieza por el símbolo inicial de la gramática,y se va aplicando las producciones indicadas para sus no terminales, de izquierda a derecha. Cuando sobreun símbolo no terminal se pueden aplicar varias reglas de transformación, se recurre a un codón (el siguientedel genotipo) para seleccionar cual regla utilizar. Un codón representa la elección, pero es posible que este

92

Page 111: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

valor sea superior al número de opciones. Por ello, se utiliza el módulo de la división del valor de codónentre el número posible de reglas de transformación. Esto hace que varios valores del codón generen elmismo fenotipo, y es conocido como código degenerado. Si solo existiera una regla, no se utilizaría ningúncodón (como se muestra en las líneas 6 y 11 del cuadro 6.4). Si se utilizan todos los codones y no se hafinalizado el programa, se presentan dos alternativas. Descartar el programa, asignándolo el peor valor a sufitness, para que el proceso evolutivo lo elimine; o utilizar la técnica conocida como wrapping. El wrappingconsiste en reutilizar los codones para continuar el proceso de traducción. Así, una vez utilizado el últimocodón, se vuelve a utilizar el primero, considerando el genotipo como una cadena de codones circular. Esteoperador se inspira en el mecanismo de solapamiento de genes que ocurre en algunos organismos, comolas bacterias, según ha descrito Lewin [Lewin, 1999]. En este caso, se debe indicar cuantas veces se va autilizar el genotipo, para evitar bucles permanentes. Si alcanzada esta reutilización no se ha generado unprograma (todo símbolos terminales), se asigna al individuo el peor valor del fitness. Un ejemplo del procesode transformación de genotipo a fenotipo se puede encontrar en el cuadro 6.4, donde el genotipo del cuadro6.3 se transforma en fenotipo según la gramática siguiente:

G = (N ,T,P,S)

N = {exp, pr e_op,op, var }

T = {Si n,Cos,Tan,Log ,+,−,/,∗, x}

S =< expr >P se representa como:

< expr > ::= < expr >< op >< expr >| (< expr >< op >< expr >)| < pr e_op > (< expr >)| < var >

< op > ::= +| −| /| ∗

< pr e_op > ::= Si n| Cos| Tan)| Log

< var > ::= x

El genotipo estará formado por codones, y estos por un número de bits que depende de la gramáticaa utilizar. En [Ryan et al., 1998] se propone utilizar 8 bits por codón, pero el tamaño del codón solo debecumplir que sea igual o superior al número máximo de reglas de transformación de cada no terminal. Por logeneral, las representaciones de los codones se suelen realizar utilizando el número entero, y no su secuenciade bits.

93

Page 112: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

220 202 17 184 107 95 218 127 171 246 55

Cuadro 6.3: Ejemplo de genotipo, representado cada codón de 8 bits como un número entero.

Fenotipo Codón utilizado transformaciónseleccionada

< expr > 220 0< expr >< op >< expr > 202 2< pr e_op > (< expr ) < op >< expr > 17 1Cos(< expr >) < op >< expr > 184 0Cos(< expr >< op >< expr >) < op >< expr > 107 3Cos(< var >< op >< expr >) < op >< expr > 0Cos(x < op >< expr >) < op >< expr > 95 3Cos(x∗< expr >) < op >< expr > 218 2Cos(x∗< pr e_op > (< expr >)) < op >< expr > 127 3Cos(x ∗Log (< expr >)) < op >< expr > 171 3Cos(x ∗Log (< var >)) < op >< expr > 0Cos(x ∗Log (x)) < op >< expr > 246 2Cos(x ∗Log (x))/ < expr > 55 3Cos(x ∗Log (x))/ < expr > 0Cos(x ∗Log (x))/x

Cuadro 6.4: Proceso de transformación del genotipo del cuadro 6.3 con la gramática indicada.

El proceso completo de la Evolución de las Gramáticas, consiste en diversas etapas, que son similares acualquiera de las metaheurísticas de la computación evolutiva. En primer lugar, se inicia una población degenotipos, de forma aleatoria. Cada genotipo estará formado por un número determinado de codones, siendopor tanto una ristra binaria. A partir de cada genotipo, con el algoritmo de transformación a fenotipos,se genera un programa que será una solución del problema planteado. Se calcula el fitness del programa(fenotipo), y se asigna su valor al genotipo correspondiente. A partir de los genotipos creados y su valor deadaptación, comienza el proceso de evolución, en base a operadores evolutivos (en la sección de algoritmosgenéticos están descritos algunos de estos), para generar una nueva población. Esta nueva población degenotipos, se convierte en programas (fenotipos) y son nuevamente evaluados. Se repite este proceso unnúmero determinado de veces, o hasta que se encuentre una solución aceptable.

Para la generación de una nueva población, se utilizan los algoritmos genéticos ya descritos, debiendoseleccionar de entre las múltiples opciones que presentan. Pero además, existen nuevos operadores genéticosque se aplican sobre los genotipos. En concreto, en [Ryan et al., 1998] se propone la poda y la duplicación.Sobre el genotipo es posible duplicar ciertos codones (o bits) que son colocados o bien inmediatamentedespués de sus originales, o bien, al final del genotipo. De forma similar, es posible que una cadena seacortada por cierto lugar, utilizando una de las partes y descartando la otra. Estos operadores provocan quelos genotipos varíen de longitud, aunque en su origen todos tenían la misma longitud. Es el fenómeno decromosomas de diferente longitud que utilizan los algoritmos genéticos. En el caso de la Evolución de lasGramáticas, es especialmente útil, porque no se conoce cuantos codones serán necesarios para generar elfenotipo, porque dependiendo de los valores contenidos (y de la gramática) serán necesarios unos u otros.

94

Page 113: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Por ello, un genotipo puede contener codones que no sean necesarios para la generación del fenotipo. A estoscodones se los denominan intrones. Debido a la existencia de este tipo de codones, y con el fin de evitarque los padres e hijos generen el mismo fenotipo, dando lugar a un estancamiento local, para el proceso derecombinación se utilizan los codones efectivos. Además, sobre cada uno de los padres el punto de corte dela cadena se realiza en un lugar diferente. Otro problema asociado al uso de codones es que los distintosoperadores operan a nivel de bits (y no de codones) pudiéndose dar casos de cadenas que no contengan unnúmero exacto de codones. Por ello, se suele utilizar los operadores a nivel de codón, y no a nivel de bits.Esto va en la misma línea de tratar el genotipo como una secuencia de números, y no como una ristra debits (aunque ésta sea la representación interna).

Aunque la Evolución Gramatical utiliza como método de búsqueda de la solución un algoritmo evolu-tivo, generalmente un algoritmo genético, O’Sullivan [O’Sullivan and Ryan, 2002] propone que sería válidocualquier método de búsqueda capaz de trabajar con cadenas binarias o enteras de longitud variable. Enesta línea de investigación, O’Neill en [O’Neill and Brabazon, 2004] propone el uso de PSO como método debúsqueda, y denominan a la metaheurística completa como Enjambres de Gramáticas (Grammatical Swarm),obteniendo unos resultados similares a los de la Evolución Gramatical. En este caso, el genotipo es generadopor un PSO multidimensional (tantos como codones se utilicen), estando cada dimensión limitada a valoresentre 0 y 255, utilizándose solo números enteros para la conversión del genotipo al fenotipo (aunque PSOopera con números decimales, se hace un redondeo para obtener números enteros).

Además de excelentes resultados de investigación, como los mostrados en [Cruz, 2010], existen muchosejemplos del uso de la Evolución Gramatical, aplicada no solo a la creación de programas, sino utilizadacomo técnica de resolución de problemas. Por citar solo alguno de los ejemplos, en [Colmenar et al., 2010]se utiliza la Evolución Gramatical para generar gestores de memoria dinámica personalizados, que consiguenmejores resultados que los orientados al propósito general. En [Ortega et al., 2003] se utiliza la Evoluciónde Gramáticas para generar fractales, mientras que en [Cebrián et al., 2009] se utiliza para la generación deherramientas de búsqueda de plagio en las prácticas universitarias. Pero además de las aplicaciones realizadascon las Gramáticas Evolutivas, hay un sector que se dedica al desarrollo y mejora de la potencialidad de estatécnica. En [Echeandia et al., 2005] se utilizan las Gramáticas Evolutivas no sobre gramáticas libres de con-texto, sino sobre gramáticas atributivas, dando lugar a una mejora semántica en los programas desarrolladospor esta metaheurística.

Evolución Gramatical con reescritura de gramáticas

Para la distribución de membranas en diferentes procesadores, con el fin de mejorar los tiempos deevolución de los P sistemas, se están utilizando diversas técnicas. Una de ellas, como se ha descrito, es laEvolución Gramatical. Centrándose en el problema de distribución inicial de membranas en procesadores,para la arquitectura P2P, y que según se ha descrito, consiste en minimizar la fórmula 5.1, la metaheurísticade Evolución Gramatical, debe ser modificada. Desde aquí se propone el uso de la Evolución Gramatical conreescritura de gramáticas, que permitirá generar opciones válidas de distribución, solventando los problemastopológicos del sistema, y la falta de restricción del número de procesadores. El cambio propuesto solo afectaa la gramática a utilizar, siendo el resto de la metaheurística utilizada de forma análoga a lo ya mostrado.

En la arquitectura P2P (y por extensión en HP2P), existe una fuerte restricción sobre dónde se puedecolocar una membrana. Así, si la membrana vi se encuentra en el procesador cx , y existe una membranav j , (vi , v j ) ∈ E , entonces v j solo podrá situarse en el mismo procesador (cx), o en alguno de los hijos({cy |cy ⊂C /(cx ,cy ) ∈ A}). Esta justificación aparece detallada en la explicación del uso de algoritmos genéticospara la distribución de membranas preservando la topología arbórea. Por supuesto, también podrá incluirsev j en un nuevo procesador, que pasará a ser hijo de cx .

Considerando una gramática que sea una sucesión de elecciones, de forma que el terminal inicial dé lugara un conjunto de no terminales (uno por cada una de las membranas), y que sobre cada uno de estos noterminales se decida sobre qué procesador se va a ubicar dicha membrana; la gramática necesitaría para cada

95

Page 114: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

11 202 118 185 106 92 216 138 173 246 54

Cuadro 6.5: Genotipo, que utilizando una transformación con reescritura de gramáticas, parael P sistema de la figura 5.1 da como resultado la distribución de dicha imagen.

membrana la ubicación de la membrana madre, y los procesadores hijos del procesador donde se encuentra lamembrana madre. Esta limitación hace que la técnica de Evolución Gramatical no sea utilizable tal y comoproponen sus creadores, ya que no se puede representar una gramática en BNF previa, puesto que dependede las elecciones realizadas sobre cada no terminal. Es decir, la gramática será dependiente del genotipo, yserá éste el que se encargue de escribir la gramática en base a la selección de reglas que realice.

Se propone por tanto, una gramática que se reescriba a partir de las decisiones tomadas sobre la propiagramática. La gramática estará compuesta por una única regla inicialmente, que contendrá la ubicación de lamembrana raíz, y tantos no terminales como membranas contenga la raíz. Cada uno de estos no terminales,generará tantas reglas de transformación como se puedan obtener de la topología del árbol de procesadoresen que se está transformando el genotipo. Así, las opciones estarán siempre formadas por un terminal (querepresenta al procesador donde se ubicará dicha membrana), y un conjunto de no terminales, correspondientesa las membranas que contenga la membrana. Los terminales (cada uno en una regla) se corresponderán alprocesador donde se encuentra la membrana madre, a los hijos de este procesador, y a un procesador nuevo.Con esta aplicación de reglas, se puede considerar que el genotipo representa un recorrido de elecciones enpreorden sobre la topología arbórea del P sistema. Así, el genotipo será una cadena de longitud fija. No tienesentido que varíe su longitud, puesto que es necesario un y solo un codón para cada membrana (excepto laraíz). El número de bits (o valor máximo de codón) es desconocido, al no estar descrita la gramática previaa su uso (además de ser diferente para cada genotipo). Existe una cota superior, correspondiente al númerode membranas, pero sería complicado que este valor se alcanzara.

Utilizando como ejemplo el P sistema de la figura 5.1, el genotipo del cuadro 6.5 da como resultado ladistribución mostrada en dicha imagen.

En concreto, la gramática inicial estaría formada por la regla:

< t0 >::= 0 < t1 >< t2 >

A partir de esta regla, se escribirían las reglas para <t1>, siendo posible ubicar dicha membrana en elmismo procesador, o en uno nuevo:

< t1 >::= 0 < t3 > |1 < t3 >

El valor de genotipo, elegiría la segunda opción. Continuando con la generación de la gramática:

< t3 >::= 1 < t6 >< t7 > |2 < t6 >< t7 >

Siendo seleccionada la primera opción. Así se continúa con el proceso, pero hay que remarcar el caso dela membrana 2, donde las opciones se amplían a 3, ya que el procesador (0) donde se encuentra la membranamadre (0) tiene un procesador hijo (1). Así, para el no terminal 2, la gramática será:

< t2 >::= 0 < t4 >< t5 > |1 < t4 >< t5 > |3 < t4 >< t5 >

Siguiendo con el proceso, la gramática final para este genotipo sería:

96

Page 115: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

< t0 > ::= 0 < t1 >< t2 >< t1 > ::= 0 < t3 > |1 < t3 >< t3 > ::= 1 < t6 >< t7 > |2 < t6 >< t7 >< t6 > ::= 1|2< t7 > ::= 1 < t10 >< t11 > |2 < t10 >< t11 >< t10 > ::= 2|3< t11 > ::= 2|3< t2 > ::= 0 < t4 >< t5 > |1 < t4 >< t5 > |3 < t4 >< t5 >< t4 > ::= 0|1|3< t5 > ::= 0 < t8 >< t9 > |1 < t8 >< t9 > |3 < t8 >< t9 >< t8 > ::= 3|4< t9 > ::= 3|4

6.3. Distribución de membranas con Enjambres Gramaticales yOptimización por Enjambres de Partículas

Aunque ya se ha mencionado cómo la Evolución Gramatical con reescritura de gramáticas puede serutilizada para realizar distribuciones de membranas en procesadores, es necesario volver al planteamientoinicial del uso de algoritmos genéticos para este fin. Los algoritmos genéticos presentan dos grandes problemas,que han tratado de ser solventados con la utilización de otras metaheurísticas. Estos problemas son su malaaplicabilidad a las arquitecturas maestro-esclavo, y el exceso de tiempo de cómputo en la implementaciónrealizada.

En primer lugar, se ha propuesto la metaheurística PSO como alternativa para tratar de paliar losproblemas asociados a las técnicas evolutivas. Se ha planteado el uso de un PSO para realizar distribucionesde membranas en procesadores siguiendo una arquitectura P2P. No debe olvidarse que la arquitectura P2Prequiere que un recorrido completo en el árbol de membranas conlleve solo un recorrido sobre los procesadores,de tal forma que la estructura de los procesadores con sus comunicaciones sea un árbol. Esta limitación fuerte,plantea complicaciones a la resolución mediante PSO del problema mencionado; al igual que ocurría en elcaso de los algoritmos genéticos. Las pruebas realizadas de generación aleatoria muestran que la mayoría delas soluciones por las que se mueven las partículas no se corresponden con soluciones válidas, y por tanto sondescartas. Así, el uso de esta técnica apenas mejora la distribución aleatoria de membranas en procesadoressalvaguardando la topología.

Si se aplicara la misma metaheurística sobre la arquitectura Maestro-Esclavo, estas restricciones desapa-recían, y podría ser una técnica perfectamente válida. Sin embargo, en los experimentos realizados, no se hanencontrado mejoras respecto a los tiempos que muestran los algoritmos genéticos, aunque sí se soluciona elproblema de consumo de recursos temporales que muestran los algoritmos genéticos. La posible explicacióna esta falta de mejora es la misma que otros investigadores han encontrado a sus problemas. Cuando el nú-mero de dimensiones es muy alto, el comportamiento del PSO es variable, no siempre encontrando mejorasen las soluciones. Por lo general, los movimientos de las partículas, intentan mejorar sobre alguna de susdimensiones, pero ello causa un retroceso sobre las demás.

La última arquitectura, Maestro-Esclavo Jerárquico presenta diversas complicaciones para la búsquedade distribuciones, debido a la posible inexistencia de procesadores intermedios, y al desequilibrio del árbolque conforman los procesadores. Es complicado seleccionar una técnica de distribución que permita el usode árboles no equilibrados, pero además, es complicado incluso cuando el árbol está equilibrado. Si seconsidera que el árbol es equilibrado, es necesario definir cuál será la altura y la amplitud del mismo. Aunque

97

Page 116: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

en primera instancia surja el planteamiento de utilizar los datos definidos cuando se utilizaban tiemposglobales, la práctica demuestra que aunque el uso de los algoritmos genéticos mejora la distribución, conotras arquitecturas se consiguen mejores tiempos. Además, el problema del consumo de tiempo que planteanlos algoritmos genéticos sigue estando presente (aunque en menor medida que para la arquitectura P2P).En este trabajo se pretende ir un paso más allá, y buscar otros métodos que permitan sacar todo el partidoa la arquitectura HMS. Se pretende por tanto, utilizar alguna alternativa que permita el uso de árboles noequilibrados, con el fin de mejorar los tiempos de evolución.

Para conseguir este objetivo, se plantea el uso de PSO sobre dos niveles de algoritmos genéticos. Sibien, se prevé que esta técnica necesite demasiados recursos, los resultados esperados deberían ser mejoresque para otras arquitecturas. Se empleará un PSO con dos dimensiones para decidir la altura y la amplituddel árbol de procesadores. Sobre cada una de las partículas, para su evaluación, se recurrirá a un algoritmogenético. Dicho algoritmo constará de una población de diferentes árboles de procesadores que cumplanla restricción de que la altura y la amplitud son la indicada. Estos serán los fenotipos de los individuosdel algoritmo genético (los genotipos, serán genes que representan este árbol). Para la evaluación de laadaptación de estos árboles, se utilizará otro algoritmo genético. En este caso, además de conocer la alturay amplitud, se conoce exactamente la topología de los procesadores con las comunicaciones entre ellos. Así,cada individuo será una representación de la distribución de las membranas en los procesadores hoja delárbol de procesadores. Este algoritmo genético que representa las distribuciones, evolucionará, obteniendoel mejor valor de ellos, que será el que sea asociado a la función evaluadora del otro algoritmo genético. Esdecir, el tiempo de una distribución de procesadores que cumple con la altura y amplitud indicada, estarádeterminado por la mejor distribución de membranas que se ha podido realizar sobre él. De igual forma, elfitness de una partícula será el tiempo de la mejor distribución de procesadores que se ha podido realizar conla altura y amplitud indicada. Con el movimiento de las partículas, los resultados mejoran, obteniéndose asíla mejor distribución posible. Se ha realizado la prueba sobre un subconjunto de 527 de los P sistemas de 100membranas que se están utilizando a lo largo de esta tesis. Los resultados se pueden encontrar en la gráfica6.9. En ella se observa como el uso de PSO y tiempos parciales, en algunos casos mejora los resultados,pero en otros no, comparándolo con la distribución algorítmica de los tiempo totales. En concreto, la mejoraplanteada es de media solo un 3%, si bien, tiene una oscilación entorno al 50%. La conclusión obtenidaes que la penalización por las comunicaciones es tan abultada que las posibles mejoras de utilizar tiemposlocales son mínimas. Así, se sigue optando por el uso de los algoritmos genéticos, y la distribución basadaen tiempos globales, como la solución que menos tiempo de proceso requiere, aunque sus resultados sean unpoco inferiores al uso de PSO.

Figura 6.9: Comparativa de los tiempos obtenidos tras usar PSO y algoritmos genéticos parala distribución en la arquitectura HMS sobre los P sistemas de 100 membranas.

Para que el estudio no fuera incompleto, se ha intentado probar cómo esta técnica afecta a las dis-tribuciones con más membranas. Si bien con 100 membranas el tiempo era significativamente alto, y ha

98

Page 117: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

hecho que solo se trabaje con un subconjunto de los casos de prueba, para el caso de 1000 membranas, lostiempos son desorbitados, y solo se han realizado 4 pruebas, con el fin de intentar buscar la tendencia delcomportamiento. Los resultados han sido sorprendentes, puesto que los tiempos son aún mucho mejores quelos encontrados con otras técnicas y arquitecturas. En concreto, la mejora de los PSO y tiempos parcialesrespecto a los globales es de una media del 27%, siendo en el peor de los casos, del 16%. Esto hace pensar quelos árboles desbalanceados mejoran los resultados, pero hay que ser cautos, puesto que solo se ha probadopara 4 casos. Por contra, el tiempo tan excesivamente alto hace descartar esta alternativa, siguiéndose conel planteamiento de que para esta arquitectura los algoritmos genéticos, y el uso de tiempos globales es lamejor opción.

Para la realización de las pruebas mencionadas se han utilizado los valores estándar. Así, para los PSO,ω = 0,729 y c1 = c2 = 2,05, realizándose sobre 10 partículas durante 5 iteraciones. La altura y la amplitudestaban acotadas entre [2,8] y [2,5] respectivamente. Para cada algoritmo genético, se han utilizado 10cromosomas, y se han generado 10 poblaciones con reemplazo total mediante cruzamiento por un punto ymutación con una probabilidad de 0,5 sobre el genotipo.

Con el uso de PSO se consiguen analizar las posibilidades que abren el uso de tiempos parciales alas distribuciones de membranas para los casos en los que los Algoritmos Genéticos no se muestran comoheurística sencilla. El problema de ambas alternativas sigue siendo el tiempo de cómputo, por lo que sepropone el uso de Gramáticas Evolutivas con reescritura de gramáticas para paliar estas complicaciones.El mayor problema para el uso de algoritmos genéticos, especialmente en las arquitecturas que preservanla topología arbórea, es el tiempo de conversión del genotipo al fenotipo, o el tratamiento del cromosomacomo un árbol. La reescritura de gramáticas mostrada en el apartado anterior permite que la conversión degenotipo a fenotipo sea relativamente rápida, y la evolución sobre cadenas de codones resulta más eficienteque sobre otro tipo de estructura. Además, el uso de cadenas de longitud fija reduce el número de posiblesoperadores a utilizar, teniéndose solo la mutación y el cruzamiento como los más utilizados y aplicables.Estos algoritmos en su ejecución sobre ristras de bits (o de números en este caso), son bastante rápidos ensu ejecución.

Con esta propuesta de Evolución de Gramáticas se espera obtener los mismos resultados comparando conAlgoritmos Genéticos, en cuanto a la estimación de tiempo de evolución obtenido (al utilizar una técnica muyparecida), pero mejores resultados en cuanto al tiempo necesario para calcular la distribución (por realizaruna conversión genotipo-fenotipo sencilla). Como prueba de esta hipótesis, se ha utilizado el mismo conjuntode P sistemas de prueba de 100 y 1000 membranas, utilizando los 1000 P sistemas de 100 membranas ylos 51 P sistemas de 1000 membranas sobre los que se probaron los Algoritmos Genéticos. Los resultadoscomparativos, para las arquitecturas P2P y HP2P se encuentran en la figura 6.10 para 100 membranas y enla figura 6.11 para 1000 membranas.

La implementación de Evolución Gramatical con reescritura de gramáticas que se ha realizado, hautilizado los mismos parámetros que se utilizaron para los algoritmos genéticos. Las diferencias radican en laaplicación de los operadores, ya que mientras el cruzamiento en los algoritmos genéticos debe realizarse sobreun árbol, en la evolución de gramáticas es sobre una cadena de números enteros. De igual forma, la mutaciónen algoritmos genéticos se realiza sobre un árbol, y deben estudiarse las posibilidades de reubicación de lamembrana seleccionada; mientras que en la evolución gramatical, solo es necesario modificar el valor delcodón por otro elegido al azar. Pero en ambos casos, la tasa de mutación, la selección aleatoria del puntode corte, y demás parámetros que modifican los algoritmos, son iguales. El uso de los mismos parámetros,hace más relevante las conclusiones obtenidas, puesto que es una comparación más inequívoca de ambastécnicas. Si bien, es posible que una apropiada selección sobre cada técnica pueda dar resultados diferentes ymejores, el uso de parámetros iguales perjudica de forma similar los resultados en ambas técnicas evolutivas.

La Evolución Gramatical obtiene mejores resultados que los Algoritmos Genéticos. En el cuadro 6.6 sepuede observar como los algoritmos genéticos para la mayoría de los P sistemas mejoran los tiempos globalesde evolución. De entre las conclusiones que se obtienen de estos datos, destaca como las arquitecturas P2Py HP2P siguen presentando un comportamiento similar cuando se utilizan tiempos parciales. También esmuy significativo el hecho de que para 1000 membranas, la evolución gramatical mejore más los tiempos que

99

Page 118: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Arquitectura P2P

(b) Arquitectura HP2P

Figura 6.10: Tiempos comparativos entre Algoritmos Genéticos y Gramáticas Evolutivas conreescritura para las arquitecturas P2P y HP2P, en los P sistemas de 100 membranas. Tambiénse muestran los tiempos de las distribuciones aleatorias con los que ha partido cada heurística.

para 100 membranas, sobre todo, teniendo en cuenta de que en el 8,7% en P2P y e 10,2% en HP2P de loscasos de 100 membranas, la evolución gramatical consigue tiempos peores que los tiempos de los algoritmosgenéticos. Aún así, en términos generales, para 100 membranas -y por supuesto para 1000- la evolucióngramatical es mejor que los algoritmos genéticos. Otro dato significativo, es cómo la población inicial con latécnica de Evolución Gramatical es generalmente peor que con el uso de algoritmos genéticos a medida quecrece el número de membranas. En el cuadro 6.7 se pueden observar estos valores, donde se percibe que con1000 membranas la población inicial generada con Evolución Gramatical es siempre peor que la que generanlos algoritmos genéticos. Aunque este dato no deja de ser una anécdota sobre la que no se ha formuladoninguna hipótesis, ponen de especial énfasis en como la evolución gramatical evoluciona más rápido en buscade mejores soluciones, o bien, es capaz de conseguirlas. Como se ha mencionado, no se han optimizado losalgoritmos utilizados, y por tanto, el simple hecho de mayores repeticiones sobre el mismo podrían convergerhacia el óptimo global que está sin alcanzar. Entonces, bajo las mismas condiciones (y solo mostrado enel caso de los experimentos realizados) la evolución gramatical converge más rápidamente hacia una mejorsolución. En concreto, en el cuadro 6.8 se puede observa como esta técnica tiene una mejora aproximada del57% respecto a su población inicial, y como a medida que aumenta el número de membranas, la mejora esmás significativa.

La evolución gramatical obtiene mejores distribuciones que los algoritmos genéticos en cuanto al tiempode evolución, y sigue manteniendo la similitud entre las arquitecturas P2P y HP2P. Pero además, solventa

100

Page 119: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) Arquitectura P2P

(b) Arquitectura HP2P

Figura 6.11: Tiempos comparativos entre Algoritmos Genéticos y Gramáticas Evolutivas conreescritura para las arquitecturas P2P y HP2P, en los P sistemas de 1000 membranas. Tam-bién se muestran los tiempos de las distribuciones aleatorias con los que ha partido cadaheurística.

Nºde Arquitectura Media (%) Desviación Mínimo (%) Máximo (%)membranas típica(ω)

100 P2P 14,868 10,792 −22,060 47,774HP2P 14,942 10,936 −16,088 49,696

1000 P2P 26,047 3,661 19,787 33,629HP2P 26,254 3,621 19,156 13,712

Cuadro 6.6: Mejoras obtenidas al aplicar evolución gramatical con reescritura de gramáticascontra los mismos test utilizando algoritmos genéticos, para cálculos con tiempos parciales.

101

Page 120: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Nºde Arquitectura Media (%) Desviación Mínimo (%) Máximo (%)membranas típica(ω)

100 P2P −2,732 6,774 −31,025 16,475HP2P −2,962 6,281 −26,254 17,923

1000 P2P −12,167 3,489 −19,661 −3,747HP2P −12,340 2,930 −17,837 −4,059

Cuadro 6.7: Porcentaje de mejora obtenido en la población inicial al usar evolución gramatical,comparado con la población inicial de los algoritmos genéticos, para cálculos con tiemposparciales. El valor negativo indica que la población inicial en algoritmos genéticos es mejor.

Nºde Arquitectura Media (%) Desviación Mínimo (%) Máximo (%)membranas típica(ω)

100 P2P 57,094 5,400 39,339 75,859HP2P 57,305 5,325 42,231 74,362

1000 P2P 66,534 1,990 61,486 69,954HP2P 66,776 1,661 63,519 70,193

Cuadro 6.8: Porcentaje de mejora obtenido tras la evolución gramatical, en comparativa alos tiempos de distribuciones aleatorias utilizados para la misma técnica.

el problema del tiempo de cómputo necesario para generar la distribución, que era una de las carencias delos algoritmos genéticos.

El uso de tiempos parciales modifica los resultados de las arquitecturas disponibles. Por ejemplo, se haobservado que la arquitectura P2P y HP2P al utilizar evolución gramatical con reescritura de gramáticasobtienen tiempos muy parecidos. En la gráfica 6.12 se muestra la comparativa de utilizar la mejor metaheu-rística para cada una de las arquitecturas. No hay que olvidar que la arquitectura MS es sobre la que menospruebas se han realizado, porque en todo momento sus resultados han sido sustancialmente peores.

En la comparación de las arquitecturas se observa que tanto P2P, como HP2P presentan tiemposparecidos cuando sus resultados han sido obtenidos con Evolución de Gramáticas con reescritura. Un análisisprofundo de las arquitecturas hace comprender que P2P sería la mejor arquitectura a utilizar debido a queno requiere el paralelismo que presenta la otra alternativa. En este estudio se ha utilizado el tiempo máximoque tarda cada membrana en evolucionar y comunicar, puesto que es la única forma en la que se puedenestudiar las arquitecturas jerárquicas. En cambio, en la arquitectura P2P se mejoran estos tiempos teóricos,ya que los tiempos reales de aplicación y comunicación son aprovechados. Así, cada procesador no debeesperar su intervalo de comunicación, sino que cuando recibe la orden, puede empezar a comunicar. Seríapor tanto más exacto para estas arquitecturas utilizar el tiempo promedio de aplicación y comunicación decada membrana, obteniéndose otras posibles distribuciones que mejoran los tiempos de evolución.

Aún a pesar de esta conclusión, en la gráfica 6.12b se observa como la arquitectura HMS tras utilizarOptimización por Enjambres de Partículas y dos niveles de Algoritmos Genéticos produce los mejores resul-tados para los únicos 4 casos en los que se ha probado. Aunque el problema del tiempo necesario para estadistribución hace que sea descartada esta alternativa, surge el planteamiento de que esta arquitectura seríala mejor; si bien, deben buscarse nuevas técnicas de distribución para poder conseguir estos resultados. Otromotivo a favor de esta arquitectura, es que aún siendo la peor de todas en los P sistemas de 100 membranas,

102

Page 121: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

(a) 100 membranas

(b) 1000 membranas

Figura 6.12: Tiempos comparativos para las diferentes arquitecturas utilizando la metaheu-rística que mejores resultados obtiene.

resulta ser la mejor cuando el número de membranas ha crecido a 1000.

103

Page 122: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Par

te

IV

Distribuciones dinámicas

104

Page 123: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

7Distribución dinámica

Los algoritmos de distribución estática mostrados, analizan las membranas con sus reglas de evoluciónasociadas y hacen uso de las diferentes arquitecturas existentes, para realizar un reparto de las membranasen diferentes nodos de un clúster de procesadores, y obtener el menor tiempo posible de evolución. En elestudio minucioso de las reglas, se contemplan los factores que afectan al estado de la membrana y a sucontexto total. Sin embargo, la disolución de membranas apenas se ha tenido en cuenta; especialmente ladisolución de la propia membrana. En primer lugar, en el árbol de decisión de reglas activas de la membranai , se contempla que otras membranas, como j , se pueden disolver. Pero no se calcula la probabilidad de quela disolución de j exista, sino que se considera que son equiprobables la disolución o no. Si se considera queesa disolución de j vendrá determinada por la probabilidad de aplicar una regla que implique disolución enla membrana j , la probabilidad de que se haya disuelto la membrana j no será equiprobable. Además, parael análisis en la membrana i , la probabilidad será condicionada no solo a la disolución de la membrana j ,sino a el estado de disolución de todas las membranas descendientes de i y ascendientes de j , puesto queinicialmente j no tiene porqué ser hija de i .

La probabilidad de que j se disuelva (lo mismo se podría aplicar para que se vuelva permeable), estádeterminada en su árbol de decisión de selección de reglas activas. Si en dicho árbol aparece algún conjuntode reglas que contenga alguna regla que implica disolución de la membrana, la selección de ese multiconjuntoconllevará a dicha disolución. Así, la disolución estará marcada por la probabilidad de seleccionar algún con-junto de reglas del árbol de decisión de selección de reglas activas. Este valor es conocido, y está determinadopor el

∑csx=1 0,5nx , donde cs ⊆ c j es el conjunto de nodos del árbol de decisión que contienen alguna regla que

disuelve la membrana y nx es el número de nodos internos del camino de la raíz a la hoja x. En el ejemplode la figura 7.1, donde solo r4 disuelve la membrana 1, la probabilidad de que dicha membrana sea disueltaes del 9,375%, lo que muestra lo desacertado del uso de una probabilidad del 50%.

Pero la probabilidad de que esta membrana j -en el ejemplo, la membrana 1-, está también determinadapor la existencia (o disolución) de las membranas que aparecen en su árbol de decisión de selección de reglasactivas. En el ejemplo, membranas 2 y 4. Pero, las membranas elementales, al no contener otras membranas,pueden determinar su probabilidad de disolverse. Así, el cálculo del tiempo necesario para la selección yaplicación de reglas, estará determinada por una probabilidad compuesta por la probabilidad de la disoluciónde las membranas descendientes. Y, la estimación de los tiempos de aplicación de las membranas deberá

105

Page 124: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 7.1: Ejemplo de un P sistema de transición con el árbol de selección de reglas activaspara la membrana 1. [Fuente: [Frutos et al., 2009]]

106

Page 125: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

realizarse en un recorrido en postorden del árbol que conforman las membranas del P sistema.

Hasta este momento, se ha tratado el P sistema en base a su configuración inicial, y el análisis de sutopología. La topología o parte estática del P sistema está definida por la estructura de membranas y lasreglas que contienen (con sus prioridades). Esta parte es invariable en el tiempo, y no depende de ningunaconfiguración. Por contra, los P sistemas presentan objetos que variarán con el tiempo, en función de laaplicación de reglas. Estas variaciones se realizan de forma no determinista en cada transición, lo que haceque sea inviable un estudio estático del mismo. Es decir, que sabiendo la configuración del P sistema, no sepuede determinar la configuración siguiente a la que evolucionará.

Este problema ha sido objeto de diversas investigaciones, tratando de encontrar algún posible comporta-miento o conjunto de comportamientos a partir de la definición estática del sistema. Por ejemplo, si se sabeque en una configuración, de un objeto no hay repeticiones, y ninguna regla genera dichos objetos, las reglasque necesiten dichos objetos nunca podrán ser aplicadas. Por supuesto, no basta solo con que las reglas dela membrana no lo generen, sino que tampoco pueden estar en la región de la membrana, ya sea porquesean generados en otra membrana, o porque sean posicionados en ésta por disolución de otras membranas.

El problema de la búsqueda del comportamiento dinámico a partir de la topología estática, no es exclu-sivo para este modelo. En 2007, Frisco ya planteó una serie de sugerencias de investigación donde apareceel descubrimiento de los lenguajes generados por Redes de Petri pseudo-aleatorias. En 2011, una revisiónde estos planteamientos vio la luz en [Frisco and Hoogeboom, 2011]. Aunque el planteamiento de Friscoes sobre Redes de Petri, se ha mostrado que varios modelos de computación abstractos son equivalentes.En [Qi et al., 2004] y en [Zilio and Formenti, 2004] se presenta esta equivalencia, y cómo se puede conver-tir un P sistema en una Red de Petri. Así, Frisco, en [Frisco, 2006] analiza ambos sistemas (P sistemasy Redes de Petri) junto con las Máquinas de Registro, obteniendo resultados que pueden ser aplicables acualquiera de los modelos. En este texto, se presentan lo que Frisco denomina bloques de construcción (joiny fork), que permiten construir redes equivalentes a todas las Redes de Petri. En [Peña and Frisco, 2010]se realiza un estudio sobre las Redes de Petri compuestas por joins y fork para tratar de predecir el com-portamiento a partir de la topología estática; tratando de dar alguna solución al planteamiento de Frisco en[Frisco and Hoogeboom, 2011]. Los resultados obtenidos, son aplicables a los múltiples modelos de compu-tación abstractos que pueden ser equivalentes a las Redes de Petri planteadas, y entre los que se encuentranlos P sistemas. En dicho estudio, se analiza la existencia de ciclos en el comportamiento, así como la exis-tencia de los múltiples caminos de ejecución que la misma red puede tomar. La conclusión es que el uso dejoins fomenta la convergencia del sistema, mientras que con un alto número de forks la probabilidad de queexistan ciclos es elevada. Traducido esto a los P sistemas, influye en que las reglas que consumen objetos(más objetos en el antecedente que en el consecuente) tienen a la fomentar la finalización del sistema,mientras que el caso contrario actúa al revés. Si bien, la estrategia de evolución no es la misma que en losP sistemas, y los resultados no son tan extrapolables.

Aún a pesar de la dificultad de predecir el comportamiento de los P sistemas, sí está demostrado quelas configuraciones iniciales cambian, y que la parte dinámica del sistema influye en su comportamiento. Seha mencionado que para seleccionar el conjunto de reglas activas, hay que tener presente la disolución demembranas, y que estas variaciones influyen en el tiempo necesario para seleccionar las reglas. Cuando unamembrana es disuelta, los árboles de decisión de selección de reglas que utilizan esta membrana (es decir,las membranas ascendientes), pueden modificar su árbol, puesto que la evaluación de la existencia de estamembrana solo puede dar un resultado falso. Se puede, por tanto, eliminar dicha comprobación, y reducir eltiempo que se tarda en seleccionar las reglas. Incluso, podría resultar eficiente volver a crear un nuevo árbol.

Pero no solo influyen en el tiempo que una membrana tarda en seleccionar las reglas activas, sino quetambién influye en el tiempo que un procesador tarda en la aplicación de reglas de sus membranas. Si unamembrana es disuelta, el procesador que la contiene no debe realizar la selección y aplicación de reglas sobreesa membrana, eliminando estos tiempos. Incluso la fase de comunicación se podría ver reducida puesto quede esta membrana no hay que enviar ni recibir objetos. Ahora bien, es posible que la eliminación de estamembrana provoque que otras membranas ejecuten otras reglas que previamente no ejecutaban, y varíen sustiempos reales de aplicación y comunicación.

107

Page 126: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

La selección de reglas de aplicación (y el número de reglas a aplicar) inicialmente puede ser calculado enbase a la existencia de membranas, y solo dependería de los multiconjuntos de objetos que las membranascontienen. Es por ello, que en cada configuración se puede estudiar el tiempo exacto que es necesariopara la transición a la configuración siguiente. Pero para esta nueva configuración el tiempo ha variado: losmulticonjuntos de objetos han cambiado, y por tanto la selección de reglas cambian (además, por los cambiosde membranas) y la aplicación; pero también las comunicaciones varían, al haber desaparecido membranas.

En las distribuciones de los P sistemas, se utilizan valores estimados del tiempo de aplicación y comuni-cación, con el fin de obtener buenas distribuciones para cualquier configuración, pero sin estar optimizadospara la configuración exacta que se plantea, puesto que con las transiciones, las configuraciones varían. Ade-más, las arquitecturas que realizan comunicaciones en paralelo, requieren que se utilicen unos intervalos quecorresponden con los tiempos máximos, para tener garantías de que siempre se puede realizar la computación.Así, para cada configuración, la distribución a utilizar podría ser diferente, con el fin de mejorar los tiempos.Incluso, una buena distribución para una configuración, podría ser nefasta para otra configuración; y ambasconfiguraciones podrían existir en la misma computación, dependiendo de la aplicación no determinista quese realiza en el P sistema.

Este planteamiento hace presente que la distribución no deba ser algo estático basado en la topologíadel P sistema, sino que deba ser algo dinámico, con el fin de mejorar los tiempos de la computación (y nosolo de una evolución), considerando el no determinismo.

7.1. Control de tiempos, e intervalos de control

Las estimaciones que son utilizadas para la distribución inicial de las membranas, se basan en la parteestática del P sistema. En concreto, en las membranas y reglas existentes. Utilizan los árboles de decisiónpara la selección de reglas activas, y las propias reglas, para estimar el tiempo que se necesita para realizar laselección y aplicación de reglas en la membrana. De forma similar, se utilizan las membranas, las relacionesde parentesco entre ellas, y las indicaciones de posibles objetos que comunicarán y que están indicados enlos consecuentes de las reglas, para determinar el tiempo estimado de comunicación entre dos membranas.Con el conjunto de estos tiempos, y en base a las propiedades de los proxies, se decide el tiempo estimadonecesario para la comunicación entre dos procesadores, por acumulación de los tiempos relativos de lasmembranas que contienen. Estos tiempos estimados, suelen ser determinados en base a la arquitectura autilizar. En general, se deberían utilizar tiempos medios, con el fin de que las estimaciones sean las másapropiadas. Sin embargo, en las arquitecturas en las que se realizan múltiples comunicaciones en paralelo,no pueden utilizarse estos tiempos, pues en el caso de que alguna comunicación (o aplicación de reglasen las membranas de un procesador) tarde más del tiempo destinado, se provocarían colisiones en la red,desordenamiento de mensajes, o cualquier otra anomalía que producirá que la computación no se puedarealizar. Para ello, en las estimaciones, se utiliza el tiempo máximo, y las comunicaciones están delimitadaspor intervalos de tiempo fijos.

Con la evolución de los P sistemas, las características utilizadas para la determinación de los tiemposestimados de aplicación y comunicación, varían. La inexistencia de ciertos objetos, o la disolución de mem-branas descendientes, puede hacer que el tiempo de aplicación estimado para la aplicación de reglas se veaalterado. De forma similar, la disolución de membranas, o la presencia de otros objetos en las regiones de lasmembranas, provoca que sean otras las reglas a aplicar, y por tanto, las comunicaciones, de los objetos gene-rados, entre membranas, serán distintas. Por último, la disolución de una membrana conlleva a que el tiempode aplicación y las comunicaciones entre procesadores provocadas por estas membranas sea eliminado.

Estos cambios en las membranas conllevan cambios en los tiempos de aplicación y comunicación, ypor tanto, el mantenimiento de los mismos estimadores de tiempo, y misma distribución del P sistema,provocarían que el tiempo de evolución fuera demasiado alto respecto a las pretensiones y posibilidades.Estas variaciones, no pueden ser conocidas previamente a que se produzca el cambio, por el no determinismo

108

Page 127: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

del sistema. Así, una distribución inicial basándose en los factores conocidos es una buena alternativa,pero el mantenimiento de esta distribución cuando se conoce que ha habido modificaciones es una nefastaestrategia. Así, es necesario que los estimadores sean permanentemente actualizados, con el fin tener unmayor conocimiento de los tiempos de evolución del sistema. Es necesaria una monitorización del sistema,con el fin de poder realizar reajustes en la distribución, para intentar paliar los efectos que el no determinismoy la evolución crean en el tiempo marcado por la distribución realizada.

La propuesta consiste en el uso de cronómetros y acumuladores, con el fin de contabilizar el tiempo realutilizado y compararlo con el tiempo estimado. Al existir dos partes claramente diferenciadas e influyentesen el tiempo necesario para una transición, ambas pueden ser analizadas separadamente. La selección yaplicación de reglas se realiza en cada membrana, y es realizada por todas las membranas de un procesador,de forma secuencial. Se puede calcular el tiempo que tarda un procesador en realizar esta selección y aplicaciónde reglas para el conjunto de membranas, y también para cada membrana individualmente. La propuesta esconocer este tiempo individualmente, con el fin de tratar de conocer los tiempos con el mayor detalle posible.La comunicación entre membranas es realizada por los proxies de las arquitecturas, si bien, no existe diferenciaen el envío de mensajes entre todas las arquitecturas. Todas las arquitecturas realizan su comunicación entredos proxies, y en el envío mandan la información referente a los nuevos objetos creados, y a las membranasdisueltas. En este caso, no es posible conocer el tiempo real de comunicación por membrana, puesto que losproxies se encargan de agrupar todos los objetos de todas las membranas para enviarlos en un solo mensaje.Lo que si se puede separar es el tiempo de agrupamiento y desagrupamiento en los proxies de los procesadoresmaestros intermedios de la arquitectura HMS. En este caso, se puede contabilizar el tiempo invertido porcada una de las comunicaciones de estos proxies con su padre y sus hijos. Es decir, en los procesadoresmaestros se puede contabilizar el tiempo de la comunicación, aunque esta dependa de otros factores, y aúna pesar de la inexistencia de membranas.

Los cronómetros, siguiendo estos principios, deberían ser utilizados en cada membrana para conocer sutiempo de aplicación, y en los proxies, para conocer los tiempos de comunicación con los respectivos proxiessituados en los procesadores hijos y padre. Al ser diferentes elementos albergados en el procesador los que sonobjeto de medición, se sugiere el uso de acumuladores o registros para la contabilización de estos tiempos, deforma que sea el propio elemento medido el encargado de almacenar su medición. En el caso de los proxies,será uno por cada comunicación existente; pero como el contenido de estos proxies contiene a los proxiesde los procesadores con los que comunica, será en estos proxies donde se almacenen dichos valores. En lafigura 7.2 se muestra donde quedarían los acumuladores (marcados con A) utilizando el ejemplo de la figura4.12. Los acumuladores estarían en las membranas 4, 7 y 8, que son las que contiene el procesador, y en lareferencia a los proxies 1 y 3, que son los ubicados en los procesadores padre e hijo respectivamente.

El objetivo de mantener registro del comportamiento del P sistema (en este caso, de los tiempos utilizadosen su evolución), permite analizar las decisiones no deterministas que va tomando, con el fin de que unaposible redistribución trate de utilizar no solo las características actuales de la configuración del P sistema,sino el comportamiento observado a lo largo de sus transiciones. El no determinismo del sistema provoca,que aunque se puedan analizar el estado actual y la tendencia mostrada, no sea posible predecir las próximasevoluciones que serán realizadas en el P sistema. Ni siquiera saber cuándo va a terminar la computación delmismo. Estos dos motivos hacen ser cautos a la hora de tomar decisiones respecto a una redistribución delmismo.

Además del problema de no poder predecir si otra distribución será mejor para las próximas configuracio-nes del P sistema, se debe tener presente que la aplicación de dichas distribuciones tiene un coste asociado,además del propio coste de estudiar cuál sería la mejor distribución con las condiciones actuales. Es porello necesario analizar cómo se debería hacer la redistribución de membranas, de tal forma que si la nuevadistribución propone que algunas membranas deberían estar contenidas en otro procesador, se deban aportarmétodos que faciliten la reubicación de las membranas con el mínimo coste. Esta problemática se detalla enel capítulo siguiente, quedándose ahora con la subyacente idea de que la reubicación de membranas tiene uncoste temporal asociado.

El uso de cronómetros, no se contempla como un factor que altere al tiempo global de evolución, al ser

109

Page 128: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Figura 7.2: Ejemplo del contenido del procesador 2, con sus acumuladores de tiempos deevolución, según el ejemplo de la figura 4.12.

insignificante respecto al resto de operaciones que ocurren en los procesadores. Pero si se mostrara que estetiempo es significativo, podría estudiarse y catalogarse, con el fin de ser incluido como un parámetro máspara la distribución estática del P sistema. Sin embargo, el tiempo necesario para estudiar una redistribución-y por supuesto, también para aplicarla- si es significativo respecto al tiempo necesario para cada transición.Además, en las arquitecturas jerárquicas, donde existe solapamiento de etapas, es complicado el análisis delos datos existentes en los acumuladores, puesto que mientras que unos procesadores se encuentran en la fasede comunicación, otros ya están en la fase de aplicación de la siguiente transición. Aunque una alternativapara eliminar este problema sea el no solapamiento de etapas, la pérdida de rendimiento del sistema seríademasiado elevada. Por tanto, se debe estudiar cada arquitectura por separado, haciendo hincapié en lascaracterísticas peculiares de las mismas.

Como norma general, existirá una comunicación entre proxies que permita analizar cuando el tiempo deevolución del sistema es muy variado de acorde al tiempo de estimado del mismo. En esta comunicación, losproxies enviarán los respectivos tiempos asociados a las aplicaciones y comunicaciones que ellos realizan. Sibien, esto sobrecarga la red, aumentando el tamaño de los mensajes, puede ser reducido cuando el envió deestos sea cada un número determinado de evoluciones. Además, en arquitecturas donde no existe el parale-lismo de las comunicaciones, se puede realizar estas comunicaciones asíncronamente a las comunicacionesrealizadas por los proxies con los objetos y las membranas disueltas, de forma que la comunicación de tiempossea realizada cuando la red esté desocupada.

Una alternativa consiste en crear una Red de Neuronas distribuidas, donde los acumuladores sean lasentradas a las neuronas, y estas se comuniquen con el fin de detectar cuando sería necesaria una redistribución.Las neuronas, además, pueden contener otras entradas, como el número de membranas por procesador, ola indicación de las propias membranas y comunicaciones existentes entre proxies. Siendo así, puede ser lapropia red la encargada de realizar una redistribución, utilizando como aprendizaje las estimaciones realizadasy los tiempos reales. La Red sería capaz de determinar cuál es el tiempo de aplicación de cada membrana,utilizando como entrada los contenidos de los acumuladores de la misma membrana.

Pero como el cálculo y la forma de determinar cuándo es necesaria una redistribución, dependen de la

110

Page 129: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

arquitectura, lo mejor es separar los métodos encontrados para dicho fin, en secciones independientes.

7.2. Arquitecturas Peer-to-Peer y Peer-to-Peer Jerárquica, conrecálculo total

Para poder analizar los resultados globales de los acumuladores, y analizar cuándo y cómo debe realizarsela distribución, es necesario hacer un estudio exhaustivo del comportamiento que se va a obtener de laarquitectura. La arquitectura P2P se caracteriza por no tener un solapamiento en las etapas de comunicación yaplicación; si bien, el comportamiento del proxy que implementan contempla esta posibilidad de solapamiento.Es necesario, por tanto, un mensaje de multidifusión desde el procesador raíz, para que todos los procesadoresconozcan el momento exacto en que termina una transición; y así, poder empezar la siguiente de formacoordinada. En ausencia de este mensaje, los procesadores pueden obtenerlo por escucha activa en la red decomunicaciones: cuando el último procesador hijo del raíz comunique con éste, será el punto en el que lascomunicaciones hayan finalizado. La última alternativa, es no contemplar el sincronismo de etapas, y quecada procesador pueda empezar su etapa de aplicación en el momento en que termina la comunicación consu padre. La situación de que todos los procesadores esperen a que el último hijo comunique con el padre,implica que todos los procesadores conocen cuales son los procesadores hijos de la raíz; porque aunque sevio que los procesadores solo necesitan saber la topología de los procesadores antecesores y descendientes,en este caso, todos conocerán la existencia de los procesadores hijos de la raíz.

En la arquitectura P2P, las comunicaciones están organizadas, de forma que el procesador raíz sea elúltimo en recibir la información, y por tanto, pueda tener una información completa del sistema. Si cadaprocesador comunica a su padre los contenidos de los acumuladores que contiene, y los recibidos por los hijos,el procesador raíz tendrá toda la información de los acumuladores. Con esta información, en el procesadorraíz se puede realizar el análisis de la necesidad de realizar una redistribución de las membranas, e incluso,decidir cuál debería ser esta redistribución. Como ya se ha indicado, el indeterminismo del sistema conllevaa que la misma distribución pueda ser eficiente o no, dependiendo del reparto no determinista de objetos enreglas. El realizar continuamente redistribuciones puede provocar que los movimientos de membranas entreprocesadores que se hacen con la configuración ci sean realizados inversamente para la configuración ci+1,con la considerable pérdida de tiempo. Así, por tanto, se proponen dos formas de hacer el análisis: utilizandoun número fijo de transiciones (cr , por su representación como número de configuraciones), o cuando eltiempo real de la transición sea un α peor que el tiempo estimado para el mismo cometido.

En ambos casos, cada membrana debe determinar el tiempo estimado que necesitará para sus evoluciones,y de igual forma, cada procesador debe estudiar cuanto tiempo invierte en cada fase de comunicación. Elestudio de cada membrana se puede realizar o bien recalculando el árbol de decisión para la selección dereglas activas y volviendo a calcular el tiempo necesario (media o máximo) para su recorrido y posterioraplicación de reglas; o bien, utilizando los valores reales obtenidos en la aplicación, y que se encuentranen los acumuladores de la membranas. La segunda opción, si bien parece la más exacta, no contempla loscambios que se pueden producir por la disolución de otras membranas en el futuro, pudiendo inducir aun grave error. Una tercera alternativa sería un híbrido de ambas, donde se consideran los tiempos realesque se están obteniendo, y los tiempos posibles que se pueden obtener. Teniendo en cuenta que no existencomunicaciones en paralelo, y que los demás procesadores están ociosos mientras dos de ellos comunican,el que los tiempos reales sean superiores a los tiempos estimados no presentan ningún problema, salvo lapérdida de tiempo.

Si la opción elegida para el recálculo es que se hayan realizado cr transiciones, cada ese número detransiciones todos los procesadores comunicarán a su padre, junto con los objetos y membranas disueltas,los nuevos tiempos estimados de la membrana, y los tiempos de comunicación que ese procesador obtiene.Considerando que en cada evolución, existen momentos en los que el procesador está ocioso, esperando a quehaya comunicación entre otros procesadores, se puede realizar el recálculo del árbol de decisión de selección

111

Page 130: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

de reglas activas, y el nuevo estimador de tiempo asociado, en dicho tiempo ocioso; mejorando tanto lostiempos reales, como los tiempos estimados en cada evolución. En la evolución que coincida con un múltiplode cr , en el mensaje enviado al padre se añadirán estos tiempos, junto con los tiempos de las comunicacionesque realiza el procesador, y los tiempos recibidos de los procesadores hijos. El procesador raíz, cuando recibaestos tiempos, realizará una nueva distribución de membranas en procesadores.

En el caso de que siempre se analice si es necesaria la redistribución, en los mensajes enviados delprocesador hijo al padre, se añadirán estos valores, tanto los contenidos en el procesador, como los recibidospor los procesadores hijos. El procesador raíz, con los valores obtenidos calculará cuanto es el tiempo real quese ha necesitado para la transición, y lo comparará con el tiempo estimado. Si el tiempo real es superior a unα% del estimado, se realizará una nueva distribución. Existe una alternativa para evitar que los procesadoresestén continuamente comunicando a los padres sus tiempos. El procesador raíz puede poner un cronometrocuando empiece su etapa de aplicación, que parará cuando finalice de reubicar objetos, y realizar la disoluciónde las membranas, recibidos en el mensaje del último de sus hijos. Este tiempo, es exactamente igual altiempo que se tarda en realizar la transición, y por tanto, el valor necesario para comprobar el grado decumplimiento de las estimaciones. Es más, este tiempo será inferior al anterior, puesto que no es necesariauna comunicación sobrecargada de tiempos entre los procesadores. El problema asociado a dicho métodoreside en que en caso de ser necesaria una redistribución, el procesador raíz desconoce los tiempos quetardan las membranas en aplicar y los procesadores en comunicar, por lo que debe solicitarlos a todos losprocesadores, con la consiguiente pérdida de tiempo. Así, el uso de una u otra estrategia estará determinadopor el grado de acercamiento de las estimaciones, y por el tiempo en la implementación de la penalizaciónde las comunicaciones al añadir los tiempos almacenados en los acumuladores.

Se considera que existen tres estrategias de sincronización entre los procesadores: mensaje de difusióndel procesador raíz a los demás al final de la transición, monitorización de la red por parte de todos losprocesadores para detectar cuando comunica el último procesador hijo al raíz, y aplicación en cada procesadorinmediatamente después de la comunicación. La estrategia de reubicación cada cr transiciones puede utilizarsecon cualquiera de las estrategias mencionadas, con la condición de qué al final de las transiciones múltiplos decr , los procesadores deban esperar a un mensaje del procesador raíz indicando cuál es la nueva distribución,o que pueden continuar con su evolución. En cambio, cuando siempre se evalúa, solo se puede ejecutar laalternativa de que sea el procesador raíz el que dé la orden de empezar la nueva etapa de evolución.

Se podría, sin embargo, utilizar cualquier estrategia de sincronización si se añaden nuevos elementosy sincronismo al sistema. En cada procesador se puede empezar la aplicación de reglas en las membranas,aunque no se haya decidido si se va a hacer redistribución, ni cuál va a ser ésta. Una membrana puedeaplicar sus reglas, si se considera esta etapa como una indivisible, de forma que si un procesador empieza laaplicación de reglas en esa membrana, no parará su ejecución hasta terminarla. Así, aunque reciba la ordende que debe realizar una redistribución, esa membrana, se reubique o no, lo hará con el estado de haberconvertido sus objetos en nuevos -con sus destinos correspondientes- y con la indicación de si al final se debedisolver o no. Además, será necesario que cada membrana tenga una marca, para saber si ya ha evolucionadoo no; de forma que al transferirla a otro procesador se sepa si se debe realizar la aplicación de reglas o nosobre dicha membrana. Así, es posible que se reubiquen membranas con la fase de aplicación ya realizada,junto a membranas que aún no lo haya hecho. Los procesadores, para aplicar, deberán chequear primerosi se ha realizado ya la aplicación o no. La aplicación asíncrona tiene beneficios cuando las membranasde los procesadores ascendientes tardan menos en aplicar. Por ejemplo, si las membranas del procesadorraíz tardan menos que las del primer procesador hijo, la comunicación entre ellos sufriría una espera hastaque el procesador hijo terminara de aplicar. Pero si el procesador hijo comienza su aplicación antes de laraíz, podría terminar antes, y eliminar esta espera. Como los tiempos no son constantes, y dependen defactores aleatorios, se recomienda que los procesadores empiecen la etapa de aplicación cuando terminan decomunicar, aún a expensas de incluir un nuevo elemento en cada membrana.

Sea cual fuere el método elegido para realizar una redistribución la forma de buscar ésta es exactamen-te igual. Se puede utilizar cualquiera de los algoritmos mencionados para la distribución estática, con dosvariantes. En primer lugar, y puesto que todos los algoritmos eran ejecutados sobre poblaciones -sean cro-mosomas, genotipos o partículas-, uno de los individuos debe contener la distribución actual, y el reemplazo

112

Page 131: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

generacional no puede permitir que se pierda el individuo mejor adaptado. Así, en el caso de no encontraruna solución mejor, se seguirá con la distribución actual. En segundo lugar, se debe contabilidad el tiempode reubicación de membranas. De tal forma, que si una membrana debe ubicarse en otro procesador con ladistribución realizada, el tiempo de reubicar esta membrana será añadido como tiempo de evolución del Psistema, para la función de adaptación. Como estas reubicaciones solo se realizarán una vez, y la intencióncon la redistribución es que en las siguientes transiciones no sean necesarias nuevas redistribuciones, el tiem-po de reubicación será reducido en un factor, que debe ser definido. Se podría por ejemplo utilizar comofactor, el número de transiciones que se estima se van a producir sin realizar otra redistribución. Si bien, nodejan de ser nuevas estimaciones, que afectarán a los resultados obtenidos. Por último, se debe señalar, quese pueden obtener individuos cuyas distribuciones tengan un bajo valor de adaptación, pero que con otrorenombramiento de los procesadores, sea una solución más óptima. Sin embargo, el proceso de búsquedade grafos isomorfos se encuentra dentro de la clase de problemas NP, por lo que no es viable realizar estacomprobación. Aunque si se puede usar una pequeña aproximación, que renombre cada procesador en baseal nombre del procesador de la distribución original que contiene a la mayor parte de sus membranas. Aún apesar de esto, se confía en los métodos evolutivos, con el fin de poder encontrar mejores distribuciones quelas actuales, con pocas generaciones, puesto que el coste computación de calcular una nueva distribución,se está restando del rendimiento del sistema.

La arquitectura HP2P, aunque presenta un comportamiento diferente, que mejora los tiempos de evo-lución, para las distribuciones dinámicas se puede estudiar en conjunto. La casuística presentada para laarquitectura P2P, puede ser utilizada -con pequeñas salvedades- para la arquitectura HP2P. La única dife-rencia entre ambas arquitecturas, es que en HP2P los procesadores no pueden monitorizar la red para conocercuando el último hijo del procesador raíz comunica con este. Así, salvo esta diferencia, todo lo aportado parala arquitectura P2P es aplicado para la arquitectura HP2P. También debe tenerse en cuenta que al utilizanintervalos fijos de comunicación, las estimaciones realizadas deben ser siempre superiores al tiempo real deaplicación y comunicación. Esto vuelve a entorpecer en el buen uso del sistema, y los métodos mostradospara el estudio dinámico del P sistema.

7.3. Arquitecturas Peer-to-Peer y Peer-to-Peer Jerárquica, conrecálculo de adyacentes

Con las redistribuciones de membranas en procesadores (o distribución dinámica), para la arquitecturaP2P, mediante las técnicas mostradas en la sección anterior, se consiguen mejores tiempos globales delsistema. Con una introspección de los elementos que componen el P sistema, a medida que se van sucediendolas evoluciones, se consigue un mejor conocimiento del sistema, y las estimaciones son más cercanas a lostiempos reales. Suele ser necesaria alguna reubicación de membranas, pero por lo general, estas reubicacionesmuestran inconvenientes, como se ha observado en los pocos ejemplos que se han realizado. Una de lasconclusiones obtenidas es que los estudios globales -tanto crear una nueva redistribución, como analizar sies necesaria o no- es que el tiempo invertido, que es tiempo que no se dedica a la evolución del P sistema,es demasiado alto.

Se debe tener en cuenta que la reubicación de una membrana no es un proceso aislado que influya soloentre los dos procesadores involucrados, sino que además, otros procesadores deben recibir esta informacióny reajustar sus proxies (en el capítulo siguiente se da más detalles). Además de esta implicación, que se hatenido presente para las implementaciones realizadas, es necesario determinar el máximo de generacionesque se generarán. Se ha probado con los dos algoritmos que presentan similitudes -en cuanto a resultados,que no a tiempos- (algoritmos genéticos y gramáticas evolutivas), obteniendo resultados que mejoran lostiempos globales del sistema.

El método de probar la eficiencia de la reubicación de membranas, ha consistido en que dado un P sistema,se ha realizado su distribución estática, y se ha evolucionado un número determinado de configuraciones. En

113

Page 132: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

esta situación se ha almacenado el P sistema resultante, y se ha observado si eran necesarias redistribucionesde membranas. Con la nueva redistribución, se ha evolucionado el P sistema hasta su finalización, varias veces,para obtener los diferentes tiempos que tarda el P sistema si se realizan redistribuciones. De igual forma,y partiendo del P sistema almacenado -sin redistribuir- se han ejecutado varias ejecuciones, para obtenerdiferentes valores del tiempo que tardaría sin redistribuirse. El uso de repeticiones sobre el mismo P sistema,se considera necesario, pues al tratarse de sistemas no deterministas, cada ejecución obtienen resultadosdiferentes. Se han comparado esos tiempos, y también los tiempos de la evolución sin redistribución, contrala evolución con redistribución junto con los tiempos de análisis de la necesidad de la redistribución, lostiempos de reubicación, y los tiempos de cálculo de la nueva distribución. Los resultados obtenidos sonpoco concluyentes, por el pequeño banco de pruebas utilizado, y la no optimización de ninguno de losalgoritmos utilizados. Sin embargo, y aunque se debería trabajar más sobre el tema, podemos extraer algunasconclusiones interesantes.

La redistribución, no es una buena técnica cuando el P sistema es pequeño (< 1000 membranas), nicuando se realiza en un momento cercano al final de la evolución del P sistema (aunque esto a veces dependede la utilización de reglas en las siguientes etapas, y por tanto del no determinismo del P sistema). Tambiénse ha observado que el cálculo de si se debe hacer una redistribución, es una penalización para el sistemabastante grande, por paralizar al mismo de su evolución. Sobre todo, en los sistemas grandes. Respecto a lasnuevas distribuciones obtenidas, se observa, que suelen implicar poco movimiento de membranas. Se creeque es debido a que cada movimiento lleva asociadas muchas comunicaciones y cambios en los procesadoresconsanguíneos. A veces, la mejora y el movimiento de las membranas, conlleva a la desaparición de algúnprocesador. En estos casos, previo a la redistribución, este procesador contenía membranas que se handisuelto, y, las membranas ubicadas en el procesador padre, para comunicar con sus nuevas hijas, debíanhacerlo a través de este procesador, que solo recibía mensajes, y los mandaba a otro, añadiendo un retardoinnecesario.

Para la arquitectura HP2P se ha tratado de realizar la misma prueba, pero se ha observado que cuandoun procesador desaparece, o bien se considera que existe, por lo que no hay mejora real, o bien, se debemodificar todo el proceso de comunicación, reordenando los mensajes, informando a los procesadores, etc.,con el consiguiente coste. En este caso, es más ineficiente la redistribución que seguir utilizando la distribuciónoriginal.

La primera implicación que estos estudios tienen sobre el planteamiento original de la redistribución,es que si se utilizan algoritmos genéticos para la elección de la nueva redistribución, las operaciones decruzamiento son poco beneficiosas, por lo que se recomienda utilizar solo mutaciones. Así, la eficiencia delalgoritmo crece, y la probabilidad de encontrar nuevas distribuciones que mejoren el tiempo también. Además,se evitan los problemas de que las distribuciones de la población inicial tengan un bajo fitness, pues seríancreadas a partir de una mutación de la distribución actual.

Una alternativa al análisis global, y con una idea mostrada en este, es el recálculo parcial. Como se haobservado, pequeños cambios de ubicación de membranas pueden mejorar los tiempos globales. También seha observado que durante gran parte de la evolución, algunos procesadores están ociosos. Unificando ambasconsideraciones, surge la intención de realizar reubicación de membranas en los procesadores, mientras estosestán ociosos. Si bien, no se deben realizar reubicaciones sin sentido, ni sobrecargar al sistema por reubicacio-nes que no presenten mejoras. La propuesta, es analizar el balanceo de los procesadores descendientes, con elfin de hacer reajustes. Este rebalanceo, por supuesto, es referido al tiempo, y no al número de procesadores,ni al número de membranas por procesador. Un procesador, puede conocer cuánto tiempo tardan cada unode sus hijos (con sus correspondientes descendientes) en comunicar. Además, si alguno de los procesadoresdescendientes tardara más de lo previsto en aplicar, esta penalización sería mostrada en el tiempo de comu-nicación; pues en la fase de comunicación, dicho procesador debería esperar a primero terminar la aplicación.Así, con el estudio de los tiempos invertidos por cada uno de los descendientes, el procesador puede conocersi está balanceado el árbol o no. Y en caso de que no fuera así, puede utilizar el tiempo ocioso (por ejemplo,después de comunicar al padre, y aplicar, y antes de una petición de comunicación por el padre) para buscarsoluciones que mejoren la eficiencia de ese subárbol. En este caso, sobre dicho subárbol, se pueden utilizartodas las técnicas mencionadas en la sección anterior sobre el árbol entero. Aunque en general, el objetivo

114

Page 133: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

es mover membranas del descendiente que más tarda hacia los que menos tiempo consumen. Por ello, losalgoritmos reubicativos, en vez de basarse en una aleatoriedad total, estarían sesgados a que este hecho seproduzca. Además, hay que tener presente que en los hijos de estas raíces de los subárboles puede ocurrirlo mismo, por lo que antes de realizar la redistribución en los niveles superiores, debería ser realizada en losinferiores, pues así, podría ser que se solventa el problema. Es por tanto necesaria una comunicación entreel padre con sus hijos, para saber si estos se están encargando de hacer reubicación. Aunque, esto podría irindicado en los mensajes junto con la comunicación de objetos y membranas disueltas.

Para la arquitectura HP2P el estudio sigue siendo igual de válido. Sin embargo, el determinar el tiempoque tarda cada hijo es más complicado, puesto que este puede terminar, y debe esperar a que sea su intervalode comunicación. Si bien, este puede incluir en su mensaje los tiempos necesarios. El otro problema asociadoa esta arquitectura es que una variación en el tiempo de comunicación -bien por retraso en la ejecución dereglas, o bien por exceso en la propia comunicación- conlleva a la pérdida del sincronismo de mensajes, y portanto, a la posibilidad de colisiones en los mensajes. Así, la modificación en la distribución, no conlleva unavariación en los intervalos de tiempo asignados a cada procesador, y por tanto, no es una mejora real delsistema. Sin embargo, se puede controlar si todos los procesadores han reducido su tiempo de comunicación,mediante el indicador del tiempo necesario para la comunicación, y que será enviados de hijos a padres. Asíun procesador recibirá el tiempo que necesitan sus hijos en comunicar, y enviará a su padre el mayor deestos, de forma que no son necesarios el envío de todos, sino solo de los mayores, y no se sobrecargan losmensajes que se envían. Cuando el procesador raíz decida que se puede reducir el intervalo de comunicación,comunicará a todos los descendientes esta decisión, que no será aplicable hasta una evolución posterior, paraque todos hayan recibido el mensaje, y sean capaces de recalcular el momento de su nueva comunicación.

Sobra decir, que como se puede producir que cuando una membrana vaya a reubicarse haya realizadoya la fase de aplicación, todas las membranas contendrán la indicación de si han aplicado ya (y no hancomunicado) o no.

7.4. Arquitecturas Maestro-Esclavo y Maestro-EsclavoJerárquica, con recálculo total

La arquitectura Maestro-Esclavo (MS) presenta diferencias topológicas respecto a las arquitecturas quepreservan la topología arbórea del P sistema (arquitecturas P2P y HP2P). Esta diferenciación hace que existaun procesador que no contiene membranas, y sin embargo, contenga las referencias y la topología de todoel P sistema. Desde el punto de vista de la eficacia del uso del tiempo por la distribución, es éste el únicoprocesador que puede contener toda la información necesaria, al ser el único que está conectado al resto.

Para plantearse realizar una redistribución de las membranas, con el fin de mejorar los tiempos deevolución, primero se deben tener datos del estado actual de los tiempos involucrados por cada membrana,y por cada procesador. Esta es la arquitectura que más facilita este estudio. Además de la idea de quecada procesador controle el tiempo que tarda cada membrana, y comunique éste al procesador maestro, elprocesador maestro se puede encargar de este estudio para el conjunto de membranas de un procesador;pues el desencadenante de que se puede realizar alguna mejorara es que se produzcan retrasos en algúnprocesador. El procesador maestro realiza un recorrido por todos los procesadores esclavos, comunicando losnuevos objetos que deben recibir las membranas del proceso de comunicación, y las membranas disueltas,para que reajusten sus proxies. Después, pasa a un modo de espera activa hasta que los procesadores lecomuniquen los objetos a transferir de la nueva transición. Si se ha podido realizar un reparto mejorado,como se muestra en la fórmula 4.7, el procesador maestro no esperará, pues cuando termine de comunicarcon el último esclavo, el primer esclavo estará listo para realizar la comunicación. En el caso de que nose pueda dar este bucle continuo de comunicaciones, el procesador maestro deberá esperar a que el primerprocesador esclavo termine su aplicación. También se puede dar el caso de que el primero si termine a tiempopara enlazar su comunicación a la del maestro con el último procesador esclavo, pero otro procesador esclavo

115

Page 134: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

no disponga del tiempo suficiente.

El análisis de las posibles condiciones que permiten que se puedan realizar -o al menos intentar- buscardistribuciones mejores a partir de cierta evolución, se divide en los casos en los que la estimación consideraque hay un retardo entre la comunicación de una etapa y la siguiente y los que no. En el caso de quese produzca retardo, el procesador maestro debe analizar donde se está produciendo dicho retraso, y losmotivos. Como sabe el momento en el que debe empezar la comunicación de un procesador hacia él, puedecuantificar este tiempo. Esto debe ser realizado para cada uno de los procesadores, para saber si es algocomún y constante en todos, o sin embargo, se está produciendo solo en alguno de ellos. Si solo se produceen alguno de ellos (i), no significa que los procesadores siguientes -recordando que los esclavos tienen unorden- ( j > i) no tengan este inconveniente, puesto que si el retardo en alguno de los siguientes (retardoen j ) es menor que el retardo en i , no será observado por el procesador maestro, pues el retardo de i haprovocado que a j le diera tiempo a terminar su aplicación. Una alternativa para evitar que exista algún j(procesador que tarda más en evolucionar que el tiempo estimado, pero que no es observado por el procesadormaestro), es reordenar los procesadores, de forma que i pase a ser el último procesador de la lista, y noimpida que el procesador maestro detecte la existencia de procesadores j . Esta forma de reordenar, provocaque los procesadores que menos tiempo necesitan para aplicar, y comunicar con el maestro, estén situados alprincipio. A partir de esta nueva situación, se puede plantear si una reubicación de membranas puede mejorarlos tiempos globales. Existen múltiples alternativas para realizar la distribución, y debe ser realizada en baseal conocimiento que se pueda tener del P sistema y la distribución actual. De entre las alternativas, está la dedividir los procesadores que más tarden, para que el tiempo de aplicación se reduzca en dicho procesador (sibien, aumenta el tiempo de comunicación, pues hay un procesador más). La alternativa clásica de buscar unanueva redistribución global, se considera descartada, pues se prevé que surjan los mismos problemas que sehan encontrado en la arquitectura P2P. Otra de las alternativas existentes es la reubicación de una membranadel procesador esclavo que más tiempo necesita en el procesador que menos tiempo requiere. Por supuesto,la membrana a cambiar deberá ser elegida en función del tiempo necesario por cada membrana para aplicar,y por la consanguinidad de las membranas existentes en el procesador más eficiente. Por supuesto, siempreque se realiza cualquier estimación y medición real, hay que tener presente la aleatoriedad del sistema, quepuede producir efectos, como que un procesador unas veces sea el más rápido y otras el más lento. Tambiénse debe tener que presente que para algunas de las indicaciones realizadas, es necesario conocer en detalle eltiempo invertido por cada procesador en la aplicación e incluso, el tiempo de cada membrana, y por tanto,es necesario que este tiempo sea enviado del procesador esclavo al maestro.

En el caso de que todos los procesadores tarden menos en la fase de aplicación que el tiempo queel procesador necesita para comunicar con los demás esclavos, pueden surgir motivos para reorganizar ladistribución. Este caso significa que se invierte demasiado tiempo en la comunicación, y que posiblementeuna distribución con menos procesadores pueda ser más eficiente. Se debe estudiar por tanto cual es el gradode pérdida de tiempo y de rendimiento de los procesadores, por espera a que se realicen las comunicaciones.Si la pérdida es pequeña, una redistribución, posiblemente no mejore, pero si la pérdida es grande, es muyprobable que haya mejoras. Aunque otra vez más, hay que tener presente que la redistribución no debehacerse de inmediato, pues los tiempos de una transición variarán para la siguiente. Así, en vez de observarlos valores para una configuración, se debe realizar un estudio sobre la tendencia mostrada. Por supuesto,para realizar esta comparativa, son los procesadores esclavos los que deben comunicar al procesador maestrolos tiempos, pues éste no puede calcularlos. Una vez que se decide que se va a realizar la redistribución, sedebe analizar cómo realizarla. En este caso, el objetivo es eliminar un procesador, en base a reubicar susmembranas. Se debe estudiar la consanguinidad de las membranas que contiene, y para cada membranabuscar los procesadores donde se encuentran las membranas con las que realiza la comunicación, y así evitarcomunicaciones entre procesadores. También se debe tener presente la carga que soporta cada uno de losprocesadores esclavos, pues ahora necesitarán más tiempo, para aplicar en las nuevas membranas. Respectoa qué procesador seleccionar para ser eliminado, la selección puede ser cualquiera de ellos. Sin embargo, losprocesadores que tengan pocas membranas conllevan un menor trasiego de membranas, y por tanto, menostiempos para realizar la reubicación. Aún así, cualquiera de los algoritmos desarrollados para la distribuciónestática, y teniendo presente que una vez que se selecciona cual es el procesador a eliminar no se variará lacomposición de los otros procesadores, son métodos eficientes para este objetivo.

116

Page 135: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Con la aplicación de redistribuciones, el caso de que existan retardos o no, irá alternándose. Cuando ladistribución provoque que los procesadores esclavos introduzcan retrasos, con la redistribución, se pasará auna distribución con más procesadores, donde es posible que se eliminen estos retardos, e incluso, que elprocesador esclavo no pare de comunicar, pudiendo dejar ociosos a los procesadores esclavos. En este caso,se reducirá el número de procesadores, y se puede pasar al caso original de que los procesadores esclavosprovoquen retrasos (por la aplicación de reglas en las membranas que contienen). Como la reubicaciónde membranas y el estudio de la posible nueva disolución conlleva una pérdida de tiempo y por tanto delrendimiento del sistema, se debe ser cauto con estas redistribuciones, pues en base a estos principios, siemprees posible realizar una redistribución que mejore la situación actual (aunque empeore a posteriori). Además, elno determinismo del sistema hace que aunque en una configuración el tiempo sea uno, en otra configuraciónposterior el tiempo varíe. La propuesta es realizar este estudio de si es necesaria (y cómo) una redistribucióncada cierto número de transiciones, con el fin de que el tiempo destinado para este estudio no sea excesivocomparando con el tiempo utilizado en la evolución del sistema.

Con esta arquitectura se puede realizar el análisis de la redistribución en cualquier momento, como seobserva con los algoritmos reubicativos para dicha arquitectura. Incluso, se puede predecir y determinar quese va a realizar una redistribución, y realizar esta después, sin que por ello se alteren los resultados. Conesta premisa, y teniendo en cuenta que el procesador maestro en ciertos momentos está ocioso, o esperandopor operaciones de entrada-salida (comunicaciones con otros procesadores), puede utilizar estos tiempos deociosidad para determinar si es necesaria una redistribución, y para ejecutar los algoritmos distribuidores paradecidir cuál sería esta nueva distribución.

La arquitectura Maestro-Esclavo Jerárquica (HMS) es una variante de la arquitectura MS, que presentagrandes dificultades para la distribución dinámica. En primer lugar, esta arquitectura utiliza intervalos fijos decomunicación, tanto en los procesadores esclavos como en los maestros. Aunque una alternativa es eliminarestos intervalos fijos escalonados y que todos los niveles comuniquen a la vez, la pérdida de rendimientogeneral sería mayor a la ventaja de una nueva redistribución. En esta arquitectura, el procesador maestroprincipal, o raíz del árbol de procesadores, es el encargado de realizar la reubicación de objetos entre lasdistintas membranas (comunicación de objetos), así como la indicación de las membranas disueltas. Es esteprocesador el que puede contener toda la información del P sistema y de la distribución, así como de laeficiencia del mismo. Por ello, es este procesador el encargado de estudiar si es necesaria una redistribución,y decidir cuál; además de comunicar la decisión al resto de procesadores de forma jerárquica. En estaarquitectura jerárquica, la modificación de la topología del P sistema sería posible, considerando que lasmembranas están ubicadas exclusivamente en los procesadores esclavos. Una reconfiguración del árbol deprocesadores maestros podría obtener mejores resultados, aún si modificar los procesadores esclavos. Pero apesar de esta posibilidad, el recálculo, y reconfiguración de dicho árbol sería demasiado costoso y complicado,comparado con las posibles ventajas que se podrían obtener. Una alternativa sería balancear el árbol, es decir,que todos los procesadores maestros tuvieran el mismo número de hijos, con el fin de que el añadir másprocesadores redujera el tiempo de aplicación en los procesadores, cuando éste fuera el problema detectado.Aunque como se usan estimadores que se corresponden con el máximo tiempo posible, este problema nosucede.

Los problemas de que las estimaciones no se correspondan con los tiempos reales, y por tanto, en elsistema se produzcan retardos en las comunicaciones que conllevaría a que no se pudiera utilizar un tiempofijo, es que una membrana se disuelva, y por tanto, las comunicaciones ya no se realizan entre membranasmadre-hija, sino entre abuela-nietas, según la configuración inicial. Es posible que, la distribución originalcontemple que las dos membranas involucradas estén en el mismo procesador, pero sin embargo, después dela disolución de una de ellas (la hija), la comunicación sea entre membranas ubicadas en distinto procesador,cuyo tiempo de comunicación no ha sido contemplado. Si sucediera este caso, el procesador maestro podríadetectarlo, y para solventarlo, aumentar el intervalo de comunicación para cada procesador, comunicándoseloa todos, por supuesto. Aún a pesar de detectar este inconveniente, se podrían producir colisiones. La dinámicadel P sistema, provocada por su no determinismo, conlleva a que esta arquitectura sea complicada de tratar.Se debe controlar que no ocurren comunicaciones que sobrepasan el tiempo destinado a ellas. Y en casode que esto ocurra, paralizar la evaluación, calcular el nuevo tiempo necesario y comunicarlo a todos los

117

Page 136: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

procesadores, para que no se vuelvan a producir colisiones. Por ello, el procesador maestro raíz debe estarpendiente de la existencia de estos inconvenientes. Además de ser utilizado como detector, debería ser elencargado de realizar un análisis con el fin de detectar si el sistema puede mejorar sus tiempos de evolución.Este procesador dispone de una gran cuota de tiempo ocioso, lo que le permite realizar este análisis después derealizar su fase de comunicación a todos sus procesadores hijos, con los objetos utilizados en la comunicación.Así, aún a pesar de realizar el análisis con datos de la transición anterior, es posible que realice un buenanálisis de los datos, debido a la alta cuota de proceso que les dedica. Además, como ocurre con el restode arquitecturas, por ser algo inherente a los P sistemas, no se deben tomar decisiones en base a lasestimaciones de una sola evolución, pues dependen de decisiones no deterministas, que pueden revertirse enla siguiente evolución. El procesador maestro, más que replantearse la redistribución de membranas, debeencargarse de tener perfectamente acotado el tiempo máximo de comunicación y aplicación, de forma queno se produzcan colisiones, pero que tampoco se haga demasiada espera innecesaria, pues esto repercutiríaen el rendimiento del sistema. Así, la mayor ventaja que este proceso de monitoriación conseguiría, es reducirel tiempo de evolución gracias a la reducción del intervalo de tiempo que cada procesador dispone paracomunicar. Además, sería posible, si se observara que un procesador es capaz de ralentizar a los demás,que se optara por una redistribución de alguna membrana, con el fin de buscar un mejor equilibrio entreel consumo de tiempo por los procesadores. En este caso, la idea inmediata es mover alguna membranadel procesador que más tarda, al procesador que menos tarda. Si bien, hay que observar las repercusionesque tiene, puesto que movilizar una membrana que solo comunica con membranas de su mismo procesador,aumentaría los tiempos de comunicación. Así, se debe buscar un equilibrio entre la ganancia de movilizar unamembrana a otro procesador que dedique menos tiempo a la aplicación de reglas, y la pérdida de tiempo porla comunicación. Si bien, es posible que incluso se produzcan mejoras. Es importante, por motivos similaresa los mostrados, el analizar si es posible colocar alguna membrana en otro procesador, pues la disoluciónde membranas provoca que las comunicaciones entre membranas varíen. Por ejemplo, el procesador maestroraíz, aprovechando su tiempo ocioso, podría comprobar que ocurriría si un alguna membrana ascendiente odescendiente de las membranas disueltas en esas transición fuera reubicada en otro procesador.

7.5. Arquitectura Maestro-Esclavo Jerárquica, con recálculo enmaestros intermedios

Un rápido estudio de las distribuciones que los algoritmos presentados obtienen contemplando las ca-racterísticas estáticas, muestra que las membranas tienden a estar junto a las membranas con las que secomunican. De forma que si se observaran solo las membranas que se ubican en procesadores esclavos delmismo procesador maestro, la mayoría de estas membranas serían membranas consanguíneas. Lo mismoocurriría si se cogieran las membranas de todos los procesadores descendientes de un mismo maestro (inde-pendientemente de si los hijos de este son procesadores maestros o esclavos). El resultado hace contemplarque la mayoría de las comunicaciones entre membranas que son realizadas en el procesador maestro raíz,podrían ser ejecutadas en los procesadores maestros intermedios.

La consanguinidad presente en estos procesadores, provoca que las comunicaciones de objetos entremembranas, son realizadas inicialmente en su mayor parte dentro del mismo procesador, o entre procesadorescercanos. A partir de esta conclusión, se puede plantear que los procesadores maestros intermedios actúencon lógica en los mensajes que envían, a sus procesadores padre. El procesador maestro podría contenerla referencia de las membranas que tiene bajo su subárbol, de forma que las comunicaciones entre estasmembranas sean realizadas por él, sin necesidad de que intervengan procesadores maestros de mayor cercaníaa la raíz. Solo sería necesaria la intervención de otros procesadores maestros si alguna de las 2 membranasinvolucradas en la comunicación se fuera a disolver. En el caso de la disolución, podrían incluso analizar sies pertinente que sea ese mismo procesador maestro el que se encargue de realizar la comunicación, en elcaso de que la membrana madre de la membrana a disolver esté presente en los procesadores esclavos bajoese procesador maestro. Así, cada procesador maestro se encargará de realizar la comunicación entre dos

118

Page 137: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

membranas que se encuentren cada una en uno de los hijos (o los descendientes) de este procesador maestro.La asignación de esta lógica a los procesadores maestros introduce un retardo en sus comunicaciones, si bien,mientras está recibiendo los objetos de sus procesadores hijos, puede estar realizando la comprobación sobrelos objetos que ya ha recibido, de forma que este retardo solo sea el tiempo equivalente en la evaluación de losobjetos enviados por el último procesador hijo. Por supuesto, si recibe una disolución de este procesador, debeanalizar cuales de los objetos analizados debe ser vuelto a analizar. Este pequeño retardo, al ser realizado entodos los procesadores, es un retardo mínimo, según los tiempos estudiados, pues se produce en paralelo envarios de los procesadores maestros. Además, reduce el retardo que provoca el procesador raíz en la aplicaciónde las comunicaciones y disoluciones.

Considerando este nuevo comportamiento en los proxies de la arquitectura HMS, sobre esta arquitecturase pueden producir otras redistribuciones que mejoren la eficiencia del sistema. Cada procesador maestro,en los tiempos de ociosidad -que ahora son menos-, puede estudiar si una reubicación de alguna membranacontenida en sus procesadores descendientes puede mejorar el comportamiento global del sistema. Si bien,esta mejora no es inmediatamente aplicable, pues el uso de intervalos fijos de comunicación, comunes atodas las comunicaciones de los procesadores, hace que aunque se mejore la comunicación involucrada, elintervalo deba mantenerse. Aún así, la mejora en los subárboles, puede llegar a provocar una mejora global,cuando un cierto grado de mejora en todas las comunicaciones que se realizan. Es decir, cuando con laredistribución consiga que la estimación del tiempo máximo necesario para la comunicación sea menor entodos los casos que el tiempo actual del intervalo de comunicación. De este estudio, se debe encargar elprocesador raíz (tanto de saber si es posible, como de comunicar a todos los procesadores el nuevo intervalode comunicación). Por supuesto, es necesario que el tiempo de aplicación sea menor al tiempo comunicacióndel resto de procesadores esclavos que comparten el mismo procesador maestro, para todos los procesadoresesclavos; y además, se debe seguir cumpliendo esta condición cuando se reduzca el intervalo de tiempo decomunicación.

El uso de reubicaciones en subárboles, se puede utilizar también cuando no existe solapamiento de etapas,y los procesadores esclavos deban esperar para comunicar a terminar su fase de aplicación, y no solo esperara que el procesador maestro haya terminado con su fase previa de comunicación. En este caso, la reubicaciónde membranas pretenderá reducir esta espera, para buscar el solapamiento de etapas.

Ni que decir tiene el hecho de que los algoritmos utilizados para la selección de la nueva distribuciónpueden ser los ya mencionados, al igual que con el resto de propuestas de redistribución. Aunque, como elobjetivo en general es reubicar una membrana, la mutación de algoritmos genéticos que se ha mostrado esla más eficiente para este fin.

119

Page 138: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

8Algoritmos reubicativos

Cuando el tiempo invertido en la evolución del P sistema es desproporcionado respecto a la cuantificaciónque se realiza inicialmente, o bien, se detecta que el tiempo utilizado puede ser reducido en las siguientesevoluciones, o bien, se pone en marcha mecanismos para detectar que variaciones se pueden realizar paramejorar dicho tiempo. Estas variaciones son de dos formas: moviendo membranas o modificando el númerode procesadores. En el caso de la segunda opción, lleva consigo, por lo general, a la primera, puesto quepara eliminar un procesador no debe contener membranas, y en el caso de que se añada uno -si el clústerpermite esta opción- se le debe proveer de membranas. El único caso en el que una modificación del númerode procesadores no involucre movimiento de membranas, será en el caso de eliminación de un procesadorque no contiene membranas (las que tenía, se han disuelto).

El proceso de añadir o eliminar nuevos procesadores, implica modificaciones, no solo de membranas,sino del contenido de los proxies ubicados en otros procesadores. Los proxies ubicados en otros procesadores,deben conocer donde se encuentra ubicado este procesador, y cuál es su contenido. Serán los procesadoresque controlan la aplicación de la redistribución los encargados de enviar esta información. Del mismo modo,cuando se realizan movimientos de membranas entre dos procesadores, hay ciertos proxies que deben conocerestas variaciones. Si bien, la forma cambia respecto a la arquitectura utilizada, pues por ejemplo, en el casode la arquitectura P2P, es posible que no todos los procesadores requieran de esta información. Así, elmovimiento de membranas será dependiente de la arquitectura utilizada, y el método de cálculo de laredistribución.

Considerando que esta etapa de reubicación de membranas conlleva un tiempo, los algoritmos redistri-buidores, deberán añadirlo -total o parcialmente- al tiempo de la nueva distribución. El tiempo que tardanestos algoritmos reubicativos es conocido, pues depende de la aplicación de los algoritmos que utilizan, ydicho tiempo puede ser determinado para la configuración inicial, en base a la arquitectura física donde seimplemente el P sistema.

120

Page 139: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

8.1. Arquitecturas Peer-to-Peer (P2P) y Peer-to-Peer Jerárquica(HP2P)

Las arquitecturas P2P y HP2P aún a pesar de sus diferencias, tienen una característica en común, quees utilizada tanto para calcular la necesidad de la redistribución, y la mejor alternativa posible, como pararealizar la reubicación. El procesador raíz, es el primero en comunicar en cada transición, y aún a pesar deque haya membranas que hayan aplicado mientras otras aún no lo hayan hecho, el procesador raíz puedeindicar la redistribución de membranas. Tanto si los procesadores esperan a que el raíz indique que se haterminado una evolución y puede empezar la siguiente, como si cada procesador empieza su aplicación enel momento en que comunica con su padre, el algoritmo de reubicación es el mismo. La única diferenciareside en que al enviar cada membrana completa, esta llevará la indicación de que ha aplicado o no, o porel contrario, no necesite esta indicación, y por eso no sea transmitida por la red.

En ambos caso, el algoritmo reubicador será iniciado por el procesador raíz. Este procesador contiene laindicación de todas las membranas y todos los proxies (que aquí equivalen a procesadores) que las contienen.El procesador raíz, por tanto, contiene completamente la distribución del P sistema en procesadores. De igualforma, es el procesador donde se ha calculado la nueva distribución de las membranas en procesadores. Conestos datos, puede determinar que membranas son las que varían de procesador. Además, es el procesadorencargado de notificar a los demás procesadores los cambios que se van a realizar. En este punto, tienevarias posibilidades. Pero la que se cree que es más eficiente, es la notificación secuencial de membranas.El procesador raíz revisará membrana a membrana si esta ha cambiado de ubicación. En caso afirmativo,mandará a todos los procesadores indicando de este cambio. Este mensaje contendrá la membrana que debereubicarse, y el nuevo destino. Por supuesto, esto hace que existan diferentes tipos de mensajes: mensajesde comunicación de objetos, y mensajes de reubicación. Los mensajes contendrán un bit -que podría serampliado si existieran más tipos de mensaje- al principio del mismo, indicando el tipo de comunicación.Después del envío de este mensaje, esperará antes de enviar el siguiente. El resto de procesadores, podránestar ociosos, o realizando la aplicación de membranas (la propuesta es que estén aplicando). Cada procesadorrecibirá este mensaje, y lo procesará en cuanto pueda, ya que nunca interrumpirá la aplicación sobre unamembrana. Cuando el procesador que tenga esta membrana procese este mensaje, creará un mensaje nuevo,en el que incluirá a la membrana a reubicar. Por supuesto, añadirá toda la información de la membrana,como las reglas que tiene, las prioridades, los objetos, el árbol de decisión para seleccionar reglas activas,etc. En el caso de que se haya decidido que cada proxy solo contenga las membranas que pueden serhijas directas de las que contiene, la existencia o no de estas, deberá ser enviada también en el mensaje.De igual forma, si el destino no es un procesador ascendiente o descendiente (puede ser uno nuevo, o unhermano), debe enviar esta información, junto con la ubicación de estas membranas descendientes. Aúnpensando en el mejor de los casos, es posible que con las disoluciones de membranas no se haya realizadoun correcto reajuste del árbol en el procesador destino -o en otro involucrado-, por lo que se recomiendasiempre realizar este envío. Así, cada envío debe contener todo el subárbol de membranas (hijas y padres)y de los procesadores que las contienen, hasta las membranas que no se pueden disolver, por no poderexistir comunicación más allá. Con esta información, mandará un mensaje a todos los procesadores, que aligual que antes, almacenarán para procesar dicho mensaje. En el proceso de este mensaje, cada procesadordebe contemplar si es el destino de dicha membrana. En el caso de que fuera el destino, comprobará si lamembrana ya se encuentra en el proxy. Si es así, la transfiere al procesador, y le añade el resto de informacióncontenida en el mensaje (objetos, reglas, etc.), y eliminará la referencia del proxy al que pertenecía, indicandoque ahora pertenece a ese procesador. Si no se encontrara en el proxy, la añadiría al procesador, tal y comola ha recibido en el mensaje, e indicaría que es de ese procesador. En ambos casos, procesaría el restode membranas enviadas en el mensaje, reajustando los procesadores a los que pertenecen, o añadiéndolos(membranas y procesadores), en el caso de que previamente no estuvieran incluidos en el proxy. Por último,reajustaría el árbol de procesadores o proxies. En el caso de que la membrana fuera a dicho procesador,comprobará si la membrana está incluida en su proxy, y en caso afirmativo, reubicaría la membrana en sunuevo procesador, y reajustaría el árbol de procesadores si fuera necesario. El procesador raíz, cuando hayarecibido y procesado este mensaje, continuará con su proceso de comprobación de membranas que deben

121

Page 140: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

reubicarse. Los algoritmos se encuentran descritos como algoritmos 20 (para el proceso del procesador raíz)y 21 (para el resto de procesadores), donde p(µi ) indica el procesador en que se encuentra la membrana µi ,y p ′(µi ) es el procesador donde se reubicará.

Algoritmo 20 Algoritmo para la reubicación de membranas en la arquitectura P2P, queutiliza el procesador raíz1: for ∀µi ∈µ do2: if (p(µi ) 6= p ′(µi )) then3: Crear mensaje nuevo (men)4: men ←µi

5: men ← p ′(µi )6: enviar men a todos los procesadores7: esperar respuesta, y procesarla como el resto de los procesadores8: end if9: end for

En esta situación, lo normal es que el procesador raíz envíe un mensaje de finalización cuando terminede informar de las reubicaciones (y estas se hayan realizado), para que los procesadores continúen con suejecución.

Otra alternativa es que el procesador raíz comunique a cada procesador las membranas que debe reubicar,con sus correspondientes destinos, pero en el caso de que sean varias membranas, estas pueden tener destinosdistintos. Entonces, o bien se sigue enviando un mensaje con todas las membranas, o bien, se envían variosmensajes, cada uno con una membrana. Esta alternativa conlleva a que el procesador raíz realice una búsquedade variaciones por proxies, y por tanto, consuma más tiempo. Pero por contra, el tiempo de comunicaciónen caso de que dos membranas del mismo procesador se reubiquen, será menor. Aunque en general, comose ha indicado, las nuevas distribuciones suelen variar en muy pocas membranas de la distribución original.

En el caso de la arquitectura HP2P, el funcionamiento es el mismo, pero cada procesador debe estudiarcuál es el nuevo orden de comunicación, pues al reubicarse membranas, se pueden haber cambiado lasrelaciones entre los procesadores.

La otra alternativa para la redistribución de membranas, es que ésta se realice en solo un subárbol deprocesadores. En este caso, la raíz de este subárbol funcionará como la raíz del árbol entero, pero los mensajesde multidifusión, se deben enviar solo a los nodos involucrados en este subárbol, puesto que si no, saturaría elsistema, y produciría colisiones, pues el resto del árbol de procesadores sigue con sus comunicaciones normales.Cuando en la siguiente etapa de evolución llegue el momento de que el procesador raíz del subárbol debacomunicar a su antecesor, además de los objetos y membranas disueltas, debe indicar que membranas hanvariado por la reubicación, para que los procesadores antecesores puedan realizar su reajuste. Este mensajede membranas reubicadas debe transmitirse a los antecesores, hasta el procesador raíz.

8.2. Arquitectura Maestro-Esclavo (MS)

La ventaja que presenta esta arquitectura, es que es sencillo determinar el momento de la redistribución.El procesador maestro comunica con todos los procesadores esclavos. En el momento en que el procesadormaestro ha recibido el mensaje con los objetos y las membranas a disolver, puede decidir si realizar laredistribución, y comunicar el resultado de la misma a los procesadores esclavos. Cuando estos hayan realizadola redistribución, el procesador comunica con ellos para terminar la etapa de comunicación, y empezar lasiguiente. Así, no es necesario que las membranas sepan si han aplicado o no, pues todas estarán en la

122

Page 141: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 21 Algoritmo para la reubicación de membranas en la arquitectura P2P, queutiliza el resto de procesadores, con cada mensaje que recibe1: if el mensaje indica que hay que reubicar una membrana then2: if µi está en el procesador then3: crear nuevo mensaje (men)4: men ← p ′(µi )5: µi , con sus objetos, reglas, etc.6: for ∀µ j en el proxy del procesador do7: if µ j es descendiente o ascendiente de µi then8: mem ←µ j

9: mem ← el proxy de µ j

10: end if11: end for12: colocar en el proxy µi con su nueva ubicación, y reajustar el árbol de proxies.13: enviar men a todos los procesadores14: end if15: else16: if p ′(µi es el procesador then17: if µi está en el proxy then18: Pasar la membrana del proxy al procesador19: Añadir a la membrana toda la información que de ella tiene el mensaje.20: Eliminar la referencia en el proxy, e indicar que es del procesador21: else22: copiar la membrana del mensaje al procesador23: indicar que la membrana está en el procesador24: end if25: Procesar el resto de la información del mensaje, y hacer los cambios que indique26: Reajustar el árbol de proxies.27: else28: if µi está en el proxy then29: Reubicar la memebrana en su nuevo proxy, y reajustar el árbol30: end if31: end if32: end if

123

Page 142: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

misma situación (esperando los objetos procedentes de otras membranas). Además, con esta alternativa,que se muestra en el algoritmo 22, no es necesario un envío a todos los procesadores al final de la etapa dereubicación, pues éstos estarán esperando del procesador maestro los nuevos objetos, para terminar su etapade comunicación. Además, el envío de las membranas que se reubican, puede realizarse en conjunto a losobjetos que están en la fase de comunicación.

El procesador maestro, una vez que ha recibido el último mensaje de los procesadores esclavos con lasmembranas disueltas, y los objetos a comunicar, aplica solo los cambios introducidos por los objetos recibidos,tal y como está definido en el comportamiento del mismo. La disolución de membranas, será pospuesta. Sillegado a este punto, y previo a empezar la comunicación con los demás procesadores esclavos, conoce quese debe realizar una reubicación de alguna membrana, pasará a realizarla. Para cada una de las membranas areubicar, o bien, para cada uno de los procesadores esclavos que contengan membranas a reubicar, enviará unmensaje, donde solicitará que éste le envíe las membranas solicitadas, con todo su contenido (objetos, reglas,etc.). Mientras está recibiendo las membranas, colocará en su proxy las membranas recibidas. Es decir, cadamembrana del proxy a reubicar, no solo contendrá los objetos que les van a transferir, sino que añadirá losobjetos que contiene, las reglas de evolución, etc. Cuando haya terminado con este proceso para todas lasmembranas a reubicar, aplicará la disolución de membranas y la reordenación del árbol de membranas y delos procesadores esclavos, en base a los cambios introducidos por la disolución de algunas membranas, y lareubicación de las membranas indicadas. De forma similar a como realizaba la comunicación de los nuevosobjetos y de las membranas disueltas, realizará la comunicación a los procesadores esclavos. Para cada unode ellos, añadirá en un mensaje los nuevos objetos fruto de la comunicación o disolución, y las membranasdisueltas. Si existiera además una membrana a reubicar en ese procesador (puede saberse porque contienereglas), añadirá esta membrana completamente, así como la indicación de las membranas consanguíneas quepueden llegar a ser madre o hija de ésta. Mandará este mensaje completo, y realizará este proceso de formasecuencial para cada uno de los procesadores esclavos conectados.

Por su parte, los procesadores esclavos, están esperando a que el procesador maestro les envíe losnuevos objetos, y las membranas que se han disuelto. Cuando reciban un mensaje solicitándoles una o variasmembranas (con todos sus contenidos), prepararán un nuevo mensaje donde incluirán estas membranas,y en caso de que sea necesario, pasarán esta membrana (solo la existencia de la membrana y la relacióncon otras membranas) a su proxy, de forma que no se pierda la información que puede ser necesaria paraotras membranas. Este mensaje será enviado al procesador maestro, y seguirán con su espera. Cuando esteprocesador reciba un mensaje con los nuevos objetos de sus membranas, puede que también reciba nuevasmembranas. En este caso, colocará estas membranas, con todo su contenido, y en base al conocimiento queya tiene en su proxy de otras membranas y su relación, y la información sobre lo mismo que es aportada enel mensaje, recompondrá el proxy. Por supuesto, con la aplicación de la disolución de las membranas que lehan indicado. Después, puede continuar con la aplicación de reglas, tal y como lo estaba realizando.

Otra alternativa para la redistribución, es que el procesador maestro decida realizar la reubicación despuésde comunicar a todos los procesadores esclavos los nuevos objetos. En esta situación, los procesadores habránempezado la aplicación en sus membranas, pero no la habrán terminado, o aunque algún procesador hayaterminado de aplicar, no ha empezado a comunicar. En este caso, cada membrana debe saber si ha aplicadoo no. Además, el procesador maestro debe enviar su primer mensaje solicitando membranas antes de queel primer procesador esclavo intente comunicar con él. Para evitar que se puedan producir colisiones, yque ambos procesadores (maestro y primer esclavo), decidan comunicar a la vez, el procesador maestrocomunicará, acto seguido de comunicar con el último esclavo, que va a realizar una redistribución.

El procesador maestro, después de comunicar su intención de realizar una redistribución, comunicarácon los procesadores que contienen las membranas que deben ser reubicadas. Puede realizar esta peticiónmembrana a membrana, o bien, preguntando a cada procesador por un conjunto de ellas (todas las que esteprocesador contiene y deben ser reubicadas). Cuando el procesador esclavo recibe esta petición, responde conestas membranas, y todo el contenido de las mismas (reglas, objetos, etc.), incluida la indicación de si hanaplicado o no. Si fuera necesario, porque alguna membrana que se queda en el procesador lo requiere, añadela indicación de la existencia de la membrana al proxy, y reajusta el árbol de membranas. El procesadormaestro, cuando ha recibido todas las membranas, reubica en su proxy las membranas, y crea nuevos

124

Page 143: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 22 Algoritmo para la reubicación de membranas en la arquitectura MS, cuando serealiza la reubicación entre la recepción de objetos por el procesador maestro, y su respuesta1: for ∀µi ∈µ, p(µi ) 6= p ′(µi ) do2: Enviar mensaje a p j ,µi ⊂ p j , pidiéndole la membrana µi

3: Poner en µi de su proxy toda la información recibida4: end for5: Aplicar disolución en el proxy6: Reajustar el árbol de membranas y procesadores con los nuevos p ′(µ)7: for p j ∈ P (procesadores contenidos en el proxy) do8: Crear nuevo mensaje (men)9: men ←ωx ,µx ⊂ p j

10: men ←membranas disueltas11: mem ←µx ,µx ⊂ p j ∧µx contiene reglas12: mem ←µy ,µy es ascendiente o descendiente de µx

13: Enviar men a p j

14: end for

mensajes, uno para cada procesador esclavo. En estos mensajes añade las membranas que irán reubicadasa ese procesador esclavo, junto con todo su contenido. También añade las referencias de las membranasascendientes y descendientes, puesto que son necesarias para la determinación de las reglas activas, juntocon las relaciones de éstas. Después de comunicar con todos los procesadores esclavos, mandará un mensajea todos los procesadores, indicando que ha terminado la redistribución, y puede continuar la comunicación,que será realizada en el mismo orden, es decir, es el turno del primer procesador esclavo. Los procesadoresesclavos, al recibir el mensaje con las membranas que les son asignadas, las situarán en su procesador, yharán lo mismo en el proxy con las membranas ascendientes y descendientes que no estuvieran previamenteindicadas. En el caso de que una membrana reasignada estuviera antes en el proxy, será eliminado de este.Por último reajustará los árboles de membranas, en base a las relaciones jerárquicas indicadas. Cuandoreciba la orden del procesador maestro de que se ha terminado la reubicación, y que se debe continuarcon la evolución del P sistema, volverá a la fase de aplicación (incluso aunque la hubiera terminado), paracomprobar membrana a membrana si sobre ella ya se ha realizado la aplicación, y en caso negativo, realizarla.El algoritmo que utiliza el procesador maestro es el 23.

También se podría realizar la redistribución en cualquier otro momento, en cuyo caso, sería necesario quecada membrana supiera si ha aplicado. Además, se produce una redistribución en mitad de los procesos decomunicación, y por tanto se debe ser especialmente cuidadoso, repitiendo parte de las comunicaciones. Si esen el momento en el que los procesadores están comunicando con el procesador maestro, la reubicación implicaque los procesadores, siguiendo el mismo orden establecido, deben comunicar las membranas seleccionadaspara ser reubicadas, pero además, en el caso de los procesadores que no han comunicado, también añadiránlos objetos y membranas disueltas. Si se produjera esta situación, el que un procesador esclavo deba comunicardos veces -en el caso de que hubiera comunicado antes de la redistribución, y se le hubiera asignado unamembrana nueva que no ha comunicado- penalizaría la evolución. Un alternativa es que el procesador maestroal recibir las membranas que no han aplicado (o que no han comunicado), realice la aplicación de las mismas,y se quede con los objetos a transferir. En este caso, aunque se reduce el tiempo, se le está dado al procesadormaestro una funcionalidad que conceptualmente no es suya. Tanto por asignarle esta funcionalidad, comopor la posible repercusión en el tiempo, la alternativa de redistribuir en cualquier momento no es viable, sibien, es posible.

125

Page 144: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Algoritmo 23 Algoritmo para la reubicación de membranas en la arquitectura MS, cuandose realiza la reubicación después de terminar la etapa de comunicación1: Envía un mensaje a todos los procesadores indicando que se va a hacer redistribución2: for ∀µi ∈µ, p(µi ) 6= p ′(µi ) do3: Enviar mensaje a p j ,µi ⊂ p j , pidiéndole la membrana µi

4: end for5: Reajustar el árbol de procesadores con los nuevos p ′(µ)6: for p j ∈ P (procesadores contenidos en el proxy) do7: Crear nuevo mensaje (men)8: mem ←µx ,µx ⊂ p j ∧p(µx) 6= p ′(µx)9: mem ←µy ,µy es ascendiente o descendiente de µx

10: Enviar men a p j

11: end for12: Enviar un mensaje a todos los procesadores, indicando que ha terminado la reubicación,

y que deben volver a la aplicación de reglas, analizando si las membranas ya han aplicadoo no.

8.3. Arquitectura Maestro-Esclavo Jerárquica (HMS)

Aún a pesar de que esta arquitectura mejora el rendimiento de la Maestro-Esclavo, que le aporta partede sus propiedades, para la reubicación de membranas es una arquitectura más exigente. Se debe distinguirdos tipos de reubicaciones, en función del método utilizado para determinar la redistribución. Utilizando unestudio global del P sistema, la reubicación, aunque solo sea de una membrana que se encuentra en dosprocesadores esclavos hermanos, debe ser realizada por el procesador maestro raíz. Este procesador, aunqueutiliza todo el intervalo de tiempo del que dispone para realizar el cálculo de la redistribución, solo puedeaplicarla en un momento. Es debido a que los procesadores tienen un orden establecido de comunicación queconlleva a que varios procesadores comuniquen en paralelo utilizando intervalos de tiempo. En el momento enque el procesador recibe los objetos del último de sus procesadores hijos, ningún procesador iniciará ningunatarea (ni aplicación, ni comunicación) hasta que este procesador maestro raíz realice la comunicación conalguno de sus hijos. En la figura 4.10, donde se observa un ejemplo del cronograma de esta arquitectura, estetiempo se corresponde a t = 10,24, . . . ,10+14n. Éste es el único momento en que una comunicación haciatodos los procesadores del P sistema no provocará colisiones, y además, ningún procesador está realizandooperaciones, ni existe información pendiente de utilizar (salvo en el procesador raíz). En este punto, y teniendoen cuenta que la topología física de la red es que todos los procesadores están conectados a la misma (aunquelógicamente sea un árbol), se puede mandar un mensaje a todos los procesadores indicando que se va a realizaruna redistribución. Al finalizar dicha reubicación, se enviará otro mensaje en el que se indique que se hafinalizado, y por tanto, los procesadores volverán a activar -reiniciándolos- los temporizadores que controlanlos intervalos de tiempo para la comunicación. El algoritmo a seguir por este procesador maestro para lacomunicación, es el mismo que se utilizaba en la arquitectura MS cuando se daban las mismas condiciones,y se encuentra descrito como algoritmo 22.

La otra alternativa de cálculo de la redistribución es realizándola en procesadores maestros intermedios.En este caso, la reubicación debe realizarse sin interferir en el proceso de los otros procesadores no incluidosen el subárbol que este procesador conforma como raíz. Por ello, es necesario que la estimación del tiemponecesario para la reubicación sea inferior al tiempo de ociosidad de este procesador. En la figura 4.10, parael procesador 3, estos tiempos son los intervalos t = 5−11, t = 19−25, . . . . Es decir, que se dispone de 6intervalos de tiempo para realizar la reubicación. A medida que el subárbol formado por el procesador encuestión sea mayor, el intervalo de tiempo será menor. Por ejemplo, el subárbol que configura el procesador

126

Page 145: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

2, que engloba al del procesador 3, solo permitirá que la reubicación se realice en el tiempo determinado por2 intervalos de tiempo. Estos intervalos tan pequeños, implican que la redistribución trate de hacerse entreprocesadores esclavos muy cercanos. Entre estos procesadores, las posibilidades de reubicación serán escasas.Y a veces será necesario realizar otras reubicaciones entre membranas que se encuentren en procesadoresalejados, por lo que la técnica a utilizar sea la del cálculo total. Así, ambas técnicas son complementarias:mientras la redistribución en subárboles consigue mejoras sin perjudicar el tiempo de evolución del P sistema,la reubicación total obtiene mejoras que la otra distribución no puede realizar. El método para realizar lareubicación será la misma del algoritmo 22, con la variante de que los mensajes globales lanzados por la raíz,serán solo destinados a los procesadores del subárbol, y así no interferir en las comunicaciones restantes delárbol de procesadores.

127

Page 146: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Par

te

V

Conclusiones

128

Page 147: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

9Conclusiones y Líneas Futuras

Este trabajo, además de obtener esperanzadores resultados, es una puerta abierta a las múltiples inves-tigaciones que se han pretendido iniciar.

En primer lugar se han definido los P sistemas de transición al detalle –tal y como aparece descrito en labibliografía de referencia–, observando cada una de las etapas que se realizan en las ejecuciones y tratando demodelarlas. A medida que se ha ido avanzando en la tesis, se han observado mejoras que se pueden realizarsobre el análisis estático inicial, como la regeneración del árbol de decisión para seleccionar reglas activas.Surge en este punto el planteamiento de qué ocurriría sobre todo el trabajo realizado si en vez de utilizar Psistemas de transición, se utilizaran otros P sistemas, o incluso, otros modelos computacionales abstractos,equivalentes o no.

La primera distribución que se ha realizado ha sido basándose en la consideración de que los tiemposde aplicación y comunicación son comunes para todas las reglas y los procesadores, respectivamente. Antela inexistencia de algoritmos deterministas, que consigan distribuir los P sistemas en procesadores de formaque se cumplan las condiciones indicadas por los propulsores de las arquitecturas, se ha propuesto el uso deAlgoritmos Genéticos. Si bien, para las arquitecturas Maestro-Esclavo (MS) y Maestro-Esclavo Jerárquico(HMS) no era necesario el uso de esta heurística, los resultados demuestran que incluso en estas arquitecturasse pueden conseguir mejores resultados que los teóricos generalistas que presentan redondeos. De diferenteforma es el tratamiento del resto de arquitecturas, que deben preservar la topología del sistema. Es decir, quedeben hacer que las comunicaciones entre los procesadores sean de forma arbórea. Para ello se propone que elgenotipo sea considerado como un árbol, o bien, que la evaluación de la función de adaptación sea realizadasobre el fenotipo, que sí es un árbol. Sea cual fuere la representación, son necesarios nuevos algoritmos paralos operadores genéticos, a saber, cruzamiento y mutación. Sobre todos los algoritmos genéticos, y con elfin de probar que ciertamente se obtienen distribuciones aceptables, se han realizado implementaciones; sinembargo, no se ha realizado ninguna optimización en estas implementaciones, ni se han estudiado cualesson los valores óptimos de los diferentes parámetros que definen el algoritmo genético. Esto marca, portanto, otra línea abierta de investigación, con un doble objetivo: cuáles son los parámetros que optimizanlos resultados de estos algoritmos, y cómo de buenas son las distribuciones que los algoritmos genéticosconsiguen. Además, en las pruebas realizadas, el tiempo de evolución de dichos algoritmos –no optimizados–ha sido excesivo, y por tanto, se debe probar si es fruto de la mala implementación –como se cree– y la mala

129

Page 148: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

elección de los parámetros utilizados, o bien, que los algoritmos genéticos no son una técnica eficiente paraeste cometido.

Respecto a la variación sobre algoritmos genéticos que se ha realizado, hay que hacer una reflexión que hasurgido al observar su funcionamiento. En general, el cruzamiento tiende a la convergencia de los individuossobre un conjunto de soluciones, mientras que la mutación es la encargada de la divergencia. Es esto lo quehace que ambas técnicas sean complementarias, e incluso que su porcentaje de utilización sea variado en eltiempo. Sin embargo, en la propuesta presentada, ocurre al revés. El cruzamiento crea más divergencia en losindividuos, mientras que la mutación provoca pequeños cambios, que muchas veces conlleva la consecuciónde óptimos locales.

Además de los algoritmos genéticos, y para solventar los problemas que estos presentan, se han utili-zado otras metaheurísticas. Pero antes de utilizarlas, se ha preferido realizar un estudio más profundo delcomportamiento de los P sistemas, para intentar obtener resultados aún mejores. Analizando las redes decomunicaciones y el comportamiento de las comunicaciones entre membranas, se concluye que el tiempo decomunicación no es constante, y depende del número de objetos diferentes, y de las membranas involucradas.De la misma forma, un estudio de cada membrana hace que el tiempo de aplicación de ésta dependa desu árbol de decisión para la selección de reglas activas, y del número de reglas que tiene. Así, en base aestos nuevos parámetros, se realiza una distribución que trata de reflejar mejor los tiempos reales necesarios.Aunque no debe olvidarse que para las distribuciones se realizan estimaciones sobre los tiempos, cuanto máscercano al tiempo real sea la estimación, mejor será la distribución. Aunque se siguen utilizando el tiempomáximo –pero ahora para cada membrana– se propone desde aquí el estudio de cómo afectaría a la distri-bución si se utilizara el tiempo mínimo –junto al máximo por supuesto– o qué otros factores pueden afectaral tiempo real.

El uso de algoritmos genéticos, como era previsible, obtiene resultados de acuerdo a lo esperado, ya lo mostrado cuando se utilizaban tiempos globales. Pero surgen nuevas hipótesis. La Optimización porEnjambres de Partículas (PSO), en conjunto con los algoritmos genéticos, permite hacer distribuciones enlas que no todos los procesadores maestros tengan el mismo número de procesadores conectados. Esta mejora,ha hecho que las mejores distribuciones encontradas en toda la tesis se den para este caso. Sin embargo, elconjunto de prueba era demasiado escueto, y el tiempo necesario para obtener la distribución, es demasiadoalto. Así, se abre una vía de investigación sobre el comportamiento de las arquitecturas desequilibradas, y suimpacto en la evolución de los P sistemas.

Aunque los PSO se han mostrado eficientes para las distribuciones en la arquitectura Maestro-EsclavoJerárquico (HMS), no han sido eficientes en el resto de arquitecturas, obteniéndose por tanto una reflexióninteresante sobre cómo las diferentes técnicas son dependientes también de la arquitectura.

La Evolución Gramatical que se ha propuesto en esta tesis, es la metaheurística que mejores resultadosobtiene. No sólo en las distribuciones que se obtienen, que son semejantes a las de los algoritmos genéticos,sino en el tiempo que se tarda en su ejecución. Siendo por tanto, la técnica elegida para las distribucionesdinámicas, por su baja penalización en el comportamiento global del sistema. Para aplicar esta técnica alas distribuciones, ha sido necesario definir un nuevo concepto sobre las gramáticas, que es la reescritura degramáticas, que consiste en que la gramática se va generando a medida que se va necesitando, y en funcióndel fenotipo. Con esta variante, se han podido realizar las distribuciones obteniendo grandes resultados, ysin optimizar los parámetros. Por tanto, para el futuro, está pendiente la optimización de estos parámetros,y por supuesto, la búsqueda de nuevos algoritmos de distribución, que deben ser comparados con los yarealizados –en su versión optimizada, por supuesto–.

Además de las distribuciones estáticas, se ha observado que sucede cuando el P sistema evoluciona.Ante las variantes topológicas que pueden existir, se propone el uso de cronómetros para controlar el tiempoefectivo, así como para que una vez que se detecten desviaciones respecto a las estimaciones, se puedanrealizar reubicaciones, según los algoritmos que se proponen. Este campo investigativo, es el menos tratadoen esta tesis, y es una de las líneas futuras que se proponen.

130

Page 149: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Ca

pít

ul

o

10Conclusions and Future Remarks

The work carried out during this thesis is a gateway to much research that has attempted to start, inaddition to obtain encouraging results.

First of all, transition P systems have be defined in detail, as is described in the reference literature,taking into account each one of the steps that happen when simulating their running, of course trying tomodel it. Some improvements have been performed along the work in this thesis, such as the one over theinitial static analysis dealing with the regeneration of decision trees to select active rules. But, what wouldhappen on all the work done if instead of using transition P systems, other P systems will be used, or evenother abstract –equivalent or not– computational models?

The first distribution that has been done is based on the idea that the time of application and commu-nication are common to all rules and processors, respectively. In the absence of deterministic algorithms thatachieves to distribute the P systems on processors so that the constraints indicated by the proponents ofarchitectures; this thesis proposes using Genetic Algorithms. While, for the Master-Slave architectures (MS)and Hierarchical Master-Slave (HMS) was not necessary to use this heuristic, the results show that, evenin these architectures, these algorithms can achieve better results than those proposed by general scientistswhich have rounding operations. Other different approach must be considered with the other architectures,which must preserve the topology of the system. That is, they should do that communications betweenthe processors are in a tree form. It is proposed that the genotype will be considered as a tree, or theevaluation of the adaptation function will be performed on the phenotype, which itself is a tree. Whateverthe representation is, new algorithms are needed for genetic operators, namely crossover and mutation. Onall genetic algorithms, and in order to prove that indeed acceptable distributions are obtained, there havebeen implementations, however, has not done any optimization in these implementations, nor have not beenstudied what are the optimal values of various parameters that define the genetic algorithm. It marks; the-refore, another open problem of research with a double objective: what are the parameters that optimizethe performance of these algorithms, and how good are the distributions that achieve genetic algorithms.Furthermore, in tests done, the time of evolution of these algorithms –no optimized– has been excessive,and therefore should be tested if is the result of poor implementation, as is believed, and poor choice ofparameters used, or that genetic algorithms are not an efficient technique for this purpose.

An open question has arisen regarding to the modification on genetic algorithms that has been done

131

Page 150: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

when observing its behavior. In summary, crossover tends to convergence of individuals on a set of solutions,while the mutation is responsible for the divergence. This is what makes both techniques complementary,and also that their running rate changes over time. However, in the proposed model, is on the other hand.The crossover creates more divergent individuals, whereas mutation causes small changes, which often leadsto the achievement of local optima.

In addition to genetic algorithms, and to address the problems they present, other metaheuristics haveused. It has preferred to make a deeper study of the behavior of P systems before model them, tryingto get even better results. Analyzing communications networks and behavior of communications betweenmembranes, is concluded that the communication time is not constant and depends on the number ofdifferent objects, and the membranes involved. Likewise, a study of each membrane makes the applicationtime of this depends on her decision tree for selecting active rules, and the number of rules which have.Thus, based on these new parameters, a distribution that is made to better reflect the actual time required.While don’t should forget that for distributions, estimates times are made, and when the estimate is closerto real time, the distribution will be better. While the maximum time is used –but now for each membrane–,to study how it would affect the distribution if using the minimum time –together to maximum, of course–or what other factors can affect the real time, is proposed here.

The use of genetic algorithms gets results as expected, even when global times were used. But a newhypothesis arises. The Particle Swarm Optimization (PSO), in conjunction with genetic algorithms, allowsdistributions in which not all masters processors have the same number of connected processors. This im-provement has made that the best distributions encountered throughout this thesis are in the latter case.However, the test set was too short, and the time needed to obtain the distribution is too high. This opens afield of research in the behavior of the unbalanced architectures and its impact on the evolution of P systems.

Although PSO algorithms have shown to be effective when distributing membranes in the HierarchicalMaster-Slave architecture (HMS), have not been effective in other architectures; thus, obtaining an interestingpoint of view on how different techniques depends on the architecture.

Grammatical Evolution proposed in this thesis is the best performing metaheuristic. Not only in theobtained distributions which are similar to those of genetic algorithms, but in the executing time. Therefore,this is the selected technique for dynamic distributions because of its low penalty in the overall system beha-vior. To apply this technique to distributions it has been necessary to define a new concept over grammars,named rewriting grammars, which means that the grammar is generated as being needed, and depending onthe phenotype. With this variant, the distributions have been able to obtain great results, without optimizingthe parameters. Therefore, the optimization of these parameters remains as an open problem, and of course,the search for new distribution algorithms, which should be compared to those already made, in its optimizedversion, of course.

In addition to static distributions, what happens when the P system evolves has been observed. Giventhe topological variants that may exist, we propose the use of timers to control the effective time, and oncedetected deviations from the estimates, relocations can be performed according to the proposed algorithms.This research is one of the proposed future lines.

132

Page 151: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Par

te

VI

Bibliografía

133

Page 152: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

Bibliografía

[Adleman, 1994] Adleman, L. M. (1994). Molecular computation of solutions to combinatorial problems.Science, 266(5187):1021–1024.

[Alander, 1992] Alander, J. T. (1992). On optimal-population size of genetic algorithms. Computer Systemsand Software Engineering, 1:65–70.

[Arroyo et al., 2003] Arroyo, F., Luengo, C., Baranda, A. V., and de Mingo, L. (2003). A software simulationof transition p systems in haskell. Membrane Computing, 2597:19–32.

[Balbontín-Noval et al., 2003] Balbontín-Noval, D., Pérez-Jiménez, M. J., and Sancho-Caparrini, F. (2003).A mzscheme implementation of transition p systems. In Revised Papers from the International Workshopon Membrane Computing, WMC-CdeA ’02, pages 58–73, London, UK. Springer-Verlag.

[Banks et al., 2007] Banks, A., Vincent, J., and Anyakoha, C. (2007). A review of particle swarm optimi-zation. part i: background and development. Natural Computing, 6:467–484.

[Banzhaf, 1990] Banzhaf, W. (1990). The molecular traveling salesman. Biological Cybernetics, 64(1):7–14.

[Beni and Wang, 1989] Beni, G. and Wang, J. (1989). Swarm intelligence in cellular robotic systems. InNATO Advanced Workshop on Robotics and Biological Systems.

[Brady, 1985] Brady, R. M. (1985). Optimization strategies gleaned from biological evolution. Nature,317(6040):804–806.

[Bravo et al., 2007a] Bravo, G., Fernández, L., Arroyo, F., and Frutos, J. A. (2007a). A hierarchical architec-ture with parallel communication for implementing p systems. In Kr. Markov, K. I. E., editor, Proceedingsof the Fifth International Conference “Information Research and Applications” i.TECH 2007, volume 1,pages 168–174.

[Bravo et al., 2008] Bravo, G., Fernández, L., Arroyo, F., and Peña, M. A. (2008). Hierarchical master-slavearchitecture for membrane systems implementation. In Sugisaka, M. and Tanaka, H., editors, Proceedingsof the 13th International Symposium on Artificial Life and Robotics (AROB 2008), pages 485–490, Beppu,Japan.

[Bravo et al., 2007b] Bravo, G., Fernández, L., Arroyo, F., and Tejedor, J. (2007b). Master-slave distributedarchitecture for membrane systems implementation. In Aggarwal, A., editor, Proceedings of the 8thConference on 8th WSEAS International Conference on Evolutionary Computing - Volume 8, pages 326–332, Stevens Point, Wisconsin, USA. World Scientific and Engineering Academy and Society (WSEAS).

[Brindle, 1981] Brindle, A. (1981). Genetic Algorithms for Function Optimization. PhD thesis, Universityof Alberta, Edmonton, Alberta, Canada.

[Castellanos et al., 2001] Castellanos, J., Martín-Vide, C., Mitrana, V., and Sempere, J. (2001). Solvingnp-complete problems with networks of evolutionary processors. Lecture Notes in Computer Science,2084:621–628.

134

Page 153: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

[Castellanos et al., 2003] Castellanos, J., Martín-Vide, C., Mitrana, V., and Sempere, J. (2003). Networksof evolutionary processors. Acta Informática, 39:517–529.

[Cebrián et al., 2009] Cebrián, M., Alfonseca, M., and Ortega, A. (2009). Towards the validation of plagia-rism detection tools by means of grammar evolution. Trans. Evol. Comp, 13:477–485.

[Cecilia et al., 2010a] Cecilia, J. M., García, J. M., Guerrero, G. D., del Amor, M. A. M., Pérez-Hurtado, I.,and Pérez-Jiménez, M. J. (2010a). Simulation of p systems with active membranes on cuda. Briefings inBioinformatics, 11:313–322.

[Cecilia et al., 2010b] Cecilia, J. M., García, J. M., Guerrero, G. D., Martínez-del Amor, M. A., Pérez-Jiménez, M. J., and Ujaldón, M. (2010b). P systems simulations on massively parallel architectures.Third International Workshop on Parallel Architectures and Bioinspired Algorithms, 1:17–26.

[Church, 1936] Church, A. (1936). An unsolvable problem of elementary number theory. American Journalof Mathematics, 58:345–363.

[Ciobanu and Guo, 2004] Ciobanu, G. and Guo, W. Y. (2004). P systems running on a cluster of computers.Membrane Computing, 2933:123–139.

[Clerc, 1999] Clerc, M. (1999). The swarm and the queen: towards a deterministic and adaptive particleswarm optimization. In Congress on Evolutionary Computation, volume 3, pages 1951–1957.

[Clerc and Kennedy, 2002] Clerc, M. and Kennedy, J. (2002). The particle swarm - explosion, stability, andconvergence in a multidimensional complex space. Evolutionary Computation, IEEE Transactions on,6(1):58–73.

[Colmenar et al., 2010] Colmenar, J., Risco-Martin, J., Atienza, D., Garnica, O., Hidalgo, J. I., and Lancha-res, J. (2010). Gramáticas evolutivas aplicadas a la optimización de gestores de memoria dinámica. InCampos, V., Duarte, A., Gallego, M., Gortázar, F., and Martí, R., editors, VII Congreso Español sobreMetaheurísticas, Algoritmos Evolutivos y Bioinspirados, MAEB 2010, pages 499–506, Madrid. Ibergarcetapublicaciones, S.L., Ibergarceta publicaciones, S.L.

[Cordón-Franco et al., 2004] Cordón-Franco, A., Gutiérrez-Naranjo, M. A., Pérez-Jiménez, M. J., andSancho-Caparrini, F. (2004). A prolog simulator for deterministic p systems with active membranes.New Generation Computing - Membrane computing, 22:349–363.

[Cruz, 2010] Cruz, M. d. l. (2010). Evolución Gramatical y Semántica. PhD thesis, Escuela PolitécnicaSuperior, Universidad Autónoma de Madrid.

[Darwin, 1859] Darwin, C. (1859). On the Origin of Species by Means of Natural Selection. John Murray,London.

[Davis, 1985] Davis, L. (1985). Applying adaptive algorithms to epistatic domains. In Joshi, A., editor, Pro-ceedings of the 9th International Joint Conference on Artificial Intelligence, pages 162–164, Los Angeles,CA. Morgan Kaufmann.

[Davis, 1991] Davis, L. (1991). Handbook of Genetic Algorithms. Van Nostrand Reinhold.

[De Jong, 1975] De Jong, K. A. (1975). An analysis of the behavior of a class of genetic adaptive systems.PhD thesis, University of Michigan, Ann Arbor.

[Díaz-Pernil et al., 2008] Díaz-Pernil, D., Pérez-Hurtado, I., Pérez-Jiménez, M. J., and Riscos-Núñez, A.(2008). P-lingua: A programming language for membrane computing. 6th Brainstorming Week onMembrane Computing, 6:135–155.

[Eberhart and Kennedy, 1995] Eberhart, R. and Kennedy, J. (1995). A new optimizer using particle swarmtheory. In Micro Machine and Human Science, 1995. MHS ’95., Proceedings of the Sixth InternationalSymposium on, pages 39–43.

135

Page 154: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

[Eberhart et al., 2001] Eberhart, R., Shi, Y., and Kennedy, J. (2001). Swarm Intelligence. Morgan Kauf-mann.

[Eberhart and Shi, 1998] Eberhart, R. C. and Shi, Y. (1998). Comparison between genetic algorithms andparticle swarm optimization. In Proceedings of the 7th International Conference on Evolutionary Pro-gramming VII, EP ’98, pages 611–616, London, UK. Springer-Verlag.

[Echeandia et al., 2005] Echeandia, M., de la Puente, A., and Alfonseca, M. (2005). Attribute grammarevolution. In Mira, J. and Alvarez, J., editors, Artificial Intelligence and Knowledge Engineering Applica-tions. A Bioinspired Approach, PT 2, Proceedings, volume 3562 of Lecture Notes in Computer Science,pages 182–191, Heidelberger Platz 3, D-14197 Berlin, Germany. UNED; Spanish Minist Ciencia & Tecnol,Springer-Verlag Berlin.

[Feynman, 1960] Feynman, R. P. (1960). There’s plenty of room at the bottom. Engineering and Science,23(5):22–36.

[Fox and McMahon, 1990] Fox, B. R. and McMahon, M. B. (1990). Genetic operators for sequencingproblems. In FOGA’90g, pages 284–300.

[Frisco, 2006] Frisco, P. (2006). P systems, petri nets, and program machines. Membrane Computing,3850:209–223.

[Frisco and Hoogeboom, 2011] Frisco, P. and Hoogeboom, H. J. (2011). P systems and topology: somesuggestions for research. International Journal of Foundations of Computer Science, 22(1):179–190.

[Frutos et al., 2009] Frutos, J. d., Fernández, L., and Arroyo, F. (2009). Decision trees for obtaining activerules in transition p systems. In Gheorghe Păun, Mario J. Pérez-Jiménez, A. R.-N. n., editor, TenthWorkshop on Membrane Computing (WMC10), pages 210–217.

[Gödel, 1931] Gödel, K. (1931). Über formal unentscheidbare sätze der principia mathematica und verwand-ter systeme i. Monatshefte für Mathematik, 38:173–198.

[Gil et al., 2009] Gil, F. J., Tejedor, J., and Fernández, L. (2009). Fast lineas algorithm for active ru-les application in transition p systems. International Journal “Information Theories & Applications”,16(3):222–232.

[Goldberg, 1989] Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization & Machine Learning.Addison-Wesley, Reading, MA.

[Goldberg and Lingle, 1985] Goldberg, D. E. and Lingle, R. (1985). Alleles, loci, and the traveling salemanproblem. In Grefenstette, J. J., editor, Proceedings of the First International Conference on GeneticAlgorithms and their Applications (ICGA’85), pages 154–159, Hillsdale, New Jersey. Lawrence ErlbaumAssociates.

[Goldberg and Richardson, 1987] Goldberg, D. E. and Richardson, J. (1987). Genetic algorithms with sha-ring for multimodal function optimization. In Grefenstette, J. J., editor, Genetic Algorithms and theirApplications (ICGA’87), pages 41–49, Hillsdale, New Jersey. Lawrence Erlbaum Associates.

[Gómez et al., 2007] Gómez, S., Fernández, García, I., and Arroyo, F. (2007). Reseraching framework forsimulating/implementating p systems. In Fifth International Conference “Information Theories & Appli-cations” , volume 1, pages 185–196.

[Gutierrez et al., 2008] Gutierrez, A., Fernandez, L., Arroyo, F., and Alonso, S. (2008). Hardware andsoftware architecture for implementing membrane systems: A case of study to transition p systems. DnaComputing, 4848:211–220.

[Gutierrez et al., 2007] Gutierrez, A., Fernandez, L., Arroyo, F., and Martinez, V. (2007). Design of ahardware architecture based on microcontrollers for the implementation of membrane systems. In 8thInternational Symposium on Symbolic and Numeric Algorithms for Scientific Computing, pages 350–353.

136

Page 155: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

[Gutierrez-Naranjo et al., 2006] Gutierrez-Naranjo, M. A., Perez-Jimenez, M. J., and Riscos-Nuñez, A.(2006). Available membrane computing software. In Ciobanu, G., Păun, G., and Perez-Jimenez, M. J.,editors, Applications of Membrane Computing, Natural Computing Series, pages 411–436. Springer BerlinHeidelberg.

[Head, 1987] Head, T. (1987). Formal language theory and dna - an analysis of the generative capacity ofspecific recombinant behaviors. Bulletin of Mathematical Biology, 49(6):737–759.

[Heppner and Grenander, 1990] Heppner, F. and Grenander, U. (1990). A stochastic nonlinear model forcoordinated bird flocks. In Krasner, E., editor, The ubiquity of chaos, pages 233–238. AAAS Publications.

[Holland, 1975] Holland, J. H. (1975). Adpatation in Natural and Artificial Systems. University of MichiganPress, Ann Arbor, MI.

[Kennedy et al., 1995] Kennedy, J., Eberhart, R., and Ieee (1995). Particle swarm optimization. InternationalConference on Neural Networks Proceedings, 1-6:1942–1948.

[Kimura, 1985] Kimura, M. (1985). The Neutral Theory of Molecular Evolution. Cambridge UniversityPress.

[Korenaga et al., 2007] Korenaga, T., Hatanaka, T., and Uosaki, K. (2007). Performance improvement ofparticle swarm optimization for high-dimensional function optimization. In Evolutionary Computation,2007. CEC 2007. IEEE Congress on, pages 3288 –3293.

[Larrañaga et al., 1994] Larrañaga, P., Poza, M., Yurramendi, Y., Murga, R. H., and Kuijpers, C. M. H.(1994). Structure learning of bayesian networks by genetic algorithms: A performance analysis of controlparameters. IEEE Transactions on Pattern Analysis and Machine Intelligence, 18:912–926.

[Larranaga et al., 1999] Larranaga, P., Kuijpers, C. M. H., Murga, R. H., Inza, I., and Dizdarevic, S. (1999).Genetic algorithms for the travelling salesman problem: A review of representations and operators. ArtificialIntelligence Review, 13(2):129–170.

[Lewin, 1999] Lewin, B. (1999). Genes VII. Oxford University Press.

[Lewis et al., 1965] Lewis, P. M., Stearns, R. E., and Hartmanis, J. (1965). Memory bounds for recognition ofcontext-free and context-sensitive languages. In Proceedings of the 6th Annual Symposium on SwitchingCircuit Theory and Logical Design (SWCT 1965), FOCS ’65, pages 191–202, Washington, DC, USA.IEEE Computer Society.

[Liepins, 1992] Liepins, G. E. (1992). On global convergence of genetic algorithms. Neural and StochasticMethods In Image and Signal Processing, 1766:61–65.

[Malita, 2000] Malita, M. (2000). Membrane computing in prolog. In C.S.Calude, Dinneen, M., andGh.Păun, editors, Pre-Proceedings of The Workshop on Multiset Processing, pages 159–175.

[Martin-Vide and Mitrana, 2005] Martin-Vide, C. and Mitrana, V. (2005). Molecular Computational Models:Unconventional Approaches, chapter Networks of Evolutionary Processors: Results and Perspectives, pages78–114. Idea Group Publishing.

[Martinez et al., 2007] Martinez, V., Arroyo, F., Gutierrez, A., and Fernandez, L. (2007). Hardware imple-mentation of a bounded algorithm for application of rules in a transition p-system. SYNASC 2006: EighthInternational Symposium on Symbolic and Numeric Algorithms for Scientific Computing, Proceedings,1:343–349.

[Martinez et al., 2009] Martinez, V., Gutierrez, A., and de Mingo, L. F. (2009). Circuit fpga for active rulesselection in a transition p system region. Advances In Neuro-information Processing, Pt Ii, 5507:893–900.

[McCulloch and Pitts, 1943] McCulloch, W. S. and Pitts, W. (1943). A logical calculus of the ideas imma-nent in nervous activity. Bulletin of Mathematical Biophysics, 5(4):115–133.

137

Page 156: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

[Michalewicz, 1992] Michalewicz, Z. (1992). Genetic Algorithms + Data Structures = Evolution Programs.Springer, Berlin.

[Michalewicz and Janikow, 1991] Michalewicz, Z. and Janikow, C. Z. (1991). Handling constraints in geneticalgorithms. In Belew, R. K. and Booker, L. B., editors, Proceedings of the Fourth International Conferenceon Genetic Algorithms (ICGA’91), pages 151–157, San Mateo, California. Morgan Kaufmann Publishers.

[Nepomuceno-Chamorro, 2004] Nepomuceno-Chamorro, I. A. (2004). A java simulator for membrane com-puting. Journal of Universal Computer Science, 10(5):620–629.

[Nguyen et al., 2008] Nguyen, V., Kearney, D., and Gioiosa, G. (2008). An implementation of membranecomputing using reconfigurable hardware. Computing and Informatics, 27:551–569.

[Nguyen et al., 2010] Nguyen, V., Kearney, D., and Gioiosa, G. (2010). An extensible, maintainable andelegant approach to hardware source code generation in reconfig-p. J. Log. Algebr. Program., 79(6):383–396.

[Oliver et al., 1987] Oliver, I. M., Smith, D. J., and Holland, J. R. C. (1987). A study of permutationcrossover operators on the traveling salesman problem. In Grefenstette, J. J., editor, Genetic Algorithmsand their Applications (ICGA’87), pages 224–230, Hillsdale, New Jersey. Lawrence Erlbaum Associates.

[O’Neill and Brabazon, 2004] O’Neill, M. and Brabazon, A. (2004). Grammatical swarm. In Deb, K., Poli,R., Banzhaf, W., Beyer, H., Burke, E., Darwen, P., Dasgupta, D., Floreano, D., Foster, O., Harman, M.,Holland, O., Lanzi, P., Spector, L., Tettamanzi, A., Thierens, D., and Tyrrell, A., editors, Genetic andEvolutionary Computation - GECCO 2004, PT 1, Proceedings, volume 3102 of Lecture Notes in ComputerScience, pages 163–174, Heidelberger Platz 3, D-14197 Berlin, Germany. Springer-Verlag Berlin.

[Ortega et al., 2003] Ortega, A., Dalhoum, A., and Alfonseca, M. (2003). Grammatical evolution to designfractal curves with a given dimension. IBM J. Res. Dev., 47:483–493.

[O’Sullivan and Ryan, 2002] O’Sullivan, J. and Ryan, C. (2002). An investigation into the use of differentsearch strategies with grammatical evolution. In Proceedings of the 5th European Conference on GeneticProgramming, EuroGP ’02, pages 268–277, London, UK. Springer-Verlag.

[Peña et al., 2011] Peña, M., Bravo, G., and Mingo, L. F. (2011). Distributed models in p-systems architec-tures to reduce computation time. International Journal of Mathematics and Computers in Simulation,3(5):258–265.

[Peña et al., 2010] Peña, M., Tejedor, J., Castellanos, J., and Bravo, G. (2010). Communication latenessin software membranes. In Markov, K., Velychko, V., de Mingo Lopez, L. F., and Casellanos, J., editors,New Trends in Information Technologies, pages 23–28, Sofia, Bulgaria.

[Peña and Frisco, 2010] Peña, M. A. and Frisco, P. (2010). Dynamics of randomly constructed computatio-nal systems. In Martínez del Amor, M. A., Păun, G., Pérez Hurtado de Mendoza, I., and Riscos Núñez,A., editors, Eighth Brainstorming Week on Membrane Computing, pages 235–242.

[Petreska and Teuscher, 2004] Petreska, B. and Teuscher, C. (2004). A reconfigurable hardware membranesystem. Membrane Computing, 2933:269–285.

[Poli, 2008] Poli, R. (2008). Analysis of the publications on the applications of particle swarm optimisation.J. Artif. Evol. App., 2008:4:1–4:10.

[Păun, 2000] Păun, G. (2000). Computing with membranes. Journal of Computer and System Sciences,61(1):108–143.

[Qi et al., 2004] Qi, Z., You, J., and Mao, H. (2004). P systems and petri nets. In Martiŋn-Vide, C., Mauri,G., Păun, G., Rozenberg, G., and Salomaa, A., editors, Membrane Computing, volume 2933 of LectureNotes in Computer Science, pages 819–847. Springer Berlin / Heidelberg.

138

Page 157: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

[Reeves, 1993] Reeves, C. (1993). Modern heuristic techniques for combinatorial problems. John Wiley &Sons, Inc., New York, NY, USA.

[Reynolds, 1987] Reynolds, C. W. (1987). Flocks, herds and schools: A distributed behavioral model. SIG-GRAPH Comput. Graph., 21:25–34.

[Robinson and Rahmat-Samii, 2004] Robinson, J. and Rahmat-Samii, Y. (2004). Particle swarm optimiza-tion in electromagnetics. IEEE Transactions on Antennas and Propagation, 52(2):397–407.

[Romero-Campero and Pérez-Jiménez, 2008] Romero-Campero, F. J. and Pérez-Jiménez, M. J. (2008). Amodel of the quorum sensing system in vibrio fischeri using p systems. Artificial Life, 14(1):95–109.

[Ryan et al., 1998] Ryan, C., Collins, J., Collins, J., and O’Neill, M. (1998). Grammatical evolution: Evolvingprograms for an arbitrary language. In Lecture Notes in Computer Science 1391, Proceedings of the FirstEuropean Workshop on Genetic Programming, pages 83–95. Springer-Verlag.

[Schaffer et al., 1989] Schaffer, J. D., Caruana, R. A., Eshelman, L. J., and Das, R. (1989). A study of controlparameters affecting online performance of genetic algorithms for function optimization. In Schaffer, J. D.,editor, Proceedings of the Third International Conference on Genetic Algorithms (ICGA’89), pages 51–60,San Mateo, California. Morgan Kaufmann Publishers, Inc.

[Settles et al., 2003] Settles, M., Rodebaugh, B., and Soule, T. (2003). Comparison of genetic algorithmand particle swarm optimizer when evolving a recurrent neural network. In Proceedings of the 2003international conference on Genetic and evolutionary computation: PartI, GECCO’03, pages 148–149,Berlin, Heidelberg. Springer-Verlag.

[Shi and Eberhart, 1998a] Shi, Y. and Eberhart, R. (1998a). A modified particle swarm optimizer. InEvolutionary Computation Proceedings, 1998. IEEE World Congress on Computational Intelligence., The1998 IEEE International Conference on, pages 69–73.

[Shi and Eberhart, 1998b] Shi, Y. and Eberhart, R. C. (1998b). Parameter selection in particle swarmoptimization. In Proceedings of the 7th International Conference on Evolutionary Programming VII, EP’98, pages 591–600, London, UK. Springer-Verlag.

[Singer and Nicolson, 1972] Singer, S. J. and Nicolson, G. L. (1972). Fluid mosaic model of structure ofcell-membranes. Science, 175(4023):720–731.

[Stearns et al., 1965] Stearns, R. E., Hartmanis, J., and Lewis, P. M. (1965). Hierarchies of memory limitedcomputations. In Proceedings of the 6th Annual Symposium on Switching Circuit Theory and LogicalDesign (SWCT 1965), FOCS ’65, pages 179–190, Washington, DC, USA. IEEE Computer Society.

[Stender, 1993] Stender, J. (1993). Parallel Genetic Algorithms: Theory and Practice. IOS Press, Amster-dam.

[Suzuki and Tanaka, 2000] Suzuki, Y. and Tanaka, H. (2000). On a lisp implementation of a class of psystems. In Romanian Journal of Information Science and Technology, volume 3, pages 173–186.

[Syropoulos et al., 2004] Syropoulos, A., Mamatas, E. G., Allilomes, P. C., and Sotiriades, K. T. (2004). Adistributed simulation of transition p systems. Membrane Computing, 2933:357–368.

[Syswerda, 1991] Syswerda, G. (1991). Schedule optimization using genetic algorithms. In Davis, L., editor,Handbook of Genetic Algorithms, pages 332–349, New York. Van Nostrand Reinhold.

[Tejedor et al., 2008] Tejedor, J., Fernandez, L., Arroyo, F., and Bravo, G. (2008). An architecture forattacking the communication bottleneck in p systems. Artificial Life and Robotics, 12:236–240.

[Tejedor Cerbel, 2011] Tejedor Cerbel, J. A. (2011). Arquitectura distribuida de procesadores basada enalgoritmos acotados de aplicación de reglas para la implantación de P systems en dispositivos digitales.PhD thesis, Facultad de Informática, Universidad Politécnica de Madrid.

139

Page 158: TESISDOCTORAL MiguelÁngelPeñaCamachooa.upm.es/14743/1/MIGUEL_ANGEL_PENA_CAMACHO_2.pdf · 2014-09-22 · implementados en medios biológicos o electrónicos, son la base de estudio

[Toro Ocampo et al., 2006] Toro Ocampo, E. M., Restrepo G., Y. S., and Granada E., M. (2006). Adap-tación de la técnica de particle swarm al problema de secuenciamiento de tareas. Scientia et Technica,12:307–312.

[Turing, 1937a] Turing, A. M. (1937a). Computability and λ-definability. The Journal of Symbolic Logic,2(4):153–163.

[Turing, 1937b] Turing, A. M. (1937b). On computable numbers, with an application to the entscheidungs-problem. Proceedings of the London Mathematical Society, 42:230–265.

[Wilson, 1975] Wilson, E. O. (1975). Sociobiology: The New Synthesis. Harvard University Press.

[Zilio and Formenti, 2004] Zilio, S. D. and Formenti, E. (2004). On the dynamics of pb systems: A petrinet view. In Martin-Vide, C., Mauri, G., Păun, G., Rozenberg, G., and Salomaa, A., editors, Membra-ne Computing, volume 2933 of Lecture Notes in Computer Science, pages 523–567. Springer Berlin /Heidelberg.

140