Vie artificielle - Algo génétique, ANN, etc ...

Vie artificielle - Algo génétique, ANN, etc ... - Algo - Programmation

Marsh Posté le 06-10-2006 à 13:49:56    

Bonjour,  
 
je m'interesse depuis qq temps déjà a tous ces algos et techniques qui tournent autour de la vie artificielle, j'ai deja fait plusieurs progs pour tester tel ou tel truc, mais je bute toujours sur un problème quand j'essaye de m'attaquer à un nouveau projet :  
 
Comment modéliser le problème afin de choisir la bonne méthode/algo ?  
 
Je prend un exemple simple :
- pour réaliser une simulation de vie artificielle (genre un classique fourmi par ex), il faut d'abord définir ce qu'est un individu (capteur ? effecteur ? capacité cognitive), l'environnement (comment le faire évoluer pour une répartition equitable, si par exemple on considère qu'il y a des ressources que les individus peuvent consomment), et surtout pour pouvoir faire tourner des algos d'évolution savoir bien définir la méthode de fitness ?
 
 
Est-ce que vous connaissez de la littérature sur le sujet ?
 
C'est une question vague, je sais, car pour l'instant j'ai un projet en tete et justement je n'arrive pas a l'accoucher ....
 
Tout ce que je trouve sur le net c'est surtout des explications d'un algo précis, la mise en oeuve, mais rien sur comment appréhender une modélisation de vie artificielle

Reply

Marsh Posté le 06-10-2006 à 13:49:56   

Reply

Marsh Posté le 06-10-2006 à 14:20:19    

[:drapal]

Reply

Marsh Posté le 06-10-2006 à 14:26:28    

[:drapal] too


---------------
Töp of the plöp
Reply

Marsh Posté le 06-10-2006 à 14:51:17    

Salut,
Je ne connais pas de litérature particulière dans ce domaine mis à part tous les PDF (et PS) qui se trouvent sur internet et que tu as déjà dû lire. Pour ma part, j'ai toujours de meilleurs résultats avec les algos génétiques qu'avec les réseaux de neurones artificiels... Je n'ai jamais testé les autres techniques existentes. Si tu veux de l'aide sur le forum, il faudrait que tu te lances dans un projet précis (et non des hypothèses) et que tu reviennes avec des questions très précises sur la modélisation de ton problème, je pense...

Reply

Marsh Posté le 06-10-2006 à 15:07:43    

spotaszn a écrit :

Salut,
Je ne connais pas de litérature particulière dans ce domaine mis à part tous les PDF (et PS) qui se trouvent sur internet et que tu as déjà dû lire. Pour ma part, j'ai toujours de meilleurs résultats avec les algos génétiques qu'avec les réseaux de neurones artificiels... Je n'ai jamais testé les autres techniques existentes. Si tu veux de l'aide sur le forum, il faudrait que tu te lances dans un projet précis (et non des hypothèses) et que tu reviennes avec des questions très précises sur la modélisation de ton problème, je pense...


le best etant de gerer les 2 : algo genetique pour faire evoluer la population , neurones pour reaslier la simulation et  obtenir les resultats

Reply

Marsh Posté le 06-10-2006 à 15:45:48    

spotaszn, je suis bien d'accord que sans question précise pas de réponse, il faut que je cible  mon projet (car se lancer sur un projet trop vague ou trop complexe conduit souvent a pas grand chose ...)
 
red faction, en partie d'accord avec toi, mais je me pose aussi des questions sur l'utilisation de correction (ou apprentissage) sur des NN, afin qu'un individu s'améliore sans nouvelle génération.
Sur les réseaux adaptatifs, j'en ai utilisé par ex pour faire des approximations mathématiques ( en passant par une phase d'apprentissage par un échantillon), mais est-ce possible (ou réaliste) a votre avis de les utiliser dans le cadre de vie artificielle ??  
 
en tache de fond, pour etre un peu moins vague, je souhaite faire une simu basé sur des individus (ayant des besoins primaires : se nourrir et faire survivre l'espece), par contre je ne veux pas d'une simu de type fourmi (avec des phéromones)
 
donc un invidu aurait en gros les propriétés :
 
- capteur : de nourriture, d'obstacle et autres individus  
- réseaux de neurones pour la partie cognitive (a voir sous quelles formes, lineaire ou pas, adaptatifs, etc ...)
- effecteur : se déplacer (avancer, tourner a gauche, a droite)
 
-l'environnement, pour faire simple, un damier, avec des cases contenant de la nourriture et des cases inaccessibles
 
pour la partie évolution, les GA me semble effectivement approprié
 
 
- une question précise :  
comment modéliser les capteurs pour les relier au réseaux de neurones (par ex le capteur de nourriture ) ?
 
par hypothèse, je peux dire par ex que l'individu ne voit que ce qui est devant lui (dans un angle +/- 90°)
je pourrai modéliser le capteur en question par deux entrées :  
- une entre -1 / 1 pour la direction de la source de nourriture la plus proche
- l'autre en 0/ 1 pour la distance (par rapport a la distance max que peux detecter l'individu)
 
pb : la source la plus proche masque les sources derrieres
 
 
 
 
 

Reply

Marsh Posté le 06-10-2006 à 18:30:42    

Le problème que tu soulèves avec ta modélisation du capteur de nourriture est en effet une trop forte limitation...  
Personnellement, j'aurais bien vu une "pseudo rétine"... Je m'explique : on pourrait dire que la bestiole a une vision purement horizontale de 135° (ou autre) que l'on découperait en 9 (ou plus, mais impair, c'est mieux) portions de 15°... chaque portion de cette vision serait évaluée par des lancés de rayon (très simplifiés) et stimulerait les neurones de la rétine associés à cette portion de la vision... Par exemple, un neurone par type d'objets rencontrables (nourriture, individu, obstacle). Leur stimulation serait fonction de la distance à laquelle l'objet se trouve et pourquoi pas de la quantité d'objet de ce type dans cette même direction. Cette "pseudo rétine" serait alors un tableau de n * m neurones où n serait le nombre de type d'objets rencontrables et m le nombre de portions, la résolution de la vision, en fait.
Ca donnerait un modèle plus complet que ce que tu proposes et plus proche de La Nature... mais l'évaluation sera plus lente... enfin, un lancé de rayon sur une grille, ce n'est pas non plus violent...
Voilà comment je modéliserais la vision de tes bestioles... je ne sais pas si ça t'aide.

Reply

Marsh Posté le 06-10-2006 à 19:13:36    

un truc tout simple que tu peut faire: ( deja teste, facile a faire et ca evolue tres vite , vers 100 generation c presque parfait)
 
les individus sont des tanks
 
leur but est daller chercher les mines (deposer random sur le terrain)
des qu'un tank rentre en collision avec une mine celle ci disparait et un autre apparait sur le terrain (nombre de mines constant)
 
les tanks ont deux entree : la distance X qui les separe de la mine la plus proche, puis la distance Y  (bref un vecteur)
 
ca passe dans les neurones
apres en sortie tu a :  
la force a appliquer sur le rail gauche et le rail droit (le tout pouvant etre reprensente par un flotant : suivant valeur positive ou negative)
 
puis par GA tu reprend uniquement les tanks qui ont prit le plus de mines ainsi que deux ou 3 au hasard (crosswheel selection)
 
apres si ca marche tu est sur que t algo de base sont bon (GA , neurones,...) et tu peut passer a des simus bcp plus compliques...)
 
 

Reply

Marsh Posté le 09-10-2006 à 08:47:05    

OK, merci pour ces réponses
 
pour la découpe du capteur, en fait j'y ai pensé ce we en pensant a la vision des mouches en facette, c'est sur que c'est mieux, par contre le cpu va tourner :)
 
Une autre question : pour le réseau neuronal, je pensais faire un réseau linéaire, avec N couches intermédiaires.
 
Pareil, selon votre expérience, vous avez une idée du nombre de couches en fonction du nombre d'entrée / sortie ?


Message édité par LvR le 09-10-2006 à 08:50:41
Reply

Marsh Posté le 10-10-2006 à 09:56:19    

Si tu veux j'avais fait une petite synthèse en DEA sur le sujet: http://moktar1er.site.voila.fr/docs/ProjetDEA.pdf
Ca vaut ce que ça vaut, ça date un peu, mais il y a une proposition d'approche conceptuelle des projets multi-agents, ça pourra peut-être t'aider.

Reply

Marsh Posté le 10-10-2006 à 09:56:19   

Reply

Marsh Posté le 10-10-2006 à 11:08:18    

Merci, je vais regarder ca

Reply

Marsh Posté le 14-10-2006 à 01:11:57    

Le plus difficile dans ces algo d'optimisation est de trouver une très bonne méthode de voisinage...c'est ce qui fait que tu converges efficacement vers une bonne solution par exploitation d'une solution de base. Les algo génétique et autres ne sont qu'une supercouche (d'où le nom de METAheuristique) générique qui permet de créer la diversification. Selon moi un algo heuristique spécifique au problème est suffisant et c'est là le coeur du problème et la clé de réussite ! ... pas de choisir un algo génétique, recuit, fourmi, tabou, etc.
Si aujourd'hui on arrive à résoudre efficacement le TSP c'est grâce à des heuristiques puissantes (Lin-Kerninghan) et pas grâce aux algo génétiques ...


Message édité par Giz le 15-10-2006 à 12:50:06

---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 15-10-2006 à 04:49:20    

[:drapal]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed