A-beautiful-code-in-Python icon indicating copy to clipboard operation
A-beautiful-code-in-Python copied to clipboard

Waldbrandsimulation

Open klaussoft opened this issue 3 years ago • 1 comments

Hi,

die Waldbrandsimulation enthält noch einen Fehler. Ein Baum wird zufällig in Brand gesteckt, dieser brennt aber nicht ab, sondern steckt nur die Nachbarn in Brand. Dadurch brennt nichts mehr, wenn man die Brandwahrscheinlichkeit nahe 1, oder 1 setzt. Da stehen dann nur noch Bäume ohne Nachbarn und nichts brennt mehr.

Richtig wäre es so: ... brand = set(rnd.sample(bäume, int(len(bäume)*BRAND))) brand |= feuerwalze(bäume-brand, brand) ...

Leider gibt es noch ein weiteres Problem für die Zukunft. Python gibt eine Warnung aus, dass Sample zukünftig nicht mehr mit Sets umgehen kann.

klaussoft avatar Oct 13 '22 09:10 klaussoft

Das hatte immer noch nicht gepasst. Nun müsste es stimmen: leer = fläche - bäume - brand bäume |= set(rnd.sample(leer, int(len(leer)*WACHSTUM))) brand = feuerwalze(bäume-brand, brand) brand |= set(rnd.sample(bäume, int(len(bäume)*BRAND))) bäume -= brand

klaussoft avatar Oct 13 '22 09:10 klaussoft