Chapter 4 : RESEARCH METHODOLOGY
4.4.1 Qualitative Research Interviews
Optimización por Enjambres de Partículas
Aunque ya se ha mencionado cómo la Evolución Gramatical con reescritura de gramáticas puede ser utilizada para realizar distribuciones de membranas en procesadores, es necesario volver al planteamiento inicial 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 mala aplicabilidad a las arquitecturas maestro-esclavo, y el exceso de tiempo de cómputo en la implementación realizada.
En primer lugar, se ha propuesto la metaheurística PSO como alternativa para tratar de paliar los problemas asociados a las técnicas evolutivas. Se ha planteado el uso de un PSO para realizar distribuciones de membranas en procesadores siguiendo una arquitectura P2P. No debe olvidarse que la arquitectura P2P requiere 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 el caso de los algoritmos genéticos. Las pruebas realizadas de generación aleatoria muestran que la mayoría de las soluciones por las que se mueven las partículas no se corresponden con soluciones válidas, y por tanto son descartas. Así, el uso de esta técnica apenas mejora la distribución aleatoria de membranas en procesadores salvaguardando 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 han encontrado mejoras respecto a los tiempos que muestran los algoritmos genéticos, aunque sí se soluciona el problema de consumo de recursos temporales que muestran los algoritmos genéticos. La posible explicación a 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 mejoras en las soluciones. Por lo general, los movimientos de las partículas, intentan mejorar sobre alguna de sus dimensiones, pero ello causa un retroceso sobre las demás.
La última arquitectura, Maestro-Esclavo Jerárquico presenta diversas complicaciones para la búsqueda de distribuciones, debido a la posible inexistencia de procesadores intermedios, y al desequilibrio del árbol que conforman los procesadores. Es complicado seleccionar una técnica de distribución que permita el uso de árboles no equilibrados, pero además, es complicado incluso cuando el árbol está equilibrado. Si se considera que el árbol es equilibrado, es necesario definir cuál será la altura y la amplitud del mismo. Aunque
en primera instancia surja el planteamiento de utilizar los datos definidos cuando se utilizaban tiempos globales, la práctica demuestra que aunque el uso de los algoritmos genéticos mejora la distribución, con otras arquitecturas se consiguen mejores tiempos. Además, el problema del consumo de tiempo que plantean los 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 partido a la arquitectura HMS. Se pretende por tanto, utilizar alguna alternativa que permita el uso de árboles no equilibrados, 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. Si bien, se prevé que esta técnica necesite demasiados recursos, los resultados esperados deberían ser mejores que para otras arquitecturas. Se empleará un PSO con dos dimensiones para decidir la altura y la amplitud del árbol de procesadores. Sobre cada una de las partículas, para su evaluación, se recurrirá a un algoritmo genético. Dicho algoritmo constará de una población de diferentes árboles de procesadores que cumplan la restricción de que la altura y la amplitud son la indicada. Estos serán los fenotipos de los individuos del algoritmo genético (los genotipos, serán genes que representan este árbol). Para la evaluación de la adaptación de estos árboles, se utilizará otro algoritmo genético. En este caso, además de conocer la altura y 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á, obteniendo el mejor valor de ellos, que será el que sea asociado a la función evaluadora del otro algoritmo genético. Es decir, 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, el fitness de una partícula será el tiempo de la mejor distribución de procesadores que se ha podido realizar con la 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 de527de los P sistemas de 100
membranas que se están utilizando a lo largo de esta tesis. Los resultados se pueden encontrar en la gráfica 6.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 mejora planteada es de media solo un 3 %, si bien, tiene una oscilación entorno al 50 %. La conclusión obtenida
es que la penalización por las comunicaciones es tan abultada que las posibles mejoras de utilizar tiempos locales son mínimas. Así, se sigue optando por el uso de los algoritmos genéticos, y la distribución basada en tiempos globales, como la solución que menos tiempo de proceso requiere, aunque sus resultados sean un poco inferiores al uso de PSO.
Figura 6.9: Comparativa de los tiempos obtenidos tras usar PSO y algoritmos genéticos para
la 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
hecho que solo se trabaje con un subconjunto de los casos de prueba, para el caso de1000membranas, los
tiempos son desorbitados, y solo se han realizado 4 pruebas, con el fin de intentar buscar la tendencia del
comportamiento. Los resultados han sido sorprendentes, puesto que los tiempos son aún mucho mejores que los encontrados con otras técnicas y arquitecturas. En concreto, la mejora de los PSO y tiempos parciales respecto a los globales es de una media del27 %, siendo en el peor de los casos, del16 %. Esto hace pensar que
los árboles desbalanceados mejoran los resultados, pero hay que ser cautos, puesto que solo se ha probado para4casos. Por contra, el tiempo tan excesivamente alto hace descartar esta alternativa, siguiéndose con
el planteamiento de que para esta arquitectura los algoritmos genéticos, y el uso de tiempos globales es la mejor opción.
Para la realización de las pruebas mencionadas se han utilizado los valores estándar. Así, para los PSO,
ω=0,729y c1=c2=2, 05, realizándose sobre 10 partículas durante 5 iteraciones. La altura y la amplitud
estaban acotadas entre [2, 8] y [2, 5] respectivamente. Para cada algoritmo genético, se han utilizado 10
cromosomas, y se han generado 10 poblaciones con reemplazo total mediante cruzamiento por un punto y mutación con una probabilidad de0,5sobre el genotipo.
Con el uso de PSO se consiguen analizar las posibilidades que abren el uso de tiempos parciales a las distribuciones de membranas para los casos en los que los Algoritmos Genéticos no se muestran como heurística sencilla. El problema de ambas alternativas sigue siendo el tiempo de cómputo, por lo que se propone 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 preservan la topología arbórea, es el tiempo de conversión del genotipo al fenotipo, o el tratamiento del cromosoma como un árbol. La reescritura de gramáticas mostrada en el apartado anterior permite que la conversión de genotipo a fenotipo sea relativamente rápida, y la evolución sobre cadenas de codones resulta más eficiente que sobre otro tipo de estructura. Además, el uso de cadenas de longitud fija reduce el número de posibles operadores 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 en su ejecución.
Con esta propuesta de Evolución de Gramáticas se espera obtener los mismos resultados comparando con Algoritmos Genéticos, en cuanto a la estimación de tiempo de evolución obtenido (al utilizar una técnica muy parecida), pero mejores resultados en cuanto al tiempo necesario para calcular la distribución (por realizar una conversión genotipo-fenotipo sencilla). Como prueba de esta hipótesis, se ha utilizado el mismo conjunto de P sistemas de prueba de 100y 1000 membranas, utilizando los 1000 P sistemas de 100 membranas y
los 51P sistemas de 1000 membranas sobre los que se probaron los Algoritmos Genéticos. Los resultados
comparativos, para las arquitecturas P2P y HP2P se encuentran en la figura 6.10 para100membranas y en
la figura 6.11 para1000 membranas.
La implementación de Evolución Gramatical con reescritura de gramáticas que se ha realizado, ha utilizado los mismos parámetros que se utilizaron para los algoritmos genéticos. Las diferencias radican en la aplicación de los operadores, ya que mientras el cruzamiento en los algoritmos genéticos debe realizarse sobre un árbol, en la evolución de gramáticas es sobre una cadena de números enteros. De igual forma, la mutación en algoritmos genéticos se realiza sobre un árbol, y deben estudiarse las posibilidades de reubicación de la membrana seleccionada; mientras que en la evolución gramatical, solo es necesario modificar el valor del codón por otro elegido al azar. Pero en ambos casos, la tasa de mutación, la selección aleatoria del punto de 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 ambas técnicas. Si bien, es posible que una apropiada selección sobre cada técnica pueda dar resultados diferentes y mejores, 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 se puede observar como los algoritmos genéticos para la mayoría de los P sistemas mejoran los tiempos globales de evolución. De entre las conclusiones que se obtienen de estos datos, destaca como las arquitecturas P2P y HP2P siguen presentando un comportamiento similar cuando se utilizan tiempos parciales. También es muy significativo el hecho de que para 1000 membranas, la evolución gramatical mejore más los tiempos que
(a) Arquitectura P2P
(b) Arquitectura HP2P
Figura 6.10: Tiempos comparativos entre Algoritmos Genéticos y Gramáticas Evolutivas con
reescritura para las arquitecturas P2P y HP2P, en los P sistemas de 100 membranas. También
se 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 el8, 7 %en P2P y e10, 2 %en HP2P de loscasos de 100 membranas, la evolución gramatical consigue tiempos peores que los tiempos de los algoritmos genéticos. Aún así, en términos generales, para 100 membranas -y por supuesto para 1000- la evolución gramatical es mejor que los algoritmos genéticos. Otro dato significativo, es cómo la población inicial con la técnica de Evolución Gramatical es generalmente peor que con el uso de algoritmos genéticos a medida que crece el número de membranas. En el cuadro 6.7 se pueden observar estos valores, donde se percibe que con 1000 membranas la población inicial generada con Evolución Gramatical es siempre peor que la que generan los algoritmos genéticos. Aunque este dato no deja de ser una anécdota sobre la que no se ha formulado ninguna hipótesis, ponen de especial énfasis en como la evolución gramatical evoluciona más rápido en busca de mejores soluciones, o bien, es capaz de conseguirlas. Como se ha mencionado, no se han optimizado los algoritmos utilizados, y por tanto, el simple hecho de mayores repeticiones sobre el mismo podrían converger hacia el óptimo global que está sin alcanzar. Entonces, bajo las mismas condiciones (y solo mostrado en el caso de los experimentos realizados) la evolución gramatical converge más rápidamente hacia una mejor solución. En concreto, en el cuadro 6.8 se puede observa como esta técnica tiene una mejora aproximada del
57 %respecto a su población inicial, y como a medida que aumenta el número de membranas, la mejora es
más significativa.
La evolución gramatical obtiene mejores distribuciones que los algoritmos genéticos en cuanto al tiempo de evolución, y sigue manteniendo la similitud entre las arquitecturas P2P y HP2P. Pero además, solventa
(a) Arquitectura P2P
(b) Arquitectura HP2P
Figura 6.11: Tiempos comparativos entre Algoritmos Genéticos y Gramáticas Evolutivas con
reescritura 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 cada
heurística.
Nºde
Arquitectura Media (%) Desviación Mínimo (%) Máximo (%)
membranas
típica(ω)
100
P2P
14, 868
10, 792
−22, 060
47, 774
H P2P
14, 942
10, 936
−16, 088
49, 696
1000
P2P
26, 047
3, 661
19, 787
33, 629
H P2P
26, 254
3, 621
19, 156
13, 712
Cuadro 6.6: Mejoras obtenidas al aplicar evolución gramatical con reescritura de gramáticas
contra los mismos test utilizando algoritmos genéticos, para cálculos con tiempos parciales.
Nºde
Arquitectura Media (%) Desviación Mínimo (%) Máximo (%)
membranas
típica(ω)
100
P2P
−2, 732
6, 774
−31, 025
16, 475
H P2P
−2, 962
6, 281
−26, 254
17, 923
1000
P2P
−12, 167
3, 489
−19, 661
−3, 747
H P2P
−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 tiempos
parciales. 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, 859
H P2P
57, 305
5, 325
42, 231
74, 362
1000
P2P
66, 534
1, 990
61, 486
69, 954
H P2P
66, 776
1, 661
63, 519
70, 193
Cuadro 6.8: Porcentaje de mejora obtenido tras la evolución gramatical, en comparativa a
los 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 de los algoritmos genéticos.
El uso de tiempos parciales modifica los resultados de las arquitecturas disponibles. Por ejemplo, se ha observado que la arquitectura P2P y HP2P al utilizar evolución gramatical con reescritura de gramáticas obtienen 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 menos pruebas 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 tiempos parecidos cuando sus resultados han sido obtenidos con Evolución de Gramáticas con reescritura. Un análisis profundo de las arquitecturas hace comprender que P2P sería la mejor arquitectura a utilizar debido a que no requiere el paralelismo que presenta la otra alternativa. En este estudio se ha utilizado el tiempo máximo que tarda cada membrana en evolucionar y comunicar, puesto que es la única forma en la que se pueden estudiar 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 debe esperar su intervalo de comunicación, sino que cuando recibe la orden, puede empezar a comunicar. Sería por tanto más exacto para estas arquitecturas utilizar el tiempo promedio de aplicación y comunicación de cada 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 utilizar Optimizació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 esta distribución hace que sea descartada esta alternativa, surge el planteamiento de que esta arquitectura sería la mejor; si bien, deben buscarse nuevas técnicas de distribución para poder conseguir estos resultados. Otro motivo a favor de esta arquitectura, es que aún siendo la peor de todas en los P sistemas de 100 membranas,
(a) 100 membranas
(b) 1000 membranas
Figura 6.12: Tiempos comparativos para las diferentes arquitecturas utilizando la metaheu-
rística que mejores resultados obtiene.
P
a
rte
IV
C
a
p
í
t
u
l
o
7
Distribución dinámica
Los algoritmos de distribución estática mostrados, analizan las membranas con sus reglas de evolución asociadas y hacen uso de las diferentes arquitecturas existentes, para realizar un reparto de las membranas en diferentes nodos de un clúster de procesadores, y obtener el menor tiempo posible de evolución. En el estudio minucioso de las reglas, se contemplan los factores que afectan al estado de la membrana y a su contexto total. Sin embargo, la disolución de membranas apenas se ha tenido en cuenta; especialmente la disolución de la propia membrana. En primer lugar, en el árbol de decisión de reglas activas de la membrana i, se contempla que otras membranas, como j, se pueden disolver. Pero no se calcula la probabilidad de que la disolución de j exista, sino que se considera que son equiprobables la disolución o no. Si se considera que esa disolución de j vendrá determinada por la probabilidad de aplicar una regla que implique disolución en la membrana j, la probabilidad de que se haya disuelto la membrana j no será equiprobable. Además, para el 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 que inicialmente j no tiene porqué ser hija dei.
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 conjunto de reglas que contenga alguna regla que implica disolución de la membrana, la selección de ese multiconjunto conllevará 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á determinado por elPcs
x=10, 5nx, dondecs⊆cj es el conjunto de nodos del árbol de decisión que contienen alguna regla que
disuelve la membrana ynx es el número de nodos internos del camino de la raíz a la hoja x. En el ejemplo
de la figura 7.1, donde solor4disuelve la membrana1, la probabilidad de que dicha membrana sea disuelta
es del9, 375 %, lo que muestra lo desacertado del uso de una probabilidad del50 %.
Pero la probabilidad de que esta membrana j -en el ejemplo, la membrana1-, está también determinada
por la existencia (o disolución) de las membranas que aparecen en su árbol de decisión de selección de reglas activas. En el ejemplo, membranas2y4. 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 y aplicación de reglas, estará determinada por una probabilidad compuesta por la probabilidad de la disolución de las membranas descendientes. Y, la estimación de los tiempos de aplicación de las membranas deberá