feat: init project with docs, CLAUDE.md, and empty python script

This commit is contained in:
teier committed 2026-10-28 15:09:25 +01:00
1 parent bf116ea16f
commit fabbc6d147
13 files changed
+139 -1

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
# Zellulärer Automat
Eigenschaften einer Zelle:
Brandfaktor (quasi die “Trockenheit”)
Restbrenndauer
Zustände:
Wald: Brandfaktor zwischen 0,1 und 1 (“Trockenheit”), Restbrenndauer konstant
Brennend: Brandfaktor irrelevant, Restbrenndauer sinkend
Abgebrannt, Brandfaktor 0, Restbrenndauer 0
Gelöscht, Brandfaktor 0, Restbrenndauer 0
Brandschneise (künstlich oder natürlich wie Wasser), Brandfaktor 0, Restbrenndauer 0
Die Simulation behandelt die Zustände Brandschneise, Abgebrannt und Gelöscht gleich, aber für die Visualisierung sind diese Zustände interessant
Nachbarschaft: 8 Zellen
Faktoren für Verbreitung:
Nachbarschaft: direkt mit Gewichtung 1, diagonal mit Gewichtung 0.7 (Moore)
Windrichtung: Vektor (x, y)
Windstärke: 0-1 (0=kein Wind, 1=Wind so stark, dass er Wahrscheinlichkeit in Windrichtung verdoppelt)
Windfaktor für Verbreitung:
1 + Windstärke * cos(Winkel(Vektorwind, Vektorzellen))
Entzündungswahrscheinlichkeit eine Zelle:
Distanz * Brandfaktor * Windfaktor
Code: https://git.teier.net/teier/modellierung-und-simulation-ue1.git
Link: https://sim.teier.net/ue1
+33
View File
@@ -0,0 +1,33 @@
Ausgangspunkt ist die Idee des zellulären Automaten, wie wir sie am Beispiel des Game of Life kennengelernt haben. Ein Raum wird in Zellen aufgeteilt. Jede Zelle besitzt einen Zustand und verändert diesen in diskreten Zeitschritten aufgrund festgelegter Regeln und der Zustände ihrer Nachbarzellen.
Entwickelt auf dieser Grundlage ein eigenes Modell für die Ausbreitung eines Waldbrandes.
Legt zunächst euer Modell fest und beschreibt:
Welche Zustände kann eine Zelle haben? Zum Beispiel Wald, brennend, abgebrannt, Wasser oder Brandschneise.
Welche Nachbarschaft wird verwendet? Vier oder acht angrenzende Zellen?
Unter welchen Bedingungen entzündet sich eine Zelle?
Was passiert mit einer brennenden Zelle im nächsten Zeitschritt?
Welche zusätzlichen Eigenschaften oder Parameter können berücksichtigt werden? zB Trockenheit, Feuchtigkeit, Wind oder Menge Löschwasser?
Wie wird der Rand des Modells behandelt?
Formuliert die Regeln so genau, dass eine andere Person eure Simulation allein anhand dieser Beschreibung implementieren könnte.
Setzt das Modell anschließend in Python um. Ihr dürft dafür KI verwenden.
Führt danach mindestens zwei unterschiedliche Simulationen durch, indem ihr gezielt einen Parameter oder eine Maßnahme verändert, zum Beispiel Trockenheit, Wind, Brandschneisen oder Löschwasser.
Vergleicht die Ergebnisse und beantwortet abschließend kurz:
Was lässt sich mit eurem Modell untersuchen? Welche Annahmen und Vereinfachungen habt ihr getroffen? Welche Aspekte eines echten Waldbrandes bildet euer Modell nicht ab? Was musstet ihr bei der Umsetzung mit KI eventuell korrigieren oder präzisieren?
Abgabe
Gebt das in einem PDF Dokument oder Colab Notebook mit dieser Struktur ab:
Modellbeschreibung
Python-Code oder einen Link zur lauffähigen Simulation
die Ergebnisse eurer beiden Versuche und
kurze Reflexion
Modus: Einzelarbeit oder Gruppenarbeit (max 2)
Frist: 9.11. (nächste Einheit)
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than draw.io -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background: #ffffff; background-color: var(--ge-adaptive-bg, #ffffff); color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1252px" height="1172px" viewBox="0 0 1252 1172" id="ge-svg-Y9A-iCAgniLj27S3n44-" content="&lt;mxfile host=&quot;app.diagrams.net&quot; scale=&quot;1&quot; border=&quot;0&quot;&gt;&#10; &lt;diagram name=&quot;Page-1&quot; id=&quot;ybR0R8uh0gsWY412Z8hE&quot;&gt;&#10; &lt;mxGraphModel dx=&quot;1291&quot; dy=&quot;2434&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10; &lt;root&gt;&#10; &lt;mxCell id=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-1&quot; parent=&quot;1&quot; style=&quot;ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;&quot; value=&quot;&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry height=&quot;30&quot; width=&quot;30&quot; x=&quot;372.5&quot; y=&quot;-90&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-2&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;vpmAtYMeYcpatCYC-Gde-1&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;fontSize=12;defaultLabelBackgroundColor=page;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; target=&quot;vpmAtYMeYcpatCYC-Gde-59&quot; value=&quot;&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;255&quot; y=&quot;280&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-7&quot; parent=&quot;1&quot; style=&quot;shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;&quot; value=&quot;Für jede Zelle&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry height=&quot;700&quot; width=&quot;1130&quot; x=&quot;180&quot; y=&quot;150&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-25&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;vpmAtYMeYcpatCYC-Gde-8&quot; style=&quot;edgeStyle=none;curved=1;rounded=0;curveGeometry=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;defaultLabelBackgroundColor=page;startSize=8;endSize=8;&quot; target=&quot;vpmAtYMeYcpatCYC-Gde-24&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-54&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;vpmAtYMeYcpatCYC-Gde-8&quot; style=&quot;edgeStyle=none;curved=1;rounded=0;curveGeometry=1;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;defaultLabelBackgroundColor=page;startSize=8;endSize=8;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; target=&quot;vpmAtYMeYcpatCYC-Gde-64&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;255&quot; y=&quot;770&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-8&quot; parent=&quot;1&quot; style=&quot;rhombus;whiteSpace=wrap;html=1;shapeInside=1;&quot; value=&quot;Zellenzustand&amp;lt;div&amp;gt;ist brennend?&amp;lt;/div&amp;gt;&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry height=&quot;120&quot; width=&quot;120&quot; x=&quot;195&quot; y=&quot;280&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-20&quot; parent=&quot;1&quot; style=&quot;shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=100;height=40;&quot; value=&quot;Für jeden Moore-Nachbarn&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry height=&quot;540&quot; width=&quot;440&quot; x=&quot;827&quot; y=&quot;260&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;vpmAtYMeYcpatCYC-Gde-40&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;vpmAtYMeYcpatCYC-Gde-22&quot; style=&quot;edgeStyle=none;curved=1;rounded=0;curveGeometry=1;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;defaultLabelBackgroundColor=page;startSize=8;endSize=8;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; target=&quot;vpmAtYMeYcpatCYC-Gde-64&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;710&quot; y=&quot;680&quot; Line truncated

After

Width:  |  Height:  |  Size: 341 KiB