b) S Ø aa, A Ø aa» bb, B Ø aa» bc, C Ø ac» bc» 2. Låt L vara språket över 8a< som nedanstående NFA accepterar.

Relevanta dokument
PROV I MATEMATIK Automatateori och formella språk DV1 4p

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

REGULJÄRA SPRÅK (8p + 6p) 1. DFA och reguljära uttryck (6 p) Problem. För följande NFA över alfabetet {0,1}:

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

1. (6p) (a) Använd delmängdskonstruktionen för att tillverka en DFA ekvivalent med nedanstående NFA. (b) Är den resulterande DFA:n minimal? A a b.

MÄLARDALENS HÖGSKOLA. CD5560 Formella språk, automater och beräkningsteori. Användarmanual. för simulatorn JFLAP

Föreläsning 2 5/6/08. Reguljära uttryck 1. Reguljära uttryck. Konkatenering och Kleene star. Några operationer på språk

AUBER 95 9 jan LÖSNINGAR STEG 1:

Kontextfria grammatiker

Grundläggande textanalys, VT2012

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Lite mer psykologi. L2: Automater, Sökstrategier. Top-down. Kimballs sju principer

DAB760: Språk och logik

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av

Turingmaskinen - en abstrakt datormodell

PROV I MATEMATIK Algoritmik 14 april 2012

Föreläsning 7: Syntaxanalys

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Matematik för språkteknologer

Lösning till tentamensskrivning på kursen Linjär algebra, SF1604, den 12 mars 2013 kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

i=1 c i = B och c i = a i eller c i = b i för 1 i n. Beskriv och analysera en algoritm som löser detta problem med hjälp av dynamisk programmering.

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 17 april 2010 kl

Diskret matematik: Övningstentamen 1

PROV I MATEMATIK Algoritmik 26 mars 2008

DEL I. Matematiska Institutionen KTH

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

TMV166 Linjär Algebra för M. Tentamen

Polynom över! Till varje polynom hör en funktion DEFINITION. Grafen till en polynomfunktion

Datorlingvistisk grammatik

Vektorgeometri för gymnasister

Automater. Matematik för språkteknologer. Mattias Nilsson

DEL I. Matematiska Institutionen KTH

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Lösning till tentamensskrivning på kursen Diskret Matematik, moment B, för D2 och F, SF1631 och SF1630, den 1 juni 2011 kl

7, Diskreta strukturer

10. Mängder och språk

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604 för D, den 5 juni 2010 kl

1. För vilka värden på konstanterna a och b är de tre vektorerna (a,b,b), (b,a,b) och (b,b,a) linjärt beroende.

Övning 5 - Tillämpad datalogi 2013

1. (a) (1p) Undersök om de tre vektorerna nedan är linjärt oberoende i vektorrummet

Alfabeten, strängar och språk. String

PROV I MATEMATIK Transformmetoder 1MA april 2011

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl

Repetition 2. a) Delmängdskonstruktionen ger nedanstående DFA. Till höger med nya tillståndsnamn.

Lösningar till Algebra och kombinatorik

(a) Bestäm för vilka värden på den reella konstanten c som ekvationssystemet är lösbart. (b) Lös ekvationssystemet för dessa värden på c.

NATIONELLT KURSPROV I MATEMATIK KURS D HÖSTEN Del I, 9 uppgifter utan miniräknare 3. Del II, 8 uppgifter med miniräknare 6

PROV I MATEMATIK Transformmetoder 1MA dec 2010

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Hur bestämmer man vilka fonem ett språk har? Fonologi. Kommutationstest. Hur bestämmer man vilka fonem ett språk har?

kl Tentaupplägg

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 15 mars 2010 kl

TENTAMEN Reglerteknik 3p, X3

Algoritmer, datastrukturer och komplexitet

Fonologi. Kommutationstest. Minimala par. Hur bestämmer man vilka fonem ett språk har?

Gränsvärdesberäkningar i praktiken

TMV225 Kapitel 3. Övning 3.1

TENTAMEN: DEL B Reglerteknik I 5hp

LMA201/LMA521: Faktorförsök

Tentamen 1 i Matematik 1, HF okt 2018, Skrivtid: 14:00-18:00 Examinator: Armin Halilovic

Dynamisk programmering

Block 1 - Mängder och tal

Uppgifter i TDDC75: Diskreta strukturer Kapitel 8 Ordning och oändlighet

Lösningsförslag till övningsuppgifter, del II

Kontinuitet och gränsvärden

Block 1 - Mängder och tal

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610 och 5B1118, tisdagen den 7 januari 2014, kl

Abstract Vi betraktar ringen R = Z 2 [x 1,...,x n ]/(x 2 1 x 1,...,x 2 n x n ). Vi visar att det finns en naturlig 1-1-motsvarighet mellan elementen

TENTAMEN: DEL A Reglerteknik I 5hp

MVE520 Linjär algebra LMA515 Matematik, del C

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

TDP Regler

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)

Diskret matematik: Övningstentamen 4

Lösning till fråga 5 kappa-06

NATIONELLT KURSPROV I MATEMATIK KURS D VÅREN 2002

Trigonometri. Sidor i boken 26-34

7, Diskreta strukturer

729G09 Språkvetenskaplig databehandling

1. a) (2p) Vilket aritmetiskt uttryck beskrivs av det binära trädet

Tentamen 973G10 Matematik för lärare årskurs 4-6, del2, 15 hp delmoment Geometri 4,5 hp, , kl. 8-13

Np MaB vt Låt k = 0 och rita upp de båda linjerna. Bestäm skärningspunkten mellan linjerna.

TNA001- Matematisk grundkurs Tentamen Lösningsskiss

1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = =

8(x 1) 7(y 1) + 2(z + 1) = 0

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Uppgifter till praktiska tentan, del A. (7 / 27)

Tentamen i Grundläggande Programvaruutveckling, TDA548

Träd och koder. Anders Björner KTH

Algebra och Diskret Matematik A (svenska)

Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att. a b (mod n)

{ } { } En mängd är en samling objekt A = 0, 1. Ex: Mängder grundbegrepp 5 C. Olof M C = { 7, 1, 5} M = { Ce, Joa, Ch, Je, Id, Jon, Pe}

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Matriser. En m n-matris A har följande form. Vi skriver också A = (a ij ) m n. m n kallas för A:s storlek. 0 1, 0 0. Exempel 1

kl Tentaupplägg

Tentamen i Grundläggande Programvaruutveckling, TDA548

Transkript:

Salling, 070-6527523 TID : 9-14 HJÄLPMEDEL : Inga BETYGSGRÄNSER : G 18p, VG 28p SKRIV TYDLIGT OCH MOTIVERA NOGA! PROV I MATEMATIK AUTOMATEORI & FORMELLA SPRÅK DV1, 4 p 20 MARS 2002 1. Språket L över alfabetet 8a, b< definieras av att dess strängar börjar på a och innehåller minst en förekomst av abb. a) Konstruera en DFA för L. (3p) b) Konstruera en reguljär grammatik för L. (3p) a) b) S Ø aa, A Ø aa» bb, B Ø aa» bc, C Ø ac» bc» 2. Låt L vara språket över 8a< som nedanstående NFA accepterar. a) Konstruera med hjälp av delmängdskonstruktionen en DFA för L. (3p) b) Konstruera en minimal DFA för L. (Minimaliteten måste motiveras.) (3p) a)

AUTOMATATEORI & FORMELLA SPRÅK DV1, 4p, 21 mars 2002 2 b) Man har en stark känsla av att ovanstående DFA inte är minimal. Följande stegvisa särskiljande visar mycket riktigt att så är fallet 3. Beskriver nedanstående reguljära uttryck samma språk över 8a, b<? (6p) HaaHbaL * L + a Haa abl * a Motivera noga och beskriv dessutom en generell metod för jämförelse av reguljära uttryck. Det torde vara uppenbart att de reguljära uttrycken beskriver samma sak som nedanstående automater

3 AUTOMATATEORI & FORMELLA SPRÅK DV1, 4p, 21 mars 2002 När man konstruerar de minimala DFA:erna hörande till de två automaterna (förslagsvis genom att först köra delmängdskonstruktionen på var och en av NFA:erna och sedan minimera de resulterande DFA:erna) får man en och samma DFA i bägge fallen, nämligen En generell metod är den som illustreras ovanför, dvs att konstruera minimala DFA:er för vardera uttrycket (detta går ju att göra med kända algoritmer).och sedan jämföra dessa DFA:er (vilket går att göra med någon form av ändlig fallundersökning även om DFA:erna är stora). En bättre generell metod är dock att utnyttja att två mängder L och L' är lika omm symmetriska mängddifferensen HL - L'L HL' - LL, dvs HL êê êêê L'L HL' LL är tom. Givet två reguljära uttryck för L resp. L', så behöver man således bara bilda den minimala DFA:n för HL êê êêê L'L HL' LL, och sedan jämföra denna DFA med den minimala DFA:n för tomt språk. (Den senare har ett enda tillstånd som är ickeaccepterande.)

AUTOMATATEORI & FORMELLA SPRÅK DV1, 4p, 21 mars 2002 4 4. Turingmaskinen i figuren är en funktionsberäknande typ med inputalfabet 81< och tapealfabet 81, X, #<. Vilken funktion beräknar den? (6p) ANM. Hjälpmaskinerna R, L, L #, S L och C är standardmaskinerna från kursboken. Tex söker L # upp första blanktecknet till vänster, kopieringsmaskinen C förvandlar s w # till sw # w # och vänstershiftaren S L gör om s w # till w # Maskinen beräknar n 2, för godtyckliga naturliga tal n representerade unärt. MOTIVERING: Efter ett varv i (den stora) slingan från den inledande R -maskinen och tillbaka till densamma förändras tapekonfigurationen ## # 1n ## # till ## # X 1 n-1 # X 1 n-1 ## #. Dvs efter ett varv har tapen delats in i två block som vart och ett består av n ickeblanka tecken. Efter två varv har tapen delats in i tre block: ## # X 1 n-1 # X 2 1 n-2 # X 2 1 n-2 ## #. Osv. Efter n - 1 varv fås n block: ## # X 1 n-1 # X 2 1 n-2 # X 3 1 n-3 # # X n-1 1 # X n-1 1 ## #. När i detta läge den inledande R -maskinen körs igång igen drivs den givna Turingmaskinen inte runt i nämnda slinga längre. Nej, nu drivs den istället "rakt fram" mot L-maskinerna. Strax innan första L startas ser tapen ut så här: ## # X 1 n-1 # X 2 1 n-2 # X 3 1 n-3 # # X n-1 1 # X n # ## Denna L-maskin kommer efter n + 1 varv i sin ögla att förändra tapen till ## # X 1 n-1 # X 2 1 n-2 # X 3 1 n-3 # # X n-1 1 # 1 n ## #. Därefter står den andra L-maskinen i begrepp att dras igång och därmed kommer en ny (stor) slinga att gås igenom, närmare betstämt från den senast nämnda L-maskinen och tillbaka igen. För varje varv i slingan vänstershiftas blocket längst till höger ihop med blocket till vänster om detsamma, samtidigt som samtliga X i det senare blocket skrivs om till 1:or. Under tex första varvet förändras tapen till ## # X 1 n-1 # X 2 1 n-2 # X 3 1 n-3 # # 1 n 1 n ## # Efter n - 1 varv har samtliga n block shiftats ihop till ett enda block som innehåller 1:or som enda ickeblanka tecken, närmare bestämt n ÿ n stycken. Pekaren står nu till vänster om detta block när L-et står i begrepp att dras igång för sista gången. ## # 1n 1 n ## # Nu bär det iväg till stopptillståndet, och resultatet av beräkningen är att n stycken 1:or blev till n ÿ n stycken, dvs den funktion som beräknas är n # n 2.

5 AUTOMATATEORI & FORMELLA SPRÅK DV1, 4p, 21 mars 2002 5. Konstruera en alternativ men enklare grammatik än nedanstående dito. (De stora bokstäverna är icketerminaler, och de små är terminaler.) (6p) S Ø ABC A Ø aa» ba» C Ø Ca» Cb BC Ø abba. Inom hierarkin reguljär Ä sammanhangsfri Ä restriktionsfri finns de enklaste grammatikerna till vänster. Din grammatik skall beskriva samma språk som den givna grammatiken. Full poäng erhålls enbart om en enklaste grammatik presenteras. Med A-reglerna produceras samtliga strängar över 8a, b<, och C-reglerna producerar på motsvarande sätt varje sträng av typen Cw där w är en sträng av längd 1 över 8a, b<. Så S-regeln tillsammans med A- och C- reglerna beskriver strängar av typ ubcw, där u är godtycklig över 8a, b< och w är godtycklig av längd 1 över 8a, b<. Tillsammans med BC Ø abba - regeln beskrivs därvid varje sträng med minst en abba-förekomst som har en icketom sträng efter nämnda förekomst. Om BC Ø abba - regeln tillämpas direkt i S-regeln fås Aabba, som därmed (tack vare A-reglerna) kommer att beskriva samtliga strängar som slutar på abba. Sammantaget beskriver den givna grammatiken således språket (över {a, b}) av strängar som har minst en abba-förekomst. Detta är ett reguljärt språk. Här är en reguljär grammatik för språket: S Ø as» bs» abbaa, A Ø» aa» ba 6. Betrakta följande kategorier av algoritmiska språk: K 1 : reguljära K 2 : inte reguljära, men sammanhangsfria K 3 : inte sammanhangsfria, men Turingavgörbara K 4 : inte Turingavgörbara, men Turingaccepterbara Din uppgift är att placera nedanstående språk (över alfabetet 80, 1, ü< i rätt kategori. (10p) a) L 1 = 8 u ü u» u œ 80, 1< * < b) L 2 = 8 u ü u» u œ 80, 1< * och u = 1000< c) L 3 = 8 u ü w» u, w œ 80, 1< * och u förekommer som delsträng i w< d) L 4 = 8 u ü w» u, w œ 80, 1< * och u w< e) L 5 = 8 u ü w» u, w œ 80, 1< *, där w är ett palindrom och u är en Hbinärkodning av enl TM som accepterar w< Om du menar att ett språk ligger i K 1 räcker det att presentera ett reguljärt uttryck eller en finit automat för språket ifråga. Om du menar att det ligger i K 2 måste du motivera bristen på reguljäritet och dessutom presentera en CFG eller en PDA för språket. Om du menar att det ligger i K 3 måste du motivera bristen på sammanhangsfrihet, och skissera en algoritm som kan avgöra språket. Om du menar att det ligger i K 4 måste du motivera bristen på Turingavgörbarhet, och skissera en algoritm (eller hänvisa till en känd dito) som accepterar språket.

AUTOMATATEORI & FORMELLA SPRÅK DV1, 4p, 21 mars 2002 6 a), c) Dessa två språk ligger båda i K 3. MOTIVERING: Ej sammanhangsfria, ty 0 K 1 K ü 0 K 1 K kan inte pumpas i något enda K-block utan att falla ur. (Pumpning till vänster om @ som involverar 0 (1) kan inte involvera pumpning av 0 (1) till höger om @ om pumpblocket inte är längre än K, och därmed driver upp-pumpning i sådant litet block ut strängen ur bägge språken.) Däremot är bägge språken Turingavgörbara. En avgörande TM i a) behöver bara kontrollera tecken för tecken ifall det står samma sak till vänster som till höger om @. Detta kan en TM göra genom att ila fram och tillbaka på tapen förbi @.I c) kan på motsvarande sätt en avgörande TM kontrollera tecken för tecken ifall det som står till vänster om @ även finns till höger om @. b) Detta språk ligger i K 1. MOTIVERING: Språket är ändligt, säg att det är 8w 1, w 2,,w N <. Då är w 1 w 2 w N ett reguljärt uttryck för språket. d) Detta språk ligger i K 2. MOTIVERING: Ej reguljärt, ty komplementet är inte reguljärt. Det senare följer t ex av att 0 N ü 0 N inte kan pumpas upp i det inledande N-blocket utan att falla ur språket. Däremot är språket sammanhangsfritt, ty nedanstående PDA accepterar språket. PDA:n ifråga är en parallellkoppling vars fyra komponenter i tur och ordning är specialiserade på följande typer av strängar: (i) u ü w, u = x 0 y och w = x '1z, x = x ', (ii) u ü w, u = x 1 y och w = x '0z, x = x ', (iii) u ü w, u < w, (iv) u ü w, u > w. ANM. PDA:ns inputalfabet är 80, 1, ü< och dess tapealfabet är 8 ü<. Tecknet i figuren avser teckenmängden 80, 1<. e) Detta språk ligger i K 4. MOTIVERING: Ej Turingavgörbart, enligt Rices' sats. Ty om T vore en TM som avgjorde språket, skulle T (eftersom tom sträng är ett palindrom) bl. a. kunna avgöra för varje TM u, om u ü œ L 5 dvs om u accepterar tom sträng. M.a.o.skulle T kunna avgöra om LHuL tillhör mängden W av språk som innehåller tom sträng. Men detta motsägs av Rice's sats eftersom några men inte alla LHuL innehåller tom sträng. Å andra sidan är språket Turingaccepterbart. Den universella Turingmaskinen kan användas för acceptans.