|
lepre14 |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 22.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.06.2013, 14:48
Titel: Game of Life
|
|
Hey =) ich komm bei einer Aufgabe einfach nicht weiter =/ Wäre lieb wenn ihr mir helfen und Tipps geben könntet
Schreiben Sie eine Funktion function B=gameOfLifeStep(A,survCrit,birthCrit), die einen Entwicklungsschritt des
Spiel des Lebens durchführt. Diese soll als Eingabewerte sowohl eine Matrix A, welche die Anfangsgeneration enthält, als auch zwei Vektoren survCrit und birthCrit akzeptieren, welche die Kriterien für das
Überleben von Zellen, bzw. für die Geburt neuer Zellen enthalten (survCrit=[2] und birthCrit=[3])
Für eine Matrix A der Größe 1000 x 1000 sollte die Laufzeit kleiner
31 Sekunden sein.
Ich hab mir gedacht das man die Matrix mit der Anfangsgeneration so schreiben könnte:
ist das der richtige Ansatz ?
Liebe Grüße =)
[EDITED, Jan, Bitte Code-Umgebung benutzen - Danke!]
|
|
|
|
|
lepre14 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 22.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.06.2013, 16:53
Titel:
|
|
nicht jmd nen kleinen tipp =(
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 22.06.2013, 22:34
Titel: Re: Game of Life
|
|
Hallo lepre14,
Die Forumsregeln sehen ein Bumping erst nach 24 Stunden vor. Siehe: http://www.gomatlab.de/der-kleine-gomatlab-de-knigge-t125.html
Ich sehe keinen Zusammenhang zwischen der Aufgabestellung und dem geposteten Code. Wonach könnte man also entscheiden, ob der Code "richtig" ist?
Statt ONES würde auch dies reichen:
Skalare werden bei dieser Zuweisung automatisch "expandiert".
Gruß, Jan
|
|
|
lepre14 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 22.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2013, 11:45
Titel:
|
|
oke sry
ich hab halt gedacht weil man ja eine matrix a erstellen muss mit einer anfangsgeneration und dass man das dann so machen könnte ? und dann halt noch die zwei vektoren dazu wobei ich da leider keine ahnung hab...
die laufzeit kann man ja mit tic und toc bestimmen ... aber wie kann man sie zb kleiner machen ?
lg
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 23.06.2013, 19:51
Titel:
|
|
Hallo lepre14,
In der Aufgabenstellung wird die Forum der Start-Matrix nicht erklärt, deshalb können wir nicht wissen, ob Dein Programm Deine speziellen Wünsche erfüllt.
Man kann die Laufzeit verkürzen, indem man effiziente Methoden zur Berechnung verwendet und die Daten in geeigneter Form speichert. Man kann aber nicht generell bestimmen, was effizienter ist, sondern das kommt immer auf das spezielle Problem an.
Was ist also genau Deine Frage, bei der wir Dir hier helfen können?
Gruß, Jan
|
|
|
lepre14 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 22.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2013, 22:27
Titel:
|
|
meine frage ist : wie man den entwicklungschritt schreiben kann. kann ich da einen beliebigen dann auswählen oder ? also von dem spiel des lebens einen aussuchen und dann den so schreiben ?
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 24.06.2013, 01:31
Titel:
|
|
Hallo lepre14,
Da habe ich keine Ahnung. Was ist denn ein "Entwicklungsschritt"? Das habt ihr doch sicherlich in der vorlesung besprochen, oder? Ich bezweifele, dass jemand im Forum wissen kann, ob Du "einen beliebigen aussuchen" kannst und "den so schreiben" dürfte auch niemandem klar sein.
Bitte denke daran, das die Leser im Forum keine Ahnung von dem haben, was Du genau machst. Uns liegen Deine Vorlesungsmitschriften nicht vor. Und deshalb ist eine Hilfe nur kein konkreten Fragen möglich.
Gruß, Jan
|
|
|
Nras |
Forum-Meister
|
|
Beiträge: 608
|
|
|
|
Anmeldedatum: 21.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.12.0.635 (R2011a)
|
|
|
|
|
|
Verfasst am: 25.06.2013, 16:18
Titel:
|
|
|
|
|
Hallo,
deine Aufgabe wird es sicher sein, zu jeder Matrix A (mit Einträgen 0 oder 1) einen Entwicklungsschritt nach den Regeln vom Game of Life zu machen. Die Regeln stehen in verkürzter Form schon da. Man überlebt bei genau 2 lebendigen Nachbarzellen und man wird geboren bei genau 3 lebendigen Nachbarzellen.
Es ist nun deine Aufgabe, dir zu überlegen wie man das implementieren könnte und dann zu schauen, ob die Laufzeit okay ist oder ob du noch was verbessern musst.
Ziel ist es also: Anzahl lebendiger Nachbarn zu jeder Zelle A(i,j) zu zählen und entsprechend zu reagieren. Üblicherweise meint man dann mit "lebendig" hat den Wert 1 und "tot" hat den Wert 0.
Nach den Regeln da oben bedeutet das (survCrit=[2]): eine Zelle bleibt am leben (behält den Wert 1), wenn sie exakt 2 lebendige Nachbarn hat und (birthCrit=[3]): eine tote Zelle wird zum Leben erweckt, wenn sie exakt 3 lebendige Nachbarn hat. Folglich sterben alle anderen (kriegen Wert 0)
Weiterhin musst du auch noch konkreter werden, was für eine Topologie tu vorliegen hast, also welche Nachbarn zum Beispiel die Zelle A(1,1) hat. Sind die Nachbarn nur A(1,2), A(2,2), A(2,1) oder auch über den Rand hinaus.
Bei konkreteren Fragen kann man auch konkretere Antworten geben.
Viele Grüße,
Nras.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|