Reguliere Expressies en Automaten: Overzicht

Vergelijkbare documenten
In dit hoofdstuk introduceren we de hoofdrolspelers van het college: eindige automaten.

Inhoudsopgave. Inhoud

Formeel Denken. Herfst Contents

Vorig college. IN2505-II Berekenbaarheidstheorie. Intermezzo / kleine opfriscursus. Deterministische eindige automaten (DFA) College 6

Formeel Denken 2012 Uitwerkingen Tentamen

Getallenverzamelingen

Grammatica s en Ontleden Deeltentamen 1 (van 2) Dinsdag 18 december 2007 (15:00-17:00)

Hoofdstuk 2: Bewerkingen in R

opgaven formele structuren procesalgebra

Automaten & Complexiteit (X )

Grammatica s en Ontleden Deeltentamen 1 (van 2)

Routeplanning middels stochastische koeling

HOOFDSTUK 1 BASISBEGRIPPEN

Opdrachten bij hoofdstuk 2

Ongelijkheden groep 2

Zelfstudie practicum 1

Het kwadraat van een tweeterm a+b. (a+b)²

Ontleden? Leuk! Inleiding. Opzet van deze lesbrief. Door Henk Jongsma, hoofdauteur Op Niveau tweede fase

Werkkaarten GIGO 1184 Elektriciteit Set

1a Een hoeveelheid stof kan maar op één manier veranderen. Hoe?

Inhoud college 7 Basiswiskunde

Kennismaken. Wie zitten er bij jou in de klas? 4. Welke afspraken maak jij met je klas? 8

Werkblad TI-83: Over de hoofdstelling van de integraalrekening

Lijn, lijnstuk, punt. Verkennen. Uitleg. Opgave 1

Nakomelingen van rendieren kunnen een paar uur na de geboorte al met de kudde meerennen. Zijn rendieren nestvlieders of nestblijvers?

Voorbereidende opgaven Stoomcursus

Moderne wiskunde: berekenen zwaartepunt vwo B

Hoofdstuk 0: algebraïsche formules

Bekijk onderstaand algoritme recalg. Bepaal recalg(5) en laat zien hoe u het antwoord hebt verkregen.

Praktische Opdracht Lineair Programmeren V5

Inhoud. Inleiding 5. 1 Handgereedschappen Verbindingen Elektrische techniek Pompen Verbrandingsmotoren 138

Opgave 1. Waarom kun je bij het Noorden twee getallen neerzetten? Geldt dit ook voor andere windrichtingen? Hoeveel graden hoort er bij het Oosten?

Pak jouw passer en maak de afstand tussen de passerpunten 3 cm.

Hoe plan je een grote taak?

Voorbereidende opgaven Stoomcursus

Proeftentamen LAI (tweede deel), voorjaar 2006 Uitwerkingen

1 Vlaamse Wiskunde Olympiade : Eerste Ronde.

Voorbereidende opgaven Kerstvakantiecursus

Datastructuren en algoritmen Uitwerkingen voorbeeldserie huiswerkopgaven

Route F - Desert. kangoeroerat

6.0 INTRO. 1 a Bekijk de sommen hiernaast en ga na of ze kloppen = = = = = 2...

De oppervlakte van de rechthoek uit de vorige opgave hangt van dezelfde variabelen af.

Discrete Wiskunde. D. Bruin J.M. Jansen

Didactische ondersteuning van theoretische informatica

Aanzet 1 tot een document van parate kennis en vaardigheden wiskunde 1 ste graad

Rekenregels van machten

Hoofdstuk 2 DE STELLING VAN PYTHAGORAS

Het Poincarévermoeden in dimensie 2 Erik Visse

Efficiënt zoeken in grote tekstbestanden

Opgave 1 Stel je eens een getal voor, bijvoorbeeld: 504,76. a b c

Natuurlijke getallen op een getallenas en in een assenstelsel

Snelstartgids Access Online: Betalingen en Rapportage

Henk Pijls Korteweg-de Vries Instituut voor Wiskunde Universiteit van Amsterdam

Hoofdstuk 4. Talen en Automaten. 4.1 Formele Talen Woorden

ja, studentaccount is groter dan standaard account en nog steeds gratis. Wel moet je mail adres van school en website van school invoeren ter controle

1.3 Wortels. x x 36 6 = x = 1.5 Breuken. teller teller noemer noemer. Delen: vermenigvuldig met het omgekeerde.

1.0 Voorkennis. Voorbeeld 1:

INTERVIEWEN 1 SITUATIE

3 Snijpunten. Verkennen. Uitleg

1.0 Voorkennis. Voorbeeld 1:

Inhoud Basiswiskunde Week 5_2

Hoe maak je een huiswerkplanning?

DOEL: Weten wat de gevolgen en risico s kunnen zijn van het plaatsen van (persoonlijke) informatie op internet.

Computers & programmeren

Om welke reden heeft een kwak relatief grote ogen?

opgaven formele structuren deterministische eindige automaten

Formularium Wiskunde 1 ste graad

gefragmenteerde bestanden Bestand Bestand Bestand Bestand Bestand a Bestand a Bestand a Bestand a Bestand Bestand Bestand Bestand c Bestand a

Het reëel getal b is een derdewortel van het reëel getal a c. Een getal en zijn derdewortel hebben hetzelfde toestandsteken.

1 Theoretische achtergrond voor het schakelen van weerstanden.

Breuken en verhoudingen

REKENEN MACHTEN MET. 5N4p EEBII 2013 GGHM

Wat doen we met de vuile was?

Opgave 1 Je ziet hier twee driehoeken op een cm-rooster. Beide driehoeken zijn omgeven door eenzelfde

MEETKUNDE 2 Lengte - afstand - hoeken

Digitale informatieverwerking

Krommen en oppervlakken in de ruimte

Installatiehandleiding en gebruiksaanwijzing

Voorbereidend Wetenschappelijk Onderwijs Tijdvak 1 Donderdag 20 mei uur

Inhoud. 1 Handgereedschappen 6. 2 Verbindingen Elektrische techniek Pompen Verbrandingsmotoren 128

Welke van de volgende beweringen over de kromme snavel is of welke zijn juist voor jonge flamingo's? Maak het hokje met een juiste bewering zwart.

Rapportage Enquête ondergrondse afvalinzameling Zaltbommel

wedstrijden, dus totaal 1 n ( n 1)

5.1 Hogeremachtswortels [1]

Parate kennis wiskunde

Je gaat naar de winkel en koopt 4 pakken melk van 1,40 per stuk.

Privacyverklaring Donné Vastgoed

WELK LICHTSCHERM MOET IK GEBRUIKEN VOOR INLOOPBEVEILIGING?

ANTWOORDEN EN UITWERKINGEN TENTAMEN QUANTUMMECHANICA 2 VAN 31 MEI 2011

Hoofdstuk 4 : Ongelijkheden

Syllabus Analyse A3. door T. H. Koornwinder. Universiteit van Amsterdam, Faculteit WINS Vakgroep Wiskunde, cursus 1995/96

Inhoud leereenheid 13. Integreren. Introductie 125. Leerkern 126. Samenvatting 149. Zelftoets 150

Praktische opdracht Optimaliseren van verpakkingen Inleidende opgaven

GBK Leden profiel beheer

Continuïteit en Nulpunten

Hoofdstuk 5: Vergelijkingen van de

Deze les krijgen de leerlingen een introductie over ongelijke breuken. Dit met name gericht op het vergelijken met een bemiddelende grootheid.

Integralen. DE ONBEPAALDE INTEGRAAL VAN f(x) wordt genoteerd met f(x)dx, en is de meest algemene zogenaamde primitieve van f(x) dat is:

De tijdens de training aangeboden ski-imitaties gebruiken we zowel als middel maar ook als doel.

Studiekeuzecheck wiskunde deeltijd Basisvaardigheden Algebra Hoofdstuk 1 t/m 4

Transcriptie:

Reguliere Expressies en Automten: Overzicht Alfetten Tekenrijtjes over een lfet Tlen over een lfet Reguliere Uitdrukkingen Reguliere Operties Herkenners voor Reguliere Ptronen Deterministische utomten Non-deterministische utomten Woordenlijsten ls utomt Non-deterministische utomten deterministische utomten De pomp-eigenschp vn reguliere tlen Trnsducers Opdrchten Reguliere Uitdrukkingen Jn vn Eijck p.1

Alfetten Een lfet Σ is een eindige verzmeling symolen. Vooreelden: Σ 1 = {0,1,2,3,4,5,6,7.8.9}. De tien-elements verzmeling vn de decimle cijfers. Σ 2 = {,,c,...,x,y,z}. De 26-elements verzmeling vn lle kleine letters vn het Nederlnds. Een niet-vooreeld: N = {0,1,2,...}. De verzmeling vn lle ntuurlijke getllen is geen lfet, wnt deze verzmeling is oneindig. Reguliere Uitdrukkingen Jn vn Eijck p.2

Tekenrijtjes over een lfet Een tekenrijtje vn lengte n( 0) over een lfet Σ is een geordend n-tl vn elementen vn Σ, geschreven zonder leestekens. Vooreeld: ls Σ = {,,c}, dn zijn,,, cc en c tekenrijtjes over Σ, met respectieve lengtes 1,2,2,3,4. Σ def = de verzmeling vn lle tekenrijtjes over Σ met een eindige lengte. Er is precies één tekenrijtje over Σ vn lengte 0. Dit rijtje heet het lege rijtje, en we geruiken er de nottie ε of {} voor. We spreken f dt tekenrijtjes ltijd eindig zijn (een eindige lengte heen). Reguliere Uitdrukkingen Jn vn Eijck p.3

Tlen over een lfet Een tl is een verzmeling tekenrijtjes over een lfet. Dus: een tl over lfet Σ is een deelverzmeling vn Σ. Vooreelden: De verzmeling {michel, jn}; een tl die slechts twee rijtjes evt. De verzmeling vn lle tekenrijtjes die estn uit letters vn het lfet {,...,z}. De verzmeling vn lle tekenrijtjes die estn uit tekens uit het lfet {0,..., 9} (lle decimle representties vn ntuurlijke getllen, met eventueel nullen voorop). Een niet-vooreeld: de verzmeling die estt uit het ene rijtje 0,14285714285714... (de decimle expnsie vn 1 7 ). Dit rijtje is oneindig. Reguliere Uitdrukkingen Jn vn Eijck p.4

Reguliere Uitdrukkingen (nottie egrep) ** een willekeurig ntl s, gevolgd door een willekeurig ntl s. Deze tl evt de tekenrijtjes,,,, mr niet de tekenrijtjes,, c, c. ()* een willekeurig ntl keren het tekenrijtje :,, mr niet,, of.. een willekeurig symool.* een willekeurige reeks symolen ˆ[ˆ]*$ een regel die geen evt..*q.* lle tekenrijtjes wrin ergens een q voorkomt. (c c)*: lle rijtjes die estn uit een willekeurig ntl mlen c of c. Dus: cc, c, cc zitten er in, niet. Reguliere Uitdrukkingen Jn vn Eijck p.5

Reguliere Operties Lege rijtje, ngeduid ls {} Los symool vn het lfet Σ, ij vooreeld Opeenvolging, ij vooreeld Keuze, ij vooreeld ( ) Itertie, ij vooreeld * Dt is lles. Andere operties kunnen nu ls fkorting worden ingevoerd. Uitgnde vn het lfet {,, c} heen we ij vooreeld: ˆ = ( c). = ( c) + = * = ({} c...*). Reguliere Uitdrukkingen Jn vn Eijck p.6

Herkenners voor Reguliere Ptronen Leeg rijtje: zeg j. Enkel symool : kijk of je een symool kunt inlezen. Zeg nee ls dt niet lukt, of het symool is geen. Zeg j ls het volgende symool een is. Opeenvolging AB: zeg j ls je eerst A kunt herkennen en vervolgens B, nders nee. Keuze (A B): zeg j ls je hetzij A, hetzij B kunt herkennen. Itertie A*: proeer A te herkennen zolng er nog invoer is. Dit is een herhlings-lus. Dit kn mchinl, met ehulp vn een eindige utomt: een mchine die invoer kn lezen, en j of nee kn zeggen, fhnkelijk vn de toestnd wrin hij is. Reguliere Uitdrukkingen Jn vn Eijck p.7

Deterministische utomten Doel: inlezen vn rijtjes, om te kijken of ze n een regulier ptroon voldoen. Begintoestnd: hier strt je. Toestndsovergng ij het lezen vn een enkel symool vn het lfet: voor elk symool hoogstens één overgng (dit heet determinisme). J-toestnden: toestnden wrij de utomt het rijtje ccepteert (ls lle invoer gelezen is). Nee-toestnden: toestnden wrij de utomt het rijtje verwerpt (ls lle invoer gelezen is). Reguliere Uitdrukkingen Jn vn Eijck p.8

Deterministische Automt voor (* * c*) Voor elk symool precies één overgng. c c c c c Reguliere Uitdrukkingen Jn vn Eijck p.9

Determinische Automt voor (* * c*) Voor elk symool hoogstens één overgng. c c Reguliere Uitdrukkingen Jn vn Eijck p.10

Non-deterministische utomt voor ( )* Reguliere Uitdrukkingen Jn vn Eijck p.11

Nog gemkkelijker: Reguliere Uitdrukkingen Jn vn Eijck p.12

Woordenlijsten ls utomt Woordenlijsten kunnen op verschillende mnieren ls utomt worden gepresenteerd. Vergelijk de volgende reguliere expressies. (p lp k lm) (l(p m) (p k)) Een utomt op sis vn de tweede stt sneller zoeken toe. Reguliere Uitdrukkingen Jn vn Eijck p.13

Non-deterministische Deterministische Automten Twee utomten zijn equivlent wnneer ze dezelfde tl ccepteren. Voor elke non-deterministische utomt is er een equivlente deterministische utomt te construeren. Voor overgngen met symoolrijtjes, ij vooreeld,, dienen tussenliggende toestnden te worden geïntroduceerd. Voor de rest vn de constructie is het hoofdidee: mk nieuwe toestnden die estn uit verzmelingen vn oude toestnden. Zorg dt de nieuwe utomt n lezen vn invoer in de verzmeling toestnden komt die in de oude utomt kunnen worden ereikt vnf strt met het lezen vn deze invoer. Reguliere Uitdrukkingen Jn vn Eijck p.14

Vooreeld vn Non-deterministische utomt {} 1 3 {} {} {} 0 2 4 NB: {} stt voor het lege rijtje. Reguliere Uitdrukkingen Jn vn Eijck p.15

Omzetten nr Deterministische Versie {0,1,2,3} {0,1,2,3,4 } {2,3,4] {3,4} {} Reguliere Uitdrukkingen Jn vn Eijck p.16

Pomp-eigenschp vn reguliere tlen Als T een oneindige reguliere tl is. Dn zijn er rijtjes x,y,z te vinden met y ε, en [x,y n,z] in T, voor elke n 0. Idee: omdt T regulier is, is er een deterministische utomt die T herkent. Die utomt heeft een eindig ntl toestnden, zeg k. Omdt de tl oneindig is moeten er rijtjes in T zitten die lengte > k heen. Dus moet de utomt ij het herkennen vn zo n rijtje een toestnd q meer dn één keer ereiken. Mr dn evt de herkenningsprocedure een lus. Tijdens het doorlopen vn die lus wordt een niet-leeg rijtje ingelezen. Noem dt rijtje y, en klr. Reguliere Uitdrukkingen Jn vn Eijck p.17

De pompeigenschp geruiken We willen lten zien dt eplde tlen niet regulier zijn. De tl { p p is een priemgetl } is niet regulier. De tl { n n n 0 } is niet regulier. ww R (de tl vn lle even plindromen) is niet regulier. Verzin zelf nog meer vooreelden. Reguliere Uitdrukkingen Jn vn Eijck p.18

Trnsducers Een trnsducer is een utomt die tot tk heeft eindige invoer rijtjes om te zetten in eindige uitvoerrijtjes. In plts vn lleen een symool te lezen, zet de trnsducer het symool om in een rijtje. We nemen n dt een trnsducer deterministisch is (nders wordt de uitvoer onvoorspelr). Mk vn een deterministische utomt een trnsducer door elke pijl met een symool te vervngen door een pijl met een symool gevolgd door een rijtje w. Dus: vervng door :w. Vooreeld: :1 :{} Reguliere Uitdrukkingen Jn vn Eijck p.19

Trnsducers: vooreelden Progrmm s die ptronen omzetten in ndere ptronen zijn in feite trnsducers. Bij vooreeld: Het omzetten vn je eigen nm in hoofdletters, overl wr die nm voorkomt in een estnd. Het weglten vn regels uit een estnd die lleen spties evtten. Het comprimeren vn rijtjes vn meer dn één sptie in een regel door een enkele sptie. Je kunt trnsducers specificeren met sed (zie opdrchten verderop). Reguliere Uitdrukkingen Jn vn Eijck p.20

Opdrchten: Deterministische utomten construeren Geef (deterministische) utomten over het lfet 0,1 voor de volgende ntuurlijke tl determintoren: 1. Alle (dwz, de utomt die lleen rijtjes 1-en ccepteert) 2. Geen 3. Sommige 4. Niet lle 5. meer dn drie 6. hoogstens zeven 7. minstens drie en hoogstens zeven Reguliere Uitdrukkingen Jn vn Eijck p.21

Opdrchten: Reflectie op utomten 1. Is er een lgemeen recept te vinden voor hoe je de utomt voor Niet lle construeert uit die voor lle? 2. Net zo: is er een lgemeen recept om de utomt voor minstens drie en hoogstens zeven te construeren uit die voor minstens drie en hoogstens zeven? 3. Is het mogelijk een utomt te geven voor de determintor meer dn de helft? Als je denkt dt het kn, geef dn de utomt die het doet, en nders: geef zo nuwkeurig mogelijk n wrom je denkt dt het niet kn. Reguliere Uitdrukkingen Jn vn Eijck p.22

Opdrcht: Regulier of niet? De decimle expnsie vn 1 7 op: 1 7 = 0,14285714285714... (enz, d infinitum) vind je door de strtdeling 7/1\.. uit te voeren. Dt levert Lt T de tl zijn vn lle deelstukken genomen uit deze oneindige expnsie, dwz T = {w w is een deelrijtje vn 0,14285714285714...}. Dit is een tl over het lfet,, 0,..., 9. Is deze tl regulier? Zo j: geef een utomt die de tl herkent. Zo nee: geef n wrom de tl volgens jou niet regulier kn zijn. Reguliere Uitdrukkingen Jn vn Eijck p.23

Opdrchten: Trnsducers 1. Definiëer een trnsducer die klinkers vn medeklinkers onderscheidt. 2. Definiëer een trnsducer die je eigen nm omzet in hoofdletters, mr de rest vn de tekst ongemoeid lt. 3. Definiëer een trnsducer die je eigen nm vervngt door NN, mr de rest vn de tekst ongemoeid lt. 4. Definiëer een trnsducer die getllen in rische cijfers (1 tot en met 20) omzet in woorden ( een tot en met twintig ), en de rest vn de tekst ongemoeid lt. 5. Geef een trnsducer voor het comprimeren vn rijtjes vn meer dn één sptie in een regel door een enkele sptie. 6. Mk implementties in sed. Reguliere Uitdrukkingen Jn vn Eijck p.24