Download præsentationen
Præsentation er lastning. Vent venligst
1
Induktion og rekursion
Induktionsbeviser anvendes til at bevise påstande, som involverer de naturlige tal Fx De består af to dele: Basis Induktionsskridtet FEN Diskret matematik/Seminar 3 - induction
2
Induktionsprincippet (det svage)
Vi vil vise påstanden P(n) for alle n N. Basis: Vise P(n0) for en eller anden startværdi n0 (ofte 0 eller 1) Induktionsskridt: Vise (n n0 P(n)) P(n+1) Heraf konkluderes: n N (P(n)) Vise: n= 1 Antag n Vise: n+1 Konkluder: nN: P(n) FEN Diskret matematik/Seminar 3 - induction
3
Diskret matematik/Seminar 3 - induction
Eksempel Teorem: For ethvert naturligt tal n går 3 op i n3 + 2n Bevis: Vise: P(n): 3 går op i n3 + 2n Basis: P(0): 3 går op i 0 = 0 Antagelse: P(n): 3 går op i n3 + 2n Skridt: Vise: (n>0 P(n)) P(n+1) P(n+1): 3 går op i (n+1)3 + 2(n+1) FEN Diskret matematik/Seminar 3 - induction
4
Ifølge antagelsen, så går 3 op i (n3 + 2n),
Vi regner: (n+1)3 + 2(n+1) = (n+1)(n+1)2 + 2(n+1) = (n+1)(n2+2n+1) + 2(n+1) = n3 + 2n2 + n + n2 + 2n n + 2 = n3 + 2n + 3n2 + n n + 2 = (n3 + 2n) + 3n2 + 3n + 3 = (n3 + 2n) + 3(n2 + n + 1) Ifølge antagelsen, så går 3 op i (n3 + 2n), og det ses tydeligt at 3 går op i resten. QED Leder efter P(n): 3 går op i n3+2n Antagelsen siger, at 3 går op i n3+2n FEN Diskret matematik/Seminar 3 - induction
5
Diskret matematik/Seminar 3 - induction
Øvelser: 1. KH 4.2 (Bemærk fejl i opgaven) Vis for alle reelle tal a 1 gælder: 2. Martin 3rd Ed. 2.9 FEN Diskret matematik/Seminar 3 - induction
6
Det stærke induktionsprincip
I visse situationer har vi brug for at udvide induktionsprincippet, så vi antager, at påstanden P(n) er sand for alle værdier, k mindre end eller lig n og ikke bare for n, når vi vil vise P(n+1) Vi vil vise påstanden P(n) for alle n N. Basis: Vise P(n0) for en eller anden startværdi n0 Induktionsskridt: Vise: n n0:( n0 k n ( P(k))) P(n+1) Heraf konkluderes: n N (P(n)) Vise: n= 1 Antag for alle kn Vise: n+1 Konkluder: nN: P(n) FEN Diskret matematik/Seminar 3 - induction
7
Svag og stærk induktion
Vise: n= 1 Antag n Vise: n+1 Konkluder: nN: P(n) Vise: n= 1 Antag for alle kn Vise: n+1 Konkluder: nN: P(n) FEN Diskret matematik/Seminar 3 - induction
8
Fibonacci-ting (øv. 5.1) Der gælder bl.a. om Fibonacci-tal, at Bevis:
fib(n) (5/3)n for n 0 Bevis: Her bruger vi, at både fib(n) og fib(n-1) er sande FEN Diskret matematik/Seminar 3 - induction
9
Diskret matematik/Seminar 3 - induction
Eksempel (Martin 1.24) Teorem: Ethvert n>1 er enten et primtal eller et produkt af to eller flere primtal Bevis: Basis: n = 2 er et primtal Antagelse: For alle n>1 og alle k: 2 k n gælder sætningen Vise: n+1 er et primtal eller et produkt FEN Diskret matematik/Seminar 3 - induction
10
Diskret matematik/Seminar 3 - induction
Martin ex. 1.24 Hvis n+1 er et primtal, så gælder sætningen trivielt, ellers eksisterer der positive heltal r og s, som hverken er 1 eller n+1, så n+1 = r * s og 2 r n og 2 s n. Af induktionshypotesen er r og s følgelig enten primtal eller produkter af to eller flere primtal. Derfor er deres produkt også et produkt af to eller flere primtal. Q.E.D. FEN Diskret matematik/Seminar 3 - induction
11
Rekursion og induktion
Hanois tårne: Flyt(n, kilde, mål, hjælp){ if(n==1) flytEnSkive; else{ flyt(n-1, kilde, hjælp, mål); flyt(n-1, hjælp, mål, kilde); } Effektivitet? FEN Diskret matematik/Seminar 3 - induction
12
Diskret matematik/Seminar 3 - induction
Effektivitet t(n) betegner køretiden for at flytte n skiver, og er givet ved rekurensligningen: t(1) = 1 t(n) = 2t(n-1) + 1 for n > 1 Vis ved induktion, at t(n) = 2n - 1 FEN Diskret matematik/Seminar 3 - induction
13
Diskret matematik/Seminar 3 - induction
Vise: t(n) = 2n - 1 Bevis: induktion på n: Basis: t(1) = 1= 21 – 1= 1 Antagelse: Gælder for n: t(n) = 2n - 1 Vise: For n+1: t(n+1) = 2t(n) + 1 = 2(2n - 1) +1 = 2n = 2n+1 - 1 QED Brug antagelsen FEN Diskret matematik/Seminar 3 - induction
14
Strukturel induktion: fx sprog defineret rekursivt:
Sproget Expr: lovlige regneudtryk med identifieren a, de binære operationer + og * samt parenteser (fx strenge som a, a+a*a og (a+a*(a+a))): Rekursiv definition: a Expr For alle x Expr og alle y Expr, så x+y Expr og x*y Expr For alle x Expr, så (x) Expr . (Martin bruger xy i stedet for x + y og xy i stedet for x*y) FEN Diskret matematik/Seminar 3 - induction
15
Strukturel induktion - fortsat
Rekursiv definition: a Expr For alle x Expr og alle y Expr, så x+y Expr og x*y Expr For alle x Expr, så (x) Expr . Hvis vi vil vise et eller andet udsagn om af formen P(x) er sand for alle x Expr , så skal vi vise: P(a) er sand (Basis) For alle x, y Expr hvis P(x) og P(y) er sande, så er P(x+y) P(x*y) sande. For alle x Expr hvis P(x) er sand, så er P((x)) sand. FEN Diskret matematik/Seminar 3 - induction
16
Diskret matematik/Seminar 3 - induction
Øvelse: Binære træer Et binært træ T er enten tomt eller består af en rod med to referencer: lChild og rChild, som selv er binære træer: Vis ved induktion, at højden altid er mindre end eller lig med antal knuder T T lChild rChild FEN Diskret matematik/Seminar 3 - induction
17
Diskret matematik/Seminar 3 - induction
Mergesort sort(sequence s, int f, int l, s’){ if(s.len>1){ int m = (f+l)/2; sort(s, f, m, s’1); sort(s, m+1, l, s’2); merge(s’1, s’2 , s’); } FEN Diskret matematik/Seminar 3 - induction
18
Diskret matematik/Seminar 3 - induction
Øvelse: Effektivitet Effektiviteten af en rekursiv sorteringsalgoritme, fx mergesort, er bestemt ved følgende rekursive funktion (for nemheds skyld betragter vi kun værdier af n, som er 2-potenser, dvs. k(n = 2k)): t(n) = a for n 1 t(n) = t(n/2) + t(n/2) + n + b for n > 1 hvor a og b er konstanter. Sæt for nemheds skyld a og b lig 0 og beregn t(32). Beregn 32log2(32). FEN Diskret matematik/Seminar 3 - induction
19
Øvelse: Effektivitet af mergeSort
løsning FEN Diskret matematik/Seminar 3 - induction
20
Diskret matematik/Seminar 3 - induction
Øvelse Martin 1.45 Bemærk: Martin, ex er lidt underligt, se min version i stedet. vi springer Martin, ex over. FEN Diskret matematik/Seminar 3 - induction
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.