Simulation d'Insectes :
Le principe :
Les insectes apprennent à éviter les obstacles et leurs congénères mais
aussi suivre la nourriture.
Chaques insectes à sa propre mémoire Neuronale, c'est pour ça qu'ils ne
réagissent pas tous pareils.
Leurs mémoires sont initialiser avec des valeurs nulles. Comme ils ne sont
pas tous placer aux même endroits et ils ne vont pas voir l'objet tous pareils.
Mais aussi ils feront des erreurs, pas tous de la même manière et pas au même
moment, il s'en suivra qu'ils auront des réactions différentes.
--> Dans le programme les insectes se comportent un peu comme un esseint
d'insectes.
Des règles de calculs mathématiques régissent l'apprentissage du réseau
neuronale pour chaque insecte. J'ai trouver l'algorithme quand j'étais en 4°
pour les réseaux mono-couche à cette époque je travaillais sur AMSTRAD CPC-8512,
le processeur était un Z80 pour ainsi dire il y a longtemps !
Mon but à cette époque était la reconnaissance optique de caractère.
Sur AMSRAD, je suis arriver vite a bout de la puissance de l'ordinateur.
Ça m'est venu en lisent un 'science et vie' qui abordait le sujet, ça ma
vraiment intéresser. Il y avait des dessins assez clair est simple de
compréhension mais le hic ! dans l'histoire c'est qu'ils ne donnaient pas
l'algorithmes, j'ai chercher puis trouver par déduction !
Mais dans les domaines de la recherche ils partent de statistiques & de
régressions de hauts niveaux. Il y a quelques années après le BTS j'ai trouver
un petit livre (que sais-je N°3042) qui résumait la plus par des algorithmes
et j'ai vu que mon algorithme du mono-couche était le même que les leurs dans
un cas de la règle de l'Adaline.
Dans le cas des réseaux multi-couches ils appliquent une méthode beaucoup
plus compliquée appelée Rétro-Propagation du Gradient d'erreur.
J'ai trouver un algorithme multi-couche en BTS pendant les cours de
Français, il a l'air de marcher, mais il faut que je face des essais plus
complexe que le précédent.
J'ai fait déjà des pré-tests sur le multi-couche (1 sortie),
apprentissage de la fonction logique XOR avec beaucoup d'entrées parasitées sur
plusieurs couches avec des valeurs aléatoires plus deux entrées supplémentaires
pour les deux entées logique à la couche de base.
Le réseau d'essai est de le forme :
_
x--| \ Au bout d'un certain temps d'apprentissage les valeurs aléatoires X
x--|N | ne sont plus pris en compte, alors la fonction sera du coups :
a--|1 |--\
b--|__| \ S = a XOR b
\ _
--| \
x-------------|N |
x-------------|2 |--\
x-------------|__| \
\ _
--| \
x------------------------|N |
x------------------------|3 |-- S
x------------------------|__|
Mon étape de test sera de créer par exemple une fourmi ou autre chose qui
évoluera dans un espace 3D ou elle devra apprendre à se déplacer, éviter les
obstacles suivre la bouffe sans que je l'aide !
J'ai encore beaucoup de travail à faire !
Les réseaux de neurones artificiels
Lancer le programme Insectes.exe
Un menu apparaît :
- Nombre d'insectes (points Bleu) valeur entre 1 et 243 ?
je mets 243 en général
Taper 'enter'
- Nombre de mouvements d'insecte avant le mouvement de l'objet ?
Je mets en général 100
(P.S : L'Objet en Blanc pourrait par exemple être de la bouffe
que les insectes suivraient ).
Taper 'enter'
On passe en Mode Graphique :
- Diamètres des cercles d'environnement ?
c'est la tailles des obstacles (en gris), je mets en général 15
(Nombre de Pixels du rayon des cercles)
Taper 'enter'
- Deux cas possible :
a) Avancer pas à pas en appuyant sur des touches du clavier.
b) Avances en mode automatique : appuyer sur la touche 'P' ou 'p'
- Pour quitter taper la touche 's' ou 'S'
Le programme (DOS) :
Insectes.rar (56Ko)
Retour Sciences et Physique.
|