Matematisk Induksjon.

Slides:



Advertisements
Liknende presentasjoner
Klikk Aktiver redigering i meldingsfeltet.
Advertisements

Litt mer om PRIMTALL.
Dato: EØS-utvidelsen – Tillatelser med formål arbeid Avdeling for faglig strategi og koordinering, Enheten for statistikk og analyse Desember
Hva er PRIMTALL?.
Gjenfinningssystemer og verktøy II
Kap 04 Lister. Listestrukturer Listestrukturer hensiktsmessige ved såkalte flyktige tabeller (tabeller med relativt mye innsetting/sletting)
Kontrollstrukturer (Kapittel 3)
The Travelling Salesperson. LOG530 Distribusjonsplanlegging 2 2 Et forsyningsskip skal starte fra VestBase for å betjene 10 forskjellig installasjoner.
En innføring i spillet: Dobbeltkrig – Grønn
23 Finn ligningen for det planet  som inneholder linja
Grunnleggende spørsmål om naturfag
Test av skjermer på fergene Horten - Moss
Kap.8 Sortering og søking sist oppdatert • Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse • Del 2 Sortering - ”gamle”
Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad Redigert og forelest av Gleb Sizov.
Kap 05 Betinget sannsynlighet
Resultater Kundesenter
Noen hoderegningstriks
Forelesning nr.2 INF 1411 Elektroniske systemer
Gjenfinningssystemer og verktøy II
Gjenfinningssystemer og verktøy II
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no
Forelesningsnotater SIF8039/ Grafisk databehandling
Øvingsforelesning 9 Flytnettverk, maksimum flyt og
Eksempel AOA (Activity On Arc)
1 Øvingsforelesning Andreas Knudsen Nils Grimsmo
Kompleksitetsanalyse
Øvingsforelesning 12 Redusering av problemer,
Mer grunnleggende matte: Forberedelse til logistisk regresjon
Om Øvelse 7 Stoff relatert til øvelse 7 Generering av tilfeldige tall Bruk ting vi har lært før.
INF 295 Forelesning 15 - kap 9 Grafer Hans Fr. Nordhaug (Ola Bø)
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
P-MP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Tildeling av snødeponeringssted. LOG530 Distribusjonsplanlegging 2 2 Kommunen skal kommende vinter frakte snø fra 10 soner til 5 deponeringssteder. Snøen.
The Postmans Problem. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. Dette er et eksempel på den klassiske.
P-CP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Repetisjon kap 6,7,8.
Klargjøring fra forrige gang
Kap 06 Diskrete stokastiske variable
Parameteriserte kurver
Chapter 02 Wavelets - Lineær algebra
Komplekse tall Naturlige tall
Oppgaver 1)Vi anser hvert av de seks utfallene på en terning for å være like sannsynlig og at to ulike terningkast er uavhengige. a)Hva er sannsynligheten.
Øvingsforelesning 9 - Børge Rødsjø
Algoritmer og Datastrukturer
1 Kap 08 Kø. 2 Kø - Definisjon En kø (eng queue) er en lineær struktur hvor elementer kan innsetttes kun i den ene enden av listen, kalt bak, og fjernes.
Kap 02 Tabeller / Tabelloperasjoner. Enkeltvariable Les inn nedbørmengde for årets 12 måneder: Les n1 Les n2 … Les n12 n1 n2 n12.
Kap 10 Graf.
Ch 4 INTEGRASJON Integrasjon innebærer å finne alle funksjoner F som har f derivert. Disse funksjoner kalles antiderivert av f og formelen for de er det.
INF 295 Forelesning 16 - kap 9 Minimalt spenntre og korteste vei i grafer Hans Fredrik Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 10 Invarianter og Hashing Hans Fr. Nordhaug (Ola Bø)
Formelmagi 27-1 Litt matematikk før vi går løs på superposisjon Sum og integrasjon: Når en sum har et stort antall ledd, kan det kan lønne seg å summere.
A randomized protocol for signing contracts (extended abstract) S.Even, O. Goldreich, A.Lempel.
Hovedfagspresentasjon
Trekanter med vinkler på 30, 60 og 90 grader
1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon.
INF 4130 Eksamen 2008 Gjennomgang.
Magnus Haug Algoritmer og Datastrukturer
SINTEF-undersøkelsen om salting og trafikksikkerhet
Michael F. AtiyahIsadore M. Singer Om Atiyah-Singer Indeks-teoremet Professor John Rognes Universitetet i Oslo.
Alg. Dat Øvingsforelesning 11 Dynamisk programmering, grådighet
En formel er gyldig hviss den sann i alle tolkninger Utsagnslogikk Tolkning = linje i sannhetsverditabell Altså: En formel er gyldig hviss den har T i.
Sorterings- Algoritmer Algoritmer og Datastrukturer.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Hypotesetesting, og kontinuerlige stokastiske variable
LOG530 Distribusjonsplanlegging
Matematikk 1 årskurs 26. oktober 2009
§4. Irrasjonale og komplekse tall
INF 295 Algoritmer og datastrukturer Forelesning 23 Kompleksitet Hans Fr. Nordhaug/ Ola Bø.
Undervisningsopplegg laget av Johan Nygaard for Vitenfabrikken i Sandnes Induksjonsbevis.
Utskrift av presentasjonen:

Matematisk Induksjon

Matematisk induksjon Anvendelser - Bevisteknikk Matematisk formel Algoritme-analyse Områder med fargelegging Container GPS 5 6 1 7 4 2 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.

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.

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

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.

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).

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.

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:

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.

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.

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.

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.

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.

Eksempel 6 Sum av hver rad i ’odde-trekant’ - Hypotese 1 = 1 = 13 3 + 5 = 8 = 23 7 + 9 + 11 = 27 = 33 13 + 15 + 17 + 19 = 64 = 43 21 + 23 + 25 + 27 + 29 = 125 = 53 ….. Hypotese: Sum av elementene i rad nr n er lik n3

Eksempel 6 Sum av hver rad i ’odde-trekant’ - Hypotese 1 = 1 = 13 3 + 5 = 8 = 23 7 + 9 + 11 = 27 = 33 13 + 15 + 17 + 19 = 64 = 43 21 + 23 + 25 + 27 + 29 = 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

Eksempel 6 Sum av hver rad i ’odde-trekant’ - Hypotese 1 = 1 = 13 3 + 5 = 8 = 23 7 + 9 + 11 = 27 = 33 13 + 15 + 17 + 19 = 64 = 43 21 + 23 + 25 + 27 + 29 = 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 + 1 + 3k – 3 + 1 + 2k + 2 = k2 + 3k + 1

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.

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

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

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=2 1+1+2 n=3 1+1+2+3 n=4 1+1+2+3+4

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.

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.

Eksempel 9 Algoritmestudier – Loop invariant – Totallsystemet 16-tallsystemet (hexadesimalt) : 23910 = D*161 + F*160 = DF16 10-tallsystemet (desimalt) : 23910 = 2*102 + 3*101 + 9*100 = 23910 8-tallsystemet (oktalt) : 23910 = 3*82 + 5*81 + 7*80 = 3578 2-tallsystemet (binært) : 23910 = 1*27 + 1*26 + 1*25 + 0*24 + 1*23 + 1*22 + 1*21 + 1*20 = 11110111 2 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 20 21 22 23 24 25 26 27 b = 1 1 1 0 1 1 1 1 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.

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.

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)

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.

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) 1  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,

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.

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

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

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.

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

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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 h1 = 2 0 - 1 - - - - - - - - - - - - - - h2 = 3 0 - 0 1 - 1 - - - - - - - - - - - h3 = 5 0 - 0 0 - 0 - 1 1 - 1 - - - - - - h4 = 6 0 - 0 0 - 0 1 0 0 1 0 1 - 1 1 - 1

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

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

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.

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

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

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 (1872-1970)

END