home

Von Kaninchen und Bienen

Die bunten Figuren bedecken die Hälfte des weißen Feldes.

Oder doch ein Kästchen weniger?

Bekanntlich ist Pu der Bär ein großer Freund der Bienen. „Und der einzige Grund dafür, eine Biene zu sein,“ den Pu kennt, „ist Honig zu machen.“ Aber Honig ist nicht der einzige Grund dafür, Bienen zu kennen. Ein anderer Grund ist: Mathematik! Das wird sich auf diesem Streifzug zeigen.


Christopher Robins Vorfahren

Ahnenforschung bei den Honigbienen

Die Bienen minimieren den Wachsbedarf beim Bau ihrer Kinderstübchen, indem sie einen sechseckigen Grundriss wählen und sogar die gemeinsamen Grenzwände zwischen den zwei Wabenschichten in optimaler Schräge anlegen. Als ob nicht das schon genug der Mathematik wäre: Nein, sie haben auch die berühmteste Zahlenfolge „entdeckt“. Dabei geht es um die Vorfahren einer Biene. Christopher Robin hat zwei Eltern und vier Großeltern. Die Großeltern haben (oder hatten) wiederum je zwei Eltern: Acht Urgroßeltern. Die Zahl der Vorfahren verdoppelt sich so für jede Generation: 2, 4, 8, 16, usw. Allerdings begrenzt die Praxis (wie immer bei endlichen Grenzen) dieses exponentielle Wachstum. Vor 40 Generationen, also vor etwa tausend Jahren, hätten wir sonst 2^{40} ≈ 10^{12} Ur38großeltern gehabt. Eine Billion! Diese Billion Planstellen waren also in vielfacher Personalunion besetzt.


Vorfahren einer Drohne

Bei den Honigbienen ist es anders: Aus allen befruchteten Eiern der Königin entstehen Weibchen (ob sie Arbeiterinnen werden oder Königin entscheiden nicht die Gene, sondern der Komfort der Brutzelle und der Ernährung). Die unbefruchteten Eier werden zu Männchen (Drohnen). Also haben weibliche Bienen eine Mutter und einen Vater, männliche nur eine Mutter (ein Regelkreis gegen Drohnenknappheit).

Wir bezeichnen für die n-te Generation (zeitlich zurückgerechnet, im Diagramm nach oben) die Zahl der weiblichen Bienen mit w_n, die der männlichen mit m_n und die Gesamtzahl w_n + m_n mit f_n.

  1. Die Weibchen haben eine Mutter und einen Vater: \pink{w_n = w_{n-1} + m_{n-1}}
  2. Die Männchen haben nur eine Mutter: \blue{m_n = w_{n-1}}

Die zweite Gleichung in die erste eingesetzt, ergibt: \green{w_n = w_{n-1} + w_{n-2}}

Daraus ergibt sich: \begin{aligned} m_n & = \blue{w_{n-1}} \cr & = \green{w_{n-2} + w_{n-3}} \cr & = \blue{m_{n-1} + m_{n-2}} \end{aligned}

Die Gesamtzahl f_n der Bienen in der n-ten Generation (für n≥3) ist damit: \begin{aligned} f_n & = w_n + m_n \cr & = \pink{w_{n-1} + w_{n-2}} + \green{m_{n-1} + m_{n-2}} & \cr & = (w_{n-1} + m_{n-1}) + (w_{n-2} + m_{n-2}) & \cr & = f_{n-1} + f_{n-2} \end{aligned}

Diese schon im Altertum bekannte Folge ist benannt nach dem italienischen Mathematiker Fibonacci, der zwar nach historischer Einordnung dem Hochmittelalter (um 1200) angehörte, aber eher ein Wetterleuchten der über zweihundert Jahre später datierten Renaissance war. Die Fibonacci-Folge hat so vielfältige Bedeutung in der Natur und in der Mathematik, dass der seit 1963 viermal jährlich erscheinenden wissenschaftlichen Zeitschrift „The Fibonacci Quarterly“ die Themen noch nicht ausgegangen sind.

Übrigens konnte Fibonacci das mathematisch exakte Beispiel der Bienenvorfahren noch nicht kennen. Er hat die Folge stattdessen in eine Denksportaufgabe zur Vermehrung von Kaninchen gekleidet. Dass diese sich „wie die Karnickel vermehren“, ist bekannt. Natürlich exponentiell, solange der Platz und das Futter reichen. Aber um die Vermehrung ins Korsett der Fibonacci-Folge zu zwingen, musste Fibonacci ziemlich unrealistische Annahmen machen.

Heute lässt man die Fibonacci-Folge schon mit der leeren nullten Generation beginnen. Damit können wir sie für nichtnegative ganze Zahlen definieren: f_n = \begin{cases} 0 & \text{falls } n = 0\\ 1 & \text{falls } n = 1\\ f_{n-1} + f_{n-2} & \text{sonst} \end{cases}

Fallstricke der Rekursion

Diese mathematische Definition lässt sich direkt als rekursive Funktion schreiben:

Wenn Sie in der letzten Zeile 30 statt der 5 einsetzen, werden Sie eine kleine Verzögerung bis zur Ausgabe des Ergebnisses bemerken, bei 33 schon eine größere. Seien Sie vorsichtig mit wesentlich höheren Zahlen! Es ist wie eine Pandemie: Exponentielles Wachstum bleibt lange unbemerkt, doch wenn das Übel die Wahrnehmungsschwelle überschreitet, verbreitet es sich explosionsartig. Dann hilft nur ein „Lockdown“, um die Reproduktionsrate auf Eins zu drücken. Bei unserer Fibonacci-Infektion, pardon: Induktion, ist die Reproduktionsrate 2. Denn jeder Funktionsaufruf steckt zwei weitere an, bis endlich die Basiszahlen erreicht werden.

Um einen Begriff von der exponentiellen Aggressivität des Doppelrekursions-Virus zu bekommen, packen wir die eigentliche Funktion in eine Hülle, die für das Zählen zuständig ist:

Wie Sie sehen, ist die Zahl der Aufrufe (ab n = 2) sogar größer als der ermittelte Wert der Fibonacci-Funktion. Finden Sie das Bildungsgesetz für diese Zahlen? Es gleich fast dem der Fibonacci-Folge!

Wenn Sie die Fibonacci-Zahlen auf einen Zettel schreiben, ist das ein linearer Prozess: Erst 0 und 1, dann immer die beiden letzten Zahlen addieren und die Summe hinschreiben. Müssen wir hier also die elegante Rekursion durch einen iterativen Algorithmus ersetzen? Nein, um das exponentielle Wachstum zu beseitigen, brauchen wir nur darüber nachzudenken, wie wir mit einer einzigen Rekursion auskommen. Naheliegend wäre, nicht den n-ten Wert zu berechnen, sondern einen Array mit allen Werten bis n. Im Rekursionsaufruf müsste dann nur die Summe der beiden letzten Array-Elemente angehängt werden. Effizienter ist es aber, statt aller Werte nur diese beiden letzten mitzunehmen. Dazu führen wir zwei zusätzliche Parameter ein, die intern für die Rekursion übergeben werden:

Diese Funktion ist in mathGUIde unter dem Namen fibonacci vordefiniert.

Der goldene Schnitt

Bitte schauen Sie sich (nach Klick auf „Ausführen“) die folgende Tabelle genau an. Was fällt Ihnen auf?

Die Tabelle drängt die Vermutung auf, dass die Quotienten f_{n+1}\over f_n gegen einen bei 1,618 liegenden Grenzwert konvergieren. Es ist der Goldene Schnitt, über den hier mehr zu verraten, Eulen nach Athen tragen hieße. Nur den Wert dieser Zahl, die meist mit \varphi bezeichnet wird, betrachten wir genauer. Es gilt: \begin{aligned} \varphi &= \lim_{n\to\infty}\frac{f_n}{f_{n-1}} = \lim_{n\to\infty}\frac{f_{n+1}}{f_n} \\ &= \lim_{n\to\infty}\frac{f_n + f_{n-1}}{f_n} = 1 + \lim_{n\to\infty}\frac{f_{n-1}}{f_n} \\ &= 1 + \frac 1 \varphi \end{aligned} und damit: \phi = \frac{\varphi+1}{\varphi}\Rightarrow\varphi^2-\varphi-1=0 Diese quadratische Gleichung hat, wie Sie nachrechnen können, zwei relle Lösungen, von denen die negative ausscheidet. Also ist: \varphi=\frac{1+\sqrt{5}}{2}

Noch einmal zurück zur soeben berechneten Tabelle. Wenn Sie die Kommentarzeichen (//) entfernen und neu „Ausführen“ klicken, sehen Sie eine weitere Spalte. Auch hier finden Sie bei genauem Hinschauen eine Gesetzmäßigkeit. Als Knobelaufgabe können Sie diese vielleicht beweisen.

Die bunten Figuren bedecken die Hälfte des weißen Feldes.

Oder doch ein Kästchen weniger?

Noch zwei Fragen offen?

Was hat das verrückte Schiebespiel mit der Fibonacci-Folge zu tun? Und wieso wird plötzlich Platz für das weiße Quadrat?

Zur ersten Frage

Alle Kantenlängen der vier Figuren (außer den beiden Hypotenusen) sind: Fibonacci-Zahlen: 1, 2, 3, 5 und 8.

Zur zweiten Frage

Berechnen Sie mal die Steigungen der beiden Hypotenusen! Sie können dazu einfach im letzten mathGUIde-Kasten die Funktion q(n) anpassen: In der Funktion q(n) können Sie dazu f(n+1)/f(n) durch f(n+2)/f(n) ersetzen und die beiden Steigungen in der Tabelle suchen.

Noch unklar?

Die scheinbare Diagonale hat also einen Knick. Am Anfang ist die weiße Fläche oberhalb der „Diagonale“ ein halbes Kästchen größer, nach dem Umräumen ein halbes Kästchen kleiner. Vgl. Wikipedia: Fehlendes-Quadrat-Rätsel.

Nochmal zur ersten Frage

Wenn man für die vier Katheten jeweils die nächstgrößere Fibonacci-Zahl nimmt, wird der Knick noch kleiner. Aber das weiße Quadrat (relativ) natürlich auch. Der Bereich unter den Dreiecken muss dann etwas anders aufgeteilt werden. Das Spiel lässt sich beliebig weiterführen, der Knick in der Diagonalen wird jedesmal kleiner. Und da die Fibonacci-Quotienten um den Grenzwert alternieren, knickt die Diagonale abwechselnd nach oben und nach unten.

Serienmäßige Täuschungen

Klicken Sie bitte im folgenden Kasten auf „Auswertung“ und ergänzen Sie aufgrund Ihrer Vermutung die Formel f_{n-1} f_{n+1} - f_n^2 =?

Können Sie die Vermutung beweisen?

Sie ist als Cassini’sche Identität bekannt.


64 = 65 (?)


25 = 24 (???)

Die Cassini’sche Identität liefert beliebig viele weitere Flächentäuschungen (vgl. Wikipedia). Für n=6 ergibt sie f_5 f_7 - f_6^2 = 1 oder 5⋅13-8⋅8=1. Ich habe in den beiden Grafiken hier auf eine Animation verzichtet, weil man bei den 90°-Drehungen ohnehin das Vertrauen verlieren würde). Im oberen Bild ist ein 8⋅8-Quadrat in vier Teile zerlegt, die man in das 5⋅13-Rechteck umpacken kann. Da alle Kantenlängen (außer den schrägen) der vier Figuren ebenfalls Fibonacci-Zahlen sind, kann man sie synchron im „Fibonacci-Raster“ verändern. Mit größeren Zahlen wird dabei die im (ungemogelten) Bild noch sichtbare Ritze immer kleiner. Oder genauer: für gerade n sieht man eine Ritze, für ungerade gibt es eine Überlappung, wie man im nicht praxistauglichen Fall n=5 (3⋅8-5⋅5=-1, unteres Bild) deutlich sieht.

Weiter zu: Zahlensummen

home