Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1

Vergelijkbare documenten
Automaten. Informatica, UvA. Yde Venema

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Verzamelingen deel 2. Tweede college

opgaven formele structuren deterministische eindige automaten

Formeel Denken 2013 Uitwerkingen Tentamen

3 De stelling van Kleene

Formeel Denken 2014 Uitwerkingen Tentamen

Formeel Denken. Herfst 2004

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

Formele talen. Elfde college

b) Niet geldig. Zij π(n)(p) = 1 als n is even, anders π(n)(p) = 0. Schrijf

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6

De klasse van recursief opsombare talen is gesloten onder en. Dit bewijzen we met behulp van een recursieve opsomming

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

Uitwerkingen toets 12 juni 2010

De wiskunde achter knopen

Formele talen. Tiende college

Verzamelingen deel 2. Tweede college

Combinatoriek groep 1 & 2: Recursie

Automaten & Complexiteit (X )

Examen G0U13 Bewijzen en Redeneren Bachelor of Science Fysica en Wiskunde. vrijdag 3 februari 2012, 8:30 12:30

Oplossing van opgave 6 en van de kerstbonusopgave.

Selectietoets vrijdag 10 maart 2017

Z.O.Z. Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 16 juni 2016, 12:30 15:30 (16:30)

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven

Oplossingen oefeningen logica en eindige automaten 12 december Het bestand oplnoef12dec.zip bevat de.sen en.fa bestanden met de oplossingen.

Combinatoriek groep 1

IMO-selectietoets III zaterdag 4 juni 2016

Automaten & Complexiteit (X )

III.2 De ordening op R en ongelijkheden

Formele talen. uitgebreid

Tentamen TI2310 Automaten en Talen. 19 april 2012, uur

Examen G0U13 - Bewijzen en Redeneren,

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Semantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)

Uitwerkingen tentamen lineaire algebra 2 13 januari 2017, 10:00 13:00

III.3 Supremum en infimum

IMO-selectietoets III zaterdag 3 juni 2017

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Selectietoets vrijdag 8 maart 2013

Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde. vrijdag 31 januari 2014, 8:30 12:30. Auditorium L.00.07

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

EVC- ERKEND. EVC - Aanbieder 04 0(-&1"$02(%(" $012$ 32.2$"'-("31. Dit format is onderdeel van de Kwaliteitscode EVC.

Getaltheorie I. c = c 1 = 1 c (1)

Polynomen. + 5x + 5 \ 3 x 1 = S(x) 2x x. 3x x 3x 2 + 2

Opgaven 1. Verwijzingen in deze opgaven betreffen het boek van Peter Linz.

1. (a) Formuleer het Cauchy criterium voor de convergentie van een reeks

Logische Complexiteit Hoorcollege 4

Logica 1. Joost J. Joosten

Enkele valkuilen om te vermijden

PROEFEXAMEN LINEAIRE ALGEBRA donderdag 17 november 2011

1 Kettingbreuken van rationale getallen

Eerste ronde Nederlandse Wiskunde Olympiade

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element.

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen

a) Bepaal punten a l en b m zó dat de lijn door a en b parallel is met n.

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Tweede huiswerkopdracht Lineaire algebra 1 Uitwerking en opmerkingen

We beginnen met de eigenschappen van de gehele getallen.

Tentamentips. Tomas Klos. 14 december 2010

Tegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785)

VERZAMELINGEN EN AFBEELDINGEN

Inleiding Analyse 2009

Combinatoriek groep 2

IMO-selectietoets I donderdag 2 juni 2016

IMO-selectietoets I woensdag 5 juni 2013

Het minimale aantal sleutels op niveau h is derhalve

Uitwerkingen toets 9 juni 2010

(b) Formuleer het verband tussen f en U(P, f), en tussen f en L(P, f). Bewijs de eerste. (c) Geef de definitie van Riemann integreerbaarheid van f.

Deeltentamen I, Ringen en Galoistheorie, , 9-12 uur

Getallensystemen, verzamelingen en relaties

!" #$% & '! &! ( " # )

Tentamen IN1305-I Fundamentele Informatica 1, deel I: Logica

7.0 Voorkennis. Definitie = Een afspraak, die niet bewezen hoeft te worden.

Fundamenten van de Informatica

Paradox van zelfreproductie. IN2505-II Berekenbaarheidstheorie. Zelfreproductie? Programma s en zelfreproductie. College 11.

Week Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.

4 Positieve en niet-negatieve lineaire algebra

Uitwerkingen toets 9 juni 2012

1 Inleiding in Functioneel Programmeren

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking

Bilineaire Vormen. Hoofdstuk 9

Ongelijkheden groep 1

Radboud Universiteit Nijmegen

Functievergelijkingen

8C080 deel BioModeling en bioinformatica

Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 26 augustus 2010, , Examenzaal

Automaten en Berekenbaarheid

Wiskundige beweringen en hun bewijzen

Formeel Denken. Herfst Contents. 1 Combinatoriek 1

Combinatoriek groep 1

Selectietoets vrijdag 21 maart 2014

Notatie van verzamelingen. Lidmaatschap. Opgave. Verzamelingen specificeren

Correctievoorschrift HAVO. wiskunde B1

Er zijn alle soorten modificaties hoe je deze FST beter kan maken. Bijvoorbeeld, door - teen van thirteen - nineteen in het algemeen te lezen.

Transcriptie:

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1 Bas Westerbaan bas@westerbaan.name 24 april 2012 1 Opgave 1.1 Een goed en voldoende antwoord is: L 1 = L 2, want L 1 en L 2 zijn alle woorden over a en b. b / L 3, maar b L 1 = L 2, dus L 2 L 3. Een heel gedetailleerd antwoord is: 1.1 L 1 Per definitie L (a) = {a} en L (b) = {b}, dus L (a b) = L (a) L (b) = {a} {b} = {a, b}. Verder L 1 = L ( (a b) ) = L (a b) = {a, b} = {a, b} 0 {a, b} 1 {a, b} 2 {a, b} 3... = {λ} {a, b} {aa, ab, ba, bb} {aaa, aab, aba, abb, baa, bab, bba, bbb}... = alle woorden met aen b. 1.2 L 2 Per definitie L (a ) = L(a) = {a} = {a} 0 {a} 1 {a} 2... = {λ} {a} {aa}... = {λ, a, aa,...} = {a n ; n N}. 1

en vergelijkbaar: L (b ) = {λ, b, bb,...}. Dus En dus: L 2 = L ( (a b ) ) = L (a b ) L (a b ) = {vw; v L (a ) ; w L (b )} = {λ, a, b, ab, aab, bba, aa, bb, aabb,...} = {a n b m ; n, m N}. = L (a b ) 0 L (a b ) 1 L (a b ) 2... = {λ} {a n b m ; n, m N} {a n1 b m1 a n2 b m2 ; n 1, n 2, m 1, m 2 N}... Dus L 2 zijn alle woorden over a en b die bestaan uit nul-of-meer-keer een a en dan nul-of-meer-keer een b en dit alles een eindig aantal keer herhaald. Maar dit zijn precies alle woorden over a en b. 1.3 L 3 En dus: L (ab ) = {vw; v L (a) ; w L (b )} = {a, ab, abb, abbb,...} = {ab n ; n N}. L 3 = L ( (ab ) ) = L (ab ) = L (ab ) 0 L (ab ) 1 L (ab ) 2... = {λ} {ab n ; n N} {ab n1 ab n2 ; n 1, n 2 N}... = {ab n1 ab n k ; k, n 1,..., n k N}. Dus L 3 zijn alle woorden van de volgende vorm: eerst een a en dan nul-ofmeer-keer een b nul-of-meer-keer. 1.4 Conclusie Blijkbaar L 1 = L 2, maar L 1 = L 2 L 3, want bijvoorbeeld b L 1, maar b / L 3. 2 Opgave 1.2 2.1 Opgave 1.2 (i) Een goede oplossing is (a b c) (a b c) (a b c) en dat kun je controleren door de definities uit te schrijven: L ((a b c) (a b c) (a b c)) = L (a b c) 3 = {a, b, c} 3 = Σ 3 = {σ 1 σ 2 σ 3 ; σ 1, σ 2, σ 3 Σ} = {w; w Σ ; #w = 3}. 2

2.2 Opgave 1.2 (ii) Een goede oplossing is (a b c) (a b c) (a b c) (a b c), want L ( (a b c) (a b c) (a b c) (a b c) ) = L ((a b c) (a b c) (a b c)) L ( (a b c) ) = Σ 3 L (a b c) = Σ 3 Σ = { vw; v Σ 3, w Σ } = {w; w Σ ; #w 3}. 2.3 Opgave 1.2 (iii) Gegeven een woord w, waarin aa precies twee keer voorkomt. Er kunnen twee dingen aan de hand zijn: w = w 1 aaw 2 aaw 3 of w = w 1 aaaw 3, waarbij aa niet in w 1, w 2 en w 3 zit en verder: w 1 niet eindigt op een a; w 3 niet met een a begint én w 2 niet leeg is en noch eindigt noch begint met een a. We maken voor de voorwaarden op w 1, w 2 en w 3 eerst afzonderlijke reguliere expressies. aa mag niet in w 1 voorkomen en w 1 mag niet eindigen op een a. We laten w 1 hier allebei aan voldoen, als elke a in w 1 opgevolgd moet worden door minstens één b. b (abb ) is dus precies de reguliere expressie waar w 1 aan moet voldoen. Met een vergelijkbare redenering, kom je erachter dat w 3 moet voldoen aan (b ba) b. De voorwaarden voor w 2 zijn iets ingewikkelder: w 2 mag niet leeg zijn, aa mag er niet in voorkomen en w 2 mag noch eindigen noch beginnen met een a. De reguliere expressie bb (abb ) beschrijft precies de voorwaarden op w 2. We voegen de deelexpressies samen tot b (abb ) aabb (abb ) aa (b ba) b b (abb ) aaa (b ba) b waarvan we nu inzien dat dat een oplossing is. 3 Opgave 1.2 Gegeven zijn L 1 = { w {a, b} ; bb komt niet voor in w } en L 2 = L ( a (baa ) b? ). De opgave is aan te tonen dat L 1 = L 2. Dat betekent dat we moeten laten zien dat L 1 L 2 en L 2 L 1. Verkort v komt voor in w tot v w. (Oftewel: v w w 1, w 2 Σ [w = w 1 vw 2 ]). 3.1 L 2 L 1 Als bb w en bb v, maar bb vw, dan moet v eindigen met een b en w beginnen met een b. Stel dat A, B Σ en dat voor alle w A B, bb w en w eindigt niet met een b, dan geldt dit ook voor alle w AB. Dit geldt L (ba) 3

en L (a), dus uit het voorgaande volgt dat het ook geldt voor L (a ), L (baa ), L ( (baa ) ), L ( a (baa ) ) en L ( a (baa ) b? ). Dus voor elke w L 2, bb w en daarmee w L 1. 3.2 Vlot bewijs dat L 1 L 2 Wij geven twee verschillende bewijzen. De eerste is losjes en mooi kort. De tweede is lang, gedetailleerd en rigoreus. Gegeven w L 1. Dan komt bb niet voor in w. Dan is w van de vorm a n0 ba n1 ba n2 b... ba n k 1 b n k waar n 0, n k 0 en n 1,... n k 1 1. Bijvoorbeeld voor baaab is k = 2, n 0 = 0, n 1 = 3 en n 2 = 0 en voor aa is k = 0 en n 0 = 2. We onderscheiden twee gevallen: w eindigt met een b of niet. Oftewel: n k = 0 of n k > 0. n k = 0 Allereerst: a n0 L (a ) en b L (b?). Verder voor elke 1 i k 1, geldt n i 1. Dus a ni 1 L (a ). Dus ba ni = baa ni 1 L (baa ). Dus ba n1 ba n2... ba n k 1 L ( (baa ) ). Dus allen tezamen: w = a n0 ba n1... ba n k 1 b L ( a (baa ) b? ). Dus w L 2. n k 0 Allereerst a n0 L (a ) en λ L (b?). Verder voor elke 1 i k geldt n i 1 dus ba n1 ba n2... ba n k L ( (baa ) ). Beide tezamen: w = a n0 ba n1... ba n k 1 ba n k λ L ( a (baa ) b? ). Dus w L 2. Dus in alle gevallen: w L 2. 3.3 Rigoreus bewijs dat L 1 L 2 Nu volgt een ander bewijs dat L 1 L 2. 3.3.1 Inductie over woorden Bij natuurlijke getallen heb je het principe van volledige inductie: als je n N [P (n)] wilt bewijzen voor een eigenschap P, dan is het voldoende te bewijzen dat P (0) geldt en dat als P (n) geldt, ook P (n + 1) geldt. Zo kun je ook een eigenschap P voor alle woorden bewijzen. Als je bewijst dat P (λ) en voor alle w Σ en σ Σ, als P (w) dan P (wσ), dán kunnen we ook concluderen dat w Σ [P (w)]. 3.3.2 De strategie We willen bewijzen dat voor alle w Σ : als w L 1 dan w L 2. Definieer P (w) (w L 1 w L 2 ). Eerst bewijzen we dat P (λ) en daarna dat voor alle w Σ en σ Σ, als P (w), dan P (wσ). Met inductie kunnen we dan concluderen dat w Σ [P (w)], dus dat L 1 L 2. 4

3.3.3 Basisstap: P (λ) Als e een reguliere expressie is, dan is per definitie L (e ) = L (e) = i N L (e)i = L (e) 0 L (e) 1.... We hebben afgesproken dat voor elke A Σ, A 0 = {λ}. Dus L (e ) = {λ} L (e) 1... en we zien dat in ieder geval λ L (e ). Dus ook λ L (a ) en λ L ( (baa ) ). L (b?) = L (b λ) = L (b) L (λ) = {b, λ} λ. En daarmee λ = λλλ L (a ) L ( (baa ) ) L (b?) = L ( a (baa ) b? ) = L 2. bb λ, dus λ L 1. En met het voorgaande P (λ). 3.3.4 Inductiestap: w Σ, σ Σ [P (w) P (wσ)] Stel w L 1, w L 2, σ Σ en wσ L 1. Te bewijzen: wσ L 2. Geval w = λ: Geval σ = a: a L (a) L (a) = L (a ) = L (a ) {λ} {λ} L (a ) L ( (baa ) ) L (b?) = L ( a (baa ) b? ) = L 2, dus wσ = σ L 2. Geval σ = b: b L (b) L (b) L (λ) = L (b λ) = L (b?) = {λ} {λ} L (b?) L (a ) L ( (baa ) ) L (b?) = L ( a (baa ) b? ) = L 2, dus wσ = σ L 2. Geval w λ: Er zijn zekere w Σ en σ Σ met w = w σ. Geval σ = a: w = w a L 2, dus w a L ( a (baa ) b? ) = L ( a (baa ) ) {λ, b}, maar w a eindigt niet met b, dus w a L ( a (baa ) ). Geval σ = a: Geval w a L (a ): w aa L (a ) {a} = {λ, a, aa,...} {a} = {a, aa, aaa,...} L (a ) L ( a (baa ) b? ), dus wσ L 2. Geval w a L (a ): w a / L (a ), maar w a L ( a (baa ) ) = L (a ) L ( (baa ) ) = L (a ) { λ, L (baa ) 1, L (baa ) 2,... }. Aangezien L (a ) {λ} = L (a ), w a L (a ) { L (baa ) 1, L (baa ) 2,... } = L (a ) L ( (baa ) ) L (baa ) = L ( a (baa ) baa ). Dus w aa L ( a (baa ) baa a ) L ( a (baa ) baa ) L ( a (baa ) ) L ( a (baa ) b? ). Blijkbaar wσ L 2. Geval σ = b: w ab L ( a (baa ) ) {b} L ( a (baa ) ) {b, λ} = L ( a (baa ) ) L (b?) = L ( a (baa ) b? ) blijkbaar wσ L 2. Geval σ = b: Ook σ b, want anders bb wσ = w bb hetgeen in tegenspraak is met de aanname wσ L 1. De woorden in L (a ) eindigen niet in b. Net zo min eindigen de woorden in L ( (baa ) ) op b. w = w b eindigt op b en per aanname w L ( a (baa ) b? ), dus w L ( a (baa ) b ). Voorts wa L ( a (baa ) ba ) L ( a (baa ) baa ) L ( a (baa ) ) L ( a (baa ) b? ) blijkbaar wσ L 2. Dus in alle gevallen wσ L 2. 5

4 Opgave 1.3 Een goede oplossing is ( b (aa) b ( a b (aa) ab ) ( bb ba (aa) ab ) ( a ba (aa) b )). De methode om tot deze oplossing te komen, wordt behandeld in het derde hoorcollege. 6