Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws2425:crowingworld:protokolle

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
ws2425:crowingworld:protokolle [2025/03/09 10:28]
pauline.kretzer
ws2425:crowingworld:protokolle [2025/03/13 21:44] (aktuell)
pauline.kretzer
Zeile 1: Zeile 1:
-[[protokolle#​21.11.2024:​|Protokoll ​Block 1]] \\ +[[protokolle#​21.11.2024:​|Block 1]] \\ 
-[[protokolle#​28.11.2025:​|Protokoll ​Block 2]] \\ +[[protokolle#​28.11.2025:​|Block 2]] \\ 
-[[protokolle#​05.12.2025:​|Protokoll ​Block 3]] \\ +[[protokolle#​05.12.2025:​|Block 3]] \\ 
-[[protokolle#​12.12.2024:​|Protokoll ​Block 4]] \\ +[[protokolle#​12.12.2024:​|Block 4]] \\ 
-[[protokolle#​19.12.2025:​|Protokoll ​Block 5]] \\ +[[protokolle#​19.12.2025:​|Block 5]] \\ 
-[[protokolle#​09.01.2025:​|Protokoll ​Block 6]] \\ +[[protokolle#​09.01.2025:​|Block 6]] \\ 
-[[protokolle#​16.01.2025:​|Protokoll ​Block 7]] \\ +[[protokolle#​16.01.2025:​|Block 7]] \\ 
-[[protokolle#​23.01.2025:​|Protokoll ​Block 8]] \\ +[[protokolle#​23.01.2025:​|Block 8]] \\ 
-[[protokolle#​06.02.2025:​|Protokoll ​Block 9]] \\ +[[protokolle#​06.02.2025:​|Block 9]] \\ 
-[[protokolle#​07.02.-10.02.2025:​|Protokoll ​Zwischendrin]] \\ +[[protokolle#​07.02.-10.02.2025:​|Zwischendrin]] \\ 
-[[protokolle#​10.02.2025:​|Protokoll ​Vortrag]] \\ +[[protokolle#​10.02.2025:​|Vortrag]] \\ 
-[[protokolle#​13.02.2025:​|Protokoll ​Block 10]] \\ +[[protokolle#​13.02.2025:​|Block 10]] \\ 
-[[protokolle#​04.03.2025:​|Protokoll ​Blockveranstaltung 1]] \\ +[[protokolle#​04.03.2025:​|Blockveranstaltung ​Tag 1]] \\ 
-[[protokolle#​05.03.2025:​|Protokoll ​Blockveranstaltung 2]] \\ +[[protokolle#​05.03.2025:​|Blockveranstaltung ​Tag 2]] \\ 
-[[protokolle#​06.03.2025:​|Protokoll ​Blockveranstaltung 3]] \\ +[[protokolle#​06.03.2025:​|Blockveranstaltung ​Tag 3]] \\ 
 +[[protokolle#​Bis zur Abgabe:|Bis zur Abgabe]] \\
 === Protokolle === === Protokolle ===
  
Zeile 74: Zeile 74:
 Bis zum Tag des Vortrages hatten wir die Simulation zum Laufen bekommen. Dabei traten jedoch noch ein paar Probleme auf: Es wurde immer nur ein kleiner Ausschnitt des Simulationshintergrundes auf dem Laptop gezeigt, und nur in diesem Ausschnitt wurden Pflanzen erzeugt. Viele Tiere, besonders die schnellen, wie z.B. der Hase, sind schnell aus dem sichtbaren Feld gelaufen und für den Betrachter dann verschwunden,​ obwohl sie noch lebten. Jedoch lebten sie dann außerhalb des sichtbaren Feldes nicht wirklich lange, da es ja dann dort keine Pflanzen gab, die sie essen könnten. So kam es, dass am Ende eine große Anzahl Ameisen (und ein Uhu) überlebt: Die Ameisen sammelten sich auf Punkten an Wasserstellen,​ um sich zu vermehren, und liefen dann immer zwischendurch zu Pflanzen. Da eine Ameise nicht ein ganzes Grasbüschel auf einmal frisst, konnten viele Ameisen vom gleichen Stück Gras überleben, und da es noch keine Begrenzung für das Food-Level gibt, konnten die Ameisen von einer Fresseinheit deutlich länger überleben als sie sollten. Dieses Problem, und die unten, auf einem Ausschnitt der PowerPoint, aufgelisteten Punkte wollen wir versuchen, die nächste Zeit in Bearbeitung zu nehmen. ​ Bis zum Tag des Vortrages hatten wir die Simulation zum Laufen bekommen. Dabei traten jedoch noch ein paar Probleme auf: Es wurde immer nur ein kleiner Ausschnitt des Simulationshintergrundes auf dem Laptop gezeigt, und nur in diesem Ausschnitt wurden Pflanzen erzeugt. Viele Tiere, besonders die schnellen, wie z.B. der Hase, sind schnell aus dem sichtbaren Feld gelaufen und für den Betrachter dann verschwunden,​ obwohl sie noch lebten. Jedoch lebten sie dann außerhalb des sichtbaren Feldes nicht wirklich lange, da es ja dann dort keine Pflanzen gab, die sie essen könnten. So kam es, dass am Ende eine große Anzahl Ameisen (und ein Uhu) überlebt: Die Ameisen sammelten sich auf Punkten an Wasserstellen,​ um sich zu vermehren, und liefen dann immer zwischendurch zu Pflanzen. Da eine Ameise nicht ein ganzes Grasbüschel auf einmal frisst, konnten viele Ameisen vom gleichen Stück Gras überleben, und da es noch keine Begrenzung für das Food-Level gibt, konnten die Ameisen von einer Fresseinheit deutlich länger überleben als sie sollten. Dieses Problem, und die unten, auf einem Ausschnitt der PowerPoint, aufgelisteten Punkte wollen wir versuchen, die nächste Zeit in Bearbeitung zu nehmen. ​
 {{ :​ws2425:​crowingworld:​aergj.png |}} {{ :​ws2425:​crowingworld:​aergj.png |}}
 +{{:​ws2425:​crowingworld:​praesentation.pptx|}}
  
 == 13.02.2025 == == 13.02.2025 ==
Zeile 89: Zeile 90:
 Wir haben uns heute also nochmal an die Parameter gesetzt und dafür erstmal eine kleine Statistik mit ein paar Simulationen durchgeführt , um herauszufinden,​ welche ​ Parameter genau wir anpassen müssen. Wir hatten geplant, das 10 mal zu machen. Es hat jedoch alles länger gedauert als gedacht, da wir zwischendrin so viel an Simulationsoberflächengröße,​ Tieranzahl, Sichtweite, Wasserstellenanzahl und Pflanzenanzahl herumgespielt haben, dass zwischendrin immer wieder Fehler oder Optimierungsmöglichkeiten aufgefallen sind, die wir dann erst behoben haben. Weiterhin gab es das Problem, dass nicht auf allen Computern die Simulation funktionierte,​ obwohl wir mit den gleichen Dateien arbeiten. Ein Problem bei der Visualisierung war uns schon länger bekannt: wegen verschiedenen Pyglet-Versionen muss man beim Ausgeben einer Matrix entweder ein Sternchen setzen oder nicht. Vielleicht gibt es noch weitere, bisher unentdeckte Probleme dieser Art. Außerde ist uns beim Erstellen der Statistik aufgefallen,​ dass wir unbedingt eine Verkürzung der Laufzeit brauchen. Da bisher jedes Tier in jedem Simulationsschritt jedes Objekt betrachtet und berechnet, wohin sie als nächstes gehen/​fliegen wollen, steigt die Anzahl der Überprüfungen Objekt exponentiell,​ so dass wir teilweise üer eine halbe Stunde darauf warten mussten, und die Simulation immer noch nicht fertig war. Dies war zum Beispiel der Fall, als wir das Feld und die Anzahl der Individuen vergrößert hatten und nur noch die Fliegen und Ameisen lebten, und sich rasant vermehrten. Deshalb arbeiteten wir heute daran, eine Version des Codes zu erstellen, bei dem nicht jedes Tier jedes Objekt abcheckt, sondern nur die in der individuell festgelegten Sichtweite. ​ Für eine bessere Auswertung der Simulation begannen wir außerdem mit dem Erstellen einer „Snapshot“-Funktion,​ die für jedes Individuum einige Daten festhält, zum Beispiel wie viele Simulationsschritte es überlebte, ​ wie viel es gegessen hat und wie oft es sich gepaart hat.  Wir haben uns heute also nochmal an die Parameter gesetzt und dafür erstmal eine kleine Statistik mit ein paar Simulationen durchgeführt , um herauszufinden,​ welche ​ Parameter genau wir anpassen müssen. Wir hatten geplant, das 10 mal zu machen. Es hat jedoch alles länger gedauert als gedacht, da wir zwischendrin so viel an Simulationsoberflächengröße,​ Tieranzahl, Sichtweite, Wasserstellenanzahl und Pflanzenanzahl herumgespielt haben, dass zwischendrin immer wieder Fehler oder Optimierungsmöglichkeiten aufgefallen sind, die wir dann erst behoben haben. Weiterhin gab es das Problem, dass nicht auf allen Computern die Simulation funktionierte,​ obwohl wir mit den gleichen Dateien arbeiten. Ein Problem bei der Visualisierung war uns schon länger bekannt: wegen verschiedenen Pyglet-Versionen muss man beim Ausgeben einer Matrix entweder ein Sternchen setzen oder nicht. Vielleicht gibt es noch weitere, bisher unentdeckte Probleme dieser Art. Außerde ist uns beim Erstellen der Statistik aufgefallen,​ dass wir unbedingt eine Verkürzung der Laufzeit brauchen. Da bisher jedes Tier in jedem Simulationsschritt jedes Objekt betrachtet und berechnet, wohin sie als nächstes gehen/​fliegen wollen, steigt die Anzahl der Überprüfungen Objekt exponentiell,​ so dass wir teilweise üer eine halbe Stunde darauf warten mussten, und die Simulation immer noch nicht fertig war. Dies war zum Beispiel der Fall, als wir das Feld und die Anzahl der Individuen vergrößert hatten und nur noch die Fliegen und Ameisen lebten, und sich rasant vermehrten. Deshalb arbeiteten wir heute daran, eine Version des Codes zu erstellen, bei dem nicht jedes Tier jedes Objekt abcheckt, sondern nur die in der individuell festgelegten Sichtweite. ​ Für eine bessere Auswertung der Simulation begannen wir außerdem mit dem Erstellen einer „Snapshot“-Funktion,​ die für jedes Individuum einige Daten festhält, zum Beispiel wie viele Simulationsschritte es überlebte, ​ wie viel es gegessen hat und wie oft es sich gepaart hat. 
  
 +== Bis zur Abgabe == 
 +Bis zur Abgabe haben wir noch die Snapshot-Datei fertig gestellt. Mithilfe dieser Analysedatei haben wir nun nochmal eine Statistik der Populationsgrößen unserer Simulation erstellt.{{ :​ws2425:​crowingworld:​screenshot_2025-03-12_233344.png?​300|}} Dort fällt wieder auf, dass die Fliegen (und die Hasen) sich rasant vermehren. Deshalb haben wir uns nochmal darum gekümmert, dass die Tierarten, die durch z.B. die Fähigkeit zu Fliegen, einen evulutionären Vorsteil haben, dafür eine niedrigere Lebenserwartung und somit weniger Möglichkeit sich fortzupflanzen haben, damit das Ökosystem annähernd in einem Gleichgewicht mit Schwankungen ist. Schon alleine die Reihenfolge der Tiere beim Spawnen hat den Verlauf der Populationen beeinflusst,​ da ein Raubtier nach dem Fressen eines Tieres, was nach ihm gespawnt wurde, noch eine weitere Handlung durchführen kann. Wir haben  ein bisschen daran, und an weiteren Parametern herumgespielt,​ uns nochmal mit der Verkürzung der Durchlaufzeit unserer Simulation befasst und die Codeerklärung geschrieben. Außerdem haben wir weiterhin daran gearbeitet, dass die Simulation bei allen läuft. Wir hätten nicht gedacht, dass das so ein Problem werden würde, doch durch verschiedene Versionen von Programmen, unterschiedliche Betriebssysteme und zu viele verschiedene und aktualisierte Code-Dateien haben wir es (bisher) nicht hinbekommen,​ dass die Simulation, vorallem die Visualisierung,​ bei allen gleich gut funktioniert.\\ 
 +Hier nochmal ein Diagramm unserer aktuellsten Datei. 
 +{{ :​ws2425:​crowingworld:​screenshot_2025-03-13_210141.png |}} 
 +{{ :​ws2425:​crowingworld:​diagramm_pflanzen.png |}} 
 +Dieses ist etwas kleiner skaliert als die vorherigen, damit man den genauen Verlauf der Populationsgrößen betrachten kann.(Darunter nochmal etwas größer skaliert, damit man die Pflanzen sehen kann). Über die 200 durchgeführten SImulationsschritte ist unser kleines Ökosystem nun relativ stabil, vorallem die Populationen der Pflanzen, Fliegen, Krähen und Uhus. Außreißer sind die Hasen und die Ameisen. Ab dem circa 100sten Simulationsschritt sind die Ameisen ausgestorben und die Hasen beginnen, sich exponentiell zu vermehren. (Siehe dritte Grafik){{ :​ws2425:​crowingworld:​diagramm_hasen.png?​300|Hasen}} 
 +Dadurch beginnt dann auch die Fuchspopulation rasant zu steigen, da ihnen durch die vielen Hasen andauernd Futter über den Weg läuft. Die richtige Einstellung der Parameter zu finden, die diese Anomalien vermeiden könnte, ist nicht leicht herauszufinden. Jedoch sind wir sehr zufrieden damit, dass jetzt immerhin fast alle Tierarten überleben und nicht nur die Ameisen, wobei wir uns jetzt über wenigstens ein paar freuen würden. Außerdem freut uns ebenfalls, dass wir in der finalen Version ökologische Zusammenhänge erkennen können, wie zum Beispiel, dass die Raubtiere sich langsamer vermehren als die Hasen, und dass die Population der Räuber (Füchse) mit der Population der Beute (Hasen) ansteigt. Nur die eigentlich daraus folgende Verkleinerung der Hasenpopulation findet bei uns nicht statt. Das ist mit unseren realitätsfernen Werten jedoch auch nicht zu erwarten. ​
ws2425/crowingworld/protokolle.1741512512.txt.gz · Zuletzt geändert: 2025/03/09 10:28 von pauline.kretzer