IIm18-Kreativaufgabe1

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Aufgabenstellung

Modellieren Sie die skurrilen Deutungen von Unendlichkeit am Beispiel ”Hilbertbus“ im ProgrammingWiki.

Wer wohnt in Zimmer 234? Hinweis: Verwenden Sie streams.

Arbeiten Sie im Team an Verbesserungen und ggf. an Erweiterungen.


Hilfsfunktionen

Einige Hilfsfunktionne die benötigt werden für die Aufgabe.

Hotel bauen

Die Zimmer des unendlichen Hotels werden fortlaufend durchnummeriert. Das erste Zimmer besitzt die Nummer 0. Außerdem gibt es in unserem Hilberthotel nur Einzelzimmer. Als Erstes wird das Hotel gebaut und bis jetzt ist noch kein Gast eingezogen und deshalb werden die Zimmer mit false vorbelegt.

Einzelbuchung

Die ersten Gäste treffen ein und jedem Gast wird ein Zimmer zugeordnet. Falls das Zimmer bereits belegt ist, wird eine Meldung ausgegeben, wer das Zimmer bereits bezogen hat. Mittels set wird die Buchung im Hilberthotel übernommen.


Baue Kleinbus

Hier wird eine Funktion definiert, die einen Kleinbus erstellt. Der Kleinbus hat eine Nummer und eine feste Anzahl an Sitzplätzen. Der Kleinbus wird hier wieder als Stream repräsentiert.

Die Belegung von Kleinbus 0815 sieht folgendermaßen aus:

Kleingruppenbuchung

Der soeben erstellte Kleinbus fährt vor dem Hotel vor. Die Gäste müssen nun in die Zimmer untergebracht werden. Dafür wird festgelegt, dass das erste freie Zimmer als nächstes vergeben wird.

Die Belegung vom Hilberthotel nach dem Einchecken der Gäste vom Kleinbus:

baue Hilbertbus

Als nächstes werden sogenannte Hilbertbusse gebaut. Dies sind Busse die unendlich viele Sitzplätze haben und somit unendlich viele Personen befördern können. Der Bus bekommt als Parameter wieder eine Nummer.

check-in Hilbertbusgäste

Der Hilbertbus 3813 fährt vor dem Hotel vor und den Gästen wird ein Zimmer zugeordnet. Dazu wird ein spezielles Check-In verwendet, welches den Stream des Hilbertbusses nimmt und jeden Gast in das nächste freie Zimmer einquartiert.

Die Belegung des Hotels nach der Ankunft des Hilbertbusses

Umzug nach gerade

Nach der Ankunft des Hilbertbusses, könnte man glauben das Hilberthotel sei ausgebucht. Doch dem ist nicht so. Es hat sich schon ein weiterer Bus angekündigt. Um die zukünftigen Gäste aufnehmen zu können, müssen die bisherigen Hotelgäste einen Umzug in Kauf nehmen.Dazu wird jeder Gast aus Zimmer n in das Zimmer 2n umziehen. Damit ist sichergestellt, dass alle Gäste ein Zimmer bekommen, da es unendlich viele gerade Zahlen gibt. Die ungeraden Zimmernummern sind somit wieder frei und der nächste Bus kann entspannt erwartet werden.

Das Hotel nach dem Umzug der Gäste in die geraden Zimmernummern.

Die Belegung des Hotels nach der Ankunft des Bus 33

Konvoi

Jetzt kündigt sich ein Konvoi von Hilberbussen an. Die Firma MacroHard (Abkz. "MH")möchte einen Betriebsausflug machen und mit ihrer gesamten Firma in dem Hilberhotel einchecken. Die Firma ist sehr groß. Die Firma hat unendlich viele Abteilungen und in den einzelnen Abteilungen arbeiten unendlich viele Mitarbeiter. Der Konvoi sieht folgendermaßen aus: Jeder Bus repräsentiert eine Abteilung von MAcroHard mit deren Abteilungsmitarbeiter. Beginnend mit der Abteilung 0. Das Ergbnis ist ein Stream von Hilbertbussen.


So sieht der Konvoi aus, wenn er sich auf dem Weg zum Hilberhotel macht:

Konvoi zu Kette

Wenn der Konvoi am Hilberthotel ankommt, wäre es problemaitsch wenn Abteilung nacheinander eincheckt im Hilberthotel. Das würde bedeuten, dass die Gäste im Hilberthotel unendlich oft ihr Zimmer wechseln müssten. Das wollen wir den Hotelgästen nicht zumuten und es muss eine Reihenfolge gefunden werden mit der die Mitarbeiter von MacroHard eingecheckt werden können. Dafür werden die einzelnen Streams der Hilbertbusse zu einem großen Zusammengefasst. Wie kann aber sichergestellt werden, dass kein Gast vergessen wird? Wir haben einmal den Index der Abteilung und die Platznummer innerhalb des Busses. Wenn wir dann die Summe der beiden Indices bilden, haben wir eine Reihenfolge gefunden, in der die Gäste einchecken können, ohne das ein Gast vergessen wird. Die theoretische Basis bildet das Cantorsche Diagonalisierungsverfahren 1. Art.

Hilfsfunktionen


Einchecken der Kette

Die Hotelgäste müssen jetzt einmal umziehen und wieder von ihrer Zimmernummer n in das Zimmer mit der Nummmer 2n umziehen. Anschließend können die Mitarbeiter von MAcroHard einchecken.


Das Hotel nach der Ankunft und einchecken von dem Konvoi

Wer wohnt in Zimmer 234?

Die eingangsgestellte Frage kann nun beantwortet werden:

Persönliche Werkzeuge