miércoles, 13 de octubre de 2010

Ruleta

Llegado a este punto me toca explicar el algoritmo de la ruleta.

Partimos de un vector de partículas, donde cada una tiene su peso, lo que queremos conseguir ahora es que las partículas que son más óptimas puedan tener mayor descendencia, y las que no nos interesan no se reproduzcan. Para conseguir esto se usa la ruleta, cuyo funcionamiento es el siguiente.

Se hace un vector con el mismo número de elementos que las partículas que tenemos, en este vector se pondrá el peso acumulado, de tal forma que si la primera tiene peso 5 y la segunda peso 10, el vector nuevo tendrá en el primer elemento un 5 y en el segundo 15, pues se repite para todos los elementos hasta llegar al final.

Después de esto se "lanzan" números de forma aleatoria, teniendo como límite el último elemento de nuestro nuevo vector. Después se mira en cada número a qué elemento corresponde y será ese el nuevo elemento que se propague.

De esta manera lo que se consigue es que las partículas con mayor peso tengan más descendencia, y las que no tengan ningún peso no se sigan propagando.

Y como la explicación me ha quedado tan chapucera, pero yo me entiendo, dejo un dibujo de una ruleta para que al menos parezca bonito.

No hay comentarios: