Simple WorldO obxectivo principal de Simple World é observa-la evolución dos bichos. Dende a publicación de Simple World 1.0a3, primeira versión na que se poden crear bichos, fixen un par de execucións do programa. Nas dúas execucións obtivéronse varias mutacións exitosas.

As mutacións só se producen no momento en que un bicho pon un ovo. As mutacións que terá un bicho son aleatorias e só dependen dun parámetro que controla a probabilidade de mutacións que se producen nun momento dado. É dicir, por adiantado non se pode saber se un ovo pode non sufrir ou non mutacións, e moito menos o número delas.

Despois das primeiras execucións que realicei saquei unha conclusión: as mutacións permítelle adaptarse ó medo ós bichos. Esta adaptación faise evidente cando, co tempo, tódolos bichos vivos comparten unha mesma mutación. Se tódolos bichos teñen a mesma mutación, pódese concluír que esta mutación provocou que estivesen mellor adaptados ó medio que aqueles que non a tiña. O normal é que os bichos compartan unha mutación porque teñen un ancestro común, pero podería darse o caso, moi raro, de que dous bichos sofren a mesma mutación.

Unha consecuencia da adaptación progresiva dos bichos ó medio é que se se introducen bichos orixinais, sen ningunha mutación, nun mundo con varias xeracións de bichos, os primeiros tenden a desaparecer moi rapidamente. En realidade, canto máis vello sexa o mundo, máis rápido desaparecen os bichos orixinais.

Ata o de agora fixen dúas execucións longas que acabaron en dúas ramas de mutacións que foron por camiños totalmente distintos. A continuación describirei o código orixinal de Brainless e as mutación máis exitosas, é dicir, aquelas que estiveron presentes en tódolos bichos vivos nun momento determinado.

Brainless (o bicho orixinal)

Brainless é o nome do, ata agora, único bicho que escribín para Simple World. Por tanto, tódolos bichos descenden deste código. O seu funcionamento é moi básico: Brainless móvese aleatoriamente (aidante/atrás, esquerda/dereita) ata que se atopa con algo e dependendo do tipo de obxecto co que se atope fai unhas accións ou outras:

  1. Se é comida cómea, pon un ovo e xira para evitar atoparse co ovo máis tarde.
  2. Se é un bicho atácao seguido ata que un dos bicho morra ou se vaia.

Brainless-1 (experimento sobre Simple World 1.0a3)

Neste experimento creei unha contorna de execución excesivamente favorable ós bichos: moita comida ó principio, un aporte periódico de comida durante toda a execución e unha probabilidade de mutacións do 0.1%. Isto acabou provocando que o mundo tendera a estar totalmente cheo, é dicir, cada posición ou estaba ocupada por un bicho (nos distintos estados: ovo, vivo ou morto) ou por comida.
Ó pouco de empeza-la execución obtívose a primeira mutación. Esta mutación provocou que o bicho só xirase despois de pór un ovo. O éxito desta mutación explícase de dúas formas:

  1. Como o mundo tendía a estar sobre poboado, para atopar comida é innecesario xirar.
  2. Os movimentos de Brainless son totalmente aleatorios, e por tanto, o bicho podía executar varios xiros seguidos sen se mover realmente.

Despois producíronse dúas mutacións moi ligadas entre elas. A primeira mutación provocou que cando un bicho se atopa con outro bicho, en vez de o atacar seguido, só o ataca unha vez e para. A segunda mutación provocou que nunca atacase. O éxito destas mutacións explícase no feito de que cando un bicho ataca réstaselle máis enerxía ó atacante que ó atacado. Por tanto, non compensa atacar e é preferible dedicarse só a comer comida.

A explicación do éxito da última mutación provocou que cambiara a forma en que se executan os ataques en Simple World. Na versión 1.0a4, a enerxía que se lle quita ó bicho atacado é un múltiplo da enerxía que usa o atacante, co que compensa atacar ós outros bichos.

Chegado a este punto acabei con este experimento.

Brainless-2 (experimento sobre Simple World 1.0a4)

Neste experimento tiven en conta os resultados do experimento anterior para crear unha contorna de execución menos favorable para os bichos. Creei unha contorna de execución relativamente favorable ós bichos: moita comida ó principio, aporte de comida cando houbese poucos bichos e unha probabilidade de mutacións do 1%. O aumento das mutacións provocou que os cambios de comportamento se produciran máis rápido pero que fose moi complexo seguir tódalas mutacións dos bichos.

A mutación máis salientable que se produciu neste experimento foi que os bichos deixaron de pór ovos. O éxito desta mutación explícase porque na versión 1.0a4 pór ovos é moi custoso en canto á enerxía necesaria. O curioso desta mutación é que se produciu en dous bichos ó mesmo tempo.

Esta mutación provocou dúas consecuencias negativas:

  1. Estes dous bichos acadaron unha cantidade de enerxía monstruosa e exterminaron ó resto dos bichos.
  2. Posto que os únicos bichos vivos non puñan máis ovos, o experimento acabou.

Na seguinte versión de Simple World terei que facer que penaliza-la idade dos bichos, provocando que co tempo o seu código mute.


Categories

Calendario

Maio 2008
M T W T F S S
« Abr   Xuñ »
 1234
567891011
12131415161718
19202122232425
262728293031  
3K2 theme by Hakan Aydin