Rekursion


Wenn bei der Lösung eines Problems aus einer Problemklasse als Bestandteil die Lösung einer kleineren  Instanz derselben Problemklasse mit verwendet wird, so spricht man von Rekursion.

Das Prinzip der Rekursion ist äußerst mächtig, wird aber von Anfängern nicht gerne verwendet, weil:

Geht man aber behutsam vor, so ist das Ganze sehr einfach: Beim Korrektheitsbeweis verwenden wir den "Satz vom kleinsten Verbrecher":
Jede nichtleere  Menge von natürlichen Zahlen hat ein kleinstes Element
in folgender Weise:

Wenn unsere Lösung für manche  Problemgrößen fehlerhaft arbeiten sollte, dann gibt es darunter eine kleinste.  Für diese kleinste falsche  Lösung wissen wir aber, daß alle (rekursiv verwendeten) "black boxes" korrekt arbeiten, da sie ja kleiner sind; der Fehler kann also nur an ihrem Zusammenspiel   liegen. Wenn sich das Zusammenspiel der Teilprobleme aber als korrekt herausstellt, so gibt es eine kleinste fehlerhaft arbeitende Instanz gar nicht,  und somit ist unsere Lösung für alle Problemgrößen korrekt!

Dies ist im Grunde ein "auf den Kopf gestellter" Induktionsbeweis nach der Problemgröße, der oft leichter zu finden ist als ein direkter Induktionsbeweis.

Einen solchen Beweis muß man sich für jede rekursive Problemlösung einmal überlegen;  er muß aber nicht sehr formal hingeschrieben werden. Es genügt, sich vom korrekten Zusammenspiel der Teilprobleme zu überzeugen (und darauf zu achten, daß sie echt kleiner sind!), und das gelingt, sofern die Verschachtelung der Teilprobleme nicht zu tief ist, oft durch direktes Hinsehen.


zurück | Inhalt | Index | vor | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36