1. Seminar EVU RegAut

Størrelse: px
Starte visningen fra side:

Download "1. Seminar EVU RegAut"

Transkript

1 1. Seminar EVU RegAut Sigurd Meldgaard Datalogisk Institut Århus Universitet 27/ S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

2 Plan Introduktion Hvad er Regularitet og Automater Praktiske oplysninger om kurset Regulære udtryk Induktionsbevis Frokost Endelige automater Skelnelighed, Produktkonstruktion Præsentation af Java projekt Eksempel: Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

3 Introduktion Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

4 Introduktion Hvad er formålet med Regularitet og Automater? At præsentere matematiske teknikker og centrale begreber, der anvendes i datalogi Rekursive definitioner, induktionsbeviser Formelle sprog Modeller for beregnelighed Regularitet ( egenskaber som generelt kendetegner beregningsprocesser i it-systemer med begrænset mange tilstande ) Fundament for andre kurser Logik og Beregnelighed Oversættelse, Sprog og Semantik Søgning og Optimering,... S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

5 Introduktion Tekstgenkendelse Specificere og genkende tekststrenge søgning i tekster (Unix grep) leksikalsk analyse i oversættere (flex) HTML input validering (PowerForms)... Konkret anvendelse af regulære udtryk og endelige automater S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

6 Introduktion Eksempel... S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

7 Introduktion Eks. HTML formularer HTML formularer indeholder input-felter, hvor brugeren kan indtaste tekststrenge. For eksempel datoer telefonnumre CPR-numre adresser URL er... S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

8 Introduktion HTML input valdidering Brugeren må ikke indtaste ugyldige strenge Den traditionelle løsning: Programmer input validering i JavaScript (til browseren så input valideres løbende mens formularen udfyldes), og Java (til serveren for det tilfælde at browseren ikke udfører JavaScript-koden) Problemer: Det er svært at programmere JavaScript, der virker på alle (nyere) browsere Vi skal skrive den samme kode i to forskellige sprog Store dele af koden skal skrives igen og igen... S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

9 Introduktion Den datalogiske løsning Analysér problemområdet Design et domæne-specifikt højniveau sprog Lav en oversætter, der genererer JavaScript- og Java-koden fra højniveau specifikationer Sproget PowerForms er udviklet efter denne metode Input-felter beskrives med regulære udtryk, der oversættes til endelige automater S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

10 Hvad er regularitet og Automater Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

11 Hvad er regularitet og Automater Grundliggende begreber Vi starter med nogle matematiske definitioner Et alfabet er en endelig mængde af tegn Ex. {a, b, c,...z} Ex. ASCII, Unicode Ex. {0, 1} En streng er en endelig sekvens af tegn fra alfabetet Ex. "onkel sune drejer den usle kno" Ex. "10110" Ex. " " (Den tomme streng. Skrives også Λ (andre steder ε)). Et sprog er en mængde af strenge Ex. {"hans", "ole"} Ex. {Λ, a, aa, aaa, aaaa,...} Ex. {} (Det tomme sprog) Ex. Alle korrekte danske sætninger S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

12 Hvad er regularitet og Automater Regulære udtryk Et regulært udtryk beskriver et sprog Regulære udtryk findes på 6 former 3 basis-tilfælde: den tomme mængde af strenge Λ mængden bestående af den tomme streng a Σ mængden bestående af en enkelt streng, som er det ene tegn a fra alfabetet Σ Og 3 Sammensatte tilfælde (rekursive tilfælde): r 1 + r 2 de strenge der beskrives af r 1 eller r 2 r 1 ṙ 2 de strenge der kan opdeles i to dele, så venstre del beskrives af r 1 og højre del af r 2 r de strenge der kan opdeles i et antal dele, der hver beskrives af r S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

13 Hvad er regularitet og Automater Eksempler på regulære udtryk Strenge over alfabetet {0, 1} med et lige antal tegn: ( ) eller ((0 + 1)(0 + 1)) Strenge over alfabetet {0, 1} med et ulige antal 1 er: 0 1(0 10 1) 0 eller 0 10 (10 10 ) Gyldige datoer, telefonnumre, CPR-numre, adresser, URL er,... S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

14 Hvad er regularitet og Automater Et mere realistisk eksempel Floating point tal i Pascal Eksempler på gyldige strenge: E Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,., +,, E} Forkortelser: d = r + = rr (mindst én af r) s = Λ Samlet udtryk: sd + (.d + +.d + Esd + + Esd + + Λ) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

15 Hvad er regularitet og Automater Genkendelse af strenge Givet en streng x, og et regulært udtryk r, hvordan ved vi om r matcher x Den naive metode: vi prøver os frem: matcher intet Λ matcher kun den tomme streng. a Σ matcher kun strengen bestående af den ene karakter a r 1 + r 2 matcher hvis r 1 matcher, eller r 2 matcher r 1 r 2 Opdel x så x = x 1 x 2 på alle mulige måder Og prøv om r 1 matcher x 1 og r 2 matcher x 2 r 1 Opdel x så x = x 1 x 2... x n på alle mulige måder. Og se om r 1 matcher alle x i for alle i = 1,..., n Det virker! Men det er håbløst ineffektivt. S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

16 Hvad er regularitet og Automater Endelige Automater (forsmag) En endelig automat der genkender strenge over alfabetet Σ = {0, 1} med et lige antal 0 er Automaten starter i den tilstand der er markeret med pilen Den spiser et tegn af gangen af strengen fra venstre mod højre Hvis den ender i tilstanden med dobbelt-cirkel, så accepterer den S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

17 Hvad er regularitet og Automater Kleenes sætning Regulære udtryk og endelige automater har samme udtrykskraft Konstruktivt bevis: For ethvert regulært udtryk findes en ækvivalent endelig automat For enhver endelig automat findes et ækvivalent regulært udtryk S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

18 Hvad er regularitet og Automater Powerforms eksempel Lad R være et regulært udtryk, der svarer til gyldige datoer på form dd/mm-åååå Oversæt R til en ækvivalent endelig automat F Repræsenter F som et JavaScript-program, der kan svare på om en streng x er: accepteret ikke accepteret, men der er en sti til accept ikke accepteret og ingen sti til accept S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

19 Hvad er regularitet og Automater Endelige automater til modellering af systemer Endelige automater er også nyttige uden regulære udtryk Endelige automater kan modellere systemer og egenskaber De teoretiske resultater om endelige automater kan bruges til at kombinere modeller og verificere om et givet system har en given egenskab S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

20 Hvad er regularitet og Automater En endelig automat, der modellerer en togsimulator (fra VisualSTATE) 1421 del-automater transitioner 2981 inputs 2667 outputs 3204 lokale tilstande Antal tilstande ialt: Virker toget? S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

21 Hvad er regularitet og Automater Beregnelighed input Program output Input og Output er strenge Program er en algoritme som kører på en maskine Eksempel: Givet et naturligt tal N i binær repræsentation som Input, beregn N 2 som output. S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

22 Hvad er regularitet og Automater Beslutningsproblemer input Program ja/nej Hvis vi ignorerer effektivitet, så kan alle beregningsproblemer omformuleres til beslutningsproblemer. Eksempel: Givet to naturlige tal N, M i binær repræsentation som Input, svar ja hvis og kun hvis N 2 = M S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

23 Hvad er regularitet og Automater Beslutningsproblemer som sprog Ethvert beslutningsproblem er et sprog (en mængde af strenge) L = {x P(X) = ja} Ethvert sprog L er også et beslutningsproblem: { ja hvis x L P(x) = nej ellers S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

24 Hvad er regularitet og Automater Eksempler på beslutningsproblemer Givet en streng x, er den en gyldig dato på form dd/mm-åååå? er den et syntaktisk korrekt Java program? er den et primtal? er den en konfiguration i skak hvor det er muligt for hvid at vinde? er den et semantisk korrekt Java-program? er den en syntaktisk korrekt sætning i dansk? er den en litterær klassiker? vi vil kun se på formelle sprog og veldefinerede problemer S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

25 Hvad er regularitet og Automater Endelige automater som model for beregnelighed Vi vil studere følgende emne: Hvilke problemer kan afgøres af en maskine med endeligt meget hukommelse? Med andre ord: Hvilke sprog kan genkendes af endelige automater? S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

26 Hvad er regularitet og Automater Mere generelle modeller for beregnelighed Pushdown-automater: endelige automater med adgang til en vilkårligt stor stak (last-in-first-out) anvendes ofte i parsere i oversættere svarer til kontekstfri grammatikker Turing-maskiner: ligesom endelige automater med adgang til en uendeligt stor notesblok kan udføre vilkårlige algoritmer (Church-Turing-tesen) svarer til uindskrænkede grammatikker (hvor endelige automater svarer til regulære grammatikker) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

27 Hvad er regularitet og Automater Klasser af formelle sprog Alle sprog (over et givet alfabet) Rekursivt enumerable sprog (svarer til Turing-maskiner) Kontekstfrie sprog Regulære sprog Endelige sprog Picture from S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

28 Hvad er regularitet og Automater Hvorfor så nøjes med regulære sprog Klassen af regulære sprog har mange pæne egenskaber: afgørlighed (f.eks, givet en FA M, accepterer den nogen strenge overhovedet? ) lukkethed (snit, forening,...) Til sammenligning: Ved Turing-maskiner er næsten alt uafgørligt (Rices sætning: alt interessant vedrørende sproget for en Turing-maskine er uafgørligt ) Pushdown-automater / kontekstfri grammatikker: en mellemting, både med hensyn til udtrykskraft og afgørlighedsegenskaber S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

29 Hvad er regularitet og Automater Uafgørlighed while (x 1) { if (even(x)) x = x/2; else x = 3 x+1; } Terminerer dette program på alle input x? Ja eller nej? Tilsyneladende ja, men ingen har endnu bevist det! Men vi kan bevise, at der ikke findes et program (=en Turing-maskine), der kan afgøre det generelle problem givet et program P, terminerer P på alle input? S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

30 Praktiske oplysninger Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

31 Praktiske oplysninger Praktiske oplysninger om kurset Hjemmeside: Seminarer: 27/ Fredag / Fredag / Fredag 9-16 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

32 Praktiske oplysninger Materiale John Martin Introduction to Languages and the Theory of Computation 3. udgave, McGraw-Hill, 2002 ISBN: eller Opgaver på ugesedlerne S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

33 Praktiske oplysninger Aktivitetsniveau Forventet aktivitet per uge ~ 15 timer 6 uger 15 timer/uge = 90 timer Seminarer: 21 timer Mellem seminarer: 69 Forventet hjemmearbejde ca. 11 timer per uge Det forventes at man: Læser de relevante kapitler i bogen Løser opgaverne Laver programmeringsprojektet S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

34 Praktiske oplysninger Opgaver Teoretiske opgaver udfordrer forståelsen af det gennemgåede materiale øvelse i typisk datalogisk matematik Programmeringsprojekt (dregaut Java-pakken) implementation af de gennemgåede algoritmer, der udledes af konstruktive beviser Øvelse i at implementere formelle specifikationer i Java. S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

35 Praktiske oplysninger Eksamen Mundtlig, ekstern censur, 7-skalaen 20 min. per person, uden forberedelsestid For at kunne indstilles til eksamen skal man have godkendt besvarelser af de obligatoriske opgaver S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

36 Regulære udtryk Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

37 Regulære udtryk Alfabeter, strenge og sprog Et alfabet Σ er en endelig mængde (af tegn/symboler) eks.: Σ = {a, b, c} En streng x er en endelig sekvens af tegn fra alfabetet eks.: x = abba Λ repræsenterer den tomme streng (strengen af længde 0), Λ / Σ Et sprog L er en (vilkårlig) mængde af strenge eks.: L = {Λ, cab, abba} Σ er mængden af alle strenge over Σ dvs. L Σ hvis L er et sprog over Σ eks.: hvis Σ = {a, b, c} så er Σ = {Λ, a, b, c, aa, ab, ac, aaa, aab,...} S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

38 Regulære udtryk Konkatenering af strenge Hvis x, y Σ, så er x y (konkateneringen af x og y) den streng, der fremkommer ved at sætte tegnene i x før tegnene i y Eks.: hvis x = abb og y = a, så er x y = abba y x = aabb Bemærk: x Λ = Λ x = x for alle x x y skrives ofte xy (uden ) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

39 Regulære udtryk Konkatenering af sprog Hvis L 1, L 2 Σ, så er L 1 L 2 (konkateneringen af L 1 og L 2 ) defineret ved L 1 L 2 = {x y x L 1 y L 2 } Eks.: Hvis Σ = {0, 1, 2, a, b, c} og L 1 = {Λ, 10, 212}, L 2 = {cab, abba} så er: L1 L2 = {cab, 10cab, 212cab, abba, 10abba, 212abba} Bemærk: L {Λ} = {Λ} L = L for alle L L = L = for alle L L 1 L 2 skrives ofte L 1 L 2 (uden ) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

40 Regulære udtryk Kleene stjerne Kleene stjerne er en måde at udtrykke 0 eller flere forekomster L k = LL }{{ L} (konkatenering af k forekomster af L) k gange L 0 = {Λ} (0 forekomster af L) L = i=0 Li (Kleene stjerne af L) L + = L L (1 eller flere forekomster) Eks.: Hvis L = {aa, b} så er L = {Λ, aa, b, aaaa, aab, baa, bb, aaaaaa,...} S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

41 Regulære udtryk Rekursive definitioner En definition er rekursiv, hvis den refererer til sig selv Eks.: Fibonacci f : N N { 1, hvis n = 1 n = 0 f (n) = f (n 1) + f (n 2), ellers Enhver selv-reference skal referere til noget mindre og dermed føre til endeligt mange selv-referencer S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

42 Regulære udtryk Rekursiv definition af strenge x er en streng over alfabetet Σ, dvs. x Σ hvis: x = Λ, eller x = y a hvor y Σ og a Σ (underforstået Σ er den mindste mænge der opfylder dette) Eksempel: abc = (((Λ a) b) c) Σ, (hvor Σ = {a, b, c, d}) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

43 Regulære udtryk Syntax af regulære udtryk Mængden R af regulære udtryk over Σ er den mindste mængde, der indeholder følgende: Λ a for hver a Σ (r 1 + r 2 ) hvor r 1, r 2 R (r 1 r 2 ) hvor r 1, r 2 R (r ) hvor r R S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

44 Regulære udtryk Semantik af regulære udtryk Sproget L(r) for r R er defineret rekursivt i strukturen af R L( ) = L(Λ) = {Λ} L(a) = {a} L((r 1 + r 2 )) = L(r 1 ) L(r 2 ) L((r 1 r 2 )) = L(r 1 )L(r 2 ) L((r )) = (L(r)) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

45 Regulære udtryk Regulære sprog Definition: Et sprog S er regulært hvis og kun hvis der eksisterer et regulært udtryk r hvor L(r) = S S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

46 Regulære udtryk Paranteser i regulære udtryk Forening og konkatenering er associative, så vi vælger at tillade f.eks. at (a + (b + c)) kan skrives a + b + c at (a(bc)) kan skrives abc Vi definerer præcedens for operatorerne: binder stærkest konkatenering binder middel + binder svagest Eks.: (a + ((b )c)) kan skrives a + b c S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

47 Regulære udtryk Eksempel Betragt følgende regulære udtryk r over alfabetet {0, 1}: r = (1 + Λ)001 På grund af parentesreglerne er dette det samme som r = ((((1 + Λ)0)0)1) Så sproget for r er L(r) = ((({1} {Λ}){0}){0}){1}) = {1001, 001} S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

48 Regulære udtryk Quiz 1 Hvad betyder {a, bc}? 2 Hvad er betingelsen for at et sprog S er regulært? S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

49 Regulære udtryk Øvelser [Martin] Opg. 3.2 [Martin] Opg. 3.9 (a-e) [Martin] Opg (a-b) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

50 Induktionsbevis Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

51 Induktionsbevis Reverse-operatoren Givet en streng x Σ, definer reverse(x) rekursivt i strukturen af x: reverse(λ) = Λ reverse(ya) = a(reverse(y)), hvor y Σ, a Σ Eksempel: reverse(123) = 3 reverse(12) =... = 321 reverse(λ) = 321 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

52 Induktionsbevis Reverse på et sprog Givet et sprog L Σ*, definer reverse(l) = {reverse(x) x L} Eksempel: Hvis L={Λ,123,abc} så er reverse(l) = {Λ, 321, cba} S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

53 Induktionsbevis Rekursion og induktionsbeviser Rekursive definitioner giver ofte anledning til induktionsbeviser Hvis vi skal bevise noget på form for alle X gælder P(X), hvor mængden af X er er defineret rekursivt, så kan vi prøve bevisteknikken induktion i strukturen af X S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

54 Induktionsbevis Eksempel på et induktionsbevis (1/3) Påstand: Hvis S er et regulært sprog, så er reverse(s) også regulært (dvs. de regulære sprog er lukkede under Reverse) Bevis: S er regulært, så der eksisterer et regulært udtryk r så L(r) = S Vi vil vise ved induktion i strukturen af r, at der eksisterer et regulært udtryk r hvor L(r ) = reverse(l(r)), hvilket medfører, at reverse(s) er regulært S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

55 Induktionsbevis Eksempel på et induktionsbevis (2/3) Basis r = : r = L( ) = = reverse( ) = reverse(l( )) r = Λ: r = Λ r = a: r = a S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

56 Induktionsbevis Eksempel på et induktionsbevis (3/3) Induktionsskridtet For alle deludtryk s af r kan vi udnytte induktionshypotesen: Der eksisterer et regulært udtryk s hvor L(s ) = Reverse(L(s)) r = r 1 + r 2 hvor r 1, r 2 R: vælg r = r 1 + r 2 hvor r 1 of r 2 er givet i induktionshypotesen. r = r 1 r 2 hvor r 1, r 2 R: vælg r = r 2 r 1 r = r 1 hvor r 1 R: vælg r = (r 1 ) Lemma 1: x, y Σ : reverse(xy) = reverse(y)reverse(x) Bevis: induktion i strukturen (eller længden) af y Lemma 2: i 0, E Σ : reverse(e i ) = (reverse(e)) i Bevis: induktion i i S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

57 Induktionsbevis Konstruktive beviser Bemærk at dette induktionsbevis implicit indeholder en algoritme til givet et regulært udtryk for S at konstruere et regulært udtryk for reverse(s) Sådanne beviser kaldes konstruktive Husk altid både konstruktionen og beviset for dens korrekthed S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

58 Induktionsbevis Algoritmen Input: et regulært udtryk r Definer en rekursiv funktion REV ved: REV ( ) = REV (Λ) = Λ REV (a) = a, hvor a Σ REV (r 1 + r 2 ) = REV (r 1 ) + REV (r 2 ) REV (r 1 r 2 ) = REV (r 2 ) REV (r 1 ) REV (r 1 ) = (REV (r 1)) Output: det regulære udtryk REV (r) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

59 Induktionsbevis Øvelse Lad r være det regulære udtryk ((a + Λ)cbc) over alfabetet {a, b, c}. Bevis at enhver streng i sproget sproget L(r) har et lige antal c er. Argumentér kort og præcist for hvert trin i beviset. Hint: Brug definitionen af sprog for regulære udtryk (Definition 3.1 i [Martin] ), definitionen af på sprog (s. 31 øverst i [Martin]), og lav induktion. S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

60 Induktionsbevis Løsninger [Martin] 3.2 a) 00 b) 01 c) 0 d) 010 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

61 Induktionsbevis Løsninger [Martin] 3.9 a) b) (0 + 1) 0(0 + 1) 0(0 + 1) c) Λ (0 + 1) ( ) d) ( )(0 + 1) + (0 + 1) ( ) e) (1 + 01) (0 + Λ) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

62 Induktionsbevis Løsninger [Martin] 3.10 a) The language of all strings containing an odd number of 1 s b) The language of all strings containing 3n or 3n + 1 characters for any natural number n S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

63 Endelige automater Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

64 Endelige automater Regulære udtryk vs endelige automater Regulære udtryk: deklarative dvs. ofte velegnede til at specificere regulære sprog Endelige automater: operationelle dvs. bedre egnet til at afgøre om en given streng er i sproget Ethvert regulært udtryk kan oversættes til en endelig automat og omvendt (bevises næste seminar...) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

65 Endelige automater En endelig automat En endelig automat, der genkender strenge over alfabetet Σ = {0, 1} med ulige antal 1 er: X Y 1 Automaten læser strengen ét tegn ad gangen, fra venstre mod højre Hvis automaten ender i en accept-tilstand, så accepteres(=genkendes) strengen S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

66 Endelige automater At køre en streng på en automat Eksempel: vi vil vide om strengen 1010 accepteres X Y Vi starter i starttilstanden og læser strengen ét tegn ad gangen Vi ender i en ikke-accept tilstand, så strengen accepteres ikke 1 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

67 Endelige automater Hvad repræsenterer tilstandende Hver tilstand repræsenterer en viden om den hidtil læste delstreng Eksempel: X Y X: der er læst et lige antal 1 er Y: der er læst et ulige antal 1 er 1 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

68 Endelige automater Formel definition af endelige automater En endelig automat (finite automaton/fa) er et 5-tupel (Q, Σ, q 0, A, δ) hvor Q er en endelig mængde af tilstande Σ er et alfabet q 0 Q er en starttilstand A Q er accepttilstandene δ : Q Σ Q er en transitionsfunktion S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

69 Endelige automater Eksempel Denne grafiske repræsentation af en automat: X Y svarer til 5-tuplet (Q, Σ, q 0, A, δ) hvor Q = {X, Y } Σ = {0, 1} q 0 = X A = {Y } δ : Q Σ Q er denne funktion: X X Y Y Y X S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

70 Endelige automater Hvorfor en formel definition Den formelle definition viser kort og præcist hvad en FA er For eksempel, en FA har endeligt mange tilstande den har præcis én starttilstand en vilkårlig delmængde af tilstandene kan være accepttilstande for enhver tilstand q og alfabetsymbol a er der én udgående transition (til tilstanden δ(q, a)) der er ikke noget krav om, at alle tilstande kan nås fra starttilstanden S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

71 Endelige automater Sproget af en automat 5-tupel-definitionen fortæller hvad en FA er Vi vil nu definere hvad en FA kan: En FA accepterer en streng, hvis dens kørsel fra starttilstanden ender i en accepttilstand Sproget L(M) af en FA M er mængden af strenge, den accepterer M genkender sproget L(M) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

72 Endelige automater Formel definition af L(M) Givet en FA M = (Q, Σ, q 0, A, δ), definer den udvidede transitionsfunktion δ : Q Σ Q ved { δ q hvis x = Λ (q, x) = δ(δ (q, y), a) hvis x = ya hvor y Σ og a Σ x Σ accepteres af M hvis og kun hvis δ (q 0, x) A Definer L(M) = {x Σ x accepteres af M} S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

73 Endelige automater Quiz Konstruer en FA så L(M) = Σ 0,1 L(M) = 0,1 L(M) = {a} a b a,b L(M) = {x Σ n a (x) lige og n b (x) ulige} a,b b b a a a a b b S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

74 Endelige automater Øvelser [Martin] Opg (e) [Martin] Opg [Martin] Opg (a-c) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

75 Skelnelighed, produktkonstruktion Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

76 Skelnelighed, produktkonstruktion Skelnelighed Givet et sprog L, hvor mange tilstande er nødvendige i en FA M hvis L(M) = L? To strenge, x og y, skal ende i forskellige tilstande, hvis der er behov for at kunne skelne dem: dvs., δ (q 0, x) δ (q 0, y) hvis z Σ : (xz L yz / L) (xz / L yz L) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

77 Skelnelighed, produktkonstruktion Definition af skelnelighed Lad L Σ og x, y Σ Kvotientsproget L/x defineres som L/x = {z Σ xz L} x og y er skelnelige mht. L hvis L/x L/y z skelner x og y mht. L hvis z L/x L/y eller z L/y L/x S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

78 Skelnelighed, produktkonstruktion Eksempel Hvis L = {s {0, 1} s ender med 10} x = 00 y = 01 så er x og y skelnelige mht. L Bevis: z = 0 skelner x og y Heraf kan vi se, at hvis M = (Q, Σ, q 0, A, δ) genkender L så er δ (q 0, x) δ (q 0, y) Uanset hvordan M ellers er opbygget. S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

79 Skelnelighed, produktkonstruktion Nødvendigt antal tilstande i en FA Antag x 1, x 2,..., x n Σ og for ethvert par x i, x j, i j er x i og x j skelnelige mht. L Enhver FA der genkender L har mindst n tilstande Bevis (skitse): Antag FA en har færre tilstande Det medfører at i j : δ (q 0, x i ) = δ (q 0, x j ) (skuffeprincippet) Det er i modstrid med at x i og x j var skelnelige mht. L S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

80 Skelnelighed, produktkonstruktion Eksempel 1: En stor automat Dette eksempel kan give intuition for begrebet skelnelighed Lad L 42 = {x {0, 1} x 42 og det 42. symbol fra højre i x er et 1} Lad x 1, x 2,..., x 2 42 være alle strenge af længde 42 over alfabetet {0, 1} Disse strenge er alle parvist skelnelige mht. L 42 En automat der genkender L 42 har derfor mindst 2 42 tilstande (...hvis den overhovedet findes) Bevis: x y må være forskellige i i te tegn fra venstre. Strengen z som skelner kan være 0 i 1 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

81 Skelnelighed, produktkonstruktion Eksempel 2: Palindromer Lad pal = {x {0, 1} x = reverse(x)} Lad x og y være vilkårlige forskellige strenge over {0, 1} x og y er skelnelige mht. pal (bevis: se bogen Theorem 3.3 side 109) Vi kan altså finde en vilkårligt stor mængde parvist skelnelige strenge, så pal er ikke regulært. S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

82 Skelnelighed, produktkonstruktion Forening af regulære sprog Givet to regulære sprog, L 1 og L 2 er L 1 L 2 også regulært? Ja! (dvs. klassen af regulære sprog er lukket under forening) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

83 Skelnelighed, produktkonstruktion Eksempel M1: (strenge med lige antal 0 er) X Y M2: (strenge der ender med 0) 0 A L(M) = L(M1) L(M2) B AX 0 0 AY 1 BX 0 0 BY S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

84 Skelnelighed, produktkonstruktion Produktkonstruktionen Antag vi har to FA er: M 1 = (Q 1, Σ, q 1, A 1, δ 1 ) M 2 = (Q 2, Σ, q 2, A 2, δ 2 ) Definer en ny FA: M = (Q, Σ, q 0, A, δ) hvor Q = Q 1 Q 2 (produktmængden af tilstande) q 0 = (q 1, q 2 ) A = {(p, q) p A 1 q A 2 } δ((p, q), a) = (δ 1 (p, a), δ 2 (q, a)) Der gælder nu: L(M) = L(M 1 ) L(M 2 ) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

85 Skelnelighed, produktkonstruktion Konstruktivt bevis for korrekthed Lemma: x Σ : δ ((p, q), x) = (δ 1 (p, x), δ 2 (q, x)) (Bevis: opgave 3.32, induktion i x) Brug lemmaet samt definitionerne af M og L( ) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

86 Skelnelighed, produktkonstruktion Nøjes med opnåelige tilstande Nøjes med opnåelige tilstande Produktkonstruktionen bruger Q = Q 1 Q 2 I praksis er hele tilstandsrummet sjældent nødvendigt Eksempel: X Y A B AX AY BX BY 1 1 Kun tilstande, der er opnåelige fra starttilstanden er relevante for sproget! S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

87 Skelnelighed, produktkonstruktion Snitmængde og differens Givet to regulære sprog, L 1 og L 2 er L 1 L 2 også regulært? er L 1 L 2 også regulært? Ja! (dvs. klassen af regulære sprog er lukket under snit og differens) Bevis: produktkonstruktion som ved men for, vælg A = {(p, q) p A 1 q A 2 } for, vælg A = {(p, q) p A 1 q / A 2 } S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

88 Skelnelighed, produktkonstruktion Komplement Givet et regulære sprog R er R (Rs komplement) også regulært? Ja! (dvs. klassen af regulære sprog er lukket under komplement) Bevis 1: Vælg L 1 = Σ og L 2 = R, hvorved R = L 1 L 2 Bevis 2: Givet en FA M = (Q, Σ, q 0, A, δ) hvor L(M) = R Definer M = (Q, Σ, q 0, Q A, δ) Derved gælder at L(M ) = R S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

89 Skelnelighed, produktkonstruktion Eksempel M: (Strenge der enten har et lige antal 0 er, eller slutter med 0) 1 1 AX AY BX BY 0 M : (Strenge der både har et ulige antal 0 er, og ikke slutter med 0) 1 1 AX AY BX BY 0 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

90 Skelnelighed, produktkonstruktion Øvelse [Martin] 3.33 (a-c) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

91 dregaut pakken Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

92 dregaut pakken dregexp Java-repræsentation af regulære udtryk Speciel syntax: # betyder % betyder Λ Alfabetet angives som en mængde af Unicode tegn Eks.: ((a + Λ)cbc) skrives som ((a+%))cbc)* S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

93 dregaut pakken dregaut pakken Udleverede programdele: FA.java: repræsentation af FA er Alphabet.java, State.java, StateSymbolPair.java, AutomatonNotWellDefinedException.java: hjælpeklasser til FA.java S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

94 dregaut pakken FA.java public class FA { public Set<State> states; // Q public Alphabet alphabet; // Σ public State initial; // q 0 Q public Set<State> accept; // A Q public Map<StateSymbolPair,State> transitions; // δ : Q Σ Q... } et Alphabet objekt indeholder mængde af Character objekter et StateSymbolPair objekt består af et State objekt og et Character objekt S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

95 dregaut pakken Nyttige metoder i FA.java FA() konstruerer uinitialiseret FA objekt FA(Alphabet a) konstruerer FA for det tomme sprog clone() kloner et FA objekt checkwelldefined() undersøger om FA objektet repræsenterer en veldefineret FA getnumberofstates() returnerer størrelsen af states settransition(state q, char c, State p) tilføjer en c transition fra q til p todot() konverterer FA objekt til Graphviz dot input (til grafisk repræsentation) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

96 dregaut pakken Java projektet (1. del) Studér udleverede programdele: repræsentation af FA er ekstra udleverede metoder: delta, deltastar, complement Implementér FA metoder: accepts,intersection, union, minus Opbyg en FA og vis den grafisk S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

97 Automater til modellering og verifikation Plan Introduktion Hvad er regularitet og Automater Praktiske oplysninger Regulære udtryk Induktionsbevis Endelige automater Skelnelighed, produktkonstruktion dregaut pakken Automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

98 Automater til modellering og verifikation Eksempel En jernbaneoverskæring Tre komponenter: et tog krydser vejen kommunikerer med kontrolsystemet et kontrolsystem styrer bommen en bom Sikkerhedsegenskab: bommen er altid nede, når toget krydser vejen S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

99 Automater til modellering og verifikation Modellering af systemet Tog Kontrolsystem Bom approach approach lower exit cross raise lower raise down exit up Begivenheder (alfabet): approach: toget nærmer sig cross: toget krydser vejen exit: toget forlader området lower: besked til bommen om at gå ned raise: besked til bommen om at gå op down: bommen går ned up: bommen går op S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

100 Automater til modellering og verifikation Modellering som FA Eksempel: lower, raise, down, up lower, raise, down, up approach approach, cross, exit, lower, raise, up, down, cross, exit exit approach, cross lower, raise, down, up cross approach, exit definer accepttilstande tilføj loop-transitioner så komponenterne får samme alfabet tilføj crash-tilstand og ekstra transitioner så transitionsfunktionen bliver total S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

101 Automater til modellering og verifikation Kombination af elementerne Vi er interesseret i de sekvenser af begivenheder, der opfylder alle komponenterne Produktkonstruktion: L(M) = L(M TOG ) L(M KONTROL ) L(M BOM ) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

102 Automater til modellering og verifikation Modellering af sikkerhedsegenskaben Bommen er altid nede når toget krydser vejen S: up, approach, exit, lower, raise cross, down, approach, exit, lower, raise down up cross cross, down, up, raise approach, exit, lower S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

103 Automater til modellering og verifikation Verifikation Korrekthed: L(M) (L(S)) = dvs. vi skal bruge produktkonstruktion (igen) komplement algoritme til at afgøre om sproget for en given FA er tomt (3. seminar) hvis L(M) (L(S)) : enhver streng i L(M) (L(S)) svarer til et modeksempel (algoritme: 3. seminar) S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

104 Automater til modellering og verifikation Verifikation med dregaut-pakken Opbyg FA-objekter svarende til M TOG, M KONTROL, M BOM, og S Kombiner med FA.intersection() og FA.complement() Brug FA.isEmpty() og FA.getAShortestExample() Resultat: modeksempel: approach lower down up cross S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

105 Automater til modellering og verifikation Resume Definition af endelige automater og deres sprog Skelnelighed, hvad repræsenterer tilstandene, nødvendigt antal tilstande Produktkonstruktionen, komplement (konstruktive beviser) dregaut.fa klassen, Java-repræsentation af FA er Eksempel: automater til modellering og verifikation S. Meldgaard (AU) 1. Seminar EVU RegAut 27/ / 105

Regulære udtryk og endelige automater. Ugens emner

Regulære udtryk og endelige automater. Ugens emner Ugens emner Endelige automater [Martin, kap. 3.2-3.5] endelige automater og deres sprog skelnelighed produktkonstruktionen Java: dregaut.fa klassen automater til modellering og verifikation Regulære udtryk

Læs mere

1. Seminar EVU RegAut

1. Seminar EVU RegAut 1. Seminar EVU RegAut Sigurd Meldgaard Datalogisk Institut Århus Universitet stm@cs.au.dk 27/08 2010 S. Meldgaard (AU) 1. Seminar EVU RegAut 27/08 2010 1 / 105 Plan Introduktion Hvad er Regularitet og

Læs mere

Regulære udtryk og endelige automater

Regulære udtryk og endelige automater Regulære udtryk og endelige automater Regulære udtryk: deklarative dvs. ofte velegnede til at specificere regulære sprog Endelige automater: operationelle dvs. bedre egnet til at afgøre om en given streng

Læs mere

Regularitet og Automater

Regularitet og Automater Plan dregaut 2007 Regularitet og Automater Hvad er Regularitet og Automater? Praktiske oplysninger om kurset Ugens emner Introduktion til ugens opgaver 2 Regularitet og Automater Formål med kurset: at

Læs mere

Seminar 1 Regularitet og Automater 28/1-2012

Seminar 1 Regularitet og Automater 28/1-2012 Seminar 1 Regularitet og Automater 28/1-2012 Jesper Gulmann Henriksen jgh@wincubate.net Agenda Introduktion Hvad er Regularitet og Automater? Praktiske Oplysninger om Kurset Regulære Udtryk + Øvelser Induktion

Læs mere

Regularitet & Automater Eksamensnotater

Regularitet & Automater Eksamensnotater Regularitet & Automater Eksamensnotater Michael Lind Mortensen, 20071202, DAT4 10. juni 2008 Indhold 1 Regulære udtryk (1.5 & 3.1) 4 1.1 Disposition............................ 4 1.2 Noter...............................

Læs mere

Ja! det beviste vi uge 16+17

Ja! det beviste vi uge 16+17 Ugens emner Lukketheds- og afgørlighedsegenskaber [5.3-5.5] lukkethed under,,,, * lukkethed under homomorfi og invers homomorfi pumping -lemmaet beslutningsproblemer: membership, emptiness, finiteness

Læs mere

Regularitet og Automater. Tobias Brixen Q4-2012

Regularitet og Automater. Tobias Brixen Q4-2012 Regularitet og Automater Tobias Brixen Q4-2012 1 Noterne er skrevet med inspiration fra http://cs.au.dk/ illio/courses/dregaut/dregautnoter.pdf Contents 1 Regulære udtryk 3 1.1 RegEx.................................

Læs mere

Noter til DM517 Beregnelighed

Noter til DM517 Beregnelighed Noter til DM517 Beregnelighed Jonas Nyrup 23. oktober 2011 Indhold 1 Et par noter 2 2 Regulære sprog 2 2.1 DFA................................. 2 2.1.1 Eksempler.......................... 3 2.2 NFA.................................

Læs mere

En karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er

En karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er Ugens emner FA minimering [.-.] MyHill-Nerode-sætningen en algoritme til minimering af FA er En karakteristik af de regulære sprog Et sprog L er regulært hvis og kun hvis L beskrives af et regulært udtryk

Læs mere

Ugens emner. Regulære sprog og digitale billeder. Adressering af områder. Et alfabet. Dette billede: kan repræsenteres af en FA med 832 tilstande

Ugens emner. Regulære sprog og digitale billeder. Adressering af områder. Et alfabet. Dette billede: kan repræsenteres af en FA med 832 tilstande Ugens emner Regulære sprog og digitale billeder Digitale billeder og regulære sprog Regulære udtryk i Java og Unix Dette billede: Turing-maskiner [uddrag af Martin kap. 9-0] Church-Turing tesen, beregnelighed

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 1 November 212, kl. 1 14 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af computer

Læs mere

Eksamensopgaver i DM17, Januar 2003

Eksamensopgaver i DM17, Januar 2003 Eksamensopgaver i DM17, Januar 2003 Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Universitet Lørdag, den 18. Januar 2003 Alle sædvanlige

Læs mere

DM517:Supplerende noter om uafgørlighedsbeviser:

DM517:Supplerende noter om uafgørlighedsbeviser: DM517:Supplerende noter om uafgørlighedsbeviser: Jørgen Bang-Jensen October 9, 2013 Abstract Formålet med denne note er at give en form for kogebogsopskrift på, hvorledes man bygger et uafgørlighedsbevis

Læs mere

1 Beregnelighed. 1.1 Disposition. 1.2 Præsentation. Def. TM. Def. RE/R. Def. 5 egenskaber for RE/R. Def. NSA. Bevis. NSA!RE. Def. SA. Bevis. SA!

1 Beregnelighed. 1.1 Disposition. 1.2 Præsentation. Def. TM. Def. RE/R. Def. 5 egenskaber for RE/R. Def. NSA. Bevis. NSA!RE. Def. SA. Bevis. SA! 1 Beregnelighed 1.1 Disposition Def. TM Def. RE/R Def. 5 egenskaber for RE/R Def. NSA Bevis. NSA!RE Def. SA Bevis. SA!R Bevis. SA RE Def. Beslutningsproblem Arg. Self-Accepting er uløselig 1.2 Præsentation

Læs mere

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Datalogi C, RUC Forelæsning 22. november 2004 Henning Christiansen Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Dagens program Hvad

Læs mere

Matematisk induktion

Matematisk induktion Induktionsbeviser MT01.0.07 1 1 Induktionsbeviser Matematisk induktion Sætninger der udtaler sig om hvad der gælder for alle naturlige tal n N, kan undertiden bevises ved matematisk induktion. Idéen bag

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 31 Oktober 2011, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner

Læs mere

Dat 2/F6S: Syntaks og semantik 2005 Centrale emner og eksamenspensum

Dat 2/F6S: Syntaks og semantik 2005 Centrale emner og eksamenspensum Dat 2/F6S: Syntaks og semantik 2005 Centrale emner og eksamenspensum Hans Hüttel 14. juni 2005 Indhold 1 Centrale emner 1 2 Fuldt pensum 2 3 Reduceret pensum 3 3.1 Hvad er fjernet her?........................

Læs mere

Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende

Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende Hans Hüttel Foråret 2011 Indhold Indhold 1 1 Kurset er lavet om! 1 2 Kursets indhold 2 2.1 Kursets emner................................ 2

Læs mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9

Læs mere

Skriftlig Eksamen Automatteori og Beregnelighed (DM17)

Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Campus Lørdag, den 15. Januar 2005 Alle sædvanlige hjælpemidler (lærebøger, notater

Læs mere

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer. Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk

Læs mere

It og informationssøgning Forelæsning november 2006 Nils Andersen. Regulære udtryk og formelle sprog

It og informationssøgning Forelæsning november 2006 Nils Andersen. Regulære udtryk og formelle sprog It og informationssøgning Forelæsning 11 22. november 2006 Nils Andersen Regulære udtryk og formelle sprog Regulært udtryk Forening, sammenstilling og Kleene-gentagelse Andre notationer og operatorer Modulet

Læs mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.

Læs mere

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 25. juni 200, kl. 9.00-.00

Læs mere

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse Bevisteknikker Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:

Læs mere

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved

Læs mere

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet

Læs mere

Introduktion til prædikatlogik

Introduktion til prædikatlogik Introduktion til prædikatlogik Torben Braüner Datalogisk Afdeling Roskilde Universitetscenter 1 Plan Symbolisering af sætninger Syntaks Semantik 2 Udsagnslogik Sætningen er den mindste syntaktiske enhed

Læs mere

Bevisteknikker (relevant både ved design og verifikation)

Bevisteknikker (relevant både ved design og verifikation) Bevisteknikker 1 Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. 26 Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. Hvad er programverifikation? Bevisregel for 'tom kommando'. Bevisregel for assignment. Bevisregler for selektive

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM58) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 7 Januar 010, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger,

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS Juli 2013 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

Grundlæggende Algoritmer og Datastrukturer

Grundlæggende Algoritmer og Datastrukturer Grundlæggende Algoritmer og Datastrukturer Om kurset Grundlæggende Algoritmer og Datastrukturer Undervisningsformer Forelæsninger: 4 timer/uge (2+2). Øvelser: 3 timer/uge. Café. Obligatorisk program 13

Læs mere

Studieordning for diplomuddannelsen i informationsteknologi

Studieordning for diplomuddannelsen i informationsteknologi Studieordning for diplomuddannelsen i informationsteknologi April 2007 [v3] 1 Introduktion... 2 2 Formål... 2 3 Indhold... 2 4 Adgangskrav... 3 5 Eksaminer... 3 6 Studieplan... 3 6.1 Formelle modeller

Læs mere

Rolf Fagerberg. Forår 2013

Rolf Fagerberg. Forår 2013 Forår 2013 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM536 og DM537 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM536 og DM537 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Dat 2/F6S/SW4: Syntaks og semantik En manual for studerende

Dat 2/F6S/SW4: Syntaks og semantik En manual for studerende Dat 2/F6S/SW4: Syntaks og semantik En manual for studerende Hans Hüttel Foråret 2010 Indhold Indhold 1 1 Om denne manual 1 2 Om kursets indhold 2 2.1 Hvilke emner rummer kurset?.................. 2 2.2

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

Elementær Matematik. Mængder og udsagn

Elementær Matematik. Mængder og udsagn Elementær Matematik Mængder og udsagn Ole Witt-Hansen 2011 Indhold 1. Mængder...1 1.1 Intervaller...4 2. Matematisk Logik. Udsagnslogik...5 3. Åbne udsagn...9 Mængder og Udsagn 1 1. Mængder En mængde er

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som en helhed.

Læs mere

Rolf Fagerberg. Forår 2012

Rolf Fagerberg. Forår 2012 Forår 2012 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM502 og DM503 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM502 og DM503 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%

Læs mere

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur 6. december Talteoretiske algoritmer, RSA kryptosystemet, Primtalstest Motivation Definitioner Euclids algoritme Udvidet Euclid RSA kryptosystemet Randominserede algoritmer Rabin-Miller primtalstest Svært

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Nogle grundlæggende begreber

Nogle grundlæggende begreber BE2-kursus 2010 Jørgen Larsen 5. februar 2010 Nogle grundlæggende begreber Lidt simpel mængdelære Mængder består af elementer; mængden bestående af ingen elementer er, den tomme mængde. At x er element

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,

Læs mere

Invarianter og kombinatoriske beviser

Invarianter og kombinatoriske beviser Invarianter og kombinatoriske beviser Anders Nedergaard Jensen Institut for Matematik, Aarhus Universitet Matematiklærerdag, Aarhus, 24. Marts 2017 En invariant er en værdi/udsagn der forbliver konstant

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Baggrundsnote om logiske operatorer

Baggrundsnote om logiske operatorer Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første

Læs mere

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides 01017 Diskret Matematik E12 Alle bokse fra logikdelens slides Thomas Bolander 1 Udsagnslogik 1.1 Formler og sandhedstildelinger symbol står for ikke eller og ( A And) hvis... så... hvis og kun hvis...

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Onsdag den 11. august 2004, kl.

Læs mere

Matematiske metoder - Opgavesæt

Matematiske metoder - Opgavesæt Matematiske metoder - Opgavesæt Anders Friis, Anne Ryelund, Mads Friis, Signe Baggesen 24. maj 208 Beskrivelse af opgavesættet I dette opgavesæt vil du støde på opgaver, der er markeret med enten 0, eller

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Løsning af møntproblemet

Løsning af møntproblemet Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl. 9.00 13.00 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf

Læs mere

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater Skriftlig eksamen, Programmer som Data Onsdag 6. januar 2010 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamens varighed er 4 timer. Der er fire spørgmål. For at få fuldt

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Aarhus Universitet

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Aarhus Universitet Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Oversættere, ugeopgave 3

Oversættere, ugeopgave 3 Oversættere, ugeopgave 3 Anders jerg Pedersen (andersbp@me.com) 29. november 2009 Opgave 1 Vi konsrer først NFA er for grammatikken fra opgave 3.22 med produktionen tilføjet: Produktion NFA 0 A 1 C D 2

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tolv) Eksamensdag: Fredag den 7. august 009, kl.

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Divide-and-Conquer algoritmer

Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 16. august 2013,

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 7 Januar 2008, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner

Læs mere

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 3 Januar 2011, kl. 9 13 Alle sædvanlige hjælpemidler

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Om at løse problemer En opgave-workshop Beregnelighed og kompleksitet

Om at løse problemer En opgave-workshop Beregnelighed og kompleksitet Om at løse problemer En opgave-workshop Beregnelighed og kompleksitet Hans Hüttel 27. oktober 2004 Mathematics, you see, is not a spectator sport. To understand mathematics means to be able to do mathematics.

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

Induktive og rekursive definitioner

Induktive og rekursive definitioner Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal

Læs mere

t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42

t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42 Slide 1/42 Hvad er matematik? 1) Den matematiske metode 2) Hvad vil det sige at bevise noget? 3) Hvor begynder det hele? 4) Hvordan vælger man et sæt aksiomer? Slide 2/42 Indhold 1 2 3 4 Slide 3/42 Mængder

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle

Læs mere

16. december. Resume sidste gang

16. december. Resume sidste gang 16. december Resume sidste gang Abstrakt problem, konkret instans, afgørlighedsproblem Effektiv kodning (pol. relateret til binær kodning) Sprog L : mængden af instanser for et afgørlighedsproblem hvor

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne

Læs mere

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig Eksamen Diskret Matematik (DM528) Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DTLOS NSTTUT, RUS UNVERSTET Det Naturvidenskabelige akultet ESMEN rundkurser i Datalogi ntal sider i opgavesættet (incl. forsiden): 7 (syv) Eksamensdag: Torsdag den 14. juni 007, kl. 9.00-1.00 Eksamenslokale:

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 13. august 2010, kl.

Læs mere

Ordbog over Symboler

Ordbog over Symboler Ordbog over Symboler Frank Nasser 20. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette

Læs mere

Korteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille

Korteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje

Læs mere

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A + Strings and Sets: A string over Σ is any nite-length sequence of elements of Σ The set of all strings over alphabet Σ is denoted as Σ Operators over set: set complement, union, intersection, etc. set concatenation

Læs mere

Skriftlig eksamen - med besvarelse Topologi I (MM508)

Skriftlig eksamen - med besvarelse Topologi I (MM508) INSTITUT FOR MATEMATIK OG DATALOGI SYDDANSK UNIVERSITET, ODENSE Skriftlig eksamen - med besvarelse Topologi I (MM508) Mandag d. 14. januar 2007 2 timer med alle sædvanlige hjælpemidler tilladt. Opgavesættet

Læs mere

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe. Matematik YY Foråret 2004 Elementær talteori Søren Jøndrup og Jørn Olsson Kapitel 1. Grupper og restklasseringe. Vi vil i første omgang betragte forskellige typer ligninger og søge efter heltalsløsninger

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere