Programmieraufgabe Studium

Du hast eine Idee für ein Projekt?
Antworten
Ronald_MacDonald
User
Beiträge: 4
Registriert: Mittwoch 13. Mai 2020, 14:12

Hallo zusammen

Ich habe ein kleines Problem. Ich muss fürs Studium eine kleine Aufgabe lösen. Leider habe ich nicht wirklich Zeit um die Aufgabe zu lösen, ihr seid meine letzte Hoffnung das ich rechtzeitig noch etwas abgeben kann. Ich weiss, dass es nicht wirklich erwünscht ist ganze Aufgaben ins Forum zu stellen.

Die Aufgabe wäre wie folgt:
1. Entwerfen sie mithilfe eines Klammercodes ein Algorithmus, der folgende Simulationsaufgabe löst: Gegeben sein ein Spielfeld mit 500x500 Zellen. Darauf leben zwei Arten von Säugetieren. Hasen und Wölfe. Es gelten für sie folgende Regeln:
a. Wölfe fressen Hasen mit einer gewissen Wahrscheinlichkeit, wenn sich die Hasen in einer benachbarten Zelle befinden. Die Hasen verschwinden auf der Zelle.
b. Wenn Wölfe auf Wölfe oder Hasen auf Hasen treffen vermehren sie sich mit einer gewissen Wahrscheinlichkeit. Es werden ein oder mehrere Nachkommen erzeugt. (Die Anzahl sei zufällig). Wölfe vermehren sich nur, wenn sie mindestens 5 Zeitschritte davor ein Hase verspeisen haben.
c. Wölfe und Hasen könne sich pro Zeitschritt nur eine Zelle vorwärts bewegen.
2. Setzen sie den Klammercode in Matlab-Code um. Schreiben sie eine Routine, die ihnen die Simulationsresultate einfach ausgibt.
3. Versuchen sie die freien Parameter so zu wählen, dass Sie eine stabile Population von beiden Tierarten bekommen. Probieren sie verschiedene, sinnvolle Szenarien durch.

Es würde mir schon helfen einige Code Schnipsel zu bekommen von euch. Vielen Dank im Voraus.

Liebe Grüsse
Benutzeravatar
__blackjack__
User
Beiträge: 10537
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Ronald_MacDonald: Was ist denn ”Klammercode”? 🤔

Ad a.: Bewegt sich der Wolf zum fressen auf das Feld mit dem Hasen? Hat der immer Hunger oder hängt das davon ab wie lange der letzte Hase her ist? Was ist ein benachbartes Feld? Sind das 4 oder 8? Haben die Zellen überhaupt 4 Seiten? Hexagonale Felder wären ”realistischer”.

Edit: Ad b.: Was heisst „treffen“? Gleiches Feld? Benachbarte Felder? Kann sich auf einem Feld immer nur 1 Tier befinden?

Ad c.: Wie bewegen sich Wölfe und Hasen eigentlich? Zufällig? Auch diagonal? Können die sich auch entscheiden sich in einem Zeitschritt nicht zu bewegen? Was ist mit den Rändern des Spielfelds? Mauer? Oder Torus? Was anderes?

Ad 2.: Dir ist klar, dass das hier ein Python-Forum ist? 🙂

Ad 3.: Was sind die freien Parameter?

Insgesamt: Mit den Regeln wie sie da stehen ist eine stabile Population von beiden Tierarten unmöglich, denn die 🐺 haben irgendwann alle 🐰 aufgefressen, weil nur Hasen nach den gegebenen Regeln sterben können. Sind wahrscheinlich Werwölfe. 😜
“»So computers are tools of the devil?« thought Newt. He had no problem believing it. Computers had to be the tools of *somebody*, and all he knew for certain was that it definitely wasn't him.” — Neil Gaiman & Terry Pratchett, Good Omens
Ronald_MacDonald
User
Beiträge: 4
Registriert: Mittwoch 13. Mai 2020, 14:12

Hallo @__blackjack__

Danke für deine Antwort:
Zu allen deinen Fragen: Wie die einzelnen Teilfragen interpretiert werden spielt laut unserem Prof keine Rolle. Das heisst, dass wir selber die Regeln für bspw. die Wölfe und Hasen, für die Feldgrösse und Form etc. definieren können. Ich denke aber, dass es sicher am einfachsten ist wenn sich der Wolf zum fressen auf ein Feld mit dem Hasen begeben muss. Ansonsten könnte ich mit vorstellen, dass es so à la Game of Life gemacht werden kann. Wo einfach die Tiere immer random auf einem SPielfeld rum hüpfen und wenn random ein Wolf auf ein Feld mit einem Hasen hüpft dann verschwindet der Hase.

Zu deiner Frage bezüglich Python Forum: Ja das ist mir bewusst. Es ist jedoch auch da so, dass der Prof gesagt hat, dass wir selber wählen können in welcher Sprache wir programmieren wollen. Da ich Python ehrlich gesagt viel besser finde als Matlab habe ich gedacht, dass ich die Aufgabe mit Python machen muss. Ich muss noch dazu sagen, dass Programmieren in meinem Studiengang wirklich nur ein Nebenfach ist und ich deshalb auch nur dementsprechende Kenntnisse habe.

Vielen Dank für eine allfällige Hilfe
Gruss
Benutzeravatar
__blackjack__
User
Beiträge: 10537
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Ronald_MacDonald: Du wirst diese Teilfragen letztendlich aber alle irgendwie beantworten müssen, auch wenn Du Dir die Antworten selbst geben kannst, musst Du Dir die Fragen stellen und sie halt auch beantworten. Denn das sind ja Grundlagen auf denen Du Deinen Algorithmus aufbauen musst.
“»So computers are tools of the devil?« thought Newt. He had no problem believing it. Computers had to be the tools of *somebody*, and all he knew for certain was that it definitely wasn't him.” — Neil Gaiman & Terry Pratchett, Good Omens
nezzcarth
User
Beiträge: 1418
Registriert: Samstag 16. April 2011, 12:47

Wenn ich ganz naiv nach Wolf Hase Simulation suche, finde ich, neben Hinweisen auf die mathematische Modellierung (die ich auch für deine Fragestellung aufschlussreich finde) auch Vorlesungsfolien und ähnliches, die konkrete Varianten der Simulation besprechen. Da kannst du dir ja dann scheinbar einfach eine aussuchen. An sich ist das aber doch eine schöne Aufgabe, die man auch gut in Python lösen kann. Um dir helfen zu können müsstest du aber zumindest mal zeigen, was du bisher hast.
Antworten