Prof. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 13. Dezember 2002
Christian Ehrhardt Blatt 9
Allgemeine Informatik 3 (WS 2002/2003)
Abgabetermin 13.01.2003
In diesem Blatt soll eine Bakterienkolonie simuliert werden.
Bakterien sind, wie wir aus der Biologie wissen, kleine quadratische
Lebewesen, die auf einem karierten Untergrund leben, der in alle
Richtung beliebig weit weitergeht. Jede Bakterie
füllt genau ein Karofeld auf dem Untergrund aus und kann sich selbst
nicht bewegen. Damit hat jede Bakterien bis zu 8 direkte Nachbarn.
In jeder Zeiteinheit können in der Kolonie Bakterien sterben
und neue Bakterien entstehen, der Ablauf einer Zeiteinheit ist dabei
wie folgt:
- Für jedes Karofeld wird entschieden, ob dort in der nächsten
Zeiteinheit eine Bakterie sein wird, ohne jedoch diese Änderung
gleich vorzunehmen.
- Erst wenn dies für alle Karofelder entschieden wurde, werden
die Änderungen zusammen ausgeführt. D.h., daß Bakterien immer
nur ganz am Ende einer Zeiteinheit entstehen oder absterben und daß
es keine Rolle spielt, in welcher Reihenfolge die einzelnen Karofelder
betrachtet werden.
- Anschließend beginnt die nächste Zeiteinheit.
Für das Entstehen und Absterben von Bakterien gelten die folgenden
einfachen Regeln:
- Eine Bakterie, die keinen oder nur einen Nachbarn hat stirbt
an Vereinsamung.
- Eine Bakterie, die 2 oder 3 Nachbarn hat überlebt.
- Eine Bakterie, die 4 oder mehr Nachbarn hat, stirbt an
Überbevölkerung.
- Wenn ein leeres Karofeld genau drei Nachbarfelder hat, in denen
Bakterien sind, dann entsteht in diesem Karofeld eine neue Bakterie.
Eure Aufgabe ist es, eine solche Bakterienkolonie zu simulieren.
Da ein unendliches Karo natürlich nicht im Rechner simuliert werden
kann, soll es möglich sein, die tatsächliche Größe anzugeben. Wenn
irgendwann der Rand erreicht wird, ist die Simulation natürlich
nicht mehr zuverlässig.
Weiterhin soll eine Anfangskonfiguration von Bakterien angegeben werden
können, die dann in der Mitte des nun endlichen Karos platziert wird.
Interessant ist zum Beispiel das Schicksal der folgenden
Anfangskonfigurationen zu verfolgen, wobei Bakterien durch '#' und leere
Felder durch ein Leerzeichen markiert werden:
## | # | ##### | # | ####
## | # | | ### | # #
# | ### | # # | # # | #
| | | # | # #
| | ##### | |
Christian Ehrhardt
2002-12-13