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



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

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

opgaven formele structuren deterministische eindige automaten

Automaten en Berekenbaarheid 2016 Oplossingen #4

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

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur

3 De stelling van Kleene

Limits of algorithmic computation. Introductie 213. Leerkern 214. Zelftoets 222. Terugkoppeling 223

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

Fundamenten van de Informatica

Automaten & Complexiteit (X )

Tentamen in2505-ii Berekenbaarheidstheorie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Tentamen TI2310 Automaten en Talen. 19 april 2012, uur

Elfde college complexiteit. 23 april NP-volledigheid III

Automaten & Complexiteit (X )

Module Limieten van de berekenbaarheid : antwoorden

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

Uitgebreide uitwerking Tentamen Complexiteit, juni 2018

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

Berekenbaarheid 2015 Uitwerkingen Tentamen 5 november 2015

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

Formeel Denken 2014 Uitwerkingen Tentamen

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

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

Uitwerkingen toets 9 juni 2012

Berekenbaarheid 2013 Uitwerkingen Tentamen 23 januari 2014

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Semantische eigenschappen van XML-schematalen

Formeel Denken. Herfst 2004

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

Uitwerking tentamen Analyse van Algoritmen, 29 januari

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

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

Berekenbaarheid 2016 Uitwerkingen Tentamen 26 januari 2017

Vorig college. IN2505-II Berekenbaarheidstheorie. Voorbeeld NDTM. Aanbevolen opgaven. College 3

Automaten en Berekenbaarheid

IMO-selectietoets I donderdag 2 juni 2016

Combinatoriek groep 1 & 2: Recursie

Stelling. SAT is NP-compleet.

Bilineaire Vormen. Hoofdstuk 9

Uitwerkingen Rekenen met cijfers en letters

Automaten en Berekenbaarheid

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

Automaten. Informatica, UvA. Yde Venema

Rekenen met cijfers en letters

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1

Logische Complexiteit Hoorcollege 4

Automaten en Berekenbaarheid

1. Een van mijn collega s, liet een mooi verhaal zien: De opgave was: Los op ln(x + 2) ln(x + 1) = 1.

Wiskunde klas 3. Vaardigheden. Inhoudsopgave. 1. Breuken Gelijksoortige termen samennemen Rekenen met machten Rekenen met wortels 4

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

Selecties uit de Elementen van Euclides (ca. 300 v.c.), Boek 1

De wissel-eigenschap voor vermenigvuldigen Vermenigvuldigen kan in omgekeerde volgorde gebeuren, want voor ieder paar getallen a enbgeldt: a b=b a.

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

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

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Beknopte uitwerking Examen Neurale Netwerken (2L490) d.d

TW2020 Optimalisering

Reguliere Expressies

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.

Taaltechnologie. Januari/februari Inhoud

Verzamelingen deel 2. Tweede college

Beslisbare talen (1) IN2505-II Berekenbaarheidstheorie. Beslisbare talen (2) Beslisbare talen (3) De talen: College 7

Achtste college complexiteit. 2 april Polynoomevaluatie Matrixvermenigvuldiging Euler- en Hamiltonkringen

We beginnen met de eigenschappen van de gehele getallen.

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

Public Key Cryptography. Wieb Bosma

Combinatoriek groep 1

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

rij karakters scanner rij tokens parser ontleedboom (filteren separatoren) (niet expliciet geconstrueerd) (+ add. inform.) (contextvrije analyse)

Begrenzing van het aantal iteraties in het max-flow algoritme

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica

1 Recurrente betrekkingen

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

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

Vierde college algoritmiek. 1 maart Toestand-actie-ruimte Brute Force

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

Gaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien:

Selecties uit de Elementen van Euclides, Boek 1

Selectietoets vrijdag 9 maart 2018

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

De constructie van een raaklijn aan een cirkel is, op basis van deze stelling, niet zo erg moeilijk meer.

Jordan normaalvorm. Hoofdstuk 7

Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002

ω-automaten Martijn Houtepen, november 2008 Begeleider: R. Iemhoff

(On)Doenlijke problemen

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

Determinanten. , dan is det A =

TU Delft. TU Delft. TU Delft. TU Delft. IN3100 Fundamentele Informatica. Practicum. Practicum: Inschrijven. Practicum: LET OP

Cabri-werkblad. Driehoeken, rechthoeken en vierkanten. 1. Eerst twee macro's

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

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

1 Rekenen met gehele getallen

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica

Berekenbaarheid, onberekenbaarheid en complexiteit: een aanvullende studie. Gijs Vermeulen

Meetkunde. Trainingsweekend januari Gerichte hoeken. gerichte hoeken, driehoeksongelijkheid, Ravi

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Transcriptie:

ANTWOORDEN tentamen FUNDAMENTELE INFORMATICA 3 vrijdag 25 januari 2008, 10.00-13.00 uur Opgave 1 L = {x {a,b,c} n a (x) n b (x)} {x {a,b,c} n a (x) n c (x)}. a. Een stapelautomaat die L accepteert: Λ, Z 0 /Z 0 Λ, Z 0 /Z 0 a, X/aX b, a/λ c, X/X a, X/aX b, X/X c, a/λ b, Z 0 /Z 0 a, Z 0 /Z 0 a, Z 0 /Z 0 c, Z 0 /Z 0 a, b/λ b, X/bX c, X/X a, c/λ b, X/X c, X/cX X staat voor elk willekeurig stapelsymbool. Deze automaat bestaat uit 2 (deterministische) delen; in de begintoestand wordt gegokt (niet-determinisme) of het aantal a s groter/gelijk zal zijn dan het aantal b s of groter/gelijk zal zijn dan het aantal c s. (Woorden waarin allebei geldt, hebben dus zeker 2 accepterende berekeningen.) Na deze keuze 1 zijn er twee toestanden: een eindtoestand waarin het aantal gelezen a s groter/gelijk is dan het aantal gelezen b s (respectievelijk c s) en een toestand waarin het aantal gelezen a s kleiner is dan het aantal gelezen b s (respectievelijk c s). De getekende automaat noemen we M; zijn begintoestand q 0, en van links naar rechts: de twee toestanden bovenin p f en p en de twee onderin r f en r. b. Accepterende berekeningen van M (één accepterende berekening per woord geven is genoeg) voor ba: (q 0,ba,Z 0 ) (p f,ba,z 0 ) (p,a,z 0 ) (p f,λ,z 0 ) of (q 0,ba,Z 0 ) (r f,ba,z 0 ) (r f,a,z 0 ) (r f,λ,az 0 ). voor babc: (q 0,babc,Z 0 3 (r f,bc,az 0 ) (r f,c,az 0 ) (r f,λ,z 0 ). dit is de enige accepterende berekening van M voor babc. 1 Een alternatieve methode zou na de eerste keuze voor elke gelezen a een symbool bijstapelen (zeg A, mits de top van de stapel een A of Z 0 is) en voor b s een symbool B bijstapelen (mits de top van de stapel een B of Z 0 is). Wanneer een a (b) wordt gelezen met B (A, respectievelijk) als top, dan wordt dit symbool gepopt. Als de top van de stapel A of Z 0 is, mag de automaat (niet-deterministisch) naar de accepterende toestand, vanwaar geen transities meer mogelijk zijn. De zo beschreven PDA heeft minder toestanden, maar meer niet-determinisme dan de hierboven getekende.

c. M is niet deterministisch: in q 0 zijn er twee transities mogelijk als Z 0 de top van de stapel is, zonder dat de keuze wordt bepaald door verschillende invoersymbolen. (Zie ook de opmerkingen bij a.) d. Er bestaat geen DPDA die L accepteert met lege stapel. Immers zowel babc als zijn prefix ba komen voor in L (zie onderdeel b). Een deterministische automaat heeft per woord hooguit één berekening. Als na afloop daarvan de stapel leeg is kan er geen verlenging van dat woord ook nog worden geaccepteerd. (Zie opgave 7.15.) e. Gegeven is dat K = {a i b j c k i < j en i < k} geen context-vrije taal is. Dan is L geen deterministische context-vrije taal. Immers, K is de gesorteerde versie van het complement van L: K = ({a,b,c} L) {a} {b} {c}. De familie van DCFLs is gesloten onder complement, dus als L een DCFL is dan zijn complement ook. Verder is de familie van DCFLs gesloten onder doorsnijding met reguliere talen. Dus als het complement van L een DCFL is, dan ook K. Dit is in tegenspraak met het gegeven dat K zelfs geen CFL is. Opgave 2 De context-vrije grammatica G heeft startsymbool S, terminaal alfabet {a, b, $} en producties S T$ T TX ab Λ X bxaa ba. a. Eliminatie van de links-recursie in G (met nieuwe niet-terminaal U): T TX ab Λ wordt vervangen door T abu U en U XU Λ. b. Factorisatie toegepast op X bxaa ba (met nieuwe niet-terminaal V ): X bv en V Xaa a. De grammatica H geconstrueerd bij de vorige onderdelen heeft producties S T$ T abu U U XU Λ X bv V Xaa a. c. Lookahead voor de producties van H: LA 1 (S T$) = {a,b,$} LA 1 (T abu) = {a} en LA 1 (T U) = {b,$} LA 1 (U XU) = {b} en LA 1 (U Λ) = {$} LA 1 (X bv ) = {b} LA 1 (V Xaa) = {b} en LA 1 (V a) = {a}. d. H voldoet aan de LL(1) eigenschap. Immers, zoals we bij c zien, geldt voor elke niet-terminaal dat zijn producties geen gemeenschappelijke lookaheadsymbolen hebben: voor alle niet-terminalen A geldt, als A α en A β producties zijn met α β, dan LA 1 (A α) LA 1 (A β) =. Opgave 3 De Turingmachine T met invoeralfabet {0, 1} zoals hieronder gegeven berekent de functie f(n) = n 2 door twee keer 1 af te trekken van het gegeven binair gerepresenteerde invoergetal n. Om n 1 te berekenen als n binair gegeven is, loopt T eerst naar het rechteruiteinde van de invoer (waarbij gelijk gecontroleerd wordt dat de invoer met een 1 begint). Vervolgens beweegt hij naar links onderwijl elke 0 in een 1 veranderend totdat hij een 1 tegenkomt. Deze 1 wordt 0 en dan gaat de kop terug naar rechts (bij I) om deze procedure nog één keer te herhalen. (Als

de invoer 1 oorspronkelijk 1 was, blijft T nu hangen, omdat er geen 1 meer is om in 0 te veranderen.) T loopt helemaal terug naar links (bij II) en als het meest linkse symbool een 1 is, kan hij stoppen in h a in de configuratie (h a, bin(n 2)). Als het meest linkse symbool een (leidende) 0 is, dan loopt T helemaal naar rechts om vandaar alle symbolen een plek naar links op te schuiven (bij IIIa wordt onthouden dat een 0 wordt opgeschoven en bij IIIb dat het om een 1 gaat). Wanneer de kop links is aangekomen, ziet hij terwijl hij een 0 onthoudt. Nu moet hij alleen nog controleren of band nu helemaal leeg is en de uitvoer dus 0 moet zijn, omdat de invoer 2 was. Dan kan hij stoppen in h a. Merk op dat er nooit meer dan één leidende 0 zal zijn na II; als je dat niet gelooft, dan moet je de opschuifprocedure blijven herhalen tot je na II inderdaad een 1 rechts van ziet. 1/1, R 0/0, R 0/1, L 1/1, R /, R 1/1, R /, L 1/0, R I 1/0, L 0/0, L IIIa /, R /0, L h a /, L 0/1, L 0/1, L 1/, L IIIb 0/, L /, L 0/0, R 1/1, R 0/0, R 1/0, L /, R II 0/0, L Een andere methode is om binair 2 (dus 10) af te trekken van (de binaire representatie van) n: loop naar het einde van de string; handhaaf het meest rechtse symbool, stap naar links en trek zoals boven beschreven 1 af van de resterende string. Ook nu moet je verifieren dat invoer en uitvoer de juiste vorm hebben en zorgen dat de uitvoer op de juiste plaats op de band staat. Opgave 4 a. Definitie 10.1: Een taal L is recursief opsombaar als er een Turingmachine T is die deze taal accepteert (L = L(T)). L is recursief als er een Turingmachine T is die L herkent (d.w.z. beslist, dus T berekent de karakteristieke functie van L). b. Stelling 10.1: Elke taal die recursief is, is ook recursief opsombaar. Bewijs: een eenvoudige constructie, zie boek. De bewering: elke taal die recursief opsombaar is, is ook recursief is niet waar, zoals blijkt uit de taal SA die wel recursief opsombaar is, maar niet recursief (Stelling 11.2).

K = {x {a,b} n a (x) = 2 k voor een k 0}. c. Een unrestricted (type 0) grammatica die K genereert, met startsymbool S en producties: S LARB LAR L LX XR R XA AAX L Λ R Λ B BB AB BA A a B b Deze grammatica kan alleen woorden genereren die minstens één a bevatten en 0 of meer b s. De symbolen L en R fungeren als zender en ontvanger van de boodschap X dat elke A moet verdubbelen. De productie AB BA zorgt dat A s en B s door elkaar kunnen worden gezet. Overigens is het ook niet zo moeilijk om een context-gevoelige grammatica voor deze taal te geven waarin woorden nooit korter worden door herschrijven. d. K is recursief, want zijn karakteristieke functie is berekenbaar. Immers, het is eenvoudig om na te gaan of een gegeven woord w element is van K. Ten eerste mag w alleen maar uit a s en b s bestaan. Verder kan je het aantal a s in w tellen en nagaan of dat getal een macht van 2 is (door herhaald door 2 delen). Omdat K recursief is, is K ook recursief opsombaar (zie b). Opgave 5 a. De stelling van Rice (Stelling 11.9): beslissingsprobleem P R : Gegeven Turingmachine T; heeft L(T) eigenschap R? is onbeslisbaar als R een niet-triviale eigenschap van Turingmachinetalen (de recursief opsombare talen) is (er zijn re talen met die eigenschap en er zijn er zonder die eigenschap). Gegeven zijn twee beslissingsproblemen: AcceptsNothing: Gegeven Turingmachine T; is L(T) =? EmptyIntersection: Gegeven twee Turingmachines T 1 en T 2 ; is L(T 1 ) L(T 2 ) =? b. AcceptsNothing reduceert naar EmptyIntersection (zie Definitie 11.3): Uit een instantie T van AcceptsNothing construeren we een instantie (T,T 0 ) van EmptyIntersection met T 0 de Turingmachine die alle woorden over het invoeralfabet Σ van T accepteert; dus L(T 0 ) = Σ. (Je kan ook T 0 = T kiezen.) Merk op dat deze transformatie inderdaad effectief is: het is eenvoudig om een Turingmachine te construeren met invoeralfabet Σ die Σ accepteert; bijvoorbeeld een TM met alleen een instructie van zijn begintoestand gelijk naar h a ongeacht de invoer. (Instantie T omzetten in (T,T) is uiteraard ook effectief.) Er geldt: L(T) = desdals L(T) Σ = desdals L(T) L(T 0 ) =, (en L(T) = desdals L(T) L(T) = ) dus T is een ja-instantie van AcceptsNothing desdals (T,T 0 ) is een ja-instantie van EmptyIntersection. c. EmptyIntersection reduceert naar AcceptsNothing (Definitie 11.3): Uit een instantie (T 1,T 2 ) van EmptyIntersection construeren we een instantie

T van AcceptsNothing met T eenturingmachine die L(T 1 ) L(T 2 ) accepteert. Hier maken we gebruik van het gegeven dat voor elk tweetal Turingmachinetalen een TM kan worden geconstrueerd die hun doorsnijding accepteert. Deze transformatie is dus effectief. Er geldt: L(T 1 ) L(T 2 ) = desdals L(T) = L(T 1 ) L(T 2 ) = en dus is (T 1,T 2 ) een ja-instantie van EmptyIntersection desdals T een jainstantie is van AcceptsNothing d. Leeg zijn is een niet-triviale eigenschap van Turingmachinetalen: een TM die accepteert bestaat (bijvoorbeeld een TM zonder instructies) en er zijn TMs die wel woorden accepteren (zoals bijvoorbeeld T 0 in onderdeel b). Uit de stelling van Rice volgt nu direct dat AcceptsNothing onbeslisbaar is. Omdat AcceptsNothing naar EmptyIntersection reduceert, volgt dat ook EmptyIntersection onbeslisbaar moet zijn (zo niet dan hadden we op grond van b ook een algoritme om AcceptsNothing te beslissen).