• No results found

4.2 Inter-ACK Time observations

5.1.1 Ethernet

blemas

Para el caso de la implementaci´on de la coevoluci´on de algoritmos y problemas presentada en esta tesis, en la que se cuenta con dos poblaciones de afinaciones de algoritmos y una de problemas, los pasos b´asicos y ecuaciones de ajuste de aptitudes del ACI presentados por Palacios (2002) fueron adaptados experimentalmente de forma que las tres poblaciones pudieran llegar a un estado estable, dando como resultado los siguientes:

Generar al azar poblaciones iniciales de anfitriones y par´asitos

Repetir

Hacer competici´on entre un n´umero fijo de pares anfitri´on- par´asito elegidos al azar. La aptitudS de cada individuo de ambas poblaciones se ajusta de la forma

S(t+ 1) =S(t) + Recompensa−Costo de competir

Eliminar al individuo de menor aptitud de cada poblaci´on Generar nuevos individuos para cada poblaci´on mediante

(a) Selecci´on de acuerdo a aptitud del mejor par de individuos

(b) Cruce de la pareja seleccionada generando un s´olo individuo que se incluye a la poblaci´on, con aptitud tomada como el promedio de la de los padres

(c) Mutaci´on

Hasta cumplir criterio de terminaci´on

Tabla 3.3: Pasos b´asicos de un ACI

1. Se generan tres poblaciones, la P de problemas y lasA yB de afinaciones de los algoritmos a competir (los detalles de la codificaci´on de estos individuos se trata en el cap´ıtulo siguiente). Se inicializan las aptitudes de P enRP/(10CP), las de A enRA/(10CA) y las de B en (RB/(10CB) dondeRP, RA y RB representan las

m´aximas recompensas a dar a los individuos de cada poblaci´on por su desempe˜no en una competencia yCP, CA y CB los m´aximos costos de participar en ella.

2. Se selecciona a un individuo de cada poblaci´on al azar, se corren a ambos algo- ritmos con las afinaciones dadas por los individuos escogidos sobre el problema elegido y se ajustan de manera incremental las aptitudes de los tres. Se supone que buscamos un problema tendencioso que haga quedar mejor al algoritmo A

que al B.

El ajuste de aptitud para el problema se hace mediante la siguiente ecuaci´on:

dondeEX es el ´area bajo la curva de mejor encontrado del algoritmoX dividida

entrem, el tama˜no de las muestras.

El ajuste de aptitud para la afinaci´on del algoritmoAse hace mediante la siguiente ecuaci´on:

SA(t+ 1) =SA(t) +RAtanh(2EA) tanh(10CBSB/RB)−CASA(t) (3.2)

dondeSB es la aptitud de la afinaci´on del algoritmoB contra la que se compite.

El ajuste de aptitud para la afinaci´on del algoritmoBse hace mediante la siguiente ecuaci´on:

SB(t+ 1) =SB(t) +RBtanh(2EB) tanh(10CASA/RA)−CBSB(t) (3.3)

dondeSA es la aptitud de la afinaci´on del algoritmo A contra la que se compite.

3. Se repite la competencia entre otros 3 individuos seleccionados al azar un n´umero #c predeterminado de veces.

4. Despu´es de las competencias, se encuentra al individuo con menor aptitud de cada poblaci´on y se elimina.

5. En cada poblaci´on se seleccionan dos individuos de forma proporcional a su apti- tud y con una probabilidad de cruce se cruzan, generando un s´olo individuo —los detalles de la aplicaci´on del operador de cruce para cada poblaci´on se ver´an en el cap´ıtulo siguiente— cuya aptitud es el promedio de la de sus padres. El hijo se agrega a la poblaci´on sustituyendo al individuo con menor aptitud.

6. Se aplica mutaci´on a las poblaciones. Los detalles de c´omo se lleva a cabo esta operaci´on para cada poblaci´on son mostrados en el siguiente cap´ıtulo.

7. Se repite el proceso de competencia.

Las funciones compuestas por tangentes hiperb´olicas —v´ease figura 3.1— que multiplican a la m´axima recompensa posible en las ecuaciones de ajuste de aptitudes se encargan de que esta nunca sea rebasada.

Para el caso de la poblaci´on de problemas ning´un individuo considera las aptitudes de los algoritmos compitiendo en ´el para ajustar su aptitud. Si se hace una analog´ıa biol´ogica en la que hay una relaci´on de cooperaci´on entre las especies P y A para que A derrote a la especie B, podr´ıa decirse que una forma de lograrlo es que P no tenga memoria a largo plazo del comportamiento de A ni de B a la hora de evaluar su cooperaci´on, lo cual encaja a la perfecci´on con la idea de llamar tendenciosos a los individuos m´as aptos de P pues no les importa qu´e tan apto sea un individuo de A

−5 −4 −3 −2 −1 0 1 2 3 4 5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 x tanh(x)

Figura 3.1: Funci´on tanh(x)

de la cooperaci´on es algo que tienden a confirmar las mejores estrategias encontradas a la fecha para el famosodilema del prisionero (Dawkins, 1986).

En el siguiente cap´ıtulo se presentan a los algoritmos contendientes para tomar los lugares de A y B y c´omo sus afinaciones son codificadas, cruzadas y mutadas en el ACI, lo mismo para la representaci´on de problemas cuya poblaci´on equivale aP.

3.5.

Resumen

En este cap´ıtulo se present´o al algoritmo de coevoluci´on incremental (ACI) dentro del contexto de la computaci´on coevolutiva, justificando lo id´oneo que resulta para llevar a cabo la implementaci´on de la b´usqueda de problemas tendenciosos, y se dieron algunos detalles de dicha implementaci´on los cuales son complementados en el siguiente cap´ıtulo.

Cap´ıtulo 4

La arena y los contendientes

En este cap´ıtulo se presenta la forma en que se codifican los problemas de op- timizaci´on que constituyen a la poblaci´on P del ACI, as´ı como los algoritmos y las codificaciones de sus afinaciones que dan forma a las poblaciones A y B, los cuales son un AG generacional simple, recocido simulado y b´usqueda aleatoria. Finalmente se explica la forma como se aplican los operadores de cruce y mutaci´on sobre estas codificaciones.

Related documents