Von Fröschen und Tischlampen
Inhaltsverzeichnis |
Der Lampen-Stream
Zunächst definieren wir den Stream (abzählbar) unendlich vieler Tischlampen, die alle ausgeschaltet sind.
Jede Lampe ist mit einem Schalter ausgestattet, mit dem die Lampe entsprechend ihres Betriebszustandes entweder ein- oder ausgeschaltet werden kann:
Frosch-Sprünge mit verschiedenen Weiten
Um jede n-te Lampe schalten zu können, erweitern wir die Stream-Sprachelemente mit der Prozedur stream-map-n.
In Analogie zu stream-map bewirkt stream-map-n eine Prozeduranwendung auf jedes n-te Element eines Streams:
Nun können wir Frosch-Sprünge mit aufsteigenden Sprungweiten definieren:
Unendlich viele Frösche springen über unendlich viele Tischlampen
Auswertung
Um das Resultat besser verallgemeinern zu können, fassen wir die Nummern der Lampen zusammen, die nach allen Frosch-Sprüngen eingeschaltet sind. In der Vermutung, dass das (abzählbar) unendlich viele Lampen sind, soll dieses Ergebnis wiederum als Stream repräsentiert werden:
Ergebnis: Offensichtlich sind nach den Frosch-Sprüngen alle Lampen eingeschaltet, deren Nummern Quadratzahlen sind.
Zurück zu Streams.
