Les meilleurs développeurs JavaScript freelances sont sur Codeur.com

Automate cellulaire sous Scilab

 Fermé·Moins de 500 €·1144 vues


Bonjour,
Je suis actuellement étudiant en biologie et je dois réaliser un projet sur Scilab en utilisant comme technique de modélisation un automate cellulaire. Mon sujet porte sur la recherche de nourriture et transmission de l'information dans une société de fourmis.

Contexte : Quand une fourmi trouve une source de nourriture intéressante, elle en rapporte une petite quantité au nid, en laissant derrière elle une traînée de phéromones pour marquer son chemin. Ses congénères tenteront ensuite de suivre ce chemin pour retrouver la source de nourriture.

Question : Comment les fourmis optimisent-elles le transfert d’information afin d’atteindre collectivement, le plus rapidement possible, une source de nourriture placée dans un labyrinthe généré aléatoirement ?

Conditions initiales :
-On considère un labyrinthe généré aléatoirement dont les cases noires représentent les obstacles.
-On considère que seuls les obstacles seront générés aléatoirement, la source de nourriture et la colonie auront une position fixe.
-On considère une seule colonie de fourmis dans le système.
-On considère une seule source de nourriture illimitée dans le système.
-On suppose que toutes les fourmis avancent à la même vitesse.
-On suppose que le poids de la charge n’influe pas sur la vitesse de déplacement des fourmis.
-On suppose qu’une seule fourmi débute la recherche de nourriture puis à chaque instant t une nouvelle fourmi sort de la colonie pour récolter la nourriture.
-On considère que la phéromone est un composé volatil, donc elle s’évapore au fil du temps, ce qui fait diminuer sa concentration.
-On considère que seulement à partir d'un certain seuil, la concentration en phéromone influencera le déplacement de la fourmi.

Il y a deux forces majeures: -rétroactions positives: le dépôt de phéromone des fourmis sur le chemin du retour, attire d'autres fourmis qui vont renforcer à leur tour. Et donc plus le chemin est court plus la concentration en phéromone est élevée.
- rétroaction négatives: dissipation progressive de la piste de phéromone puisque c'est un composé volatil.

Voici comment nous avons a réfléchi pour écrire le script:
1) Générer un labyrinthe: avec 0=case vide 1=obstacle 3=source de nourriture 4=colonie
2) Déplacement de fourmis: 0=case vide= absence de fourmi 2=présence de fourmi
- une cellule voisine de la colonie (4) passe à l'état 2 avec un pas de temps t
- déplacement de la case 2 sous forme de boucle (en changeant les 0 en 2) jusqu'à atteindre une cellule voisine a la source de nourriture (3). Lors de ce trajet il faut ajouter une certaine probabilité qui fait que la fourmi à plus tendance à choisir les directions devant/droite/gauche plutôt que faire demi-tour.
- le retour est le chemin contraire de l'aller.
3) Taux de phéromones: n="taux de phéromone" avec n0=0 et plage de n=0;100
- si sur le chemin du retour une case 0 passe à l'état 2 alors la case 2 prend n+1
- à chaque pas de temps t: n-0,2
- à partir d'un seuil n=30, il y a une augmentation de la probabilité que la fourmi passe par cette case. Plus n est grand plus la probabilité augmente.

Pour l'instant, j'ai essayé de me débrouiller tant bien que mal, mais étant vraiment très débutant dans tous ce qui est programmation....

Je dois finaliser ce script pour le 12 octobre. Travail rémunéré 20 euros, et modalités de paiements au choix.

Budget indicatif : Moins de 500 €

Publication : 06 octobre 2018 à 14h03

Profils recherchés : Développeur JavaScript freelance, Expert Matlab freelance

Le profil du client est reservé aux prestataires abonnés

Créer un compte

Vous avez aussi besoin d'un expert ?

Déposez une annonce en décrivant votre projet et recevez gratuitement des devis en quelques minutes

Déposer une annonce gratuite

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients

Votre navigateur Web n’est plus à jour. Il ne permet pas d’afficher correctement le site Codeur.com.
Nous vous invitons à mettre à jour votre navigateur ou à utiliser un autre navigateur plus récent.