Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1415:futtersuche_bei_ameisen_-_simulation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1415:futtersuche_bei_ameisen_-_simulation [2015/01/22 17:35]
leonardpuhl [Blog]
ws1415:futtersuche_bei_ameisen_-_simulation [2016/05/10 14:46] (aktuell)
Zeile 21: Zeile 21:
 Ameisen verlassen ihr Nest mehr oder weniger zufällig, orientieren sich jedoch an Temperatur und Licht (, worauf wir in unserer Simulation jedoch nicht eingehen). Ihren Weg markieren sie mit verschiedenen Pheromonen, abhängig von ihren Erlebnissen. Das Pheromon, auf das wir uns konzentrieren,​ wird bei der Futtersuche genutzt. Die Braunschwarze Rossameise, die wir als Vorbild nehmen, ernährt sich in Trophobiose (Symbiose von Ameisen und Blattläusen - Schutz durch Ameise gegen Nahrungsversorgung mit Honigtau durch Blattläuse) und Zoophagie (Ernährung von anderen Tieren, Carnivorismus),​ allerdings arbeiten wir mit stationären Nahrungsquellen,​ also konzentrieren wir uns auf die Trophobiose. Ameisen verlassen ihr Nest mehr oder weniger zufällig, orientieren sich jedoch an Temperatur und Licht (, worauf wir in unserer Simulation jedoch nicht eingehen). Ihren Weg markieren sie mit verschiedenen Pheromonen, abhängig von ihren Erlebnissen. Das Pheromon, auf das wir uns konzentrieren,​ wird bei der Futtersuche genutzt. Die Braunschwarze Rossameise, die wir als Vorbild nehmen, ernährt sich in Trophobiose (Symbiose von Ameisen und Blattläusen - Schutz durch Ameise gegen Nahrungsversorgung mit Honigtau durch Blattläuse) und Zoophagie (Ernährung von anderen Tieren, Carnivorismus),​ allerdings arbeiten wir mit stationären Nahrungsquellen,​ also konzentrieren wir uns auf die Trophobiose.
 {{:​ws1415:​herausbildung_hauptweg.jpg?​200 |}} {{:​ws1415:​herausbildung_hauptweg.jpg?​200 |}}
 +
 +1: Die erste Ameise findet eine Futterquelle (F), benutzt den Weg (a), dann erreicht sie das Nest (N), und hinterlässt eine Pheromonspur.
 +
 +2: Andere Ameisen folgen der ersten auf 4 möglichen Pfaden.
 +
 +3: Die Ameisen folgen dem kürzesten Pfad.
 +
 Konsistente Pheromonspuren entstehen durch die Überlagerung von Pheromonspuren verschiedener Ameisen, die auf unterschiedlichen Routen das gleiche Ziel angesteuert haben. Konsistente Pheromonspuren entstehen durch die Überlagerung von Pheromonspuren verschiedener Ameisen, die auf unterschiedlichen Routen das gleiche Ziel angesteuert haben.
 Ameisen nehmen Pheromone über die Fühler am Kopf war und bewegen sich zur höchsten Pheromonkonzentration,​ es sei denn, ein Artgenosse ist im Weg. In dem Fall versuchen sie auszuweichen.{{ :​ws1415:​circularmill.jpeg?​200|}} Ameisen nehmen Pheromone über die Fühler am Kopf war und bewegen sich zur höchsten Pheromonkonzentration,​ es sei denn, ein Artgenosse ist im Weg. In dem Fall versuchen sie auszuweichen.{{ :​ws1415:​circularmill.jpeg?​200|}}
 Jedoch kann der Drang, einer Kollision auszuweichen,​ durch eine entsprechend hohe Pheromonkonzentration ausgeschaltet werden, wodurch sogenannte "Ant mills" entstehen: Kreise von Ameisen, die auf ihren eigenen Spuren weiterlaufen,​ da die Konzentration durch die schiere Menge an Ameisen so hoch ist, dass sie ihre eigenen Artgenossen tot trampeln, woher der alternative Name "Death Circle"​ stammt. Jedoch kann der Drang, einer Kollision auszuweichen,​ durch eine entsprechend hohe Pheromonkonzentration ausgeschaltet werden, wodurch sogenannte "Ant mills" entstehen: Kreise von Ameisen, die auf ihren eigenen Spuren weiterlaufen,​ da die Konzentration durch die schiere Menge an Ameisen so hoch ist, dass sie ihre eigenen Artgenossen tot trampeln, woher der alternative Name "Death Circle"​ stammt.
 +
 Wenn eine Ameise auf eine konsistente Pheromonspur gerät, verfällt sie in eine Art "​Zickzack"​-Kurs,​ da sie im Versuch zur höchsten Pheromonkonzentration zu gelangen, immer wieder die Spur überqueren. Wenn eine Ameise auf eine konsistente Pheromonspur gerät, verfällt sie in eine Art "​Zickzack"​-Kurs,​ da sie im Versuch zur höchsten Pheromonkonzentration zu gelangen, immer wieder die Spur überqueren.
 {{:​ws1415:​irritation_gerade_linie_pheromon.jpg?​200|}} {{:​ws1415:​irritation_gerade_linie_pheromon.jpg?​200|}}
Zeile 73: Zeile 81:
 ===Wie verteilen sich Duftstoffe?​=== ===Wie verteilen sich Duftstoffe?​===
  
-  * Duftstoffe ​verblasen ​(verlieren an Intensität über Zeit)+  * Duftstoffe ​verblassen ​(verlieren an Intensität über Zeit)
   * Duftstoffe verteilen sich, sie diffundieren   * Duftstoffe verteilen sich, sie diffundieren
  
Zeile 151: Zeile 159:
   return position_int   return position_int
 </​code>​ </​code>​
->Die Ant-Klasse hat jetzt eine ``max_turn_rate`` die den maximalen Drehwinkel pro Frame limitiert.  +>Die Ant-Klasse hat jetzt eine ''​max_turn_rate'' ​die den maximalen Drehwinkel pro Frame limitiert.  
->Die Methode ​``evade`` der Ant-Klasse funktioniert jetzt wie gewollt. Die Ameisen weichen sich aus. +>Die Methode ​''​evade'' ​der Ant-Klasse funktioniert jetzt wie gewollt. Die Ameisen weichen sich aus. 
-{{:​ws1415:​screen_shot_2015-01-22_at_17.30.31.png?​300|}}{{:​ws1415:​screen_shot_2015-01-22_at_17.31.00.png?​300|}}+t=0s{{:​ws1415:​screen_shot_2015-01-22_at_17.30.31.png?​350|}}t=1,8s{{:​ws1415:​screen_shot_2015-01-22_at_17.31.00.png?​350|}} 
 +
 +>​Interaktionsradius von ''​center_radius == 75mm''​ 
 +t=0.25s {{:​ws1415:​screen_shot_2015-01-22_at_17.45.37.png?​200|}} t=25.25s {{:​ws1415:​screen_shot_2015-01-22_at_17.46.05.png?​200|}} t=75.25s {{:​ws1415:​screen_shot_2015-01-22_at_17.47.09.png?​200|}} 
 +>​**22.01** 
 +>Wir haben einen Fehler mit plötzlich viel zu großen und viel zu kleinen Zahlen während einer Durchschnittsberechnung behoben. 
 +>Finde ihn selber: 
 +<code python>​ 
 +def get_weighted_collision_vector(self,​ object_list):​ 
 +    v_matrix = np.empty((2),​ dtype=np.float64) 
 +    for o in object_list:​ 
 +        v = ((self.position - o.position) / np.linalg.norm(self.position - o.position)) 
 +        v_matrix = v_matrix + v
  
 +    print v_matrix.dtype
 +
 +    average = np.mean(v_matrix,​ axis=0)
 +
 +    return average
 +</​code>​
 +>Ameisen folgen nun Pheromonen. (ausbaufähig)
 +>Wir haben uns graphische Auswertungsmöglichkeiten zur Darstellung unserer Simulationsergebnisse überlegt.
ws1415/futtersuche_bei_ameisen_-_simulation.1421944537.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)