Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Vergelijkbare documenten
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

opgaven formele structuren deterministische eindige automaten

Automaten en Berekenbaarheid

Automaten & Complexiteit (X )

Automaten & Complexiteit (X )

Automaten. Informatica, UvA. Yde Venema

Berekenbaarheid 2015 Uitwerkingen Tentamen 5 november 2015

Automaten en Berekenbaarheid

Automaten en Berekenbaarheid 2016 Oplossingen #4

String Matching. Algoritmiek

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.

String Matching. Algoritmiek

Vorig college. IN2505-II Berekenbaarheidstheorie. Turingmachines. Turingmachine en Taal. College 2

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

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

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

IN2505 II Berekenbaarheidstheorie. IN2505-II Berekenbaarheidstheorie. Practicum: Inschrijven. Practicum

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

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

c, X/X a, c/λ a, X/aX b, X/X

Examen Datastructuren en Algoritmen II

Logische Complexiteit Hoorcollege 4

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur

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

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

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

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

1 Kettingbreuken van rationale getallen

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking

Uitwerking Puzzel 93-1, Doelloos

Wiskundige beweringen en hun bewijzen

3. Structuren in de taal

We beginnen met de eigenschappen van de gehele getallen.

Module Limieten van de berekenbaarheid : antwoorden

Getallensystemen, verzamelingen en relaties

Bewijs door inductie

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

Formeel Denken 2014 Uitwerkingen Tentamen

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens

Tentamen in2505-ii Berekenbaarheidstheorie

Stelling. SAT is NP-compleet.

Radboud Universiteit Nijmegen

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

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Fundamenten van de Informatica

Getaltheorie groep 3: Primitieve wortels

Vorig college. IN2505-II Berekenbaarheidstheorie. Aanbevolen opgaven. Wat is oneindigheid? College 5

Projectieve Vlakken en Codes

Twaalfde college complexiteit. 7 mei NP-volledigheid IV Cook-Levin Savitch 1

Eindige Fourier-Analyse in de Additieve Combinatoriek

VERZAMELINGEN EN AFBEELDINGEN

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers

Berekenbaarheid 2013 Uitwerkingen Tentamen 23 januari 2014

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

1 Hele getallen. Rekenen en wiskunde uitgelegd Kennisbasis voor leerkrachten basisonderwijs. Uitwerkingen van de opgaven bij de basisvaardigheden

Tweede huiswerkopdracht Lineaire algebra 1 Uitwerking en opmerkingen

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

extra oefening algoritmiek - antwoorden

Algoritmen abstract bezien

Hebzucht loont niet altijd

Hoe Gödel de wiskunde liet schrikken

Elfde college complexiteit. 23 april NP-volledigheid III

Finite automata. Introductie 35. Leerkern 36. Zelftoets 44. Terugkoppeling 45

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University

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

Reguliere Expressies

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

ling van die eigenschap binnen het model geldt. In het bijzonder bij het wiskundig modelleren van een programma kan een eigenschap met wiskundige zeke

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

TW2020 Optimalisering

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

Bespreking Examen Analyse 1 (Augustus 2007)

Het minimale aantal sleutels op niveau h is derhalve

1 Junior Wiskunde Olympiade : eerste ronde

Automaten en Berekenbaarheid

Lineaire algebra 1 najaar Lineaire codes

Wanneer zijn veelvouden van proniks proniks?

Inleiding Programmeren 2

Airyfunctie. b + π 3 + xt dt. (2) cos

Formeel Denken 2013 Uitwerkingen Tentamen

Uitgebreide uitwerking Tentamen Complexiteit, juni 2018

Automaten & Complexiteit (X )

Negende college complexiteit. 9 april NP-volledigheid I: introductie

Notatie van verzamelingen. Lidmaatschap. Opgave. Verzamelingen specificeren

rh276a 0 We breiden nu bovenstaand programmafragment uit door assignments toe te voegen aan een nieuwe variabele m, aldus:

1 Limiet van een rij Het begrip rij Bepaling van een rij Expliciet voorschrift Recursief voorschrift 3

Getallen, 2e druk, extra opgaven

Zevende college algoritmiek. 23/24 maart Verdeel en Heers

Pythagoreïsche drietallen Guy Van Leemput, Sint-Jozefcollege te Turnhout, België

TRILLINGEN EN GOLVEN HANDOUT FOURIER

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Selectietoets vrijdag 10 maart 2017

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

Kettingbreuken. 20 april K + 1 E + 1 T + 1 T + 1 I + 1 N + 1 G + 1 B + 1 R + 1 E + 1 U + 1 K + E + 1 N A + 1 P + 1 R + 1 I + 1

Transcriptie:

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet <hvdzwet@liacs.nl> 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009] gebruikt bij het college. In deze opdracht zullen zeven opgaven (3,20,22,47,54,68,69) van hoofdstuk 3 behandeld worden. 1 Opgave 3.3 Als L Σ is regulier dan is de taal 2L := a 1, a 1, a 2, a 2,..., a k, a k : elke a i Σ en a 1 a 2 a k L (1) regulier. Zie dat er een verdubbeling optreed van symbolen, dit gedrag is de modelleren in een DFA. Omdat L regulier is bestaat er een DFA M = (Q, Σ, δ, q 0, F ) die L beschrijft. Construeer nu een nieuwe DFA P die de nieuwe taal 2L gaat beschrijven, neem hiervoor het alfabet (Σ), en de begintoestand q 0 over van L. De toestanden (Q) worden verdubbeld. voor alle q Q : voeg q toe aan Q. Neem ook de transities over van M, maar maak aanpassingen zodanig dat de nieuwe toestanden ook gelezen worden. Dus δ(q, x) wordt δ(q, q ), δ(q, x). De acceptatie toestand F is gelijkt aan de oude acceptatie toestand. De nieuwe DFA P beschrijft 2L en dus is 2L regulier. 1

2 Opgave 3.20 Laat Σ = {0, 1} zijn. Een voorbeeld van de taal L Σ voor welke geldt dat, de Myhill-Nerode[JS2009][pg. 77 81] gelijkheid relatie R L de eigenschap heeft dat elk woord in Σ zijn eigen equivalentie klasse is. Dit wilt zeggen dat xr l y dan en slechts dan voor alle z Σ, is er een xz L dan en slechts als yz L. Omdat hier gezocht wordt naar een taal waarbij de woorden allemaal equivalentie klassen op-zich zijn, zal alle elementen met elkaar vergeleken kunnen worden door middel van R L en hier mogen geen positieve gevallen uitkomen. De (triviale) taal L = 01, 10 is een voorbeeld hiervan. Beiden woorden hebben hun eigen klasse. Als x = 0 en y = 1, bestaat er een z = 1, zodanig dat xz L, yz / L. De taal M = 0 : M 0 is een priemgetal is een ander voorbeeld. Als we kijken naar ar l b kan er altijd een z gevormd worden zodanig dat az M, bz / M. Bijvoorbeeld a = 0 3, b = 0 5, z = 0 4. Deze eigenschap wordt afgedwongen door het feit dat er geen relatie bestaat tussen de lengtes tussen opeenvolgende priemgetallen. 1 3 Opgave 3.22* Om aan te tonen dat een 2DFA exponentieel meer expressief is dan een DFA voor bepaalde talen kijken we naar de volgende taal; Laat n een integer 1 en F n {0, 1, 2, 3, 4} als volgende gedefinieerd: F n = {3 0 i 1 1 0 i2 1 0 in 2 k 0 i k 4 : 1 k, j, i j n} (2) Als eerste kan de F n door een 2DFA van O(n) toestanden geaccepteerd worden, welke aan te tonen is door eerst te kijken naar de eigenschappen van F n hierbij is de zien dat de 0-reeks van de lengte i k zowel voor als na de 2 k moet voorkomen. Waarbij 2 k aangeeft, waar deze 0-reeks gevonden kan worden e.g. bij welke i x. De 2DFA moet dus twee dingen doen. Het aantal keer nul op twee plekken vergelijken. Waarbij 1 plek vast staat en de 1 Ik heb dit voor gemak aangenomen, de praktijk is echter dat is nog een groot wiskundig vraagstuk is. 2

goto-2 0-length-check 2 0-length-check 2 Figuur 1: Idee voor Opdracht 2.22a tweede plek variabele wordt gedefinieerd. Dit lijkt mij controleren op twee los staande feiten. Hiervoor heb ik geen antwoord gevonden. Ik kan enkel wat voor O(n 2 ) bedenken, welke een idee is in Figuur 1 uitgewerkt is. Om te laten zien dat een DFA minstens n n toestanden nodig heeft moet je gebruik maken van het feit dan een DFA niet terug kan lopen. Het zal dus een geheugen moeten maken om het maximale 0 woord voor de splitsing (2 k ) te kunnen onthouden om zo te kijken of het overeen komt het 0 woord na de splitsing. Omdat je voor elke F i waarbij 1 i n minimaal n toestanden nodig hebt om te kunnen tellen en hiervan weer n unieke sets bestaan, heb je dus minimaal n n toestanden nodig. 4 Opgave 3.47 Om te bewijzen dat de klasse van talen geaccepteerd door DFA = de klasse van talen gespecificeerd door de reguliere expressies [JS2009][Theorem 1.4.2, (b) = (a)] aan de hand van het volgende voorbeeld: Laat M = (Q, Σ, δ, q 1, F ) een DFA zijn, waarbij Q = {q 1, q 2,..., q n }. Definieer nu R i,j,k als de taal van alle woorden die van toestand i naar toestand j gaan zonder door toestanden te gaan die hoger als k genummerd zijn. 3

Om dit te doen is een recursieve formule nodig, welke R i,j,k als invoer heeft. a) Kijk welke transities er mogelijk zijn in δ met toestand i als begin positie. Plaats deze op de stapel. b) Werk de elementen op de stapel stuk voor stuk af volgens dezelfde methodiek. Stop pas als de δ resultaat j bevat. Let erop dat oneindige herhalingen gedetecteerd moeten worden om het algoritme te laten termineren. Je kan het zien als het volledig doorzoeken van een boom met in de wortel de knoop i. 5 Opgave 3.54 Laat Σ = {1, 2, 3,..., n} zijn en definieer: L n = {w Σ : w i = 1 voor alle i} (3) Dit zijn dus de woorden waarbij alle elementen precies één keer in voor komen. Bijvoorbeeld L 3 = {123, 132, 213, 231, 312, 321}. Om te laten zijn dat er minimal een reguliere expressie van lengte 2 n 1 nodig is om L n te specificeren, moet de Myhill-Nerode stelling toegepast worden. Vanwege de eigenschap dat prefix uniek is, zat het nooit mogelijk worden om aan beiden woorden hetzelfde toe te voegen zodanig dat ze in elkaars klasse terecht komen. (elk bit informatie is relevant). Voor alle klasse zal dus apart gekeken worden of aan de eisen voldaan wordt. Om dus alle getallen n van de string te controleren of zij uniek is zijn minimaal 2 n 1 toestanden nodig. Echter voor L n is wel een reguliere expressie te vinden en wel in de grootte O(n 2 ). Door simpelweg voor elke i Σ een reguliere expressie te maken van de vorm x i x i x waarbij x = Sigma i. 6 Opgave 3.68 Voor een woord w Σ, is een palc(w) de korte palindroom x zodanig dat w een prefix is van x. en palc(l) = w L {palc(w)}. Om te laten zien dat palc(w) = wt 1 w R, waarbij wt 1 het woord is w waar het suffix t eraf gehaald is en t de langste palindroom suffix van w is, moet 4

er gebruik gemaakt worden van een tegenstelling. Als w nog een palindroom aan het einde zal bevatten uu, dan ziet x er als volgt uit wuuuuw, dit is niet de korte palindroom (ww), welke uuuu er nog makkelijk uit weggehaald had kunnen worden. Een willekeurige suffix van w kan ook geen palindroom vormen die nog weggesneden kan worden, omdat hij anders al in den beginne een palindroom had moeten zijn. Als L is regulier, dan is palc(l) ook regulier, welke er een unieke vertaling van een woord w naar zijn palc(w). De nieuwe woorden zullen in het slechtste geval evenveel blijven, maar de taal kan ook kleiner worden. De andere kant op geldt dit niet, als L regulier is, dan is het onbeslist of palc -1 (L) ook regulier is. Het kan namelijk zeer goed dat een (ingewikkelde) functie die woorden genereerde welke een palindroom zijn en die aan een vast prefix (p) toegevoegd. De palc functie zal deze allen naar één woord omzetten, welke dan regulier is. 7 Opgave 3.69 Laat x 1, x 2,..., x k Σ. Om te laten zien dat Σ x 1x 2 x k eindig is dan en slechts als Σ = 1 en gcd( x 1, x 2,..., x k ) = 1 moet er een paar dingen bewezen worden a) aantonen dat het niet geldt voor de tegenvoorbeelden a) gcd > 1 b) Σ > 1 en tevens moet aangetoond worden waarom de eindigheid voor dit specifieke geval geldt. Merk op dat met een gcd van 1 alle getallen in de verzameling {1, priemgetallen} zitten. Bij een alfabet van 1 letter hoeft er enkel maar gesproken worden over lengtes. Standaard zitten alle lengtes in de taal. Aangezien de deellengtes (x 1, x 2,..., x k ) nul of meer keer in de verzameling in de verzameling mogen zitten. Zal je uiteindelijk overblijven met een eindige set lengtes. In het geval dat er lengte 1 gevonden wordt, zal zelfs de lege set het antwoord zijn. a) Als Σ > 1, bijvoorbeeld {1, 2} dan kan er een oneindige verzameling gemaakt worden, door x 1, x 2,..., x k 1. De 2 zal dan een oneindige verzameling vormen. b) gcd > 1, bijvoorbeeld 2 dan kan er een oneindige verzameling gemaakt wor- 5

den, doordat niet alle woorden gemaakt kunnen worden. Enkel worden van even lengte in dit geval. Waardoor de oneven woorden een eindige string gaan vormen. Bij grotere waardes (r) kunnen ook groepen (de r 1) bijvoorbeeld niet meer bereikt worden, welke dan tot een oneindige verzameling kunnen groeien. Referenties [JS2009] Jeffrey Shallit, A second course in formal languages and automata theory, Cambridge University Press, 2009. 6