Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Matematisk Induksjon.

Liknende presentasjoner


Presentasjon om: "Matematisk Induksjon."— Utskrift av presentasjonen:

1 Matematisk Induksjon

2 Matematisk induksjon Anvendelser - Bevisteknikk
Matematisk formel Algoritme-analyse Områder med fargelegging Container GPS 5 6 1 7 4 2 3

3 Matematisk induksjon Innledning
Matematisk induksjon er en svært kraftfull bevis-teknikk. Denne bevis-teknikken benyttes ikke kun innen matematikk, men også bl.a. innen egenskapsstudier av ulike datastrukturer, algoritmeutforming og effektivitetsberegninger.

4 Matematisk induksjon Teori
T et utsagn som vi ønsker å bevise T inkluderer et naturlig tall n, og vi ønsker å bevise at T(n) er sann for alle n. I stedet for å bevise direkte at T er sann for alle n, utføres følgende: 1. Vis at T(1) er sann. 2. Anta at T(k) er sann for en vilkårlig k1. 3. Vis at hvis T(k) er sann, så må også T(k+1) være sann. Konklusjonen er at da må T(n) være sann for alle n.

5 Matematisk induksjon Illustrasjon
T(1) er sann Anta at T(k) er sann Hvis T(k) er sann, så er også T(k+1) sann 1 Brikke nr 1 faller k k+1 Anta at brikke nr k faller Brikke nr k+1 faller k k+1

6 Matematisk induksjon Teori - Ulike variasjoner
Hvis et utsagn T med parameter n, er sann for n = 1, og hvis, for hver k  1, så vil sannheten av T for k medføre sannhet av T for k+1, så vil T være sann for alle naturlige tall. Hvis et utsagn T med parameter n, er sann for n = 1, og hvis, for hver k  1, så vil sannheten av T for alle naturlige tall  k medføre sannhet av T for k+1, så vil T være sann for alle naturlige tall. Hvis et utsagn T med parameter n, er sann for n = 1 og n = 2, og hvis, for hver k  2, så vil sannheten av T for k medføre sannhet av T for k+2, så vil T være sann for alle naturlige tall. Hvis et utsagn T med parameter n, er sann for n = 1, og hvis, for hver k  1, med k en heltallspotens av 2, så vil sannheten av T for k medføre sannhet av T for 2k, så vil T være sann for alle naturlige tall som er heltallspotens av 2.

7 Eksempel 1 Sum av de n første naturlige tall - Hypotese
Når vi beregner summen av de 1, 2, 3, 4 og 5 første naturlige tall, får vi som svar henholdsvis 1, 3, 6, 10 og 15. Vi oppdager at hver av disse summene kan skrives som ½ multiplisert med (1 + siste ledd) multiplisert med antall ledd. Derfor er det nærliggende å anta hypotesen vist i nederste linje, men merk at vi her ikke har gjennomført noe bevis. Ellers kan nevnes at summen av de n første ledd i en aritmetisk rekke kan benyttes (her med a1 = 1 og an = n).

8 Eksempel 1 Sum av de n første naturlige tall - Induksjonsbevis
T(n): Summen av de n første naturlige tall er gitt ved: Bevis: Oppsummering: 1. Vi har vist at T(1) er sann. 2. Deretter har vi antatt at T(k) er sann. 3. Til slutt har vi vist at hvis T(k) er sann, så må også T(k+1) være sann. Konklusjonen er at da må T(n) være sann for alle naturlige tall n.

9 Eksempel 2 Sum 6 + 10 + 14 + 18 + … + (2 + 4n) - Hypotese
Vi skal beregne følgende sum: Fra eksempel 1 har vi følgende: Siden hvert ledd i rekken s er 2 pluss 4 ganger tilsvarende ledd i rekken s1, er det nærliggende å anta at rekken s har summen: Vi får derfor følgende hypotese:

10 Eksempel 2 Sum 6 + 10 + 14 + 18 + … + (2 + 4n) - Induksjonsbevis
T(n): Bevis: Oppsummering: 1. Vi har vist at T(1) er sann. 2. Deretter har vi antatt at T(k) er sann. 3. Til slutt har vi vist at hvis T(k) er sann, så må også T(k+1) være sann. Konklusjonen er at da må T(n) være sann for alle naturlige tall n.

11 Eksempel 3 Sum av de n første oddetall - Hypotese
Når vi beregner summen av de 1, 2, 3, 4 og 5 første oddetall tall, får vi som svar henholdsvis 1, 4, 9, 16, 25 og 36 som kan skrives som 12, 22, 32, 42, 52 og 62. Derfor er det nærliggende å anta hypotesen vist i nederste linje, nemlig at summen av de n første oddetall er lik n2, men merk at vi her ikke har gjennomført noe bevis. Merk at vi i den nest siste linje har skrevet tallet 11 som 2*6-1, dette for at vi lettere i vår hypoteseformel skal gjenkjenne oddetall nr n som 2*n-1.

12 Eksempel 3 Sum av de n første oddetall - Induksjonsbevis
T(n): Summen av de n første oddetall er gitt ved: Bevis: Oppsummering: 1. Vi har vist at T(1) er sann. 2. Deretter har vi antatt at T(k) er sann. 3. Til slutt har vi vist at hvis T(k) er sann, så må også T(k+1) være sann. Konklusjonen er at da må T(n) være sann for alle naturlige tall n.

13 Eksempel 4 Ulikhet 1 - Induksjonsbevis
T(n): Bevis: Oppsummering: 1. Vi har vist at T(1) er sann. 2. Deretter har vi antatt at T(k) er sann. 3. Til slutt har vi vist at hvis T(k) er sann, så må også T(k+1) være sann. Konklusjonen er at da må T(n) være sann for alle naturlige tall n.

14 Eksempel 5 Ulikhet 2 - Induksjonsbevis
T(n): Bevis: Oppsummering: 1. Vi har vist at T(1) er sann. 2. Deretter har vi antatt at T(k) er sann. 3. Til slutt har vi vist at hvis T(k) er sann, så må også T(k+1) være sann. Konklusjonen er at da må T(n) være sann for alle naturlige tall n.

15 Eksempel 6 Sum av hver rad i ’odde-trekant’ - Hypotese
= = 13 = = 23 = 27 = 33 = 64 = 43 = 125 = 53 ….. Hypotese: Sum av elementene i rad nr n er lik n3

16 Eksempel 6 Sum av hver rad i ’odde-trekant’ - Hypotese
= = 13 = = 23 = 27 = 33 = 64 = 43 = 125 = 53 ….. Tilstrekkelig å vise at differensen mellom sum av rad nr n+1 og rad nr n er lik (n+1)3 – n3 siden summen n3 stemmer for n=1 (og n=2,3,4,5). La første element i rad nr n være t. Siden vi i trekanten har påfølgende oddetall og rad nr n inneholder n elementer, vil første element i rad nr n+1 være: t+2n. Differensen mellom første ledd i rad nr n+1 og første ledd i rad nr n er da: (t+2n) – t = 2n. Den samme differensen mellom andre ledd i rad nr n+1 og andre ledd i rad nr n er tilsvarende 2n, og det samme gjentar seg for alle n par av ledd i de to radene. I tillegg kommer siste ledd i rad nr n+1 (dette leddet matcher ikke noen ledd i rad nr n). La u være siste ledd i rad nr n+1. Differansen mellom sum av rad nr n+1 og rad nr n er derfor gitt ved: n*2n + u = u + 2n2. Det er derfor tilstrekkelig å vise at siste ledd u i rad nr n+1 er gitt ved: u + 2n2 = (n+1)3 - n3 dvs u = n2 + 3n + 1 eller siste ledd v i rad nr n er gitt ved: v = (n-1)2 + 3(n-1) + 1

17 Eksempel 6 Sum av hver rad i ’odde-trekant’ - Hypotese
= = 13 = = 23 = 27 = 33 = 64 = 43 = 125 = 53 ….. Hypotese: Siste ledd v i rad nr n er gitt ved T(n) v(n) = (n-1)2 + 3(n-1) + 1 1. T(1) er sann siden v(1) = (1-1)2 + 3*(1-1) + 1 = 1 2. Anta at T(k) er sann for k  1, dvs siste ledd i rad nr k er gitt ved: v(k) = (k-1)2 + 3(k-1) + 1 3. Skal vise at siste ledd i rad nr k+1 er gitt ved: v(k+1) = ((k+1)-1)2 + 3((k+1)-1) + 1 = k2 +3k + 1 Fra forrige side har vi at differensen mellom parvise ledd i henholdvis rad nr k+1 og rad nr k er gitt ved: 2k. Siste ledd i rad nr k+1 vil derfor være 2k + 2 større enn siste ledd i rad nr k. Herav får vi at siste ledd v(k+1) i rad nr k+1 er gitt ved: v(k+1) = v(k) + [2k + 2] = [(k-1)2 + 3(k-1) + 1] + [2k + 2] = k2 - 2k k – k + 2 = k2 + 3k + 1

18 Eksempel 7a Økning av antall områder i planet - Hypotese
En mengde av linjer i planet sies å være i generell posisjon hvis ingen par av linjer er parallelle og ingen sett av tre linjer skjærer hverandre i et felles punkt. Vi ønsker å bestemme antall områder i planet dannet av n linjer i generell posisjon. n=0 linje: 1 område n=1 linje: 2 områder n=2 linjer: 4 områder n=3 linjer: 7 områder 5 4 6 1 3 1 1 1 7 4 2 2 2 3 For 1 i  3 ser vi at linje nr i øker antall områder med i. Hypotese: Addering av en ny linje til n-1 linjer i generell posisjon øker antall områder med n.

19 Eksempel 7a Økning av antall områder i planet - Induksjonsbevis
T(n): Addering av en ny linje til n-1 linjer i generell posisjon i planet øker antall områder med n. n=0 linje n=1 linje 1. T(1) er sann, siden ingen linjer gir ett område og en linje gir 2 områder, dvs linje nr 1 øker antall områder med 1 (fra 1 til 2). 2. La oss anta at T(k) er sann, dvs addering av en ny linje (linje nr k) til k-1 eksisterende linjer i generell posisjon øker antall områder med k. 3. Vi skal vise at da må T(k+1) være sann, dvs addering av en ny linje (linje nr k+1) til k eksisterende linjer i generell posisjon øker antall områder med k+1. Siden alle linjene er i generell posisjon, kan ikke en linje kun berøre et område i en kant, en linje kan kun enten dele et område i to deler (hvilket medfører at antall områder øker med 1) eller være disjunkt med området. Derfor er det tilstrekkelig å vise at linje nr k+1 går gjennom nøyaktig k+1 områder. 1 1 2 R linje nr k +1

20 Eksempel 7a Økning av antall områder i planet - Induksjonsbevis
T(n): Addering av en ny linje til n-1 eksisterende linjer i generell posisjon i planet øker antall områder med n. R Økning 1 La oss nå fjerne linje nr k. I følge induksjonshypotesen (pkt 2), vil nå linje nr k+1 (siden vi med linje nr k+1 nå har k linjer) øke antall områder med k. Derfor er det nå tilstrekkelig å vise at tilstedeværelsen av linje nr k, medfører at linje nr k+1 øker antall områder med 1 i forhold til økningen pga linje nr k+1 når linje nr k ikke er tilstede. Linje nr k og linje nr k+1 skjærer hverandre i et punkt p som må være innenfor et område R. Begge linjene skjærer derfor R. Hver av disse to linjene deler R i to deler, men til sammen deler de R i fire deler. Derfor vil tilstedeværelsen av linje nr k medføre at linje nr k+1 øker antall områder i R med 2 i stedet for 1, dvs en differens på 1. Siden linje nr k og linje nr k +1 kan skjære hverandre kun en gang (her i R), så følger at linje nr k+1 øker antall områder med k + 1. k +1 k Økning 2 k k +1

21 Eksempel 7b Antall områder i planet - Induksjonsbevis
T(n): Antall områder i planet dannet av n linjer i generell posisjon er gitt ved: n=0 linje: 1 område n=1 linje: 2 områder n=2 linjer: 4 områder n=3 linjer: 7 områder 5 4 6 1 3 1 1 1 7 4 2 2 2 3 Bevis: Ingen linje gir ett område. Linje nr n medfører en område-økning lik n (første del av eks 7). Videre benyttes (se eks 1) at summen de n første naturlige tall er gitt ved: Herav får vi: n=0 1 n=1 1+1 n= n= n=

22 Eksempel 8 Fargelegging - Hypotese
Vi har n distinkte linjer i planet (trenger ikke være linjer i generell posisjon). To ulike områder sies å være naboer hvis de har en kant felles. Områdene kalles fargelagt hvis ingen naboer har samme farge. På figuren nedenfor vises områder dannet av henholdsvis 0, 1, 2 og 3 linjer. Områdene er fargelagt med to farger (1 og 2). n=0 linje n=1 linje n=2 linjer n=3 linjer 1 2 2 1 1 1 1 1 1 2 2 2 2 1 Hypotese: Det er mulig å fargelegge områder dannet av et vilkårlig antall linjer med kun to farger.

23 Eksempel 8 Fargelegging - Induksjonsbevis
1 T(n): Vi har n linjer i planet. Det er mulig, vha kun to farger, å fargelegge områdene dannet av disse linjene. 2 1 1 2 Bevis: 1. T(1) er sann siden vi har to områder og to farger fargelegger disse. 2. Anta at T(k) er sann, dvs alle områder med antall linjer  k kan fargelegges. 3. Vi skal vise at da er T(k+1) sann, dvs alle områder med antall linjer ≤ k+1 kan fargelegges. Strategi: Alle områder på den ene siden av linje nr k+1 beholder farge, alle områder på den andre siden av linje nr k+1 endrer farge. Gyldig fargelegging fordi: Betrakt to nabo-områder P og Q. Hvis de ligger på samme side av linje nr k+1, så hadde de opprinnelig ulik farge, og vil også ha ulik farge etterpå (mulig switching), hvis ikke hadde de opprinnelig samme farge, og vil nå få ulik farge siden en av dem må bytte farge. 2 1 1 2 2 1 1 k+1 2 2 2 1 1 2 Områder ’over’ linje nr k+1 beholder farge, områder ’under’ skifter farge.

24 Eksempel 9 Algoritmestudier – Loop invariant – Totallsystemet
16-tallsystemet (hexadesimalt) : = D*161 + F* = DF16 10-tallsystemet (desimalt) : = 2* * * = 23910 8-tallsystemet (oktalt) : = 3*82 + 5*81 + 7* = 3578 2-tallsystemet (binært) : = 1*27 + 1*26 + 1*25 + 0*24 + 1*23 + 1*22 + 1*21 + 1*20 = DIV : Heltallsdivisjon MOD : Divisjonsrest n 2 DIV MOD 239 : 2 = 119 1 : 2 = 59 1 : 2 = 29 1 : 2 = 14 1 : 2 = 7 0 : 2 = 3 1 : 2 = 1 1 : 2 = 0 1 b = Decimal_to_Binary (t) s := t k := 0 WHILE s > 0 DO b[k] := s MOD 2 s := s DIV 2 k := k + 1 ENDWHILE RETURN b Hypotese: Den binære representasjonen av det desimale tallet t returneres i arrayen b i rutinen Decimal_toBinary, dvs b[0..n] representerer de n+1minst signifikante bit.

25 Eksempel 9 Algoritmestudier – Loop invariant – Totallsystemet - Induksjonsbevis
DIV : Heltallsdivisjon DIVk : Heltallsdivisjon k ganger MOD : Divisjonsrest Decimal_to_Binary (t) s := t k := 0 WHILE s> 0 DO b[k] := s MOD 2 s := s DIV 2 k := k + 1 ENDWHILE RETURN b T(n): Den binære representasjonen av det desimale tallet t returneres i arrayen b i rutinen Decimal_toBinary, dvs b[0..n] representerer de n+1minst signifikante bit.

26 Eksempel 10 Algoritmestudier – Maks sammenhengende delsekvens Problem
Gitt en sekvens x1, x2, …, xn av reelle tall. Finn maksimal sum av sammenhengende delsekvenser. Eks: Gitt sekvensen S = (2, -3, 1.5, -1, 3, -2, -3, 1) Den sammenhengende delsekvensen som gir maksimal sum er SM = (1.5, -1, 3) og summen er 3.5. SM kalles for maksimal sammenhengende delsekvens. S = (2, -3, 1.5, -1, 3, -2, -3, 1) SM = (1.5, -1, 3)

27 Eksempel 10 Algoritmestudier – Maks sammenhengende delsekvens Hypotese
T(n): Gitt en sekvens x1, x2, …, xn av reelle tall. Vi vet hvordan vi skal finne: Maksimal sammenhengende delsekvens SM og maksimal sum av sammenhengende delsekvenser. T(1) er sann. S = (x1) Hvis x1 er positiv, lar vi den sammenhengende delsekvensen være SM = (x1) med sum x1, hvis ikke lar vi delsekvensen være den tomme sekvens med sum = 0. T(k): Vi antar at vi vet hvordan vi skal finne maksimal sammenhengende delsekvens SM for sekvenser av lengde  k. T(k+1): Vi skal vise at vi kan bestemme hvordan vi kan finne maksimal sammenhengende delsekvens SM for sekvenser av lengde  k+1.

28 Eksempel 10 Algoritmestudier – Maks sammenhengende delsekvens Induksjonsbevis
T(k+1): Gitt sekvensen S = (x1, x2, …, xk+1). Iflg induksjonshypotesen T(k) vet vi hvordan vi skal finne maksimal delsekvens i sekvensen S’ = (x1, x2, …, xk). Hvis S’M er tom, så er alle elementene i S’ negative, og vi trenger kun å studere xk+1. Anta nå at S’M = (xi, xi+1, …, xj)  i  j  k Hvis j = k (dvs S’M er en endesekvens), så er det enkelt å finne SM: Hvis xk+1 er positiv, så utvides S’M til SM, hvis ikke så settes SM = S’M, Hvis j < k (dvs S’M er ikke en endesekvens), finnes to muligheter: - S’M forblir maksimal sammenhengende delsekvens - Det finnes etter utvidelse med xk+1 en annen maksimal delsekvens som ikke er maksimal i S’. Nøkkelen til det siste problemet er å styrke induksjonshypotesen,

29 Eksempel 10 Algoritmestudier – Maks sammenhengende delsekvens Styrket induksjonshypotese
T(k): Gitt sekvensen S’ = (x1, x2, …, xk). Vi vet vi hvordan vi skal finne maksimal delsekvens og hvordan vi skal finne maksimal endesekvens i sekvensen S’ = (x1, x2, …, xk). Algoritmen blir enkel hvis vi kjenner begge delsekvenser. T(k+1): Vi adderer xk+1 til den maksimale endesekvensen. Hvis summen er større enn gjeldende globale maksimum, så har vi en ny maksimal delsekvens og også en ny maksimal endesekvens, hvis ikke beholder vi den forrige maksimale delsekvensen og setter maksimal endesekvens lik den tomme mengde (med sum 0) hvis maksimal endesekvens med addering av xk+1 er negativ.

30 Eksempel 10 Algoritmestudier – Maks sammenhengende delsekvens Algoritme
Max_Consecutive_Subsequence (s,n) globalMax := 0 suffixMax := 0 FOR (i := 1 TO n) DO IF (suffixMax + s[i] > globalMax) THEN suffixMax := suffixMax + s[i] globalMax := suffixMax ELSE IF (suffixMax + s[i] > 0) THEN ELSE ENDIF ENDFOR

31 Eksempel 11 Algoritmestudier – Container - Problem
Vi skal pakke en container og ønsker maksimal plass-utnyttelse

32 Eksempel 11 Algoritmestudier – Container - 1-dim - Problem
Vi begrenser oss til et en-dimensjonalt problem. Alle objektene har samme grunnflate. Vi ønsker å studere hvorvidt vi kan utnytte container-plassen eksakt. H Container i hi Gitt et heltall H og n objekter av varierende størrelse med størrelse av objekt nr i lik hi. Finn en delmengde av objekter slik at sumstørrelsen er lik H eller at ingen slik delmengde finnes.

33 Eksempel 11 Algoritmestudier – Container - 1-dim - Induksjon
P(i,h) : Problem med de første i objekter og totalstørrelse h T(n) : Vi vet hvordan vi løser P(n,H) T(1) : Sann siden P(1,H) er opplagt. P(1,H) er sann hvis h1 = H, usann ellers. T(k) : Vi antar at vi vet hvordan vi løser P(k,H). T(k+1) : Vi skal vise at vi kan løse P(k+1,H). Hvis vi har en løsning av P(k,H), så er løsningen av P(k+1,H) opplagt: Vi lar være å benytte objekt nr k+1. Hvis vi foreløpig ikke har en løsning av P(k,H), så må følgende to problemer løses: P(k,H) og P(k,H-hk+1). Styrket hypotese T(n) : Vi vet hvordan vi skal løse P(n,h) for alle 0  h  H

34 Eksempel 11 Algoritmestudier – Container - 1-dim - Styrket induksjon Eks
T(n) : Vi vet hvordan vi skal løse P(n,h) for alle 0  h  H 0 : En løsning uten gjeldende objekt er funnet : En løsning med gjeldende objekt er funnet : Ingen foreløpig løsning er funnet : - i siste linje indikerer at ingen løsning for gitt h er funnet h h1 = h2 = h3 = h4 =

35 Eksempel 11 Algoritmestudier – Container - Algoritme
P[i,k].exist true hvis det finnes en løsning med de første i objekter og total-størrelse k P[i,k].belong true hvis objekt nr i tilhører denne løsningen Container (S,n,K) P[0,0].exist := true FOR (k := 1 TO K) DO P[0,k].exist := false ENDFOR FOR (i := 1 TO n) DO FOR (k := 0 TO K) DO P[i,k].exist := false IF (P[i-1,k].exist) THEN P[i,k].exist := true P[i,k].belong := false ELSE IF (k-S[i] >= 0) THEN IF (P[i-1,k-S[i]].exist THEN P[i,k].exist := true P[i,k].belong := true ENDIF RETURN P

36 Eksempel 12 Algoritmestudier – GPS - Problem
Finn korteste reiserute fra A til B

37 Eksempel 12 Algoritmestudier – GPS - Induksjon - Hypotese
B A x T(n): Gitt en n x n vektmatrise med alle eventuelle direkteforbindelser mellom ulike steder. Vi vet hvordan vi skal finne: Korteste vei mellom to vilkårlige steder A og B. T(2) er sann (to steder). Hvis det finnes en direkteforbindelse mellom de to stedene A og B, så er korteste vei mellom disse to stedene lik denne direkteforbindelsen, hvis ikke er korteste vei uendelig. T(k): Vi antar at vi vet hvordan vi skal finne korteste vei mellom to steder med antall steder  k. T(k+1): Vi skal vise at vi kan bestemme korteste vei mellom hvordan vi kan finne korteste vei mellom to steder med antall steder  k+1.

38 Eksempel 12 Algoritmestudier – GPS - Induksjon - Induksjonsbevis
k steder T(k): Vi antar at vi vet hvordan vi skal finne korteste vei mellom to steder A og B med antall steder  k. Sted nr k+1 T(k+1): Vi skal vise at vi kan bestemme korteste vei mellom to steder A og B med antall steder  k+1. Siden vi antar (T(k)) at vi vet hvordan vi skal finne korteste vei mellom to steder A og B for antall steder  k, så er det tilstrekkelig å undersøke for hvert par av punkter hvorvidt veien blir kortere ved å tillate å gå innom sted nr k+1. Q Korteste vei-matrise for k steder new = k + 1 Sted nr k+1 new := k + 1 FOR (i := 1 TO new) DO FOR (j := 1 TO new ) DO Q[i,j] := min(Q[i,j],Q[i,new] + Q[new,j] ENDFOR RETURN Q

39 Eksempel 12 Algoritmestudier – GPS - Algoritme
Shortest_Path (W,Q,n) Q = W FOR (k := 1 TO n) DO FOR (i := 1 TO n) DO FOR (j := 1 TO n ) DO Q[i,j] := min(Q[i,j],Q[i,k] + Q[k,j] ENDFOR RETURN Q

40 Kommentar Ingen tror på en hypotese unntatt opphavspersonen,
mens alle tror på et eksperiment unntatt eksperimentatoren. Anon Det opplagte er alltid fienden til det korrekte. Bertrand Russell ( )

41 END


Laste ned ppt "Matematisk Induksjon."

Liknende presentasjoner


Annonser fra Google