AUBER 95 9 jn AR. Den finit utomten nedn ccepterr ett språk L över = {, }. A B ε Konstruer ) ett reguljärt uttryck för L. ) L = ( ( ) ) = ( ) ) en reguljär grmmtik för L S A S A c) en miniml DFA för L. ) A A B eller (enklre) A A A B B A c) Först gör vi om NFA:n medelst delmängdskonstruktionen till en DFA STEG : 6 3 ε 7 4 5 STEG : (Skräptillståndet ej utritt.) M { } { } { 3} { 4, } { 56,, } { 6, } Minimering v ovnstående DFA: 6 { 37, } { 46,, } 8 7 5 4 M rev 3
AUBER 95 9 jn AR sid v 5 { 3457,,,, } { 68,, } skräptillstånd ej utritt { 34,, } { } M' en DFA för L rev M' rev { 4, } { } { 3, } { } M'' en DFA för L = ( L rev ) rev 3 4 M'' uppsnyggd skräptillstånd ej utritt. Låt = {, }. Vilk v följnde språk över är reguljär? ) Språket L vrs strängr w ) Reguljärt! L = ( ) ( ) örjr och slutr på smm tecken. ) Språket L v strängr w med ) Ej reguljärt! Pump ex.vis w = N N udd längd och vrs inlednde tecken överensstämmer med det mitterst tecknet. c) Språket L 3 v strängr w med c) Ej reguljärt! Pump ex.vis w = N N udd längd vrs mitterst tecken inte överensstämmer med något nnt tecken i w. Om Du finner tt språket ifråg är reguljärt, skll Du presenter en FA eller ett reguljärt uttryck för det. Annrs (om ditt svr är NEJ) skll Du för erhållnde v full poäng evis din ståndpunkt med hjälp v pumpstsen eller särskiljndestsen.
AUBER 95 9 jn AR sid 3 v 5 3. Smmnhngsfritt? J. En CFG: S ε cs cs Sc Sc SS { w { c,, } c, ε c c, ε w innehåller lik mång c:n c, ε som :n och :n tillsmmns} En PDA: ε, ε, c, ε c, ε 4. Följnde grmmtik eskriver fktiskt ett smmnhngsfritt språk L. S R BS BR B R B R ε Presenter (med motiveringr förstås) en CFG för L. S-reglern ger B BR = ( B) n R. Sedn ger förflyttningsreglern på ndr och tredje rden upphov till B BR = n B n R och n R n. Till sist kn R sudds ut. (Oserver tt om mn suddr R tidigre, så hänger sig strängproduktionen!). Då hr mn producert n n. Språket ifråg är således L = { n n n N} som kn eskrivs v ex.vis följnde CFG S ε S 5. Konstruer nednstående två funktioner inom klssen v primitivt rekursiv funktioner. x 0 3 4 5 6 7 8 9 0 3 4 5 6 ) TvåPot? () x 0 0 0 0 0 0 0 0 0 0 0 0 ) TvåLog() x 0 0 3 3 3 3 3 3 3 3 4 Funktioner konstruerde inom kursen får nvänds som hjälpfunktioner. ) TvåPot? () x = Lik ( x, Pot(, TvåLog() x )) ) TvåLog() 0 = 0 TvåLog( Ök() x ) = Om ( Lik ( Ök()Pot x, (, Ök( TvåLog( x) ))), Ök( TvåLog() x ), TvåLog()) x 6. Diskuter för vrt och ett v följnde prolem om det det finns någon TM som kn vgör prolemet ifråg. Vid eventuell tillämpning v Rices sts lir det vdrg om Du inte kn eskriv hur mängden Ω som förekommer i denn sts ser ut i din tillämpning. ) Givet en godtycklig Turingmskin M, ccepterr M oändligt mång strängr? ) Ingen TM kn vgör prolemet. Dett följer v Rices sts om mn etrktr Ω= { L L är Turingccepterr och oändlig} Ty Ω innehåller något men inte ll Turingccepterr språk: { } Ω, { } Ω
AUBER 95 9 jn AR sid 4 v 5 ) Givet en godtycklig FA M, ccepterr M oändligt mång strängr? c) Givet en godtycklig PDA M, ccepterr M oändligt mång strängr? ) Dett prolem kn en TM vgör. Allt som ehövs är tt TM:en ifråg undersöker M:s kod m..p. förekomst v någon sling på väg från strt- till ccepternde tillstånd. M ccepterr nämligen oändligt mång strängr omm M hr någon sådn sling. c) Turingvgörrt. Principskiss v ett vgöringsförfrnde: Konstruer först en CFG för PDA:ns språk. (Dett kn utförs lgoritmiskt!) Trnsformer sedn (vid ehov) CFG:n till en ny CFG G med egenskpern () och (): ingen terminernde regel hr tom sträng i högerledet () ll icketerminernde regler är förlängningsregler () (Även dett kn görs lgoritmiskt.) Låt vr ett tl större än ntlet icketerminernde sym- N oler i G, låt l vr mximl längden hos G:reglerns högerled och låt N = l N. Producer till sist med hjälp v reglern i G de strängr v längd N w < N som det går tt producer. (Det finns r ändligt mång.) Om Du finner tt det finns noll stycken sådn strängr, så vet Du tt den givn PDA:n ccepterr ändligt mång strängr. (Enligt den smmnhngsfri pumpstsen!) Och om Du finner tt det finns en eller fler, vet Du tt PDA:n ccepterr oändligt mång strängr. 7. Presenter en grmmtik för språket { w n w 0 =, w =, w n = w n w n } dvs {,,,,,, } Vis hur mn i din grmmtik kn producer. Ide: w n + 3 = w n + w n + = w n + w n kn tillverks v = w n genom tt till höger i kopiers och genom tt sedn låt kopin flytt sig till vänster så tt den lir ett prefix: w n + = w n w n + 3 = w n + w n Genom tt formuler regler som omesörjer sådn kopiering och förflyttning, smt en lämplig strtregel (för w ) kn vrje producers. De kortste två strängrn, dvs w 0 och w måste producers seprt.
AUBER 95 9 jn AR sid 5 v 5 Regler: S [ M ] ] V ] ε V VA V VB MV ε B B B B A A A A [ [ H ε HA H HB H H M H M M ε ] tillåts skp V:n som kn förflytt sig till vänster genom strängen och producer kopior A, B v och. När den vänstergående kopieringssymolen möter mittsymolen M är kopieringsuppdrget slutfört. kopiorn A, B skll kunn gå föri och. [ kn på motsvrnde sätt som ] skp högergående symoler H, vilk skll nvänds för tt gör om A och B till resp. När den högergående symolen H möter eller förvndlr sig H till M. Körexempel: (Produktion v ) S [M ] [MV ] [MVB ] [B ] [ B ] [HB ] [H ] [M ] [M ] [MV ] [MVAB ] [AB ] [AB ] [HAB ] [H ] [M ] [M ] [MV ] [MVBAB ] [BAB ] [BAB ] [HBAB ] [H ] [M ]