GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies Trabajo de Investigación Tutelado Doctorado “Lenguajes, Sistemas Informáticos e Ingeniería del Software” Facultad de Informática de la Universidad Politécnica de Madrid Alumna: Guadalupe Muñoz Martín Tutor: Vicente Martín Ayuso
45
Embed
GIOSS: Prototipo software para la optimización del ... · 1 “Open Source” o software de código abierto, o libre, es aquel cuyos términos de uso permiten al usuario ejecutarlo,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras
de superficies
Trabajo de Investigación Tutelado Doctorado “Lenguajes, Sistemas Informáticos e Ingeniería del Software”
Facultad de Informática de la Universidad Politécnica de Madrid
5. VISUALIZACIÓN INTERACTIVA DE LA INFORMACIÓN Y USABILIDAD _____________ 22 6. DESCRIPCIÓN DE LA SOLUCIÓN PROPUESTA ________________________________ 24 7. EXPERIMENTOS __________________________________________________________ 33
7. 1. RESULTADOS PARA 2 PARÁMETROS ____________________________________ 35 7. 2. RESULTADOS PARA 6 PARÁMETROS ____________________________________ 37 7. 3. COMPARACIÓN DE RESULTADOS _______________________________________ 39 7. 4. INTERFAZ DE USUARIO ________________________________________________ 40
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
2. DESCRIPCIÓN DEL PROBLEMA Y OBJETIVOS
Una propiedad importante de la mayoría de los sólidos es su estructura cristalina, que está
caracterizada microscópicamente por la agrupación de iones, átomos o moléculas en bloques que se
repiten de manera periódica en el espacio . Un sólido cristalino puede dividirse en
volumen y superficie (figura 1), siendo ésta última la parte del sólido donde finaliza y que está en
contacto con otro medio o material. La estructura de la superficie no es idéntica a la del volumen, ya
que los átomos de la superficie no están rodeados por la misma cantidad de átomos, y por lo tanto,
de las mismas fuerzas, que los que se encuentran en el volumen. Las características que presentan
las superficies dependiendo de su estructura tendrán gran impacto en el tipo y propiedades de los
dispositivos tecnológicos que puedan construirse a esta escala, que es aquella de la que se ocupa la
nanotecnología, como potenciales transistores moleculares.
[Kittel, 1998]
e
Este trabajo,
Materiales de Madri
Informática de la Un
consiste en la optimi
Dicha optimización s
colaborativa (“Open S
aprovechar los recu
proporcionando una
búsqueda de la soluc
1 “Open Source” o softwar
distribuirlo, estudiarlo y m
puedan aprovecharlas, y
determinados en la licenc
deberes a los que se acog
2 Una infraestructura grid
entidades computacionale
dispositivos de almacenam
cálculo disponible sumand
Guadalupe Muñoz
Superfici
V
d
i
z
e
i
i
e
e
ia
e
s
o
olumen
Figura 1. Estructura cristal FCC (111) ideal
que supone la colaboración entre investigadores del Instituto de Ciencia de
del Consejo Superior de Investigaciones Científicas y de la Facultad de
versidad Politécnica de Madrid, pretende resolver un problema complejo, que
ación del proceso de la determinación de la estructura atómica de superficies.
realizará desde un punto de vista general, creando una plataforma abierta y
ource”1) estable y extensible implementada sobre una infraestructura grid2 para
rsos computacionales disponibles. Y también a un nivel más específico,
nterfaz de usuario con alto grado de usabilidad y un algoritmo numérico de
ón óptimo.
de código abierto, o libre, es aquel cuyos términos de uso permiten al usuario ejecutarlo, copiarlo,
jorarlo. El usuario también puede redistribuir sus modificaciones de forma que otras personas
a su vez, modificarlas y distribuirlas. Los términos de uso de este tipo de programas vienen
, de la que existen varios tipos, bajo la que se distribuye, y especifica el conjunto de derechos y
n tanto los desarrolladores del programa como sus usuarios.
es aquella que permite el acceso y procesamiento concurrente de un programa entre varias
independientes. Puede verse como un conjunto heterogéneo de redes avanzadas, ordenadores,
iento, de visualización e instrumentos científicos, que permite gestionar y distribuir la potencia de
la de todos los ordenadores conectados.
Martín 3 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
La determinación de la estructura de la superficie es importante porque es ésta la que
establece las propiedades electrónicas y vibracionales , y por tanto, la
forma en que interactuará con otros medios. Un ejemplo de la aplicación práctica del estudio de la
estructura de superficies es el caso de las monocapas orgánicas auto-organizadas sobre superficies
sólidas bien definidas, como el caso de las moléculas llamadas tioles (Tiol = Cabeza (HS) + Cadena
hidrocarbonada (CH2)+ Grupo terminal (X): HS(CH2)nX) adsorbidas sobre una superficie de oro, como
muestra la figura 2, donde dada una misma simetría para la disposición de los tioles, se presentan
dos posibilidades para los puntos de adsorción de las cabezas de las cadenas: (b) entre tres átomos
de oro, y (c) sobre un átomo de oro, siendo las propiedades eléctricas y mecánicas de la capa
diferentes para cada uno de los casos. Estas monocapas pueden emplearse en biotecnología,
microanálisis, nano- y micro- fabricación como es el caso de transistores moleculares. Sus
propiedades tecnológicas dependen de dónde se coloquen las moléculas con respecto a la superficie,
y por lo tanto, encontrar las coordenadas de estas moléculas respecto al substrato nos ayudará a
predecir las propiedades de las capas.
[Woodruff y Delchar, 1986]
Vista 2D lateral
Vista 2D superior
(b) Cabeza del tiol sobre 1 átomo de Au
(a)
(c) Cabeza del tiol entre 3 átomos de Au
z
y
z
x y
x
Figura 2. Tioles sobre oro
Determinar la estructura de la superficie significa establecer la posición y forma de la celda
unidad que define esa estructura, así como la base de átomos o moléculas que la configuran. Se
llama celda unidad a cada uno de los bloques que se repiten de manera periódica en el cristal. El
volumen de un cristal tiene una celda unidad que lo define, y que es relativamente fácil de estudiar,
pero la superficie puede tener otra celda unidad distinta, que es más difícil de determinar ya que al
ser el volumen mayor que la superficie, enmascara las medidas que se puedan realizar sobre la
superficie.
Guadalupe Muñoz Martín 4 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Experimentalmente, para determinar la estructura atómica del volumen se utiliza la técnica de
difracción de rayos X, mientras que para la superficie existen una variedad de técnicas, como
“Surface X-Ray Diffraction” (SXRD), “Low Energy Electron Diffraction” (LEED), “Surface Extended X-
ray Absorption Fine Structure” (SEXAFS), ó “X-ray Absorption Near-Edge structure Spectroscopy”
(XANES), por citar las más importantes.
En el caso de SXRD, que es la técnica elegida como comienzo para este trabajo, se hacen
incidir rayos X (cuya longitud de onda es adecuada (~10-9 m) para “ver” átomos) en un sincrotrón (la
radiación de rayos X es más intensa), con ángulos de incidencia suficientemente pequeños como
para que no penetren en el volumen, de forma que los electrones de los átomos de la superficie sobre
los que inciden los difractan de manera elástica. Al haber muchos haces difractados, algunos se
anularán entre sí, mientras que otros se sumarán. Las condiciones de difracción vienen dadas por la
ley de Bragg, de forma que la intensidad de los haces que cumplan estas condiciones será recogida
en un detector. A partir de esa intensidad medida, habrá de determinarse la posición de los átomos
que forman parte de la celda unidad de la estructura de superficie . [Robinson y Tweet, 1992]
Para cualquier técnica utilizada, los datos que se obtienen no son suficientes para determinar,
de manera directa, la estructura que le corresponde a la superficie, lo que hace que el espacio de
búsqueda sea muy grande, con muchos mínimos locales cercanos a la solución real. Por ejemplo, en
el caso de SXRD, la intensidad obtenida nos permite calcular el módulo de un número complejo,
llamado factor de estructura, que es realmente a partir del que podemos deducir las coordenadas de
los átomos de la celda unidad (Imedida ∝ |F2|; F = |F|eiθ). Pero no podemos medir la fase de dicho
número, por lo que existirán muchas posibilidades para el factor de estructura total que se
corresponda con un módulo concreto [Sayre, 2002].
Por ese motivo, una vez obtenidos los datos experimentales, independientemente de la
técnica utilizada, los científicos han de realizar una serie de pasos para deducir la estructura atómica
de superficies que se resume en la figura 3 donde se han utilizado distintos colores para indicar la
relación entre los distintos pasos. El proceso que se muestra en esta figura resulta sumamente
tedioso y requiere la participación de personal altamente cualificado que pueda introducir sus
conocimientos haciendo suposiciones correctas sobre el modelo estructural adecuado. Esto acerca
los puntos de partida para que el algoritmo numérico sea capaz de encontrar el mínimo global.
Mejorar el paso de optimización numérica de modo que sea menos restrictivo respecto a los puntos
de entrada facilitará mucho el proceso, de modo que en este trabajo nos centraremos en la mejora de
estos algoritmos, tanto desde el punto de vista del algoritmo en sí, como de su implementación
eficiente en un cluster o un grid. A la vez, se irá mejorando la interfaz para lograr que el proceso
completa sea lo más eficiente posible.
Guadalupe Muñoz Martín 5 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Ciclo de optimización
El modelo es bueno
Cambiar el modelo
mediante optimización
numérica
Sí
No
¿Se parecen? (medido por un
factor de calidad)
CompararCalcular datos modelo teórico
Realizar
experimento
Suponer un modelo
estructural
Datos experimentales
Figura 3. Proceso de obtención de la estructura atómica de superficies a partir de los datos
experimentales
El cambio de modelo mediante optimización numérica tiene una complejidad que aumenta a
medida que aumenta el número de parámetros a considerar. En este caso, hay que considerar dos
tipos de parámetros, los estructurales (se llaman así porque representan la estructura geométrica),
que son las coordenadas (x,y,z si utilizamos representación cartesiana) de los átomos de la celda
unidad, y los no estructurales, como el porcentaje de rugosidad (irregularidades), de ocupación de la
celda unidad ó el factor de Debye-Waller, que da la vibración de los átomos debida a la temperatura.
Como ejemplo de la complejidad del problema, tenemos el caso de la adsorción de Li sobre
Ni(001). [Jiang et al., 1997] obtuvieron una serie de datos experimentales mediante la técnica de
LEED, y después de unos cálculos iniciales redujeron el espacio de búsqueda a 45 modelos
bidimensionales que se presentan en la tabla 1 (se visualiza desde arriba el plano xy), donde los
círculos verdes claros y oscuros representan átomos de Ni, y los amarillos y naranjas, átomos de Li.
Nótese que para llegar al punto de reducción a 45 modelos, el investigador ya ha tenido que introducir
una cantidad considerable de conocimiento en el proceso representado en la figura 3.
Guadalupe Muñoz Martín 6 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36
Vista 2D superior
37 38 39 40 41 42 43 44 45
z
y
x
Tabla 1. Modelos para la superficie c(5√2x√2)R45º formada en Ni(001) son adsorción de Li
Para encontrar el modelo que se corresponde con los datos experimentales, hay que añadir a
cada uno de estos modelos 2D (plano xy) las posibles posiciones en el eje z de cada uno de los
átomos de la celda unidad. La tabla 2 muestra (vista lateral) dos posibles celdas unidad para el
modelo 1 de la tabla 1.
Vista 2D superior
Vista 2D lateral
Vista 3D
Celda unidad 1
Celda unidad 2
x
z
y
x
z
y y
z
x
Tabla 2. Posibles celdas unidad para el modelo 1 de la tabla 1.
Guadalupe Muñoz Martín 7 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Al ser el valor de las coordenadas un número real, en principio habrá infinitas posibilidades
para cada variación de las coordenadas x, y, z (respetando las restricciones físicas de que un átomo
no invada a otro átomo y de que la distancia entre capas no sea tan grande como para que no exista
una ligadura entre ellas). Para poder dar una estimación sobre el número de posibilidades para este
caso, hagamos una simplificación y supongamos que las coordenadas sólo pueden variar en
intervalos de 0.001 Å, siendo el valor máximo de variación, en valor absoluto: ∆coordenadainicial = 1.5
Å , tendríamos 1500 posiciones posibles para cada coordenada, es decir, 3 (coordenadas)*1500 =
4500 posiciones para cada átomo. Dado que cada variación es independiente de las demás,
tendremos, para la primera celda unidad, con 16 átomos en la primera capa, y 25 en la segunda y
tercera respectivamente, un total de 16*25*25*4500=45*106 posibles sub-modelos. Mientras que para
la segunda celda unidad, los átomos de las tres capas son 16, 25 y 16 respectivamente, por lo que
habrá 16*25*16*4500=28.8*106 sub-modelos posibles. En total, 73.8*106 posibilidades para el primer
modelo de la tabla 1. Si seguimos simplificando y consideramos esas mismas posibilidades para cada
uno de los 45 modelos iniciales, tendríamos del orden de 3.3*109 modelos posibles a evaluar. Si
intentáramos usar la fuerza bruta y evaluar cada uno de estos modelos, tendríamos que utilizar,
suponiendo que cada modelo se evalúa en 0.1 segundos, un total de 3820 días aproximadamente, es
decir, unos 10 años. Los métodos que se utilizan actualmente, que aplican algoritmos de búsqueda
tradicionales, reducen este tiempo a unos meses, a costa de una alta participación del usuario,
guiando el algoritmo mediante múltiples y tediosas sesiones de trabajo. Por eso, es necesaria la
mejora de estos métodos, para automatizar en lo posible la búsqueda de la solución y haciendo que
la interactividad del usuario sea más fácil y cómoda para éste.
Los criterios que se utilizan para determinar la bondad de la solución obtenida comparada con
los resultados experimentales, esto es, la función objetivo, pueden ser muy variados, y son distintos
según la técnica experimental usada. En el caso de SXRD se utiliza el llamado chi cuadrado (χ2)
que da una medida del error que se comete entre los datos experimentales y los
calculados teóricamente. Mediante la optimización numérica se pretende minimizar ese factor, ya que
su valor mínimo dará una concordancia completa entre los datos experimentales y el modelo teórico
propuesto. Los únicos programas existentes en la actualidad para ayudar en la resolución de este
problema utilizan variantes de algoritmos clásicos de máximo descenso y de calentamiento simulado
que presentan problemas. El primer tipo suele quedarse atrapado en mínimos locales, si la superficie
es rugosa se queda en el mínimo local más próximo, exigiendo continuamente la reiniciación del
proceso de la figura 3 con la introducción de una nueva heurística por parte del usuario. Mientras que
el calentamiento simulado encuentra, en teoría, el mínimo global, pero sólo si se ajustan ciertos
parámetros, por debajo de los cuales el algoritmo puede quedarse en mínimos locales, y por encima
de ellos, puede llegar a no converger nunca. El rango óptimo puede llegar a ser tan estrecho y difícil
de encontrar como para hacer al algoritmo inútil en la práctica. Desafortunadamente, en el caso que
nos ocupa, esta es muchas veces la situación.
[Vlieg et al., 1989]
Guadalupe Muñoz Martín 8 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Por último se han observado dos problemas respecto a las aplicaciones que actualmente se
utilizan para llevar a cabo estos cálculos para superficies. El primero es que cada una de las técnicas
existentes utiliza programas distintos, la mayor parte hechos para resolver necesidades muy
concretas del equipo de investigación que lo realiza. Esto obliga a que si se utilizan distintas técnicas,
haya que aprender a utilizar cada uno de esos programas. El segundo problema es que las interfaces
de dichos programas están bastante alejadas de las normas mínimas de usabilidad, dificultando su
manejo y aprendizaje, tema especialmente importante en este caso donde no sólo es complejo el
cálculo numérico de la estructura, sino de su visualización. Como ejemplo, se muestra (figura 4) la
interfaz del programa “ROD” utilizado para SXRD [Vlieg, 2000]
Figura 4. Interfaz de ROD
Por lo tanto, el objetivo de este trabajo es la implementación de un prototipo que sirva como
estudio de la viabilidad de la creación de una plataforma Open Source implementada sobre una
infraestructura grid que pueda gestionar varias técnicas experimentales y distintos algoritmos de
búsqueda, para la optimización del proceso de determinación de la estructura atómica de superficies.
Dicho prototipo implementará el proceso de la figura 3 para el caso de la técnica experimental SXRD
por ser la más fiable con respecto a los datos experimentales, y utilizará un tipo de algoritmo para la
búsqueda de la solución que nunca ha sido utilizado antes para esta técnica, un algoritmo genético,
con la esperanza de que evite los problemas de los algoritmos utilizados actualmente. Además, el
diseño e implementación de la interfaz de este prototipo tendrá en cuenta la usabilidad para mejorar
la interacción con el usuario.
Guadalupe Muñoz Martín 9 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
3. DIFRACCIÓN DE RAYOS X
Los rayos X son radiación electromagnética con energías típicas de los fotones en el rango de
100eV-100keV, pero para difracción sólo se utilizan rayos X con longitudes de onda pequeñas
(energía en el rango de 1keV-120keV) ya que de esa manera, la longitud de onda es comparable con
el tamaño de los átomos.
Los rayos X con estas características se producen generalmente en instalaciones de radiación
sincrotrón, donde los rayos X son emitidos por electrones o positrones que viajan a velocidad cercana
a la de la luz en un anillo de almacenamiento.
La interacción de los rayos X con la materia se produce básicamente en los electrones de los
átomos. Cuando los fotones del haz de rayos X impactan con los electrones, algunos de estos
fotones salen en una dirección distinta a la que llevaban al principio (como una bola de billar cuando
choca con otra). Cuando la longitud de onda de estos fotones no cambia (es decir, no han perdido
energía), se dice que ha habido una dispersión elástica (dispersión Thompson), donde sólo se ha
producido un cambio de momento. Este tipo de dispersión es la que se utiliza en la difracción, que se
produce cuando varios haces dispersados por diferentes átomos interfieren, produciendo una
distribución de intensidad que estará modulada por esta interacción. Si los átomos con los que han
interferido están dispuestos de manera periódica, como ocurre en los cristales, las ondas difractadas
tendrán un patrón de interferencia máxima (picos), donde los haces se han sumado (en el resto se
han anulado), que tendrá la misma simetría que la distribución de átomos. De esta forma, midiendo el
patrón de difracción se puede, en principio, deducir la distribución de átomos en el cristal [Cullity y
Stock, 2001].
Los picos del patrón de difracción se relacionan con las distancias entre átomos de la siguiente
manera: cuando los átomos están dispuestos de manera periódica, forman distintos conjuntos de
planos en el cristal (figura 5) Cada conjunto de planos se identifica por tres números llamados índices
de Miller y que se denominan h, k y l.
Figura 5. Planos de la red de átomos
Para un grupo dado de planos, con una distancia interplanar d, la condición para que se produzca
difracción (pico) viene dada por la ley de Bragg (figura 6), donde λ es la longitud de onda de los rayos
X, q es el ángulo de incidencia (el mismo que el dispersado), y n es un entero que representa el orden
del pico de difracción. Esta ley se aplica a distribuciones periódicas de densidades de electrones,
como son los átomos, pero también es válida cuando en vez de átomos se tienen moléculas como
proteínas o polímeros.
Guadalupe Muñoz Martín 10 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
q q
d
2*d*seno(q) = λ
Figura 6. Ley de Bragg
Una vez obtenida la intensidad de los picos del patrón de difracción, se pueden deducir las
distribuciones electrónicas, es decir, las posiciones de los átomos (ó moléculas) a través del llamado
factor de estructura: , donde n es el número de átomos en la celda unidad
del cristal,
∑=
⋅∗∗=n
1i
Rri2πi ed)R(f)RF(
rrrr
)R(fir
es el factor atómico, que depende de cada átomo, d es el llamado factor de Debye-
Waller, que introduce la vibración debida a la temperatura, rr
es el vector que indica la posición del
átomo, y Rr
es el vector en la dirección de la variación del momento debida a la dispersión. Este factor
es directamente proporcional a la raíz cuadrada de la intensidad medida en el patrón de difracción.
Una celda unidad, es decir, aquella que se repite de manera periódica en el espacio para producir
una red de átomos se denota mediante tres vectores ( ar
, br
y cr
) que definen su dimensión y posición
en el espacio. Los módulos de dichos vectores, y los ángulos que formados entre sí forman 6
parámetros llamados parámetros de la red (figura 7).
ar
br
cr
α
γ
β
Figura 7. Vectores de la celda unidad
La repetición periódica de los átomos en tres dimensiones no puede ser cualquiera. Bravais descubrió
que sólo existen 14 redes de traslación bidimensionales y homogéneas, compatibles con todas las
características de simetría de cada sistema cristalino, que son llamadas redes de Bravais, y que se
diferencian en los parámetros de red.
Guadalupe Muñoz Martín 11 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Todo lo expuesto anteriormente se ha venido aplicando para determinar la estructura del
volumen de los cristales, y también puede aplicarse para el caso de superficies, pero teniendo en
cuenta que el ángulo de incidencia de los rayos X debe ser suficientemente pequeño como para que
no penetren demasiado, de forma que la intensidad difractada provenga en lo posible de la superficie,
y que a pesar de esa precaución, parte de la intensidad medida será debida al volumen, por lo que
habrá que tenerla en cuenta cuando se realicen los cálculos de determinación de la estructura de la
superficie [Zangwill, 1988].
Guadalupe Muñoz Martín 12 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
4. OPTIMIZACIÓN NUMÉRICA
La optimización numérica consiste en encontrar e identificar al mejor candidato de entre un
conjunto de alternativas, sin tener que evaluar explícitamente todas éstas. A partir del valor de una
función, llamada función objetivo o de mérito, que está diseñada para cuantificar el rendimiento y
medir la calidad de la decisión, obtendremos valores para un cierto número de parámetros de la
función, de forma que minimicen o maximicen esa función objetivo, y por lo general, teniendo en
cuenta una serie de restricciones que limitan la elección de esos valores.
El caso concreto de encontrar los valores de los parámetros de una función para que se ajuste a
unos datos experimentales, que es uno de los objetivos de este trabajo, es un caso de optimización
sobre una función objetivo que mide el ajuste global a partir de las diferencias entre los valores
teóricos y los experimentales de puntos individuales pasados con su error . La
función de mérito que habitualmente se utiliza, aunque pueden utilizarse otras, es la llamada chi-
cuadrado (fórmula 1).
[Press et al., 1988]
σ−
−=χ ∑
=
n
i i
mii ))a,...a;x(yy
()mn
(1
212 1
• yi ≡ valor experimental i
• σi ≡ error experimental valor i
• y(x i;a1,...am) ≡ valor teórico i
• a1,...am ≡ parámetros independientes de y
• n ≡ nº de datos experimentales
• m ≡ nº de parámetros independientes de la función y
Fórmula 1. Definición de chi-cuadrado
Los extremos (máximos ó mínimos) de una función pueden ser locales o globales. Se dice que un
extremo es global cuando de manera absoluta es el mayor (máximo), o el menor (mínimo), de entre
todos los posibles, y local si lo es de manera relativa, es decir, en una zona determinada de la
función. La figura 8 muestra una representación de la función , que sólo tiene un
máximo, y de la función que tiene varios mínimos y máximos.
)yx(ez22+−=
)yx(e)yx(z2233 +−+=
y
x
y
x
z z
Figura 8. Funciones y )yx(ez22+−= )yx(e)yx(z
2233 +−+=
Guadalupe Muñoz Martín 13 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
4. 1. ALGORITMOS TRADICIONALES
Para llevar a cabo la optimización, se han venido utilizando una serie de algoritmos, llamados
tradicionales o clásicos, que pueden dividirse, dependiendo del paradigma que utilicen, en
deterministas, enumerativos y no deterministas.
4.1.1. DETERMINISTAS
Los algoritmos numéricos o deterministas, utilizan un conjunto de condiciones, necesarias y
suficientes, que han de cumplir las soluciones. Y sólo pueden aplicarse si la función objetivo cumple
unas determinadas restricciones. Para verlo mejor, necesitamos una serie de definiciones: dada la
función f(x), donde xT= [x1, x2, ..., xn], definimos el gradiente y el hessiano (fórmula 2)
respectivamente.
∂∂
∂∂∂∂
==∇
n
2
1
xf..xf
xf
)x(g)x(f ,
∂
∂∂∂
∂
∂∂∂
∂
∂
==∇
n2
2
1n
2
n1
2
12
2
2
xf...
xxf
.....
.....
.....xxf...
xf
)x(H)x(f
Fórmula 2. Gradiente y hessiano de una función.
Los algoritmos numéricos más utilizados son los directos, que requieren que la función sea
cuadrática, que el gradiente sea continuo y que la matriz del hessiano sea simétrica y definida
positiva, en cuyo caso, la función puede expresarse como: Hxx21xg)x(f TT ++α= .
De este tipo, los algoritmos que se quedan en una aproximación de primer orden:
, se dice que son de tipo gradiente, buscan extremos moviéndose por el espacio de
soluciones guiados por el gradiente para moverse al siguiente punto. A este tipo pertenecen el
algoritmo de “máximo descenso/ascenso” , que toma la dirección de máximo
descenso o ascenso (mínimo o máximo) del gradiente en cada búsqueda del extremo. Y el algoritmo
del gradiente conjugado , que es una variación del anterior, que tiene en cuenta la
historia de las direcciones de los gradientes en su búsqueda. La figura 9 muestra tres posibles
movimientos dependiendo desde donde se comience la búsqueda. La que comienza en el punto rojo
nos lleva a un mínimo local, mientras que cualquiera de los verdes lleva al mínimo global. El conjunto
de puntos que convergen a un extremo dado, ya sea éste local o global, recibe el nombre de cuenca
de atracción de dicho extremo.
xg)x(f T+α=
[Fliege y Fux, 2000]
[Broyden, 1996]
Guadalupe Muñoz Martín 14 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Mínimo global
Mínimo local
Figura 9. Movimientos de búsqueda siguiendo la dirección del gradiente
Los algoritmos más conocidos que utilizan también el segundo grado, es decir, el hessiano, y
por tanto las segundas derivadas, son el método de Newton, y el de Levenberg-Marquardt y , que es una variación del de Newton. Se llaman métodos de
“Quasi-Newton” a aquellos que utilizan el primer orden, pero construyen un hessiano aproximado a
partir de los valores de los gradientes de las iteraciones anteriores. De este tipo son el método de
Davidon–Fletcher–Powell (DFP) , y el método de Broyden–Fletcher–Goldfarb–Shanno (BFGS) .
[Levenberg, 1944] [Marquardt, 1963]
[Mannino y Sassano, 2003]
[Fletcher y Powell, 1963]
[Broyden, 1970]
[Elster y
Neumaier, 1995]
[Glover y Laguna, 1997]
Las desventajas de este tipo de algoritmos son principalmente dos. Por un lado, las funciones
sobre las cuales pueden aplicarse son muy restringidas, y por otro, caen en extremos locales con
facilidad. Además, computacionalmente, el cálculo de derivada está mal condicionado.
4.1.2. ENUMERATIVOS
Los métodos enumerativos (también llamados de grid
porque proponen una “rejilla” con las posibles soluciones) van proponiendo
soluciones sin ningún criterio adicional, como el de “fuerza bruta”. Son computacionalmente
costosos, sobre todo cuando el espacio de soluciones es muy grande.
4.1.3. NO DETERMINISTAS
Este tipo de algoritmos también se llaman aleatorios, probabilísticos o heurísticos.
Cronológicamente aparecieron después que los deterministas, por lo que aunque tradicionales, son
más modernos.
Proponen una solución aleatoria dentro del espacio de soluciones, que es evaluada, de forma
que si no es la que se busca (extremo de la función objetivo), eligen otra solución posible. La forma
de elegir la siguiente solución es lo que diferencia a los diferentes algoritmos de este tipo. Los
algoritmos que utilizan algún tipo de criterio para restringir la zona del espacio de soluciones donde se
busca ésta, se llaman de “búsqueda guiada”, y son principalmente la búsqueda tabú y el
calentamiento simulado. La búsqueda tabú clasifica algunos movimientos
Guadalupe Muñoz Martín 15 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
en el espacio de búsqueda y los introduce dentro de una lista tabú, de forma que los movimientos que
se encuentran dentro de esta lista no estarán permitidos. El calentamiento simulado , controla las soluciones aceptando movimientos que empeoran de acuerdo a una
probabilidad comparada con el valor de un número generado aleatoriamente. Esto implica que todos
los movimientos que mejoran la búsqueda son aceptados y algunos que no la mejoran también serán
aceptados. La probabilidad de aceptar movimientos que empeoran la función objetivo disminuye en la
medida que aumenta el número de iteraciones. Se aceptan movimientos que empeoran la función
objetivo con el fin de evitar los mínimos locales en los que caen los algoritmos deterministas.
[Kirkpatrick et
al., 1983]
Entre los algoritmos recientes, uno de los que ha cosechado más éxitos en la determinación
de estructuras compuestas por átomos es del tipo “salto de cuenca de atracción”. Estos algoritmos
usan una transformación que asigna el mismo valor de una función de mérito a todos los puntos
pertenecientes a la misma cuenca de atracción. Un método de Montecarlo (búsqueda aleatoria no
guiada) es usado para saltar entre distintas cuencas y un algoritmo de minimización local dentro de
cada una de ellas . [Wales y Scheraga, 1999]
4. 2. ALTERNATIVAS NO TRADICIONALES
Los más importantes son los llamados algoritmos bio-inspirados, que son algoritmos del tipo
no determinista o heurístico, con búsqueda guiada. Su nombre es debido a que toman la naturaleza
como ejemplo para guiar la búsqueda. De estos, los más utilizados son las redes de neuronas, los
sistemas inmunes y los algoritmos genéticos.
4.2.1. REDES NEURONALES
Están basadas en el sistema neuronal biológico, y formadas por un conjunto de unidades de
procesamiento conectadas entre sí, que por analogía con el cerebro humano, se denominan
neuronas. Cada neurona recibe muchas señales de entrada y envía una única señal de salida, como
ocurre en las neuronas reales, y se organizan en forma de capas, unidas entre sí. Se caracterizan
tres tipos de neuronas: de entrada, de salidas y ocultas. Las neuronas de entrada reciben señales
desde el entorno, las neuronas de salida llevan la señal fuera del sistema, y las ocultas son aquellas
cuyas entradas y salidas se encuentran dentro del sistema, sin contacto con el exterior (figura 10).
aCapa de entrada
Capa intermedi
Capa de salida
Figura 10. Ejemplo de capas de neuronas en una red neuronal
Guadalupe Muñoz Martín 16 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Cada neurona sigue un modelo, propuesto por McCulloch y Pitts en 1943
, donde cada una de ellas consta de unas conexiones de entrada, una función de red (de
propagación), encargada de computar la entrada total combinada de todas las conexiones, un núcleo
central de proceso, encargado de aplicar la función de activación, y la salida, por dónde se transmite
el valor de activación a otras neuronas (figura 11).
[McCulloch y Pitts,
1943]
[Rosenblatt, 1958]
[Minsky y Papert, 1969]
[Rumelhart et al., 1986]
[Kohonen y Oja, 1976]
Entradas Conexiones
∑
w2
w1
.
. wn
Función de red
Función de activación
x1
x2 Salida
xn Figura 11. Neurona artificial
Esta estructura de las redes de neuronas permite que aprendan, es decir, modifiquen su
comportamiento inducidas por la interacción con el entorno y como resultado de experiencias
. En las redes neuronales artificiales, el conocimiento se encuentra representado en los pesos
de las conexiones existentes entre las neuronas. El proceso de aprendizaje implica cierto número de
cambios en estas conexiones. Se aprende modificando los valores de los pesos de la red. Existen
distintos modelos de red neuronal, con su propia técnica de aprendizaje. Por ejemplo, en 1958, Frank
Rosenblatt presentó el perceptrón , una red neuronal con aprendizaje supervisado
cuya regla de aprendizaje era una modificación de la propuesta por Hebb. Se crearon grandes
expectativas sobre sus aplicaciones, que posteriormente se tornaron en gran decepción cuando en
1969 Minsky y Papert demostraron las grandes limitaciones de esta red. En
los años 60, Bernard Widrow y Marcian Hoff propusieron otros dos modelos,
también supervisados, basados en el perceptrón de Rosenblatt denominados Adaline y Madaline La
era moderna de las redes neuronales artificiales surge con la técnica de aprendizaje de propagación
hacia atrás (backpropagation) : la estructura de las redes anteriores
(Perceptron, Adaline y Madaline) consta de dos capas: una primera capa formada por unidades que
dejan pasar la entrada y que no tienen aprendizaje, y una segunda capa formada por una o varias
neuronas en el caso del Madaline. La contribución de Minsky y Papert fue la de demostrar que una
red del tipo perceptrón no es capaz de aprender todas las posibles combinaciones entre entradas y
salidas. La solución del problema consiste en añadir capas intermedias de neuronas, introduciendo
de esta forma el problema de cómo enseñar a estas capas intermedias. Aquí es donde tiene
importancia el algoritmo de propagación hacia atrás. En éste se compara la salida real con la salida
deseada. La diferencia entre ambas constituye un error que se propaga hacia atrás desde la capa de
salida hasta la de entrada permitiendo así la adaptación de los pesos de las neuronas intermedias.
Aunque también tiene sus limitaciones, por lo que se han desarrollado otros modelos que permiten un
aprendizaje no supervisado como el mapa auto-organizativo de Kohonen , las
[Hebb,
1949]
[Widrow y Hoff, 1960]
Guadalupe Muñoz Martín 17 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
redes de Hopfield o los basados en la Teoría de Resonancia Adaptativa
.
[Hopfield y Tank, 1986]
[Grossberg, 1976]
[Forrest y Hofmeyr, 2000] [Coello y Cruz, 2004]
[Huang, 1999]
La capacidad de aprendizaje de las redes de neuronas es la que les permite por ejemplo,
reconocer patrones, que no es más que una instancia del problema de optimización donde se busca
la minimización de una función de mérito que mide la diferencia entre dos patrones dados.
4.2.2. SISTEMAS INMUNES
Los sistemas inmunes artificiales son sistemas inspirados en el sistema inmune biológico
, , cuyo principal objetivo es proteger del ataque de
organismos externos dañinos, llamados antígenos. Éste es capaz de distinguir entre los componentes
normales del organismo, y los extraños. El sistema inmune se compone básicamente de dos tipos de
elementos, los linfocitos y los anticuerpos. Los anticuerpos eliminan los antígenos, y los linfocitos
producen anticuerpos mediante clonación. Cuando el sistema detecta un antígeno, los anticuerpos
que reconocen mejor ese antígeno proliferan clonándose. Las nuevas células clonadas mutan con
una tasa que depende de lo bien (tasa de mutación baja) o mal (tasa alta) que reconozcan al
antígeno. Cuando la clonación y la mutación terminan, el sistema inmune ha mejorado la afinidad de
los anticuerpos, lo que produce la neutralización y eliminación de los antígenos. Cuando esto sucede,
el sistema inmune vuelve a sus condiciones normales, eliminando las células excedentes, aunque
algunas de ellas permanecen, circulando por el cuerpo a modo de células “con memoria”. Si el
sistema es atacado posteriormente por el mismo tipo de antígeno, estas células se activan,
produciendo una respuesta mejor y más eficiente.
De manera simple, el algoritmo utilizado por estos sistemas en el caso de la optimización está
basado en la siguiente analogía, que se muestra de manera gráfica en la figura 12: la función que ha
de ser optimizada es el antígeno, los anticuerpos son las soluciones, y las células con memoria son
las mejores soluciones a ese problema concreto, determinando la condición de solución a partir de la
afinidad entre los anticuerpos y los antígenos .
Cruce y Mutación
Evaluación y Selección
Estimular/Restringir la Generación de
Anticuerpos
Cálculo de Afinidad
Nueva Generación
Inicializar la Producción de
Antígenos
Entrada de patrones de antígenos
Figura 12. Algoritmo sistema inmune
Guadalupe Muñoz Martín 18 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
4.2.3. ALGORITMOS GENÉTICOS
Los algoritmos genéticos están basados en la teoría de la evolución de Darwin, con la idea de
que la naturaleza evoluciona optimizando, es decir, creando seres cada vez más perfectos. Holland y
Golberg introdujeron esta analogía en la computación y . [Holland, 1975] [Golberg, 1989]
La evolución se produce por medio de una serie de cambios en los individuos, concretamente
en sus genes. Así, en un algoritmo genético, cada individuo de una población se representa mediante
un cromosoma, que es una secuencia de genes. Cada gen constituye una característica importante
del individuo, llamándose alelo a su valor concreto (por ejemplo, un gen puede representar el color
del pelo, de forma que ser rubio es el valor del alelo). Los métodos que utiliza la naturaleza para
producir individuos mejores son básicamente la selección, el cruce y la mutación. La selección
consiste en preservar aquellos individuos que son mejores en una población dada, y puede tenerse
en cuenta a la hora de realizar el cruce, primando la reproducción entre los más aptos, y/o
estableciendo una tasa de elitismo, es decir, de individuos que se perpetúan tal cual. El cruce se
produce cuando dos individuos se reproducen, es decir, generan individuos a partir del intercambio de
sus genes. La mutación es un cambio aleatorio en el valor de alguno de los alelos.
Desde el punto de vista computacional, han de decidirse los genes necesarios, definirse la
codificación de los cromosomas, y cómo se realizan las operaciones de selección, cruce y mutación.
En el caso de la optimización de una función, los genes son cada uno de los parámetros
independientes de la función a optimizar, de forma que cada cromosoma será una solución posible de
la función. Por ejemplo, supongamos que queremos optimizar una función que depende de tres
variables f(x,y,z). En este caso, cada cromosoma tendrá tres genes.
La codificación de los cromosomas puede hacerse de manera binaria, real o incluso
simbólica, dependiendo del problema concreto. Siguiendo con el ejemplo anterior, podemos decidir
codificar cada gen de manera binaria, eligiendo la longitud de los genes de manera que todos los
valores posibles de las variables puedan ser codificados. Así, en el caso de que x, y, z ∈ [0, 15],
podemos representar cada gen con una longitud de 4 (24 = 16 ⇒ 0000....1111)
De esta forma, cada uno de los individuos (cromosoma), tendría un aspecto similar al
mostrado en la figura 13.
0 1 0 1 0 0 0 0 1 1 0 1
x = 5 y = 0 z = 13
Figura 13. Ejemplo de cromosoma en un algoritmo genético
Para poder realizar la selección, debemos definir una función de aptitud, de forma que cada
cromosoma evaluado sobre esta función será clasificado de acuerdo a ésta. En el ejemplo anterior,
supongamos que queremos encontrar la solución a la ecuación 3x2-4y3+z4 = 0. En este caso, la
Guadalupe Muñoz Martín 19 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
función de aptitud será la propia f(x,y,z), de forma que las soluciones más cercanas a 0 serán
mejores, o más aptas, que las más alejadas de este valor.
El cruce consistirá en elegir un punto del cromosoma, y a continuación intercambiar las partes
correspondientes del padre y la madre para producir dos hijos como indica la figura 14.
0 1 0 1 0 0 0 0 1 1 0 1
1 0 0 1 1 0 0 0 0 1 1 1
0 1 0 1 1 0 0 0 0 1 1 1
1 0 0 1 0 0 0 0 1 1 0 1
Figura 14. Cruce de dos cromosomas
La mutación produce un cambio aleatorio en algún gen como ocurre en la figura 15.
0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1
Figura 15. Mutación de un gen
Un algoritmo genético utilizará estas operaciones para obtener la solución más apta, es decir
aquella que soluciona el problema, o al menos aquella que más se acerca. La figura 16 muestra el
pseudocódigo general de este algoritmo . [Michalewicz, 1992]
Las ve
(gracias a la
mejores soluc
simultánea, mi
pueden distrib
plataforma tipo
Una d
encontrar la zo
Guadalupe
Generar población inicial Evaluar la aptitud de cada individuo Repetir
Generar nueva población: Seleccionar los mejores individuos para que se reproduzcan
Aplicar el operador de cruce Aplicar el operador de mutación
Evaluar la aptitud de cada individuo Hasta que se encuentre la solución
Figura 16. Pseudocódigo algoritmo genético simple
ntajas que presentan los algoritmos genéticos es que escapan de los extremos locales
aleatoriedad de la mutación), que hacen uso de la experiencia previa tomando las
iones, y que permiten evaluar varias soluciones del espacio de búsqueda de manera
nimizando el tiempo de computación. Esto último significa que los algoritmos genéticos
uirse en varios procesadores, siendo muy adecuados para su utilización en una
grid . [Foster y Kesselman, 1999]
esventaja que pueden presentar los algoritmos genéticos es que son buenos para
na donde se encuentra el extremo global, pero tienen mala convergencia a la hora de
Muñoz Martín 20 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
refinar y encontrar el extremo concreto. Para solucionar este problema han surgido una forma de
algoritmos híbridos que conjugan la utilización de un algoritmo genético para realizar una búsqueda
global y encontrar la zona donde se encuentra la solución, y un algoritmo de búsqueda local, que
acelerará la búsqueda en esa zona. Estos algoritmos se llaman híbridos o meméticos
.
[Moscato,
1989]
Guadalupe Muñoz Martín 21 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
5. VISUALIZACIÓN INTERACTIVA DE LA INFORMACIÓN Y USABILIDAD
La visualización interactiva de la información científica, como ocurre en este caso, no es una
tarea fácil ya que por un lado esta información ha de presentarse de una manera adecuada para que
pueda ser interpretada y manipulada correctamente, y por otro, debe ayudar en la resolución del
problema concreto que se está tratando. Todo esto podrá ser llevado a cabo de manera correcta a
través de una buena interfaz de usuario de la aplicación.
Lo buena o lo mala que es una interfaz de usuario puede medirse utilizando una magnitud
definida en el ISO (International Organization for Standardization) estándar 9241, que se llama
usabilidad, y se define como “el grado en que un producto puede ser utilizado por unos usuarios
específicos para conseguir unos objetivos concretos con efectividad, eficiencia y satisfacción en un
contexto de uso determinado”. La efectividad es la precisión y completitud con la que unos usuarios
específicos pueden conseguir unos objetivos concretos en un entorno particular. La eficiencia está
relacionada con los recursos empleados en relación con la precisión y completitud de los objetivos
alcanzados. La satisfacción es la comodidad y aceptabilidad del sistema de trabajo por parte de los
usuarios.
Para conseguir que un sistema tenga la máxima usabilidad posible, se pueden seguir
diversas metodologías, pero como punto de partida, suelen utilizarse la diez reglas heurísticas de
Nielsen , que se presentan en la tabla 3. [Nielsen y Molich, 1990]
1 Visibilidad del estado del sistema
2 Concordancia entre el sistema y el mundo real
3 Control del usuario y libertad
4 Consistencia y utilización de estándares
5 Prevención de errores
6 Primar el reconocimiento frente al recuerdo
7 Flexibilidad y eficiencia de uso
8 Estética y diseño minimalista
9 Ayudar al usuario a reconocer, diagnosticar y recuperarse de errores
10 Proporcionar ayuda y documentación
Tabla 3. Reglas de usabilidad de Nielsen
Guadalupe Muñoz Martín 22 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Además, es recomendable utilizar metáforas que permitan aproximar el modelo de la
computadora al modelo mental del usuario (figura 17).
Usuario
Diseñador de la IU
Diseño
Consideración
Inferencia
Modelo
Conceptual
Imagen
del Sistema
Modelo Mental
Figura 17. Diseño de interfaz a partir de un modelo conceptual e inferencia del usuario para formar su modelo mental del sistema
Las metáforas ayudan al usuario a formarse un modelo del sistema, transfiriendo
conocimiento previo que ya tienen, al nuevo sistema mediante una comparación directa entre el
nuevo sistema y el que ya conocen [Muñoz, 2000]
[Muñoz et al., 2002]
Diversos sistemas han utilizado con éxito la realidad virtual como metáfora integral para la
interacción del usuario, y en concreto, con respecto a su aspecto visual, la representación 3D de la
información . En este trabajo, se va a utilizar esta metáfora para la visualización
de la estructura de la superficie, realizando una correspondencia directa entre las posiciones de los
átomos de la superficie y su representación gráfica tridimensional.
Guadalupe Muñoz Martín 23 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
6. DESCRIPCIÓN DE LA SOLUCIÓN PROPUESTA
Como ya se explicó en la descripción del problema a resolver, el objetivo de este trabajo es la
implementación de un prototipo que sirva como estudio de la viabilidad de la creación de una
plataforma Open Source implementada sobre una infraestructura grid que pueda gestionar varias
técnicas experimentales y distintos algoritmos de búsqueda, para la optimización del proceso de
determinación de la estructura atómica de superficies. Dicho prototipo implementará el proceso de la
determinación de la estructura de superficies para el caso de la técnica experimental SXRD por ser la
más fiable con respecto a los datos experimentales (aunque es más costosa ya que requiere
radiación sincrotrón), y utilizará un tipo de algoritmo para la búsqueda de la solución que nunca ha
sido utilizado antes para esta técnica, un algoritmo genético, con la esperanza de que evite los
problemas de los algoritmos utilizados actualmente, ya que por un lado tienen menos posibilidades de
caer en extremos locales gracias a la mutación y porque evalúan varias soluciones a la vez, y por lo
tanto, distintas zonas del espacio de soluciones. Y por otro, se pueden implementar de manera
distribuida, paralelizando la evaluación de las distintas soluciones, y por tanto reduciendo el tiempo de
computación.
Con respecto a la optimización, los algoritmos utilizados actualmente para realizar la
búsqueda de la estructura de superficies son del tipo tradicional. Así, para SXRD, se utilizan el
método de Levenberg-Marquardt o el calentamiento simulado [Vlieg, 2000]. Estos algoritmos
presentan varias desventajas. El primero cae fácilmente en extremos locales, y el segundo puede
llegar a consumir tanto tiempo de computación como para ser inútil a efectos prácticos.
Con respecto a la usabilidad y visualización, los programas actuales no presentan una
interfaz gráfica, sino que interactúan con el usuario en modo consola. Esto dificulta la manipulación
de la aplicación en sí puesto que la usabilidad de este tipo de interfaces es mínima, y además, dada
la gran cantidad de parámetros de los que depende la función de mérito los hace difíciles de manejar.
Por ejemplo, en el caso de una celda unidad con 9 átomos, que tienen 3 coordenadas cada uno,
tendremos 27 parámetros estructurales, y también parámetros no estructurales, como el factor de
Debye-Waller, o la rugosidad.
También, y para estar en condiciones de comparar los resultados obtenidos con los
algoritmos que se han estado empleando hasta ahora, se utiliza χ2 como función de mérito, que es la
utilizada en los programas para SXRD, aunque al igual que ocurre con las técnicas, la flexibilidad del
sistema permite la implementación de otro tipo de funciones. Además, la utilización de esta función
objetivo hace adecuado el uso de un algoritmo genético ya que su evaluación es rápida.
Con respecto a la usabilidad, se han tenido en cuenta las reglas de Nielsen, así como la
utilización de una representación gráfica 3D para los parámetros de la estructura de la superficie.
Las decisiones tomadas para esta primera solución han producido la realización del prototipo
GIOSS (Global Interactive Optimization for Surface Structure), que se presenta a continuación.
Guadalupe Muñoz Martín 24 de 45
GIOSS: Prototipo software para la optimización del proceso de determinación de estructuras de superficies
Con respecto al algoritmo genético, han de definirse una serie de características como son la
función de aptitud, la codificación elegida para los cromosomas, el número de genes por cromosoma,
el método de selección, y los operadores de cruce y de mutación. La tabla 4 muestra las elecciones