Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1718:strukturierte_dokumentation

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
ws1718:strukturierte_dokumentation [2018/04/18 00:33]
daphna_99 [Verlauf der Projektarbeit]
ws1718:strukturierte_dokumentation [2018/04/18 18:44] (aktuell)
lenarost [Fazit/Ausblick]
Zeile 8: Zeile 8:
 Schnell kamen Diskusionen über das Thema unseres Projektes auf. Dabei war uns neben dem programmiertechnischen Aspekt, auch ein interessantes Thema wichtig. ​ Schnell kamen Diskusionen über das Thema unseres Projektes auf. Dabei war uns neben dem programmiertechnischen Aspekt, auch ein interessantes Thema wichtig. ​
 Interesse sahen wir besonders in einem uns unbekannten Themenfeld, welches jedoch aktuelle Relevanz hat.  Interesse sahen wir besonders in einem uns unbekannten Themenfeld, welches jedoch aktuelle Relevanz hat. 
-Inspiration suchten wir dabei vor allem im Internet, speziell auf Youtube. Dort stießen wir auf das Video [[https://​www.youtube.com/​watch?​v=qv6UVOQ0F44|Mar I/O]]. In diesem Video wird gezeigt, wie Mario, gesteuert von einem Programm, mit jedem Durchlauf mehr lernt die Welt zu erledigen.\\ +Inspiration suchten wir dabei vor allem im Internet, speziell auf Youtube. Dort stießen wir auf das Video [[https://​www.youtube.com/​watch?​v=qv6UVOQ0F44|Mar I/O]]. In diesem Video wird gezeigt, wie Mario, gesteuert von einem Programm, mit jedem Durchlauf mehr lernt die Welt zuerledigen.\\ 
-So kamen wir schon sehr bald auf den Gedanken in unserem Projekt eine **künstlichen Intelligenz** ​zu erzeugen.+So kamen wir schon sehr bald auf den Gedanken in unserem Projekt eine **künstlichen Intelligenz** ​zuerzeugen.
 Woraufhin wir nun nach spezifischen Ideen suchten, um dieses Konzept umzusetzen. Wichtig dabei war es ein Projekt zu finden, welches nicht zu einfach ist, jedoch auch nicht unsere Programmierfähigkeiten übersteigt. Woraufhin wir nun nach spezifischen Ideen suchten, um dieses Konzept umzusetzen. Wichtig dabei war es ein Projekt zu finden, welches nicht zu einfach ist, jedoch auch nicht unsere Programmierfähigkeiten übersteigt.
 Erneut gab uns Youtube die finale Idee. Der [[https://​www.youtube.com/​watch?​v=GOFws_hhZs8|Evolutionssimulator]] weckte unser Interesse so stark, dass die Ideen für ein eigenes Programm nur so sprudelten. \\ Erneut gab uns Youtube die finale Idee. Der [[https://​www.youtube.com/​watch?​v=GOFws_hhZs8|Evolutionssimulator]] weckte unser Interesse so stark, dass die Ideen für ein eigenes Programm nur so sprudelten. \\
 Die programmiertechnische Herausforderung einer **Optimierung in Verbindung mit dem wissenschaftlichen Aspekt der Evolution** schien perfekt. Die Entscheidung fiel, wir programmieren einen Evolutionssimulator. ​ Die programmiertechnische Herausforderung einer **Optimierung in Verbindung mit dem wissenschaftlichen Aspekt der Evolution** schien perfekt. Die Entscheidung fiel, wir programmieren einen Evolutionssimulator. ​
  
-Die Grundidee **unseres Evolutionssimulators** ist es Kreaturen ​zu erschaffen, die alle in Spezien mit unterschiedlichen Eigenschaften unterteilt sind. Die Spezien untereinander zeichnen sich durch unterschiedliche Schrittlänge und Richtungsänderung aus. +Die Grundidee **unseres Evolutionssimulators** ist es Kreaturen ​zuerschaffen, die alle in Spezien mit unterschiedlichen Eigenschaften unterteilt sind. Die Spezien untereinander zeichnen sich durch unterschiedliche Schrittlänge und Richtungsänderung aus. 
 Wir lassen unsere Spezien in einem Umfeld voller Hindernisse aus. Dabei kollidieren und sterben sie sowohl an den Hindernissen,​ als auch an den Rändern des Umfeldes. Alle Kreaturen werden am Ende einer Generation durch ein Rating bewertet. An Hand dieses Ratings können wir nun erkennen, welche Kreaturen sich besonders gut verhalten haben. Die besonders guten Kreaturen **vererben** darauf hin **ihre guten Eigenschaften mit einer gewissen Möglichkeit zur Mutation** an die jeweils nächste Generation. ​ Wir lassen unsere Spezien in einem Umfeld voller Hindernisse aus. Dabei kollidieren und sterben sie sowohl an den Hindernissen,​ als auch an den Rändern des Umfeldes. Alle Kreaturen werden am Ende einer Generation durch ein Rating bewertet. An Hand dieses Ratings können wir nun erkennen, welche Kreaturen sich besonders gut verhalten haben. Die besonders guten Kreaturen **vererben** darauf hin **ihre guten Eigenschaften mit einer gewissen Möglichkeit zur Mutation** an die jeweils nächste Generation. ​
  
Zeile 25: Zeile 25:
 Zusammenfassend können wir unseren Evolutionssimulator als **Mischung beider Evolutionstheorien** betrachten. ​ Um dies besser nach zu vollziehen, werfen wir zunächst einen Blick auf den Code.\\ Zusammenfassend können wir unseren Evolutionssimulator als **Mischung beider Evolutionstheorien** betrachten. ​ Um dies besser nach zu vollziehen, werfen wir zunächst einen Blick auf den Code.\\
 Unser Programm besteht aus zwei Codes. Im Vordergrund steht der **Hauptcode ''​creatureV2.py''​**. Er ist für die Erstellung, Bewegung, Bewertung und Vererbung der Kreaturen zuständig. ​ Unser Programm besteht aus zwei Codes. Im Vordergrund steht der **Hauptcode ''​creatureV2.py''​**. Er ist für die Erstellung, Bewegung, Bewertung und Vererbung der Kreaturen zuständig. ​
-Der eigentliche **Visualisierungscode ''​pygamevisuV2.py''​** greift hierbei auf den Hauptcode zu. Mit ihm ist es uns möglich die Simulation grafisch ​dar zustellen+Der eigentliche **Visualisierungscode ''​pygamevisuV2.py''​** greift hierbei auf den Hauptcode zu. Mit ihm ist es uns möglich die Simulation grafisch ​darzustellen
  
  
Zeile 54: Zeile 54:
  
 Wie man im Projektverlauf erkennen kann, entwickelte sich unser Projekt und dessen Strukturen ständig. Immer wieder verwarfen wir Ideen und bauten neue mit in unser Konzept ein. So wurden auch Entscheidungen getroffen, die vorher nicht absehbar waren, oder endlose Diskussionen geführt, die zur Stagnation führten. \\ Wie man im Projektverlauf erkennen kann, entwickelte sich unser Projekt und dessen Strukturen ständig. Immer wieder verwarfen wir Ideen und bauten neue mit in unser Konzept ein. So wurden auch Entscheidungen getroffen, die vorher nicht absehbar waren, oder endlose Diskussionen geführt, die zur Stagnation führten. \\
-Genau das macht dieses Projekt aus. Eine **anhaltende Entwicklung und Verbesserung des Codes**, die zu mehr spannenden Fragen führten. Daraus zogen wir selbst ständig neue Motivation mehr Arbeit in dieses Projekt ​zu stecken. Demnach haben wir heute auch einen Code auf den wir stolz sein können. Unser Ziel eine Evolution zu simulieren und diese visuell darzustellen,​ haben wir erreicht. \\ +Genau das macht dieses Projekt aus. Eine **anhaltende Entwicklung und Verbesserung des Codes**, die zu mehr spannenden Fragen führten. Daraus zogen wir selbst ständig neue Motivation mehr Arbeit in dieses Projekt ​zustecken. Demnach haben wir heute auch einen Code auf den wir stolz sein können. Unser Ziel eine Evolution zu simulieren und diese visuell darzustellen,​ haben wir erreicht. \\ 
-Dabei haben auch unsere persönlichen Ziele, wie die Weiterbildung im Programmieren und eine Auseinandersetzung mit neuen, aktuellen Themen, Erfüllung gefunden. Das Projekt bat eine gute Basis **gemeinsam an einem Ziel zu arbeiten ​und sich dabei auf den unterschiedlichsten Ebenen weiter ​zu bilden.** \\ +Dabei haben auch unsere persönlichen Ziele, wie die Weiterbildung im Programmieren und eine Auseinandersetzung mit neuen, aktuellen Themen, Erfüllung gefunden. Das Projekt bat eine gute Basis **gemeinsam an einem Ziel zuarbeiten ​und sich dabei auf den unterschiedlichsten Ebenen weiter ​zubilden.** \\ 
 Vor allem aus diesem Grund finden wir immer wieder **neue Motivation zur Weiterentwicklung unseres Programms**. Momentan liegt diese vor allem im Visualisierungscode. Die größte Baustelle ist dabei den Code effizienter und flexibler zu machen. Dazu gehört eine ähnliche **Umstrukturierung und Parametisierung**,​ wie im Hauptcode. Aber auch Kleinigkeiten,​ wie eine **flexible Fenstergröße** gehören zu den Baustellen des Projekts. \\ Vor allem aus diesem Grund finden wir immer wieder **neue Motivation zur Weiterentwicklung unseres Programms**. Momentan liegt diese vor allem im Visualisierungscode. Die größte Baustelle ist dabei den Code effizienter und flexibler zu machen. Dazu gehört eine ähnliche **Umstrukturierung und Parametisierung**,​ wie im Hauptcode. Aber auch Kleinigkeiten,​ wie eine **flexible Fenstergröße** gehören zu den Baustellen des Projekts. \\
-Unter Evolution versteht man eine allmähliche Weiterentwicklung der Merkmale einer Population. Man kann unser Projekt nun als solche ansehen. ​ Die erste Generation hat nun ihr Ende erreicht und somit seid nun auch ihr herzlich eingeladen an diesem Projekt mit zu wirken. Wir vererben euch hier alle nötigen Codes und Programme. Macht dieses Projekt zu eurem und lasst eurer Kreativität freien Lauf. Wir hoffen auf eure Inspiration,​ die zu einer aufregenden Weiterentwicklung des Programms führen. \\+Unter Evolution versteht man eine allmähliche Weiterentwicklung der Merkmale einer Population. Man kann unser Projekt nun als solche ansehen. ​ Die erste Generation hat nun ihr Ende erreicht und somit seid nun auch ihr herzlich eingeladen an diesem Projekt mit zuwirken. Wir vererben euch hier alle nötigen Codes und Programme. Macht dieses Projekt zu eurem und lasst eurer Kreativität freien Lauf. Wir hoffen auf eure Inspiration,​ die zu einer aufregenden Weiterentwicklung des Programms führen. \\
 **In diesem Sinne verabschieden wir uns als Gruppe des Evolutionssimulators und wünschen euch viel Erfolg!** **In diesem Sinne verabschieden wir uns als Gruppe des Evolutionssimulators und wünschen euch viel Erfolg!**
 ---- ----
ws1718/strukturierte_dokumentation.1524004430.txt.gz · Zuletzt geändert: 2018/04/18 00:33 von daphna_99