You are on page 1of 33

1

BIOINFORMTICA
2013 - 2014
PARTE I. INTRODUCCIN
Tema 1. Computacin Basada en Modelos Naturales
PARTE II. MODELOS BASADOS EN ADAPTACIN SOCIAL (Swarm Intelligence)
Tema 2. Introduccin a los Modelos Basados en Adaptacin Social
Tema 3. Optimizacin Basada en Colonias de Hormigas
Tema 4. Optimizacin Basada en Nubes de Partculas (Particle Swarm)
PARTE III. COMPUTACON EVOLUTIVA
Tema 5. Introduccin a la Computacin Evolutiva
Tema 6. Algoritmos Genticos I. Conceptos Bsicos
Tema 7. Algoritmos Genticos II. Diversidad y Convergencia
Tema 8. Algoritmos Genticos III. Mltiples Soluciones en Problemas Multimodales
Tema 9. Estrategias de Evolucin y Programacin Evolutiva
Tema 10. Algoritmos Basados en Evolucin Diferencial (Diferential Evolution DE)
Tema 11. Modelos de Evolucin Basados en Estimacin de Distribuciones (EDA)
Tema 12. Algoritmos Evolutivos para Problemas Multiobjetivo
Tema 13. Programacin Gentica
Tema 14. Modelos Evolutivos de Aprendizaje
PARTE IV. OTROS MODELOS DE COMPUTACIN BIOINSPIRADOS
Tema 15. Sistemas Inmunolgicos Artificiales
Tema 16. Otros Modelos de Computacin Natural/Bioinspirados
2
1. INTRODUCCIN Y RPIDO RESUMEN
2. FUNCIONAMIENTO DEL ALGORITMO PSO
3. ASPECTOS AVANZADOS
4. APLICACIONES Y RECURSOS ELECTRNICOS
BIOINFORMTICA
TEMA 4. OPTIMIZACIN BASADA EN NUBES
DE PARTCULAS (PARTICLE SWARM)
Kennedy, J., Eberhart, R.C. Swarm Intelligence. Morgan Kauffmann, 2001.
3
La Particle Swarm Optimization (PSO) es una
metaheurstica poblacional inspirada en el comportamiento
social del vuelo de las bandadas de aves y el movimiento de
los bancos de peces.
La poblacin se compone de varias partculas (nube de
partculas = particle swarm) que se mueven (vuelan) por
el espacio de bsqueda durante la ejecucin del algoritmo.
Este movimiento de cada partcula p depende de:
Su mejor posicin desde que comenz el algoritmo (pBest),
la mejor posicin de las partculas de su entorno (lBest) o de
toda la nube (gBest) desde que comenz el algoritmo.
En cada iteracin, se cambia aleatoriamente la velocidad de
p para acercarla a las posiciones pBest y lBest/gBest.
1. INTRODUCCIN Y RPIDO RESUMEN
4
Desarrollo: USA, en 1995.
Primeros autores: Russ C. Eberhart y James Kennedy
Kennedy, J. and Eberhart, R. (1995). Particle Swarm Optimization, Proc.
1995 IEEE Intl. Conf. on Neural Networks, pp. 1942-1948, IEEE Press.
Aplicacin tpica:
Optimizacin continua (optimizacin de parmetros reales,
numrica).
Caractersticas atribuidas:
Asume un intercambio de informacin (interacciones sociales)
entre los agentes de bsqueda.
Idea bsica: guardar informacin del mejor propio y global.
Implementacin muy sencilla, pocos parmetros.
Convergencia rpida a buenas soluciones.
1. INTRODUCCIN Y RPIDO RESUMEN (2)
5
FUNCIONAMIENTO BSICO
ANATOMA DE UNA PARTCULA
INICIALIZACIN DE LA NUBE DE PARTCULAS
MOVIMIENTO DE LAS PARTCULAS
PSEUDOCDIGOS
VALORES DE LOS PARMETROS
TOPOLOGAS DE LA NUBE DE PARTCULAS
2. FUNCIONAMIENTO DEL ALGORITMO PSO
6
PSO simula el comportamiento de las bandadas
de aves.
Supongamos que una de estas bandadas busca
comida en un rea y que solamente hay una pieza
de comida en dicha rea.
Los pjaros no saben donde est la comida pero
s conocen su distancia a la misma.
La estrategia ms eficaz para hallar la comida es
seguir al ave que se encuentre ms cerca de ella.
Funcionamiento Bsico
7
PSO emula este escenario para resolver problemas de
optimizacin. Cada solucin (partcula) es un ave en el
espacio de bsqueda que est siempre en continuo
movimiento y que nunca muere.
Funcionamiento Bsico (2)
8
Cada partcula tiene un fitness, una posicin y un
vector velocidad que dirige su vuelo. El
movimiento de las partculas por el espacio est
guiado por las partculas ptimas en el momento
actual.
Funcionamiento Bsico (2)
La nube de partculas es un
sistema multiagente. Las partculas
son agentes simples que se mueven
por el espacio de bsqueda y que
guardan (y posiblemente
comunican) la mejor solucin que
han encontrado.
9
Una partcula est compuesta por:
Tres vectores:
El vector X almacena la posicin
actual (localizacin) de la partcula en
el espacio de bsqueda,
El vector pBest almacena la
localizacin de la mejor solucin
encontrada por la partcula hasta el
moemento, y
El vector V almacena el gradiente
(direccin) segn el cul se mover la
partcula.
Dos valores de fitness:
El x_fitness almacena el fitness de la
solucin actual (vector X), y
El p_fitness almacena el fitness de la
mejor solucin local (vector pBest).
p
i
X
i
= <x
i1
, , x
in
>
pBest
i
= <p
i1
, , p
in
>
V
i
= <v
i1
, , v
in
>
x_fitness = ?
pBest_fitness = ?
Anatoma de una Partcula
10
La nube se inicializa generando las posiciones y las
velocidades iniciales de las partculas.
Las posiciones se pueden generar aleatoriamente en el
espacio de bsqueda, de forma regular, o con una
combinacin de ambas.
Las velocidades se generan aleatoriamente, con cada
componente en el intervalo [-V
max
, V
max
].
No es conveniente fijarlas a cero, no se obtienen buenos
resultados.
V
max
ser la velocidad mxima que pueda tomar una
partcula en cada movimiento.
Inicializacin de la Nube de Partculas
11
Inicializacin de la Nube de Partculas (2)
12
Cmo se mueve una partcula de una posicin del
espacio de bsqueda a otra?
Se hace simplemente aadiendo el vector velocidad V
i
al
vector posicin X
i
para obtener un nuevo vector posicin:
X
i
X
i
+ V
i
Una vez calculada la nueva posicin de la partcula, se
evala sta. Si el nuevo fitness es mejor que el que la
partcula tena hasta ahora, pBest_fitness, entonces:
pBest
i
X
i
; pBest_fitness x_fitness.
Movimiento de las Partculas
13
SOCIAL COGNITIVO
De este modo, el primer paso es ajustar el vector velocidad, para
despus sumrselo al vector posicin.
Las frmulas empleadas son las siguientes:
donde:
p
i
es la partcula en cuestin, es la mejor solucin encontrada
por la partcula.

1
,
2
son ratios de aprendizaje (pesos) que controlan los componentes
cognitivo y social,
g representa el ndice de la partcula con el mejor pBest_fitness del
entorno de p
i
(lBest) o de toda la nube (gBest),
los rnd() son nmeros aleatorios generados en [0,1], y
d es la d-sima dimensin del vector.
id id id
id id id id id id
v x x
) -x (g rnd() ) -x (pBest rnd() v v
+ =
+ + =
2 1

Movimiento de las Partculas (2)
id
pBest
14
TIPOS DE ALGORITMOS DE PSO:
Kennedy identifica cuatro tipos de algoritmos de
PSO en funcin de los valores de
1
y
2
:
Modelo completo:
1
,
2
> 0.
Slo Cognitivo:
1
> 0 y
2
= 0.
Slo Social:
1
= 0 y
2
> 0.
Slo Social exclusivo:
1
= 0,
2
> 0 y g i (la
partcula en s no puede ser la mejor de su entorno).
Movimiento de las Partculas (3)
15
Aqu
estoy!
La mejor
solucin de
mis vecinos
Mi mejor
solucin
X
i
p
g
pBest
i
V
Movimiento de las Partculas (4)
REPRESENTACIN GRFICA:
16
t = 0;
Para i=1 hasta Nmero_partculas
inicializar X
i
y V
i
;
Mientras (no se cumpla la condicin de parada) hacer
t t + 1
Para i=1 hasta Nmero_partculas
evaluar X
i
;
Si F(X
i
) es mejor que F(pBest) entonces
pBest
i
X
i
; F(pBest
i
) F(X
i
)
Para i=1 hasta Nmero_partculas
Escoger lBest
i
, la partcula con mejor fitness del entorno de X
i
Calcular V
i
, la velocidad de X
i
, de acuerdo a pBest
i
y lBest
i
Calcular la nueva posicin X
i
, de acuerdo a X
i
y V
i
Devolver la mejor solucin encontrada
Pseudocdigo PSO Local
17
t = 0;
Para i=1 hasta Nmero_partculas
inicializar X
i
y V
i
;
Mientras (no se cumpla la condicin de parada) hacer
t t + 1
Para i=1 hasta Nmero_partculas
evaluar X
i
;
Si F(X
i
) es mejor que F(pBest) entonces
pBest
i
X
i
; F(pBest
i
) F(X
i
)
Si F(pBest) es mejor que F(gBest) entonces
gBest pBest
i
; F(gBest
i
) F(pBest
i
)
Para i=1 hasta Nmero_partculas
Calcular V
i
, la velocidad de X
i
, de acuerdo a pBest
i
y gBest
i
Calcular la nueva posicin X
i
, de acuerdo a X
i
y V
i
Devolver la mejor solucin encontrada
Pseudocdigo PSO Global
18
Tamao de la nube: Entre 20 y 40 partculas
(problemas simples, 10; problemas muy
complejos, 100-200).
Velocidad mxima: V
max
se suele definir a partir
del intervalo de cada variable.
Ratios de aprendizaje: Habitualmente,
1
=
2
=2.
PSO Global vs. PSO Local: La versin global
converge ms rpido pero cae ms fcilmente en
ptimos locales y viceversa.
Valores de los Parmetros
19
Las topologas definen el entorno de cada partcula individual.
La propia partcula siempre pertenece a su entorno.
Los entornos pueden ser de dos tipos:
Geogrficos: se calcula la distancia de la partcula actual al resto
y se toman las ms cercanas para componer su entorno.
Sociales: se define a priori una lista de vecinas para partcula,
independientemente de su posicin en el espacio.
Los entornos sociales son los ms empleados.
Una vez decidido el entorno, es necesario definir su tamao.
El algoritmo no es muy sensible a este parmetro (3 o 5 son
valores habituales con buen comportamiento).
Cuando el tamao es toda la nube de partculas, el entorno
es a la vez geogrfico y social, y tenemos la PSO global.
Topologas de la Nube de Partculas
20
Geogrfico
Social
Topologas de la Nube de Partculas (2)
21
La topologa social ms empleada es la de anillo, en la que se
considera un vecindario circular.
Se numera cada partcula, se construye un crculo virtual con
estos nmeros y se define el entorno de una partcula con
sus vecinas en el crculo:
1
5
7
6
4
3
8
2
Entorno de p
1
de tamao 3
Crculo virtual
Topologas de la Nube de Partculas (3)
22
CONTROL DE LA VELOCIDAD DE LAS PARTCULAS
TAMAO DE LA NUBE DE PARTCULAS
INFLUENCIA DEL TIPO DE ENTORNO
ACTUALIZACIN DE LAS PARTCULAS
ELECCIN DE VALORES ADAPTATIVOS PARA
1
Y
2
3. ASPECTOS AVANZADOS
23
Control de la Velocidad de las Partculas
Un problema habitual de los algoritmos de PSO es que la
magnitud de la velocidad suele llegar a ser muy grande
durante la ejecucin, con lo que las partculas se mueven
demasiado rpido por el espacio.
El rendimiento puede disminuir si no se fija adecuadamente
el valor de V
max
, la velocidad mxima inicial de cada
componente del vector velocidad.
Se han propuesto dos mtodos para controlar el excesivo
crecimiento de las velocidades:
Un factor de inercia, ajustado dinmicamente, y
Un coeficiente de constriccin.
24
Control de la Velocidad de las Partculas (2)
Factor de Inercia
En este caso, la ecuacin de adaptacin de la velocidad pasa
a ser la siguiente:
donde se inicializa a 1.0 y se va reduciendo gradualmente
a lo largo del tiempo (medido en iteraciones del algoritmo).
debe mantenerse entre 0.9 y 1.2. Valores altos provocan
una bsqueda global (ms diversificacin) y valores bajos
una bsqueda ms localizada (mas intensificacin).
) -x (lBest rnd() ) -x (pBest rnd() v v
id id id id id id

2 1
+ + =

25
Control de la Velocidad de las Partculas (3)
Coeficiente de Constriccin
De nuevo, se realiza una modificacin en la
ecuacin de adaptacin, la siguiente:
donde:

=
1
+
2
>4 (normalmente =4.1,
1
=
2
)
[ ] ) -x (lBest rnd() ) -x (pBest rnd() v K v
id id id id id id

2 1
+ + =

4 2
2
2
+
= K
26
El tamao de la nube de partculas determina el equilibro
entre la calidad de las soluciones obtenidas y el coste
computacional (nmero de evaluaciones necesarias).
Hace poco, se han propuesto algunas variantes que
adaptan heursticamente el tamao de la nube:
Si la calidad del entorno de la partcula ha mejorado pero la
partcula es la peor de su entorno, se elimina la partcula.
Si la partcula es la mejor de su entorno pero no hay mejora
en el mismo, se crea una nueva partcula a partir de ella.
Las decisiones se toman de forma probabilstica en funcin
del tamao actual de la nube.
Tamao de la Nube de Partculas
27
Los entornos globales parecen obtener mejores resultados
desde el punto de vista del coste computacional.
El rendimiento es similar a la topologa de anillo y al del
uso de entornos con tamao mayor que 3.
Se ha investigado poco en los efectos de la topologa de la
nube en el comportamiento de la bsqueda del algoritmo.
Por otro lado, el tamao del vecindario tambin se puede
adaptar con la misma heurstica del tamao de la nube.
Influencia del Tipo de Entorno
28
La actualizacin de las partculas
se puede efectuar de dos formas
distintas:
Sncrona
Asncrona
La actualizacin asncrona
permite considerar las soluciones
nuevas ms rpidamente.
El mtodo asncrono puede
representarse por el grfico
siguiente.
Actualizacin de las Partculas
I
4
I
0
I
1
I
2
I
3
29
Los pesos que definen la importancia de las componentes
cognitiva y social pueden definirse dinmicamente segn
la calidad de la propia partcula y del entorno:
Eleccin de Valores Adaptativos para
1
y
2
Cuanto mejor
soy, ms me
tengo en cuenta
a m mismo
Cuanto mejor es mi
mejor vecino, ms
tiendo a ir hacia l
V
rnd(0b)(p-x)
30
Optimizacin de funciones numricas.
Entrenamiento de Redes Neuronales.
Aprendizaje de Sistemas Difusos.
Registrado de Imgenes.
Viajante de Comercio.
Control de Sistemas.
Ingeniera Qumica.

4. APLICACIONES Y RECURSOS ELECTRNICOS
Web site de PSO: http://www.swarmintelligence.org/
31
Versin discreta de PSO:
IEEE Transactions on Evolutionary Computation, 2010, V.
14:2, 278 - 300
A Novel Set-Based Particle Swarm Optimization Method
for Discrete Optimization Problems
Chen, W.-N. Zhang, J. Chung, H. S. H. Zhong, W.-L. Wu,
W.-G. Shi, Y.-h.
Digital Object Identifier : 10.1109/TEVC.2009.2030331
Online paper
4. APLICACIONES Y RECURSOS ELECTRNICOS
32
Versiones recientes
Frankestein PSO: MA. Montes de Oca, T. Sttzle, M. Birattari,
M. Dorigo, Frankenstein's PSO: A Composite Particle Swarm
Optimization Algorithm IEEE Transactions on Evolutionary
Computation, Vol 13:5 (2009) pp. 1120-1132
OLPSO: Z-H Zhan, J. Zhang, Y. Li, Y-H. Shi, Orthogonal
Learning Particle Swarm Optimization, IEEE Transactions on
Evolutionary Computation Vol 15:6 pp. 832-847 (2011)
Implementacin y artculo disponible en:
http://sci2s.ugr.es/EAMHCO/#Software
4. APLICACIONES Y RECURSOS ELECTRNICOS
33
BIOINFORMTICA
2013 - 2014
PARTE I. INTRODUCCIN
Tema 1. Computacin Basada en Modelos Naturales
PARTE II. MODELOS BASADOS EN ADAPTACIN SOCIAL (Swarm Intelligence)
Tema 2. Introduccin a los Modelos Basados en Adaptacin Social
Tema 3. Optimizacin Basada en Colonias de Hormigas
Tema 4. Optimizacin Basada en Nubes de Partculas (Particle Swarm)
PARTE III. COMPUTACON EVOLUTIVA
Tema 5. Introduccin a la Computacin Evolutiva
Tema 6. Algoritmos Genticos I. Conceptos Bsicos
Tema 7. Algoritmos Genticos II. Diversidad y Convergencia
Tema 8. Algoritmos Genticos III. Mltiples Soluciones en Problemas Multimodales
Tema 9. Estrategias de Evolucin y Programacin Evolutiva
Tema 10. Algoritmos Basados en Evolucin Diferencial (Diferential Evolution DE)
Tema 11. Modelos de Evolucin Basados en Estimacin de Distribuciones (EDA)
Tema 12. Algoritmos Evolutivos para Problemas Multiobjetivo
Tema 13. Programacin Gentica
Tema 14. Modelos Evolutivos de Aprendizaje
PARTE IV. OTROS MODELOS DE COMPUTACIN BIOINSPIRADOS
Tema 15. Sistemas Inmunolgicos Artificiales
Tema 16. Otros Modelos de Computacin Natural/Bioinspirados

You might also like