Top Banner
Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil Wintersemester 2012/13 4. Oktober 2012 Vorsemesterkurs WS 2012/13
67

Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Oct 08, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion

Rekursion und Induktion

Vorsemesterkurs InformatikTheoretischer Teil

Wintersemester 2012/13

4. Oktober 2012

Vorsemesterkurs WS 2012/13

Page 2: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Definition der Rekursion fur Funktionen

Definition

Eine rekursive Funktion ist eine Funktion, die durch sich selbstdefiniert ist.(Salopp: eine Funktion, die sich im Rumpf selbst aufruft)

Ein offenes Problem aus der Mathematik:

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Collatz-Problem: Kommt es fur jeden naturlichen Startwert nirgendwann zu einer c(4)-c(2)-c(1)-Endlosschleife?

Vorsemesterkurs WS 2012/13

Page 3: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Definition der Rekursion fur Funktionen

Definition

Eine rekursive Funktion ist eine Funktion, die durch sich selbstdefiniert ist.(Salopp: eine Funktion, die sich im Rumpf selbst aufruft)

Ein offenes Problem aus der Mathematik:

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Collatz-Problem: Kommt es fur jeden naturlichen Startwert nirgendwann zu einer c(4)-c(2)-c(1)-Endlosschleife?

Vorsemesterkurs WS 2012/13

Page 4: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Definition der Rekursion fur Funktionen

Definition

Eine rekursive Funktion ist eine Funktion, die durch sich selbstdefiniert ist.(Salopp: eine Funktion, die sich im Rumpf selbst aufruft)

Ein offenes Problem aus der Mathematik:

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Collatz-Problem: Kommt es fur jeden naturlichen Startwert nirgendwann zu einer c(4)-c(2)-c(1)-Endlosschleife?

Vorsemesterkurs WS 2012/13

Page 5: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Wir testen es fur den Startwert n = 5:

c(5)

= c(5 · 3 + 1) = c(16)

= c(16/2) = c(8)

= c(4)

= c(2)

= c(1)

= c(3 · 1 + 1) = c(4) = . . .

Vorsemesterkurs WS 2012/13

Page 6: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Wir testen es fur den Startwert n = 5:

c(5) = c(5 · 3 + 1) = c(16)

= c(16/2) = c(8)

= c(4)

= c(2)

= c(1)

= c(3 · 1 + 1) = c(4) = . . .

Vorsemesterkurs WS 2012/13

Page 7: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Wir testen es fur den Startwert n = 5:

c(5) = c(5 · 3 + 1) = c(16)

= c(16/2) = c(8)

= c(4)

= c(2)

= c(1)

= c(3 · 1 + 1) = c(4) = . . .

Vorsemesterkurs WS 2012/13

Page 8: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Wir testen es fur den Startwert n = 5:

c(5) = c(5 · 3 + 1) = c(16)

= c(16/2) = c(8)

= c(4)

= c(2)

= c(1)

= c(3 · 1 + 1) = c(4) = . . .

Vorsemesterkurs WS 2012/13

Page 9: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Wir testen es fur den Startwert n = 5:

c(5) = c(5 · 3 + 1) = c(16)

= c(16/2) = c(8)

= c(4)

= c(2)

= c(1)

= c(3 · 1 + 1) = c(4) = . . .

Vorsemesterkurs WS 2012/13

Page 10: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Wir testen es fur den Startwert n = 5:

c(5) = c(5 · 3 + 1) = c(16)

= c(16/2) = c(8)

= c(4)

= c(2)

= c(1)

= c(3 · 1 + 1) = c(4) = . . .

Vorsemesterkurs WS 2012/13

Page 11: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Wir testen es fur den Startwert n = 5:

c(5) = c(5 · 3 + 1) = c(16)

= c(16/2) = c(8)

= c(4)

= c(2)

= c(1)

= c(3 · 1 + 1) = c(4) = . . .

Vorsemesterkurs WS 2012/13

Page 12: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Was ist Rekursion?

Auswertung der Funktion

Beispiel

c(n) :=

{c(n/2), falls n gerade ist

c(3n + 1), falls n ungerade ist

Mit anderen Startwerten:

c(n) n-Folge bis zur ersten 1

c(3) 3, 10, 5, 16, 8, 4, 2, 1c(5) 5, 16, 8, 4, 2, 1c(15) 15, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1

c(16) 16, 8, 4, 2, 1c(128) 128, 64, 32, 16, 8, 4, 2, 1

Vorsemesterkurs WS 2012/13

Page 13: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Anwendungen in der Informatik

Wieso interessiert uns sowas uberhaupt in der Informatik?

Rekursionen tauchen sehr haufig auf:

Laufzeitanalyse

Algorithmenentwurf und Programmiertechnik

Datenstrukturen

funktionale Programmierung → Haskell (PRG-2)

Syntax von (Programmier-)Sprachen

Ubersetzer (Compiler)

Vorsemesterkurs WS 2012/13

Page 14: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Anwendungen in der Informatik

Wieso interessiert uns sowas uberhaupt in der Informatik?

Rekursionen tauchen sehr haufig auf:

Laufzeitanalyse

Algorithmenentwurf und Programmiertechnik

Datenstrukturen

funktionale Programmierung → Haskell (PRG-2)

Syntax von (Programmier-)Sprachen

Ubersetzer (Compiler)

Vorsemesterkurs WS 2012/13

Page 15: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Anwendungen in der Informatik

Wieso interessiert uns sowas uberhaupt in der Informatik?

Rekursionen tauchen sehr haufig auf:

Laufzeitanalyse

Algorithmenentwurf und Programmiertechnik

Datenstrukturen

funktionale Programmierung → Haskell (PRG-2)

Syntax von (Programmier-)Sprachen

Ubersetzer (Compiler)

Vorsemesterkurs WS 2012/13

Page 16: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Anwendungen in der Informatik

Wieso interessiert uns sowas uberhaupt in der Informatik?

Rekursionen tauchen sehr haufig auf:

Laufzeitanalyse

Algorithmenentwurf und Programmiertechnik

Datenstrukturen

funktionale Programmierung → Haskell (PRG-2)

Syntax von (Programmier-)Sprachen

Ubersetzer (Compiler)

Vorsemesterkurs WS 2012/13

Page 17: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Anwendungen in der Informatik

Wieso interessiert uns sowas uberhaupt in der Informatik?

Rekursionen tauchen sehr haufig auf:

Laufzeitanalyse

Algorithmenentwurf und Programmiertechnik

Datenstrukturen

funktionale Programmierung → Haskell (PRG-2)

Syntax von (Programmier-)Sprachen

Ubersetzer (Compiler)

Vorsemesterkurs WS 2012/13

Page 18: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Anwendungen in der Informatik

Wieso interessiert uns sowas uberhaupt in der Informatik?

Rekursionen tauchen sehr haufig auf:

Laufzeitanalyse

Algorithmenentwurf und Programmiertechnik

Datenstrukturen

funktionale Programmierung → Haskell (PRG-2)

Syntax von (Programmier-)Sprachen

Ubersetzer (Compiler)

Vorsemesterkurs WS 2012/13

Page 19: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Basis- und Rekursionsfall

wieder ein bisschen Fachchinesisch

Definition (Basisfall)

Als Basisfall in einer Rekursion bezeichnet man einen Fall, in dem dieFunktion nicht noch einmal aufgerufen wird.

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Quizfrage der Folie

Wo ist hier der Basisfall ??

Vorsemesterkurs WS 2012/13

Page 20: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Basis- und Rekursionsfall

wieder ein bisschen Fachchinesisch

Definition (Basisfall)

Als Basisfall in einer Rekursion bezeichnet man einen Fall, in dem dieFunktion nicht noch einmal aufgerufen wird.

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Quizfrage der Folie

Wo ist hier der Basisfall ??

Vorsemesterkurs WS 2012/13

Page 21: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Basis- und Rekursionsfall

. . . und noch mehr Fachchinesisch :-P

Definition (Rekursionsfall)

Als Rekursionsfall in einer Rekursion beschreibt man einen Fall, in demdie Funktion noch einmal aufgerufen wird.

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Quizfrage der Folie

Wo ist hier der Rekursionsfall ??

Vorsemesterkurs WS 2012/13

Page 22: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Basis- und Rekursionsfall

. . . und noch mehr Fachchinesisch :-P

Definition (Rekursionsfall)

Als Rekursionsfall in einer Rekursion beschreibt man einen Fall, in demdie Funktion noch einmal aufgerufen wird.

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Quizfrage der Folie

Wo ist hier der Rekursionsfall ??

Vorsemesterkurs WS 2012/13

Page 23: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Rekursionsturmchen

Turmchen bauen

Einfache Rekursionen sind wie Turmchen:

f(n) Dach

f(n-1) Stockwerkef(n-2)...f(1)

f(0) Erdgeschoss

(Animation siehe nachste Folie)

Vorsemesterkurs WS 2012/13

Page 24: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Rekursionsturmchen

...zur Animation

zur Animation

Vorsemesterkurs WS 2012/13

Page 25: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Rekursionsturmchen

...und als Sequenzdiagramm

zur Animation

Vorsemesterkurs WS 2012/13

Page 26: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Rekursionsturmchen

Achtung!

Es gibt noch andere Formen der Rekursion:

verzweigte Baumchen statt Turmchen(die Funktion ruft sich mehrfach selbst auf)

verschrankte Rekursion(zwei Funktionen rufen sich gegenseitig auf)

verschachtelte Rekursion(das Argument ist selbst wieder eine rekursive Funktion)

Vorsemesterkurs WS 2012/13

Page 27: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Rekursion > Rekursionsturmchen

noch Fragen???

Quelle Bild: http://www.citycampus.eu/cms/images/comic fragezeichen.png

Vorsemesterkurs WS 2012/13

Page 28: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Nochmal zuruck zur Funktion

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Was berechnet f ?

Vorsemesterkurs WS 2012/13

Page 29: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Nochmal zuruck zur Funktion

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Was berechnet f ?

Vorsemesterkurs WS 2012/13

Page 30: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Nochmal zuruck zur Funktion

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Was berechnet f ?

Vorsemesterkurs WS 2012/13

Page 31: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Wir vermuten, dass f die Fakultatsfunktion ist. Doch lasst sich dasbeweisen? Auch dafur gibt es eine Beweistechnik: Die vollstandigeInduktion. Sie besteht aus zwei Teilen:

Induktionsanfang: Wir uberprufen, ob die Aussagen fur dieRekursionsbasis gilt.

Induktionsschritt: Wir nehmen an, dass im rekursiven Aufrufunsere Aussage stimmt. Dann weisen wir das nur noch fur denRest nach!

Vorsemesterkurs WS 2012/13

Page 32: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Wir vermuten, dass f die Fakultatsfunktion ist. Doch lasst sich dasbeweisen?

Auch dafur gibt es eine Beweistechnik: Die vollstandigeInduktion. Sie besteht aus zwei Teilen:

Induktionsanfang: Wir uberprufen, ob die Aussagen fur dieRekursionsbasis gilt.

Induktionsschritt: Wir nehmen an, dass im rekursiven Aufrufunsere Aussage stimmt. Dann weisen wir das nur noch fur denRest nach!

Vorsemesterkurs WS 2012/13

Page 33: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Wir vermuten, dass f die Fakultatsfunktion ist. Doch lasst sich dasbeweisen? Auch dafur gibt es eine Beweistechnik: Die vollstandigeInduktion. Sie besteht aus zwei Teilen:

Induktionsanfang: Wir uberprufen, ob die Aussagen fur dieRekursionsbasis gilt.

Induktionsschritt: Wir nehmen an, dass im rekursiven Aufrufunsere Aussage stimmt. Dann weisen wir das nur noch fur denRest nach!

Vorsemesterkurs WS 2012/13

Page 34: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Wir vermuten, dass f die Fakultatsfunktion ist. Doch lasst sich dasbeweisen? Auch dafur gibt es eine Beweistechnik: Die vollstandigeInduktion. Sie besteht aus zwei Teilen:

Induktionsanfang: Wir uberprufen, ob die Aussagen fur dieRekursionsbasis gilt.

Induktionsschritt: Wir nehmen an, dass im rekursiven Aufrufunsere Aussage stimmt. Dann weisen wir das nur noch fur denRest nach!

Vorsemesterkurs WS 2012/13

Page 35: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Einleitung

Vollstandige Induktion

Wir vermuten, dass f die Fakultatsfunktion ist. Doch lasst sich dasbeweisen? Auch dafur gibt es eine Beweistechnik: Die vollstandigeInduktion. Sie besteht aus zwei Teilen:

Induktionsanfang: Wir uberprufen, ob die Aussagen fur dieRekursionsbasis gilt.

Induktionsschritt: Wir nehmen an, dass im rekursiven Aufrufunsere Aussage stimmt. Dann weisen wir das nur noch fur denRest nach!

Vorsemesterkurs WS 2012/13

Page 36: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Behauptung

f (n) = n! fur jede beliebige Eingabe n ∈ N

Beweis durch vollstandige Induktion nach n:

Induktionsanfang: n = 0

f (0) = 1 und 0! = 1, also f (0) = 0! .

Vorsemesterkurs WS 2012/13

Page 37: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Behauptung

f (n) = n! fur jede beliebige Eingabe n ∈ N

Beweis durch vollstandige Induktion nach n:

Induktionsanfang: n = 0

f (0) = 1 und 0! = 1, also f (0) = 0! .

Vorsemesterkurs WS 2012/13

Page 38: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Behauptung

f (n) = n! fur jede beliebige Eingabe n ∈ N

Beweis durch vollstandige Induktion nach n:

Induktionsanfang: n = 0

f (0) = 1 und 0! = 1, also f (0) = 0! .

Vorsemesterkurs WS 2012/13

Page 39: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Behauptung

f (n) = n! fur jede beliebige Eingabe n ∈ N

Beweis durch vollstandige Induktion nach n:

Induktionsanfang: n = 0

f (0) = 1 und 0! = 1, also f (0) = 0! .

Vorsemesterkurs WS 2012/13

Page 40: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Behauptung

f (n) = n! fur jede beliebige Eingabe n ∈ N

Beweis durch vollstandige Induktion nach n:

Induktionsanfang: n = 0

f (0) = 1 und 0! = 1, also f (0) = 0! .

Vorsemesterkurs WS 2012/13

Page 41: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Behauptung

f (n) = n! fur jede beliebige Eingabe n ∈ N

Beweis durch vollstandige Induktion nach n:

Induktionsanfang: n = 0

f (0) = 1 und 0! = 1, also f (0) = 0! .

Vorsemesterkurs WS 2012/13

Page 42: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Induktionsschritt: n→ n + 1

Angenommen, fur festes n gilt f (n) = n!. Wir wollen zeigen, dassdann auch f (n + 1) = (n + 1)! gilt.

f (n + 1)Def. von f

= (n + 1) ∗ f (n)IA= (n + 1) ∗ n! = (n + 1)!

Also berechnet f fur jede Eingabe deren Fakultat. �

Vorsemesterkurs WS 2012/13

Page 43: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Induktionsschritt: n→ n + 1

Angenommen, fur festes n gilt f (n) = n!. Wir wollen zeigen, dassdann auch f (n + 1) = (n + 1)! gilt.

f (n + 1)Def. von f

= (n + 1) ∗ f (n)IA= (n + 1) ∗ n! = (n + 1)!

Also berechnet f fur jede Eingabe deren Fakultat. �

Vorsemesterkurs WS 2012/13

Page 44: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Induktionsschritt: n→ n + 1

Angenommen, fur festes n gilt f (n) = n!. Wir wollen zeigen, dassdann auch f (n + 1) = (n + 1)! gilt.

f (n + 1)Def. von f

= (n + 1) ∗ f (n)IA= (n + 1) ∗ n! = (n + 1)!

Also berechnet f fur jede Eingabe deren Fakultat. �

Vorsemesterkurs WS 2012/13

Page 45: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Induktionsschritt: n→ n + 1

Angenommen, fur festes n gilt f (n) = n!. Wir wollen zeigen, dassdann auch f (n + 1) = (n + 1)! gilt.

f (n + 1)Def. von f

= (n + 1) ∗ f (n)IA= (n + 1) ∗ n! = (n + 1)!

Also berechnet f fur jede Eingabe deren Fakultat. �

Vorsemesterkurs WS 2012/13

Page 46: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Induktionsschritt: n→ n + 1

Angenommen, fur festes n gilt f (n) = n!. Wir wollen zeigen, dassdann auch f (n + 1) = (n + 1)! gilt.

f (n + 1)Def. von f

= (n + 1) ∗ f (n)IA= (n + 1) ∗ n! = (n + 1)!

Also berechnet f fur jede Eingabe deren Fakultat. �

Vorsemesterkurs WS 2012/13

Page 47: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Anwendungsbeispiel

Korrektheitsbeweis fur rekursive Funktionen

f : N→ Nf (0) = 1

f (n) = f (n − 1) · n, falls n > 0

Induktionsschritt: n→ n + 1

Angenommen, fur festes n gilt f (n) = n!. Wir wollen zeigen, dassdann auch f (n + 1) = (n + 1)! gilt.

f (n + 1)Def. von f

= (n + 1) ∗ f (n)IA= (n + 1) ∗ n! = (n + 1)!

Also berechnet f fur jede Eingabe deren Fakultat. �

Vorsemesterkurs WS 2012/13

Page 48: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Induktion auf N

Vollstandige Induktion auf N

Analog besteht auch die Induktion auf N aus zwei Schritten:

Der Induktionsanfang : Die Aussage ist fur n = 0 zu prufen.(Fur Mengen wie N≥2 nehmen wir n = 2 als Induktionsanfang)

Der Induktionsschritt: Wir nehmen an, dass die Aussage fur einfestes n ∈ N gilt, und weisen dann nach, dass sie fur n + 1 gilt.

Vorsemesterkurs WS 2012/13

Page 49: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Induktion auf N

Vollstandige Induktion auf N

Analog besteht auch die Induktion auf N aus zwei Schritten:

Der Induktionsanfang : Die Aussage ist fur n = 0 zu prufen.(Fur Mengen wie N≥2 nehmen wir n = 2 als Induktionsanfang)

Der Induktionsschritt: Wir nehmen an, dass die Aussage fur einfestes n ∈ N gilt, und weisen dann nach, dass sie fur n + 1 gilt.

Vorsemesterkurs WS 2012/13

Page 50: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Induktion auf N

Vollstandige Induktion auf N

Analog besteht auch die Induktion auf N aus zwei Schritten:

Der Induktionsanfang : Die Aussage ist fur n = 0 zu prufen.

(Fur Mengen wie N≥2 nehmen wir n = 2 als Induktionsanfang)

Der Induktionsschritt: Wir nehmen an, dass die Aussage fur einfestes n ∈ N gilt, und weisen dann nach, dass sie fur n + 1 gilt.

Vorsemesterkurs WS 2012/13

Page 51: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Induktion auf N

Vollstandige Induktion auf N

Analog besteht auch die Induktion auf N aus zwei Schritten:

Der Induktionsanfang : Die Aussage ist fur n = 0 zu prufen.(Fur Mengen wie N≥2 nehmen wir n = 2 als Induktionsanfang)

Der Induktionsschritt: Wir nehmen an, dass die Aussage fur einfestes n ∈ N gilt, und weisen dann nach, dass sie fur n + 1 gilt.

Vorsemesterkurs WS 2012/13

Page 52: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Induktion auf N

Vollstandige Induktion auf N

Analog besteht auch die Induktion auf N aus zwei Schritten:

Der Induktionsanfang : Die Aussage ist fur n = 0 zu prufen.(Fur Mengen wie N≥2 nehmen wir n = 2 als Induktionsanfang)

Der Induktionsschritt: Wir nehmen an, dass die Aussage fur einfestes n ∈ N gilt, und weisen dann nach, dass sie fur n + 1 gilt.

Vorsemesterkurs WS 2012/13

Page 53: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Korrektheit

Das Prinzip der Induktion

Gilt eine Aussage fur n = 0 und gilt sie unter der Annahme, dass siefur n gilt, auch fur n + 1, dann gilt sie fur alle naturlichen Zahlen.

Vorsemesterkurs WS 2012/13

Page 54: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Korrektheit

Das Prinzip der Induktion

Gilt eine Aussage fur n = 0 und gilt sie unter der Annahme, dass siefur n gilt, auch fur n + 1, dann gilt sie fur alle naturlichen Zahlen.

Vorsemesterkurs WS 2012/13

Page 55: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Korrektheit

Das Prinzip der Induktion

Gilt eine Aussage fur n = 0 und gilt sie unter der Annahme, dass siefur n gilt, auch fur n + 1, dann gilt sie fur alle naturlichen Zahlen.

Vorsemesterkurs WS 2012/13

Page 56: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Summen- und Produktzeichen

Ein paar Kleinigkeiten...

Definition (Summen- und Produktzeichen)

Sei n ∈ N. Seien a1, ..., an beliebige Zahlen. Dann ist:

n∑i=1

ai = a1 + · · ·+ an

n∏i=1

ai = a1 · · · · · an

Spezialfalle:

0∑i=1

ai = 0,0∏

i=1

ai = 1

Vorsemesterkurs WS 2012/13

Page 57: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Summen- und Produktzeichen

Ein paar Kleinigkeiten...

Definition (Summen- und Produktzeichen)

Sei n ∈ N. Seien a1, ..., an beliebige Zahlen. Dann ist:

n∑i=1

ai = a1 + · · ·+ an

n∏i=1

ai = a1 · · · · · an

Spezialfalle:

0∑i=1

ai = 0,0∏

i=1

ai = 1

Vorsemesterkurs WS 2012/13

Page 58: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Summen- und Produktzeichen

Ein paar Kleinigkeiten...

Definition (Summen- und Produktzeichen)

Sei n ∈ N. Seien a1, ..., an beliebige Zahlen. Dann ist:

n∑i=1

ai = a1 + · · ·+ an

n∏i=1

ai = a1 · · · · · an

Spezialfalle:

0∑i=1

ai = 0,0∏

i=1

ai = 1

Vorsemesterkurs WS 2012/13

Page 59: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Summen- und Produktzeichen

Ein paar Kleinigkeiten...

Definition (Summen- und Produktzeichen)

Sei n ∈ N. Seien a1, ..., an beliebige Zahlen. Dann ist:

n∑i=1

ai = a1 + · · ·+ an

n∏i=1

ai = a1 · · · · · an

Spezialfalle:

0∑i=1

ai = 0,0∏

i=1

ai = 1

Vorsemesterkurs WS 2012/13

Page 60: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Summen- und Produktzeichen

Ein paar Kleinigkeiten...

Definition (Summen- und Produktzeichen)

Sei n ∈ N. Seien a1, ..., an beliebige Zahlen. Dann ist:

n∑i=1

ai = a1 + · · ·+ an

n∏i=1

ai = a1 · · · · · an

Spezialfalle:

0∑i=1

ai = 0,0∏

i=1

ai = 1

Vorsemesterkurs WS 2012/13

Page 61: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Summen- und Produktzeichen

Ein paar Kleinigkeiten...

Definition (Summen- und Produktzeichen)

Sei n ∈ N. Seien a1, ..., an beliebige Zahlen. Dann ist:

n∑i=1

ai = a1 + · · ·+ an

n∏i=1

ai = a1 · · · · · an

Spezialfalle:

0∑i=1

ai = 0,0∏

i=1

ai = 1

Vorsemesterkurs WS 2012/13

Page 62: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Beispiel

Beispiel einer vollstandigen Induktion auf N

Wir wollen im Folgenden zeigen:

Satz

Fur alle n ∈ N gilt:n∑

i=0

i =n · (n + 1)

2

Wie sieht der Induktionsanfang aus?

Vorsemesterkurs WS 2012/13

Page 63: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Beispiel

Beispiel einer vollstandigen Induktion auf N

Wir wollen im Folgenden zeigen:

Satz

Fur alle n ∈ N gilt:n∑

i=0

i =n · (n + 1)

2

Wie sieht der Induktionsanfang aus?

Vorsemesterkurs WS 2012/13

Page 64: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Beispiel

Beispiel einer vollstandigen Induktion auf N

Wir wollen im Folgenden zeigen:

Satz

Fur alle n ∈ N gilt:

n∑i=0

i =n · (n + 1)

2

Wie sieht der Induktionsanfang aus?

Vorsemesterkurs WS 2012/13

Page 65: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Beispiel

Beispiel einer vollstandigen Induktion auf N

Wir wollen im Folgenden zeigen:

Satz

Fur alle n ∈ N gilt:n∑

i=0

i =n · (n + 1)

2

Wie sieht der Induktionsanfang aus?

Vorsemesterkurs WS 2012/13

Page 66: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Beispiel

Beispiel einer vollstandigen Induktion auf N

Wir wollen im Folgenden zeigen:

Satz

Fur alle n ∈ N gilt:n∑

i=0

i =n · (n + 1)

2

Wie sieht der Induktionsanfang aus?

Vorsemesterkurs WS 2012/13

Page 67: Rekursion und Induktion - Benutzer-Homepageslz_inf/Vorkurs/WS1213/Material/Folien/... · Rekursion und Induktion Rekursion und Induktion Vorsemesterkurs Informatik Theoretischer Teil

Rekursion und Induktion > Induktion > Beispiel

noch Fragen???

Quelle Bild: http://www.citycampus.eu/cms/images/comic fragezeichen.png

Vorsemesterkurs WS 2012/13