StrangeWorld

Par: Chaplin
E-Mail: chaplin_hack@hotmail.com
Page Internet: http://www.angelfire.com/id/chaplincorp



StrangeWorld est un programme en java qui démontre comment l'évolution par sélection naturelle peut améliorer des réseaux neuraux. StrangeWorld modèle un environnement de carnivores/herbivores ou les herbivores se nourrissent sur des plantes et les carnivores se nourrissent d'herbivores et d'autres carnivores.


Les réseaux neuraux
Tout les carnivores et herbivores ont une pair d'antennes. Chaque antenne calcule l'intensité Rouge/Vert/Bleu dans un certain radius. L'intensité croie lorsqu'elle se rapproche de la créature. Ce sont ces valeurs que la créature utilise pour prendre des décisions d'avancer, de reculer ou de tourner.
Les réseaux neuraux que les herbivores et les carnivores utilisent dans StrangeWorld sont de simples réseaux neuraux analogues dont les neurones peuvent avoir la valeur entre -1000 et 1000. Il y a neuf neurones par couche et il y a cinq couches (1 d'entré, 3 cachées, 1 de sortie)
Chaque neurone est connecté à toute les neurones de la couche supérieure. Chaque connection inter-neurones peut avoir une importance entre -1000 et 1000. Les connections pour chaque neurone sont multipliées par leur importance correspondante et puis additionnée. Le total est ensuite divisé par la moyenne de chaque valeur d'importance pour ce neurone et le résultat est arrondit pour être entre –1000 et 1000. Cette valeur est maintenant la valeur de ces neurones.

Les neufs neurones d'entré de la première couche sont

  1. L'intensité rouge de l'antenne de droite (0 – 1000)
  2. L'intensité verte de l'antenne de droite (0 – 1000)
  3. L'intensité bleue de l'antenne de droite (0 – 1000)
  4. L'intensité rouge de l'antenne de gauche (0 – 1000)
  5. L'intensité verte de l'antenne de gauche (0 – 1000)
  6. L'intensité bleue de l'antenne de gauche (0 – 1000)
  7. Le niveau d'énergie de la créature (0 – 1000)
  8. La dernière rotation (-1000 – 1000)
  9. Le dernier déplacement (-1000 – 1000)

Les deux sorties des réseaux neuraux

  1. La rotation (-1000 – 1000) ou (-10 – 10 degrés)
  2. Le déplacement (-1000 – 1000) ou (-10 – 10 pixels)

Les lois de StrangeWorld

StrangeWorld est synchronisé par une horloge globale. Chaque tick, le monde passe a travers de la liste de toutes les créatures.

L'interface

Tout dans StrangeWorld est manipulé avec la sourit. Ce programme a été conçu avec le SDK Java version 1.4.0. Si votre JRE est plus vieux que cela, il se peut qu'il ne puisse pas reconnaître les commandes de sourit et de clavier. Tout d'abord, StrangeWorld doit recevoir le focus du clavier; C’est accomplit en cliquant dans la fenêtre de StrangeWorld.

Une créature peut être sélectionnée en cliquant dessus. Une créature sélectionnée est représenté en jaune et est invincible.

Les commandes de clavier.

Sauvegarder le travaille

Quand StrangeWorld est fermé, il écrit dans deux fichiers les réseaux neuraux de un carnivore et de un herbivore choisis au hasard.

Ces réseaux neuraux sont ensuite utilisés la prochaine fois que StrangeWorld est démarré. Si StrangeWorld ne trouve aucun fichier, les créatures commencent tous avec des réseaux neuraux créés au hasard. Les réseaux neuraux sont aussi sauvegardés à chaque 5000 tick pour minimiser la perte travaille en cas de crash de système.

Extinctions

En cas d'extinction, StrangeWorld vas créer trois nouvelles créatures de l'espèce qui est disparue avec les réseaux neuraux de la dernière créature de cette espèce. Ceci permet à StrangeWorld de continuer à travailler sans arrêts pour de très longues périodes de temps.