Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1415:futtersuche_bei_ameisen_-_simulation [2015/01/29 15:17] xan7 [Biologischer Kontext] |
ws1415:futtersuche_bei_ameisen_-_simulation [2016/05/10 14:46] (aktuell) |
||
---|---|---|---|
Zeile 22: | Zeile 22: | ||
{{: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. | + | 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. | + | 2: Andere Ameisen folgen der ersten auf 4 möglichen Pfaden. |
3: Die Ameisen folgen dem kürzesten Pfad. | 3: Die Ameisen folgen dem kürzesten Pfad. | ||
Zeile 31: | Zeile 31: | ||
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 80: | 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 164: | Zeile 165: | ||
>Interaktionsradius von ''center_radius == 75mm'' | >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|}} | 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. |