1 Bevisteknikker. 2 Bevisteknikker (relevant både ved design og verifikation) Teorem: Der findes uendeligt mange primtal Bevis: Antag at der findes et.

Slides:



Advertisements
Lignende præsentationer
Ligninger og uligheder
Advertisements

Cosinusrelationerne De sidste formler i skal kunne er cosinusrelationerne eller Den udvidede Pythagoras’ sætning som den også kaldes. I modsætning til.
Separation af de variable
Beregning af a og b Når man kender to forskellige punkter (x1;y1) og (x2;y2), så gælder:
Parabler, 2. gradspolynomier og 2.gradsligninger
1 Problemkompleksitet 2 Problemers kompleksitet En ineffektiv algoritme: køretiden vokser eksponentielt med input- størrelsen Et problem, der ikke kan.
Logaritmefunktioner (skal bruges til at løse ligninger)
Perspektivgeometri.
Funktioners parametre Beviser
Udsagn (propositioner)
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
Königs uendelighedslemma
1 Rekursion og algoritmedesign. 2 Rekursion Rekursiv definition af X: X defineres i termer af sig selv. Rekursion er nyttig, når en generel version af.
Sammenligning af to grupper – kapitel 7
Induktionsbevis AM INDUKTION – generalisering ud fra specialtilfælde Eks. I Fremskrivningsformlen ved en fast vækstrate r pr. trin. Startværdi =
Anden information Bettina Dahl Søndergaard Lektor Hvad er svært ved beviser for gymnasieelever - og kan vi gøre noget ved det? Fredag den 18. marts 2011.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 4. november 2005.
Validering af data (Access, del 7)
Reduktion AM 2009.
Parabler, 2. gradspolynomier og 2.gradsligninger
Eksponentielle funktioner
FEN Diskret matematik/Seminar 3 - proofs 1 Beviser Et bevis er en argumentation, som overbeviser om, at en påstand er sand, påstanden kaldes.
Areal og bestemt integral
1 UNION-FIND. 2 inddata: en følge af heltalspar (p, q); betydning: p er “forbundet med” q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel.
Induktion og rekursion
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
FEN Rekursion og induktion1 Induktion og (især) rekursion Mange begreber defineres ud fra en basis og så en gentagen anvendelse af et antal regler.
Videnskabsteori - for begyndere 3g AT 2014
FEN KbP/seminar2: LoopsReview1 Kontraktbaseret programmering Seminar 2 Udvikling af løkker: Checklisten for løkker “Hånd-i-hånd” udvikling.
1 Sortering I elementære metoder. 2 Plan Terminologi Elementære metoder til sortering -sortering ved udvælgelse -sortering ved indsættelse -Shellsort.
Afledet funktion Her har jeg tegnet f(x) og f’(x)=g(x)
1 Vi ser nu på en general graf Men antager at alle afstande er heltallige (Det er ikke så restriktivt) Algoritmen leder efter den mindst mulige dækningsdistance.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel 2.3, , problem 30.1.c] Gerth Stølting Brodal.
1 Algoritmik ved Keld Helsgaun. 2 Plan Algoritmebegrebet et simpelt eksempel Et eksempel på algoritmedesign.
1 Rekursion og algoritmedesign. 2 Rekursion Matematisk induktion Rekursion Simple eksempler Kryptering Plan Designmetoder Del-og-hersk Dynamisk programmering.
W1b1 PC baseret analyse og simulering. w1b2 Definition Digital Elektronisk beregningsmaskine, der har intern hukommelse til lagring af program og mellem-regninger.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
1 Design, analyse og verifikation. 2 Algoritmebegrebet Design Bevisteknikker Design ved hjælp at matematisk induktion Analyse O-notation Logaritmer Binær.
1 JavaScript Lektion 6: Repetition i JavaScript Math TIDY Litteratur: JST lektion 10.
FEN KbP/seminar 1: Specifikationer/Notationen Q 1 Kontraktbaseret programmering: Seminar 1 Om specifikationer Algoritmenotationen Q.
Design, verifikation og analyse
1 Design, analyse og verifikation. 2 Design Bevisteknikker Design ved hjælp at matematisk induktion Analyse O-notation Logaritmer Binær søgning Verifikation.
1 While Tæller-kontrolleret (eng.: counter-controlled) repetition For Steen Jensen, efterår 2013.
FEN IntroJava AAU1 Loops og algoritmer Sweep – for-loop Søgning – while-loop.
1 Sortering. 2 Sortering ved fletning (merge-sort) 7 2 | 9 4  | 2  2 79 | 4   72  29  94  4.
FEN KbP/seminar1: ProgUdsagn1 Kontraktbaseret programmering Seminar 1 Programudsagn og programbeviser.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 9. november 2004.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation og dataproblemer 2. november 2004.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Jörg ZellerFOL-modul31 Slutning: Logik som tænknings-model En hovedgrund for konstruktionen af et logisk sprog er at kunne give en præcis definition af.
Semantik, model teori Et (formalt) sprog har ingen mening indtil man interpreterer dets forskellige (korrekte) udtryksformer (vff’s) mhp. en bestemt situation.
Længste plateau En klassisk problemstilling (Gries, 1981) - og her i Java!!! Denne opgave drejer sig om at bestemme længden af det længste plateau i en.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
Basics: Binære variable, logiske operationer
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Trinvis forfinelse Systematisk, gradvis udvikling af programmer.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Økonometri 1: F71 Økonometri 1 Inferens i den lineære regressionsmodel 29. september 2006.
Konference om mundtlige prøver PRØV! Et program til de mundtlige prøver.
Quiz Uge 2 – mandag.
Quiz Uge 2 – mandag.
Quiz Uge 2 – mandag.
Induktionsbevis AM 2010.
Præsentationens transcript:

1 Bevisteknikker

2 Bevisteknikker (relevant både ved design og verifikation) Teorem: Der findes uendeligt mange primtal Bevis: Antag at der findes et endeligt antal primtal, p 1, p 2,..., p k Betragt nu tallet N = p 1. p 2... p k +1 N er forskellig fra alle kendte primtal Men ingen af de kendte primtal går op i N (resten ved division er 1) Så N er et primtal Vi har dermed en modstrid, hvilket beviser sætningen Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid

3 Matematisk induktion uformel beskrivelse Hvis (1) jeg kender den forreste person, og (2) hvis jeg for enhver person, jeg kender i køen, også kender dennes efterfølger, så kender jeg alle personer i køen. Også selv om køen er uendelig lang Nogle personer står i kø:

4 Lad T være et teorem, der skal bevises, og lad T være udtrykt i termer af heltalsparameteren n Teoremet T gælder da for enhver værdi af n ≥ c, hvor c er en konstant, hvis følgende to betingelser er opfyldt: 1. Basistilfældet: T gælder for n = c, og 2. Induktionsskridtet: Hvis T gælder for n-1, så gælder T for n Matematisk induktion formel beskrivelse Antagelsen i induktionsskridtet kaldes induktionshypotesen.

5 Eksempler på induktion Teorem: Summen S(n) af de første n naturlige tal er n(n+1)/2 Bevis: (1) Basistilfældet. For n = 1 er S(1) =1, hvilket stemmer med formlen (2) Induktionsskridtet. Antag at sætningen gælder for n-1, d.v.s. S(n-1) = (n-1)n/2 S(n) = S(n-1) + n = (n-1)n/2 + n = n(n+1)/2 Dermed gælder sætningen også for n

6 Bevis: (1)Basistilfældet. 4 kroner kan veksles ved hjælp af to 2-kroner. (2) Induktionsskridtet. Antag at n-1 kroner kan veksles. Vi kan vise, at denne veksling kan benyttes som udgangspunkt til at veksle n kroner Enten indeholder vekslingen en 5-krone, eller også gør den det ikke I første tilfælde erstattes 5-kronen med tre 2-kroner I andet tilfælde erstattes to 2-kroner med en 5-krone Teorem: Ethvert beløb ≥ 4 kroner kan veksles i et antal 2-kroner og et antal 5-kroner. Møntveksling

7 Stærk induktion Teoremet T gælder for enhver værdi af n ≥ c, hvor c er en konstant, hvis følgende to betingelser er opfyldt: 1. Basistilfældet: T gælder for n = c, og 2. Induktionsskridtet: Hvis T gælder for ethvert k, c ≤ k < n, så gælder T for n

8 Induktion kan benyttes ved design af algoritmer (1) Start med en vilkårlig instans af problemet (2) Prøv at løse dette under antagelse af, at det samme problem - men af mindre størrelse - er blevet løst Induktionsprincippet kan benyttes konstruktivt Løsning af små problemer benyttes til at løse større problemer

9 At ræsonnere om algoritmer Evnen til at drage logiske slutninger er nyttig ved algoritmedesign fejlfinding forbedringer verifikation (bevis for korrekthed)

10 En algoritme A siges at være partielt korrekt, når der gælder følgende: Hvis A terminerer for et givet legalt input, så vil dens output være korrekt Verifikation af algoritmer Bevisførelse af partiel korrekthed foretages ved brug af påstande (assertions) En påstand er et logisk udsagn, der er knyttet til et givet punkt i algoritmen, og som er opfyldt, hver gang algoritmen når til dette punkt En algoritme A siges at være korrekt (eller totalt korrekt), hvis A er partielt korrekt, og A terminerer for ethvert legalt input

11 Påstande Før-betingelse (precondition) Et udsagn, som gælder før udførelsen af en eller flere sætninger Efter-betingelse (postcondition) Et udsagn, som gælder efter udførelsen af en eller flere sætninger Løkke-invariant (loop invariant) Et udsagn, som gælder umiddelbart før løkke-testen i en løkke

12 { m ≤ n }før-betingelse sort(a, m, n); { a[m] ≤ a[m+1] ≤... ≤ a[n] }efter-betingelse Eksempler på påstande i = m; while { a[m] ≤ a[m+1] ≤... ≤ a[i-1] ^ a[m.. i-1] ≤ a[i.. n] } løkke-invariant (i < n) { min = i; for (j = i + 1; j <= n; j++) if (a[j] < a[min]) min = j; x = a[i]; a[i] = a[min]; a[min] = x; i++; }

13 Regler for verifikation Tildeling: { P } { w > 2 } v = w; { P } { v > 2 } w Valg: {P} if (B) { P ^ B } S1;else { P ^ ¬ B } S2; w  v

14 Givet algoritmen q = 0; r = x; while (r >= y) { r = r - y; q = q + 1; } hvor x, y, q og r er heltal, x ≥ 0 og y > 0 Eksempel på verifikation (heltalsdivision) Bevis, at algoritmen bestemmer kvotienten q og resten r ved heltalsdivision af x med y, d.v.s. r = x - qy (0 ≤ r < y)

15 Bevisførelsen (1) Løkke-invarianten er opfyldt ved indgangen til løkken (2) Hvis løkke-invarianten er opfyldt i en given iteration, så er den også opfyldt i den efterfølgende iteration (3)Hvis algoritmen terminerer, så er dens efter-betingelse opfyldt (4) Algoritmen terminerer induktion

16 { x ≥ 0, y > 0 } algoritmens før-betingelse q = 0; r = x; while { r = x - qy ^ r ≥ 0 } løkke-invariant (r >= y) { r = r - y; q = q + 1; } { r = x - qy ^ 0 ≤ r < y } algoritmens efter-betingelse { r = x - qy ^ r ≥ y } { r = x - (q+1)y ^ r ≥ 0 }  { r - y = x - (q+1)y ^ r - y ≥ 0 }

17 q = 0; r = x; while (r >= y) { r = r - y; q = q + 1; } Algoritmen terminerer Terminering Bevis: Da y > 0, mindskes r ved hvert gennemløb af løkken Løkketesten må derfor blive falsk efter et endeligt antal gennemløb