Simulation de l'évolution d'une colonie de fourmis
Règles du forum
Charte du Forum et Code de Déontologie du Myrmécologue
Charte du Forum et Code de Déontologie du Myrmécologue
Simulation de l'évolution d'une colonie de fourmis
Bonjour tout le monde,
Je commence un projet informatique de simulation de colonies de fourmis. L'objectif n'est pas d'innover puisqu'il existe déjà un paquet de programmes très sophistiqués mais simplement de m'amuser et de valider un module dans le cadre de mes études.
L'accent sera mis sur le fourragement dans une aire de chasse. Le Langage utilisé est le Java. J'ai un mois et demi pour le faire (mais beaucoup d'autres choses en parallèle).
J'ai rédigé mon cahier des charges mais je me heurte à quelques difficultés en ce qui concerne la communication phéromonale (la seule que j’implémenterai). Je n'ai pas trouvé de documents très clairs sur la toile et je m'en remets donc à vous. Au pire (au mieux ?), je pourrais faire des expériences avec ma colonie de Pheidole pallidula.
Une fourmi cherche aléatoirement de la nourriture dans l'aire de chasse en déposant sur son chemin des phéromones « personnelles ». Imaginons qu'elle trouve une source de nourriture. Elle va rentrer à la fourmilière avec un peu de nourriture en laissant sur son chemin des phéromones "sociales". Mon premier problème est la façon dont elle rentre. Je sais que certaines espèces Cataglyphis connaissent à tout instant la position de leur fourmilière grâce au soleil et rentrent donc en ligne DROITE. Les autres espèces rentrent, me semble-t-il, en suivant en sens inverse leur chemin d’aller grâce à leurs phéromones « personnelles ».
Les autres fourmis de la fourmilière sont enclines à suivre les phéromones « sociales » et trouvent donc la source de nourriture.
J’insiste sur la distinction entre phéromones :
- « personnelles » : uniquement « visibles » par la fourmi qui les a sécrétées. Elles permettent à cette fourmi de rentrer à la fourmilière (comme le petit poucet)
- « sociales » : « visibles » par toutes les fourmis. Sécrétées par chaque fourmi sur leur chemin de retour à la fourmilière lorsqu’elles rapportent de la nourriture.
Est-ce que vous pensez que c'est "assez réaliste" ?
Oleoduc
PS: vidéo intéressante sur des Cataglyphis au Sahara :
Je commence un projet informatique de simulation de colonies de fourmis. L'objectif n'est pas d'innover puisqu'il existe déjà un paquet de programmes très sophistiqués mais simplement de m'amuser et de valider un module dans le cadre de mes études.
L'accent sera mis sur le fourragement dans une aire de chasse. Le Langage utilisé est le Java. J'ai un mois et demi pour le faire (mais beaucoup d'autres choses en parallèle).
J'ai rédigé mon cahier des charges mais je me heurte à quelques difficultés en ce qui concerne la communication phéromonale (la seule que j’implémenterai). Je n'ai pas trouvé de documents très clairs sur la toile et je m'en remets donc à vous. Au pire (au mieux ?), je pourrais faire des expériences avec ma colonie de Pheidole pallidula.
Une fourmi cherche aléatoirement de la nourriture dans l'aire de chasse en déposant sur son chemin des phéromones « personnelles ». Imaginons qu'elle trouve une source de nourriture. Elle va rentrer à la fourmilière avec un peu de nourriture en laissant sur son chemin des phéromones "sociales". Mon premier problème est la façon dont elle rentre. Je sais que certaines espèces Cataglyphis connaissent à tout instant la position de leur fourmilière grâce au soleil et rentrent donc en ligne DROITE. Les autres espèces rentrent, me semble-t-il, en suivant en sens inverse leur chemin d’aller grâce à leurs phéromones « personnelles ».
Les autres fourmis de la fourmilière sont enclines à suivre les phéromones « sociales » et trouvent donc la source de nourriture.
J’insiste sur la distinction entre phéromones :
- « personnelles » : uniquement « visibles » par la fourmi qui les a sécrétées. Elles permettent à cette fourmi de rentrer à la fourmilière (comme le petit poucet)
- « sociales » : « visibles » par toutes les fourmis. Sécrétées par chaque fourmi sur leur chemin de retour à la fourmilière lorsqu’elles rapportent de la nourriture.
Est-ce que vous pensez que c'est "assez réaliste" ?
Oleoduc
PS: vidéo intéressante sur des Cataglyphis au Sahara :
Dernière modification par Oleoduc le sam. 23 oct. 2010 13:56, modifié 1 fois.
Re: Simulation de l'évolution d'une colonie de fourmis
J'ai fait ça l'an passé en tombant sur un sujet d'un projet étudiant similaire (très intéressant pour les informaticiens/myrmecologues/geek & co)
Je sujet en question est ici et pourra peut être t'inspirer aussi
http://cassoulet.univ-brest.fr/PEDA/IUP ... ujet/HTML/
En fouillant un peu on trouve également les sources java des étudiants qui s'y sont essayé et on peut bien évidement les compiler.
J'avais pas mal avancé mais jamais finalisé (restait des bugs, jamais réussi à le passer en applet ...)
Ma colo de pixels
Il y a de quoi s'amuser avec de tels sujets.
Comme ça repose sur l'auto-organisation entre les objets, on arrive facilement à des trucs sympa.
J'avais fait simple (découverte alétaoire de la nourriture, retour direct au nid, amplification grâce au phéromones).
Bref je suivrais avec beaucoup d'intérêt ton post.
Je sujet en question est ici et pourra peut être t'inspirer aussi
http://cassoulet.univ-brest.fr/PEDA/IUP ... ujet/HTML/
En fouillant un peu on trouve également les sources java des étudiants qui s'y sont essayé et on peut bien évidement les compiler.
J'avais pas mal avancé mais jamais finalisé (restait des bugs, jamais réussi à le passer en applet ...)
Ma colo de pixels
Il y a de quoi s'amuser avec de tels sujets.
Comme ça repose sur l'auto-organisation entre les objets, on arrive facilement à des trucs sympa.
J'avais fait simple (découverte alétaoire de la nourriture, retour direct au nid, amplification grâce au phéromones).
Bref je suivrais avec beaucoup d'intérêt ton post.
Dernière modification par Tibo le sam. 23 oct. 2010 15:39, modifié 1 fois.
Re: Simulation de l'évolution d'une colonie de fourmis
Pas mal ton aire de chasse !
Merci pour la doc, mais je ne vais pas regarder avant d'avoir obtenu mes premiers résultats .
Pour le retour au nid, je pense finalement faire en sorte qu'elles rentrent en suivant leur chemin d'aller car il me semble que cela se passe comme ça dans la réalité.
J'ai terminé un cahier des charges et ai fait un diagramme de classes. Je commence maintenant la programmation proprement dite !
Merci pour la doc, mais je ne vais pas regarder avant d'avoir obtenu mes premiers résultats .
Pour le retour au nid, je pense finalement faire en sorte qu'elles rentrent en suivant leur chemin d'aller car il me semble que cela se passe comme ça dans la réalité.
J'ai terminé un cahier des charges et ai fait un diagramme de classes. Je commence maintenant la programmation proprement dite !
Re: Simulation de l'évolution d'une colonie de fourmis
Continue comme ça !!
"La guerre ne fait pas les hommes, elle fait les morts".
- pierrot
- Ouvrière
- Messages : 395
- Inscription : mar. 6 juil. 2010 20:18
- Localisation : Ille-et-Vilaine (France)
- Genre :
- Contact :
Re: Simulation de l'évolution d'une colonie de fourmis
Je ne pense pas qu'il ai besoin de ton feu vert... .
Je ne crois pas que les fourmis ont des phéromones "individuelles"... .
Je ne crois pas que les fourmis ont des phéromones "individuelles"... .
Dernière modification par pierrot le ven. 29 oct. 2010 21:53, modifié 1 fois.
Cordialement pierrot
I use to be a king like you ... Then, I took Tyron to the face !!
Re: Simulation de l'évolution d'une colonie de fourmis
Eh bien je continue . Voici où j'en suis :
J'ai codé la recherche de nourriture sans l'usage de phéromones (ça va venir).
J'ai fait une interface graphique minimaliste où on peut voir les fourmis se déplacer, la fourmilière et les sources de nourriture.
Une difficulté sera de bien choisir les paramètres de la situation : nourriture transportable par une fourmi, quantité de phéromones qu'une fourmi peut déposer, coefficient de fatigue, taux d'évaporation des phéromones, durées de vie, intervalle entre pontes, taux de régénération des sources de nourriture etc.
A suivre !
Edit pour pierrot : je pense que c'était plutôt un encouragement de la part de Fourmiz.
Pour les phéromones "personnelles" :
Imaginons une fourmi qui sort du nid et qui part à la recherche de nourriture et qui n'en trouve pas. Elle réempruntera le chemin de l'aller pour rentrer. Prenons une 2eme ouvrière qui part aussi chercher de la nourriture. Elle sera à mon avis indifférente aux phéromones laissées par la première.
Imaginons maintenant que la 2eme ouvrière se perdre (ne retrouve plus ses phéromones d'aller) et qu'elle croise par hasard les phéromones laissées par la 1ere. A votre avis, "comprend"-elle que ces phéromones la reconduisent à la fourmilière ?
J'ai codé la recherche de nourriture sans l'usage de phéromones (ça va venir).
J'ai fait une interface graphique minimaliste où on peut voir les fourmis se déplacer, la fourmilière et les sources de nourriture.
Une difficulté sera de bien choisir les paramètres de la situation : nourriture transportable par une fourmi, quantité de phéromones qu'une fourmi peut déposer, coefficient de fatigue, taux d'évaporation des phéromones, durées de vie, intervalle entre pontes, taux de régénération des sources de nourriture etc.
A suivre !
Edit pour pierrot : je pense que c'était plutôt un encouragement de la part de Fourmiz.
Pour les phéromones "personnelles" :
Imaginons une fourmi qui sort du nid et qui part à la recherche de nourriture et qui n'en trouve pas. Elle réempruntera le chemin de l'aller pour rentrer. Prenons une 2eme ouvrière qui part aussi chercher de la nourriture. Elle sera à mon avis indifférente aux phéromones laissées par la première.
Imaginons maintenant que la 2eme ouvrière se perdre (ne retrouve plus ses phéromones d'aller) et qu'elle croise par hasard les phéromones laissées par la 1ere. A votre avis, "comprend"-elle que ces phéromones la reconduisent à la fourmilière ?
Dernière modification par Oleoduc le ven. 29 oct. 2010 22:11, modifié 2 fois.
Re: Simulation de l'évolution d'une colonie de fourmis
Quelques bons fichiers de configuration et ça sera encore plus amusant.Une difficulté sera de bien choisir les paramètres de la situation
Lasius.xml, Camponotus.xml, Pheidole.xml, Megoleoduc_sp.xml tu géreras les espèces comme ça.
Re: Simulation de l'évolution d'une colonie de fourmis
Bonne idée, que je vais d'ailleurs suivre ! J'ai déjà rassemblé tous les paramètres dans une même classe pour faciliter la chose. En voici d'ailleurs la liste pour la version actuelle (encore très simpliste, elle ne gère même pas les naissances) :
this.quantitePheromoneDeposee = 1;
this.densitePheromoneMaximale = 10;
this.nombreFourmis = 200;
this.dureeTour=10;
this.nourritureInitialeFourmiliere = 5000;
this.tauxEvaporationPheromones = 0.995;
this.nourritureReservePersonnelleMax = 100;
this.nourritureTransportee = 0;
this.nourritureTransporteeMax = 300;
this.nombreSourcesNourriture = 30;
this.nourritureMaxSurSource = 100*this.nourritureTransporteeMax;
this.tailleTerrainGraphique[0]=1000;
this.tailleTerrainGraphique[1]=1000;
this.tailleTerrain[0]=100;
this.tailleTerrain[1]=100;
Voici un aperçu de l'aire de chasse :
La simulation fonctionne assez bien. On constate que les fourmis ont tendance à choisir les plus courts chemins.
En rouge, les sources de nourriture.
En vert, l'entrée de la fourmilière.
En orange, les phéromones.
Et en noir, les fourmis !
this.quantitePheromoneDeposee = 1;
this.densitePheromoneMaximale = 10;
this.nombreFourmis = 200;
this.dureeTour=10;
this.nourritureInitialeFourmiliere = 5000;
this.tauxEvaporationPheromones = 0.995;
this.nourritureReservePersonnelleMax = 100;
this.nourritureTransportee = 0;
this.nourritureTransporteeMax = 300;
this.nombreSourcesNourriture = 30;
this.nourritureMaxSurSource = 100*this.nourritureTransporteeMax;
this.tailleTerrainGraphique[0]=1000;
this.tailleTerrainGraphique[1]=1000;
this.tailleTerrain[0]=100;
this.tailleTerrain[1]=100;
Voici un aperçu de l'aire de chasse :
La simulation fonctionne assez bien. On constate que les fourmis ont tendance à choisir les plus courts chemins.
En rouge, les sources de nourriture.
En vert, l'entrée de la fourmilière.
En orange, les phéromones.
Et en noir, les fourmis !
Dernière modification par Oleoduc le sam. 30 oct. 2010 17:06, modifié 1 fois.
Re: Simulation de l'évolution d'une colonie de fourmis
Magnifique...que ça à dire...
"La guerre ne fait pas les hommes, elle fait les morts".
- leveto
- Sexué Mâle
- Messages : 552
- Inscription : lun. 8 févr. 2010 07:04
- Localisation : Rhône (France)
- Genre :
Re: Simulation de l'évolution d'une colonie de fourmis
Salut,
C'est super ce que tu fais, mais je me demande : comment fait-on pour créer un tel jeu ?
C'est super ce que tu fais, mais je me demande : comment fait-on pour créer un tel jeu ?
leveto
Forum