schmorb

nomschmorb
languec++
OSwindows
disponibilitébinary
statutstable
licence?
catégorieIA

Résumé

Ce programme, développé avec un élève de l'ENST, illustre à travers un exemple simple l'utilisation de réseaux de neurones et d'algorithmes génétiques.

Documentation

Des 'créatures' disposant de 5 capteurs (détection de nouriture sur 3*60 degrès, nourriture disponible, vie) et de 4 effecteurs (avancer, tourner a droite et a gauche, manger) évoluent sur une surface, sur laquelle de la nouriture aparait aléatoirement. Chaque créature perd de la 'vie' en permanence, et en regagne a chaque fois qu'elle mange. Une fois toutes les créatures 'mortes', un croisement est effectué entre les 20% meilleures (celles ayant survécu le plus longtemps) pour regénérer toute la population. Le réseau de neurone utilisé est un réseau a trois couches (5*5*4 neurones), chaque neurone d'une couche étant relié a tous les neurones de la précédente. Les poids de chaque couche forment un gène. L'algorithme génétique crée un nouveau code a partir de deux autres en selectionnant au hasard pour chaque gène celui de l'un des parents, avec une certaine probabilité de mutations et de crossing-over.

Touches:
s: sauvegarde l'etat actuel (fichier dump.schmorbs)
l: recharge l'etat sauvegardé
o: ajoute de la nouriture
p: enlève de la nouriture
a: stoppe l'affichage, augmente enormement la vitesse
b: réactive l'affichage
clique gauche et déplacement souris: rotation de la caméra

Téléchargement

schmorb.exebinary executable142.79 kilobytes
glut32.dll OpenGL utility DLL (required if you don't already have it)151 kilobytes

Screenshots

Sample run
Sample run
Sample run
Sample run

contact:
Valid HTML 4.01! Valid CSS!