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



Relevanta dokument
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.

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

AUBER 95 9 jan LÖSNINGAR STEG 1:

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

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.

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

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

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

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

Diskret matematik: Övningstentamen 1

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

PROV I MATEMATIK Algoritmik 26 mars 2008

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

2 (6) k 0 2 (7) n 1 F k F n. k F k F n F k F n F n 1 2 (8)

PROV I MATEMATIK Algoritmik 14 april 2012

Kontextfria grammatiker

Kontinuitet och gränsvärden

Induktion, mängder och bevis för Introduktionskursen på I

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

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

Algoritmer, datastrukturer och komplexitet

10. Mängder och språk

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

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

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

DAB760: Språk och logik

Diskret matematik, lektion 2

Lösningar till utvalda uppgifter i kapitel 5

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

Explorativ övning 5 MATEMATISK INDUKTION

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

7, Diskreta strukturer

Träd och koder. Anders Björner KTH

Om semantisk följd och bevis

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Turingmaskinen - en abstrakt datormodell

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

Matematik för språkteknologer

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

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

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

Kimmo Eriksson 12 december Att losa uppgifter av karaktaren \Bevisa att..." uppfattas av manga studenter

Grafer och grannmatriser

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

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.

Övningshäfte 2: Induktion och rekursion

Komplexitetsklasser och repetition

Datorlingvistisk grammatik

1.1. Fördjupning: Jämförelse av oändliga mängder

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

Föreläsning 5: Kardinalitet. Funktioners tillväxt

Uppgift 1 ( Betyg 3 uppgift )

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

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet

Explorativ övning 5 MATEMATISK INDUKTION

DEL I. Matematiska Institutionen KTH

Lösningsförslag till övningsuppgifter, del II

Formella metoder. Loop-program som statetransformers. Betrakta följande problem. specifikationen.

1 Duala problem vid linjär optimering

7, Diskreta strukturer

kl Tentaupplägg

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

Svar till vissa uppgifter från första veckan.

Algoritmer, datastrukturer och komplexitet

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

Grundläggande textanalys, VT2012

Övningshäfte 3: Funktioner och relationer

Kaliningrad) låg vid bägge sidor av floden Pregel samt på

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem

Mer om reella tal och kontinuitet

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Källkodning. Egenskaper hos koder. Några exempel

Algoritmer, datastrukturer och komplexitet

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

Hur man skriver matematik

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

PROV I MATEMATIK Transformmetoder 1MA april 2011

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

Tekniker för storskalig parsning: Grundbegrepp

(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.

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 4 Om rekursion. PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad

Algoritmer, datastrukturer och komplexitet

Starta med att läsa avsnitt 2.1 i [J] från sidan 56 (64) [76] till och med exempel (2.1.3) [2.1.5] på sidan 57 (65) [79].

FORMELLA SPRÅK, AUTOMATER OCH BERÄKNINGSTEORI ÖVNINGSUPPGIFTER PÅ REGULJÄRA SPRÅK

Dynamisk programmering

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

Programkonstruktion och Datastrukturer

INDUKTION OCH DEDUKTION

729G04 - Diskret matematik. Lektion 4

KOMBINATORIK. Exempel 1. Motivera att det bland 11 naturliga tal finns minst två som slutar på samma

Transkript:

UPPSALA UNIVERSITET Matematiska institutionen Salling (070-6527523) PROV I MATEMATIK Automatateori och formella språk DV1 4p 19 mars 2004 SKRIVTID: 15-20. POÄNGGRÄNSER: 18-27 G, 28-40 VG. MOTIVERA ALLA AR NOGGRANT. 1. a) (3p) Konstruera ett reguljärt uttryck för språket över {a, b} vars strängar innehåller ett jämnt antal förekomster av a eller ett jämnt antal förekomster av b. Tex gäller det att ε, b, a, bba, aba tillhör språket men inte ab. b) (3p) Konstruera en DFA för samma språk. a) b*(ab*ab*)* U a*(ba*ba*)* KOMMENTAR: (aa)* beskriver strängar över {a} med ett jämnt antal a-förekomster. Genom att "fylla i" med b* på strategiska platser får man ett uttryck b*(ab*ab*)* som beskriver strängar över det större alfabetet {a, b} med ett jämnt antal a-förekomster. På motsvarande sätt beskriver uttrycket a*(ba*ba*)* strängar över {a, b} med ett jämnt antal b-förekomster. b) KOMMENTAR: Tillståndet 1 representerar "jämnt antal a-förekomster och jämnt antal b-förekomster", tillståndet 2 representerar "jämnt antal a-förekomster och udda antal b-förekomster", 3 representerar "udda antal a-förekomster och jämnt antal b-förekomster" medan 4 representerar "udda antal a-förekomster och udda antal b-förekomster".

2. a) (4p) Transformera nedanstående NFA till en DFA med hjälp av delmängdskonstruktionen. b) (3p) Minimera den resulterande DFA:n med hjälp av stegvisa särskiljandealgoritmen. a) Delmängdskonstruktionens första steg är att eliminera glupskheten Andra steget är att bilda delmängder av tillstånd b) DFA:n från delmängdskonstruktionen ovanför är redan minimal. Beviset av detta är att minimeringsalgoritmen särskiljer samtliga fem tillstånd. Se nedanför.

3. (6p) Betrakta språket L av strängar xyz över 8a, b< sådana att x = y = z, och så att det sista tecknet i y såväl som i z är a. T.ex. gäller det att baa och abbababba tillhör L men inte aaabaaaab. Konstruera a) en CFG för L, b) en PDA för L som är bottom-up-parser för din grammatik i a). c) en PDA för L som inte är en top-down- eller bottom-up-parser. a a, a a, a a a) S Ø A a, A Ø T T A T T a, T Ø a b b) c) KOMMENTAR: Stacken blir tom i det accepterande tillståndet omm man har gjort dubbelt så många pushningar i 1:s ögla och på väg mot 2 som man har gjort poppningar i 2:s ögla och på väg mot det accepterande tillståndet Detta i kombination med att a konsumeras vid den sista pusningen såväl som vid den sista poppningen bevisar att PDA:ns språk är det som beskrivs i uppgiften. 3

4. (8p) Sant eller falskt? a) 80 m 1 n 0 m m, n œ N < accepteras av någon DFA b) 80 m 0 m 1 n m, n œ N < accepteras av någon DFA c) 80 n 1 n 1 n n œ N < accepteras av någon PDA d) Komplementspråket till 8XM\ M är en TM som stannar för tom sträng< accepteras av någon TM. ANM. Med XM\ avses en kodning av M i form av en binär sträng. a) Falskt. Ty antag att en DFA med N tillstånd accepterar språket ifråga. Då skulle 0 N 1 µ 0 N driva denna DFA att besöka något tillstånd två gånger redan under det inledande N-blocket. Dvs någon (icketom) delsträng, säg 1 n inuti det inledande N-blocket skulle driva DFA:n att gå runt i en slinga. Därmed skulle 0 N+n 1 µ 0 N driva DFA:n att gå runt en extra gång i slingan för att sedan fortsätta "som vanligt" till acceptans. Men 0 N+n 1 µ 0 N tillhör ju inte det givna språket. Således finns ingen DFA för språket. b) Sant. Ty språket är reguljärt. Det ges tex av (00)*1*. c) Sant. Ty språket är sammanhangsfritt. Beskrivs enklast av S Ø ε 0 S 11. d) Falskt. Följer av den kända satsen att ett språk L är TM-avgörbart omm L och L:s komplement är TM-accepterbara. Ty låt L vara språket 8XM\ M är en TM som stannar för tom sträng<. Detta L är TM-accepterbart Det accepteras nämligen av en modifierad universell TM som vid körning på XM\ kör M på tom sträng. Om nu L:s komplement vore TM-accepterbart skulle (enligt den nämnda satsen) L tvingas vara TM-avgörbart, Men det är det inte. Det senare följer av Rices sats eftersom "M stannar för tom sträng" är liktydigt med "M:s språk innehåller tom sträng" och egenskapen att innehålla tom sträng självklart är en icketrivial språkegenskap. Således kan L:s komplement inte vara TM-accepterbart. 5. a) (3p) Beskriv det språk som följande Turingmaskin accepterar. Du måste förklara hur de olika delarna i maskinen medverkar till att språket blir just det som du föreslår. b) (2p) Presentera en grammatik för språket.

AUTOMATATEORI & FORMELLA SPRÅK DV1, 19 mars 2004 a) Språket består av alla icketomma palindromsträngar över {a, b}. MOTIVERING: Övre (undre) delen är specialiserad på att kontrollera om första och sista tecknet är ett a (b), samt att undersöka nästkommande tecken (det som kommer efter det första tecknet). Beroende på om nästkommande tecken är ett a eller ett b körs övre eller undre delen igen. Och nu kontrolleras om andra och näst sista tecknet överensstämmer. På detta sätt fortskrider körningen... Ifall inputsträngen är en palindromsträng av udda längd drivs TM:en till stopptillståndet via en av de främre övergångarna som pekar på nämnda tillstånd, och i fall palindromsträngen har jämn längd används en av de bakre övergångarna. Varje sträng som inte är palindromisk driver TM:en till hängning (efter submaskinen L). 6. (8p) Diskutera för vart och ett av följande problem om någon TM kan avgöra problemet ifråga. a) Givet två godtyckliga Turingmaskiner, accepterar de någon gemensam icketom sträng? b) Givet två godtyckliga DFA:er, accepterar de någon gemensam icketom sträng? c) Givet en godtycklig Turingmaskin och en godtycklig sträng, har Turingmaskinen något tillstånd som besöks två gånger vid körning på strängen? ANM Om Du menar att någon TM kan avgöra ett problem, måste Du motivera denna åsikt genom att skissera åtminstone en informellt beskriven algoritm. (Om Du menar att ingen TM kan avgöra ett problem, måste Du givetvis motivera denna åsikt också.) a) Ej TM-avgörbart. Ty om en TM kunde avgöra det givna problemet för två godtyckliga Turingmaskiner skulle den kunna avgöra problemet i det fall att de två är identiska, dvs då skulle problemet "accepterar M någon icketom sträng" vara TM-avgörbart. Men det är det inte. Det senare följer av Rices sats, med W vald som mängden av TM-accepterbara språk som innehåller någon icketom sträng. (Denna W är ju icketrivial, eller hur!) b) TM-avgörbart. Här följer en skiss av en avgörande algoritm: 1. Konstruera en DFA M för snittet mellan de två DFA:ernas språk och språket +. 2. Minimera M. 3. Om M:s språk är tomt (dvs om M har ett enda tillstånd och om detta tillstånd är ickeaccepterande) så accepterar de givna två DFA:erna ingen gemensam icketom sträng. Annars så gör de det. c) TM-avgörbart. MOTIVERING: För varje Turingmaskin M och varje inputsträng w till M kan problemet avgöras genom att låta en universell TM köra M på w under (högst) lika många övergångar (säg N st) som M har tillstånd. Om M under dessa N övergångar inte drivs till stopptillståndet kommer M garanterat att tvingas återbesöka något tillstånd (eftersom N tillstånd är otillräckligt om idel nya tillstånd skall besökas under N övergångar). Notera också att om M hänger sig menar vi att M har fastnat i ett skräptillstånd (som i förekommande fall besöks inte bara två gånger utan oändligt många gånger). Om å andra sidan M drivs till stopptillståndet under denna körning, behöver man bara genom en enkel bokföring kontrollera ifall något tillstånd har återbesökts innan stopptillståndet. Sammanfattningsvis: Efter N övergångar vet vi svaret på frågan om något tillstånd besöks två gånger. 5