Für wen soll die Seite passen? Alles hier ist kostenlos.

Kostenlos für Ihren Unterricht: Arbeitsblätter, Aufgaben, Texte und Grafiken ohne Rückfrage kopieren, anpassen und an die Klasse weitergeben (Bedingungen).

Im Unterricht ohne Werbung: Unterrichtsansicht Mehr für Lehrkräfte

Mathematik lernen · Studium

Rekursionen und erzeugende Funktionen: Zählen, Lösen, Wachstum

Viele Zählprobleme führen auf eine Rekursion, bei der jeder Wert aus früheren folgt. Du lernst, sie mit der charakteristischen Gleichung und mit erzeugenden Funktionen zu lösen, Fälle mit der Siebformel zu zählen und das Wachstum mit der O-Notation zu vergleichen.

Wie viele Möglichkeiten gibt es, einen Turm aus n Scheiben umzusetzen, wie viele Zahlenfolgen aus 0 und 1 ohne zwei Einsen nebeneinander gibt es, wie viele Wege führen durch ein Gitter? Bei solchen Fragen ist die Antwort für n oft leicht durch die Antworten für kleinere Werte auszudrücken. Das ist eine Rekursion. Daraus eine geschlossene Formel zu gewinnen, ist Handwerk der diskreten Mathematik, und es gibt zwei große Werkzeuge: die charakteristische Gleichung und die erzeugenden Funktionen.

Die Seite setzt die Kombinatorik und die vollständige Induktion voraus. Eine bekannte Rekursion, die Fibonacci-Folge, hat eine eigene Seite: Fibonacci-Folge.

Rekursionen

Eine Rekursion definiert die Glieder einer Folge durch frühere Glieder und Anfangswerte. Die Fakultät folgt n!=n·(n−1)! mit 0!=1. Bei den Türmen von Hanoi sollen n Scheiben von einem Stab auf einen anderen umgesetzt werden, wobei nie eine größere auf einer kleineren liegen darf. Um die größte Scheibe zu bewegen, muss der Turm der n−1 kleineren erst auf den Hilfsstab (hn−1 Züge), dann kommt die große Scheibe (1 Zug), und danach wird der kleine Turm wieder darauf gesetzt (hn−1 Züge). Also gilt hn=2hn−1+1 mit h0=0. Die ersten Werte 0,1,3,7,15,… legen die Vermutung hn=2n−1 nahe, und der Induktionsschritt bestätigt sie: hn=2(2n−1−1)+1=2n−1. Für 64 Scheiben sind das etwa 1,8·1019 Züge.

Lineare Rekursionen mit konstanten Koeffizienten

Die Rekursion an=c1an−1+c2an−2 mit festen Zahlen c1,c2 und Anfangswerten a0,a1 lässt sich geschlossen lösen. Der Ansatz an=λn führt nach Kürzen von λn−2 auf die charakteristische Gleichung λ2=c1λ+c2.

Beweis. Einsetzen zeigt, dass λ1n und λ2n die Rekursion erfüllen. Wegen der Linearität gilt das auch für jede Kombination. Die Anfangswerte liefern α+β=a0 und αλ1+βλ2=a1, ein Gleichungssystem mit der Determinante λ2−λ1≠0, also eindeutig lösbar. Weil eine Folge durch Rekursion und Anfangswerte schon eindeutig bestimmt ist, gibt es keine weiteren Lösungen. Bei einer doppelten Nullstelle prüft man nλn direkt: Aus λ2−c1λ−c2=(λ−λ0)2 folgt c1=2λ0 und c2=−λ02, und c1(n−1)λ0n−1+c2(n−2)λ0n−2=λ0n(2(n−1)−(n−2))=nλ0n. □

Für die Fibonacci-Folge fn=fn−1+fn−2 ist λ2=λ+1 mit den Lösungen λ=1±52, und die Anfangswerte f0=0, f1=1 liefern die Formel von Moivre und Binet fn=Φn−Ψn5 mit Φ=1+52 und Ψ=1−52.

Erzeugende Funktionen

Man rechnet meist formal und fragt nicht nach Konvergenz: x ist nur ein Symbol. Wichtige Bausteine sind die geometrische Reihe 11−x=∑xn (die Folge 1,1,1,…), 11−ax=∑anxn, x(1−x)2=∑nxn und der binomische Lehrsatz (1+x)n=∑(nk)xk. Die Rechenregeln: Die Multiplikation mit x verschiebt die Folge, die Summe zweier Funktionen gehört zur Summe der Folgen, und das Produkt zweier Funktionen gehört zur Faltung: (∑anxn)(∑bnxn)=∑cnxn mit cn=∑k=0nakbn−k.

Rekursionen lösen

Das Verfahren hat drei Schritte: Rekursion mit xn multiplizieren und über n summieren, eine Gleichung für G aufstellen und lösen, dann G in eine Potenzreihe entwickeln (meist mit Partialbruchzerlegung). Für hn=2hn−1+1 mit h0=0 ergibt die Summe G(x)=2xG(x)+x1−x, also G(x)=x(1−x)(1−2x)=11−2x−11−x und damit hn=2n−1. Bei Fibonacci erhält man G(x)(1−x−x2)=x, also G(x)=x1−x−x2, und die Partialbruchzerlegung liefert die Formel von Binet.

Zählen mit erzeugenden Funktionen

Der eigentliche Vorteil zeigt sich beim Zählen. Eine Münze, die beliebig oft benutzt werden darf, entspricht einem Faktor 11−xw (Wert w). Die Anzahl der Möglichkeiten, n Euro mit Ein- und Zwei-Euro-Münzen zu bezahlen (die Reihenfolge ist egal), ist der Koeffizient von xn in 1(1−x)(1−x2). Er ist ⌊n2⌋+1, denn zu jeder Zahl k von Zwei-Euro-Münzen mit 2k≤n gehört genau eine Aufteilung. Für n=4 sind es die drei Möglichkeiten 1+1+1+1, 2+1+1 und 2+2.

Ein weiteres Beispiel sind die Catalan-Zahlen Cn=1n+1(2nn), die 1,1,2,5,14,42,… zählen. Sie geben die Zahl der korrekt geklammerten Ausdrücke mit n Klammerpaaren oder die Zahl der Möglichkeiten, ein (n+2)-Eck in Dreiecke zu zerlegen. Sie erfüllen Cn+1=∑k=0nCkCn−k. Für die erzeugende Funktion C(x) ist das C(x)=1+xC(x)2 mit der Lösung C(x)=1−1−4x2x.

Anzeige

Inklusion und Exklusion

Für zwei Mengen gilt |A∪B|=|A|+|B|−|A∩B|: Die Elemente im Durchschnitt werden beim Addieren zweimal gezählt und müssen einmal wieder abgezogen werden. Für drei Mengen ist |A∪B∪C|=|A|+|B|+|C|−|A∩B|−|A∩C|−|B∩C|+|A∩B∩C|.

Beweis. Ein Element, das in genau m≥1 der Mengen liegt, wird auf der rechten Seite in jedem Durchschnitt ⋂i∈IAi mit I⊆ (diesen m Indizes) gezählt, und zwar (mj)-mal für |I|=j mit dem Vorzeichen (−1)j+1. Insgesamt ist sein Beitrag ∑j=1m(−1)j+1(mj)=1−∑j=0m(−1)j(mj)=1−(1−1)m=1. Es wird also genau einmal gezählt. □

Auch die Zahl der surjektiven Abbildungen von einer n-elementigen Menge auf eine m-elementige lässt sich so zählen: ∑k=0m(−1)k(mk)(m−k)n. Für n=4 und m=3 sind es 81−3·16+3·1=36.

Wachstum von Funktionen: die O-Notation

Zur Beurteilung eines Verfahrens zählt, wie stark seine Rechenzeit mit der Eingabegröße n wächst. Dafür vergleicht man Funktionen bis auf konstante Faktoren und endlich viele Ausnahmen.

Zum Beispiel ist 3n2+5n=Θ(n2), denn n2≤3n2+5n≤8n2 für n≥1. Die Rangfolge der wichtigsten Funktionen ist 1≺log⁡n≺n≺n≺nlog⁡n≺n2≺n3≺2n≺n!. Ein Polynom wächst langsamer als jede Exponentialfunktion an mit a>1, und die Fakultät schneller als jede Exponentialfunktion.

Rekursionen der Form T(n)=aT(n/b)+nd (Teile und herrsche) haben nach dem Mastertheorem die Lösung

T(n)={Θ(nd)d>log⁡baΘ(ndlog⁡n)d=log⁡baΘ(nlog⁡ba)d<log⁡ba.

Für die Sortierung durch Mischen ist T(n)=2T(n/2)+n, also a=b=2, d=1=log⁡22, und die Laufzeit ist Θ(nlog⁡n). Die binäre Suche hat T(n)=T(n/2)+1 (a=1, b=2, d=0=log⁡21) und damit Θ(log⁡n). Die Multiplikation nach Karatsuba kommt mit T(n)=3T(n/2)+n auf Θ(nlog⁡23)≈Θ(n1,585), besser als die schriftliche Multiplikation mit Θ(n2). Dagegen braucht die naive rekursive Berechnung der Fibonacci-Zahlen Θ(Φn) Schritte, während eine Schleife mit n Additionen genügt.

Anzeige

Übungen

Immer neue Aufgaben mit Lösungen gibt es auf dem Blatt Rekursionen, Siebformel und Mastertheorem.

Geschichte: von den Kaninchen zu den Siebformeln

Die berühmteste Rekursion stammt aus dem „Liber Abaci“, in dem Leonardo von Pisa 1202 das Wachstum einer Kaninchenpopulation beschrieb. Die geschlossene Formel entdeckte Abraham de Moivre 1718, Daniel Bernoulli lieferte vermutlich 1728 den ersten Beweis, und Jacques Binet fand sie 1843 noch einmal unabhängig. Mit erzeugenden Funktionen löste de Moivre ab 1730 Rekursionen. Pierre-Simon Laplace baute 1814 in seiner „Théorie analytique des probabilités“ eine ausführliche Theorie dazu auf, aus der die Laplace-Transformation hervorging. Die Siebformel wurde von de Moivre, Daniel da Silva, James Joseph Sylvester und Henri Poincaré weiterentwickelt und heißt deshalb auch Formel von Poincaré und Sylvester.

Anzeige

Häufige Fragen

Muss man bei erzeugenden Funktionen auf Konvergenz achten?

Beim formalen Rechnen nicht: x ist ein Symbol, und die Potenzreihen werden wie Polynome behandelt. Konvergenz braucht man nur, wenn man x durch eine Zahl ersetzen will, etwa um das Wachstum der Folge aus den Singularitäten von G abzulesen.

Wann nehme ich die charakteristische Gleichung und wann die erzeugende Funktion?

Bei einer homogenen linearen Rekursion mit konstanten Koeffizienten sind beide gleichwertig, und die charakteristische Gleichung ist kürzer. Die erzeugende Funktion hilft bei Rekursionen mit Störgliedern, bei Faltungen wie den Catalan-Zahlen und beim Zählen mit Nebenbedingungen.

Was bedeutet O(nlog⁡n) in der Praxis?

Bei einer Million Elementen etwa zwanzig Millionen Schritte, während ein Θ(n2)-Verfahren eine Billion Schritte braucht. Deshalb ist die Wahl des Verfahrens oft wichtiger als die Geschwindigkeit des Rechners.

Quellen und weiterführende Literatur

Anzeige

Themen in diesem Bereich

Fehler entdeckt oder einen Wunsch? Schreib uns eine kurze Nachricht, wir kümmern uns darum.

Fehler entdeckt oder einen Wunsch?

Deine Nachricht zur Seite „Rekursionen und erzeugende Funktionen: Zählen, Lösen, Wachstum“. Die Adresse der Seite schicken wir automatisch mit.

Bitte schreib keine weiteren persönlichen Daten hinein. Mehr dazu im Datenschutz.