Zadania z giazdką - seria I, szkice roziązań 1. Rozstrzygnij, czy język L = { {a, b, c} = v oraz # a () + # b () = # b (v) + # c (v)} jest reglarny. Szkic roziązania Język L nie jest reglarny, ykażemy, że relacja L ma nieskończenie iele klas abstrakcji. Niech n = a n, pokażemy, że i L j dla i j. Rozażmy słoo = bc i. Nietrdno spradzić, że i = a i bc i L, ale j = a j bc i L, co kończy doód. (W realnym roziązani oczekiałbym spradzenia tego należenia). 2. Niech F to najmniejsza klasa zaierająca szystkie języki skończone nad szystkimi skończonymi alfabetami, która jest zamknięta na: skończoną smę, dopełnienie i konkatenację; skończoną smę, dopełnienie, konkatenację i rztoanie. W ob przypadkach rozstrzygnij, czy klasa F jest róna językom reglarnym. Uaga: Przez rztoanie języka L Σ na peien podalfabet Γ Σ rozmiemy zbiór słó, które postały ze słó z języka L poprzez snięcie szystkich liter z Σ \ Γ. Uaga 2: Przez zamknięcie na dopełnienie rozmiemy fakt, że jeśli L Σ należy do F, to rónież Σ \ L należy do F. W szczególności dla stalonego L można stosoać tę regłę dla różnych alfabetó Σ takich, że L Σ. Szkic roziązania Na początek zaażmy, że klasa językó reglarnych zaiera szystkie języki skończone oraz jest zamknięta na smę, dopełnienie i konkatenację. Łato rónież pokazać, że jest ona zamknięta na rztoanie. W tym cel rozażmy język reglarny L i jego atomat A. Aby otrzymać atomat A dla języka będącego rztem L na podalfabet Γ modyfikjemy tranzycje A zamieniając etykiety z podalfabet Σ \ Γ na ε. To doodzi, że zaróno klasa z pnkt 1) jak i z pnkt 2) jest zaarta klasie językó reglarnych. Pnkt 1. Pokażemy teraz, że klasa z pnkt 1) jest istotnie mniejsza niż języki reglarne. Niech klasa F to języki z F, które zaierają się {a}. Każdy taki język postaje za pomocą skończonej liczby operacji: sma, dopełnienie, konkatenacja z językó skończonych. Co ięcej szystkie żyte języki są rónież z F. Pokażemy, że F zaiera tylko języki skończone oraz koskończone (takie, że ich dopełnienia są skończone). Zrobimy to przez indkcję po bdoie ich yproadzenia. Załóżmy, że K, L F, czyli są skończone lb koskończone. Wóczas: Język K L jest rónież skończony lb koskończony. Istotnie, jeśli oba K i L są skończone, to K L jest skończony. Jeśli natomiast jeden z K lb L jest koskończony, to K L zaiera go i jest też koskończony. 1
Język L jest rónież skończony lb koskończony. Istotnie, jeśli L jest skończony, to L jest koskończony, a jeśli L jest koskończony, to L jest skończony. Język KL jest rónież skończony lb koskończony. Istotnie, jeśli oba K i L są skończone, to KL jest skończony. Niech co najmniej jeden z K, L będzie koskończony, poiedzmy K. A ięc K zaiera szystkie słoa dłższe niż n, dla penego n N. Jeśli drgi z nich, tym ypadk L, jest psty, to KL jest psty. Jeśli natomiast L jest niepsty, to zaiera pene słoo a k. Zatem KL zaiera szystkie słoa dłższe niż k + n, czyli jest koskończony. A zatem istotnie F zaiera tylko języki skończone lb koskończone. Jednak język słó dłgości parzystej nad {a} jest reglarny, ale nie jest skończony ani koskończony. Czyli F, a ięc rónież F nie zaiera szystkich językó reglarnych. Pnkt 2. Teraz pokażemy, że klasa z pnkt 2) zaiera szystkie języki reglarne. Wystarczy pokazać, że jest ona zamknięta na operację giazdki Kleene go. Wóczas F zaiera szystkie języki skończone i jest zamknięta na smę, konkatenację i giazdkę, czyli zaiera szystkie języki reglarne. Niech L Σ należy do F. Niech # Σ. Niech Σ # = Σ {#}. Zaażmy, że Σ # należy do F, gdyż jest postaci Σ # \. Rozażmy język L = (Σ # {#} L {#}Σ #) (Σ # {#} L) ( L {#}Σ #) L. Po piersze L F jako sma konkatenacji kilk językó z F. Język L zaiera szystkie słoa nad Σ # takie, że istnieje maksymalny blok liter z Σ (czyli bez #), który torzy słoo spoza L. Rozażmy język L F. On zaiera szystkie słoa nad Σ # takie, że każdy maksymalny blok liter z Σ należy do L. A ięc rztoanie tego języka na Σ to dokładnie język L +. A zatem istotnie L = L + {ε} F, co kończy roziązanie. 3. Dla języka L Σ niech jego gęstość to fnkcja g L : N N taka, że dla każdego n N artość g(n) to liczba słó dłgości n należących do L. Rozstrzygnij, czy istnieje język reglarny L taki, że jego gęstość g L jest ponad ielomianoa, ale podykładnicza, czyli dla każdych c, k > 1 zachodzi f = Ω(n k ), ale f = o(c n ). Szkic roziązania Nie istnieje taki język. Rozażmy język reglarny i peien atomat deterministyczny A akceptjący L. Rozpatrzymy da przypadki. Przypadek 1. Istnieje peien stan q osiągalny ze stan początkoego q 0, z którego można osiągnąć peien stan końcoy f taki, że istnieją da różne cykle proste z q do q. Niech q 0 q, q v1 q, q, v2 q f będą spomnianymi ścieżkami i cyklami. Załóżmy bez straty ogólności, że v 1 v 2. Dodatkoo v 1 nie jest prefiksem v 2, gdyż przecinym ypadk cykl q v2 q byłby róny cykloi q v1 q, jako, że A jest deterministyczny. Zaażmy, że v 1 v 2 v 2 v 1, gdyż mają inny prefiks dłgości v 1. A ięc L zaiera przynajmniej 2 n słó dłgości + n( v 1 + v 2 ) +, gdyż każde słoo postaci s 1 s n, gdzie s i {v 1 v 2, v 2 v 1 } należy do L. Zatem gęstość L jest ykładnicza. 2
Przypadek 2. Wszystkie stany osiągalne ze stanó początkoych i osiągające stan końcoy należą do co najyżej jednego cykl prostego. Pokażemy, że tym przypadk gęstość L jest ielomianoa. Rozażmy doolny bieg akceptjący atomat A i doolny stan q. Jeśli jest on odiedzany iele razy na bieg, to znaczy, że pomiędzy odiedzeniami bieg pętli się na jedynym cykl prostym przechodzącym przez q. A zatem bieg można zdekomponoać na cykle proste oraz ścieżkę prostą (pozostającą po snięci cykló prostych). Taki bieg ygląda ięc następjąco: q 1 s 0 1 q1 q 2 s 1 s 2 k 1 q2 q 2 q k 1 q k k 1 qk, gdzie 1 k składają się na etykietoanie ścieżki prostej, a s i to etykietoania cykli. Zaażmy, że atomacie jest skończenie iele ścieżek prostych, ięc ystarczy pokazać, że dla każdej z nich gęstość odpoiadającego jej języka jest ielomianoa. Pytamy ięc ile może być słó postaci 1 (s 1 ) 2 (s 2 ) (s k 1 ) k dłgości n. Nietrdno zaażyć, że jest to nie iększe niż liczba yboró 2k 2 pnktó podział słoa dłgości n (granic kaałkó), a ięc nie iększe niż ( n+1 2k 2) = O(n 2k 2 ). Jest to zresztą bardzo grbe oszacoanie. A ięc istotnie gęstość L jest ielomianoa. 4. Niedeterministyczny atomat jednolicznikoy A nad alfabetem Σ składa się ze zbior stanó Q, zbior stanó początkoych I Q, końcoych F Q oraz zbior tranzycji δ Q Σ { 1, 0, 1} Q. Konfigracja atomat A to para ze zbior Q N, czyli innymi słoy atomat może przyjmoać tylko niejemne artości licznika. Bieg atomat po słoie = a 1 a n to ciąg konfigracji (q 0, c 0 ),..., (q n, c n ) takich, że dla każdego i {1,..., n} mamy (q i 1, a i, c i c i 1, q i ) δ oraz oczyiście c i 0. Bieg jest akceptjacy gdy q 0 I, c 0 = 0 oraz q n F. Słoo jest akceptoane jeśli istnieje bieg akceptjący po nim, a język atomat L(A) to zbiór szystkich słó akceptoanych. Zaprojektj algorytm, który dla danego niedeterministycznego atomat jednolicznikoego A odpoiada na pytanie, czy L(A) = Σ. Szkic roziązania Porządek (X, ) naziemy WQO (od ang. ell-qasiorder) jeśli dla doolnego nieskończonego ciąg x 1, x 2,... elementó X istnieją indeksy i < j takie, że x i x j. Dla x N d niech x[i] oznacza artość na i-tej spółrzędnej ektora x. Przez oznaczmy porządek na N d, gdzie x y o ile x[i] y[i] dla każdej spółrzędnej i {1,..., d}. Lemat 1 (Lemat Dicksona). Porządek (N d, ) jest WQO. Doód. Wykażemy to przez indkcję po d. Dla d = 1 jest to oczyiste. Załóżmy, że teza lemat jest pradzia dla d, pokażemy ją dla d + 1. Niech x 1, x 2,... to nieskończony ciąg elementó N d+1. Rozażmy spółrzędną d + 1-szą tych ektoró. Jeśli jest ona ograniczona, to możemy znaleźć podciąg stały, jeśli natomiast jest ona nieograniczona, to możemy znaleźć podciąg rosnący. W ob ypadkach znajdjemy peien podciąg x i1, x i2,... taki, że d+1-sza spółrzędna jest niemalejąca. Z tezy dla d otrzymjemy, że istnieją pene da elementy tego podciąg takie, że j < k oraz x ij x ik po ograniczeni do pierszych d spółrzędnych. Jednak x ij [d + 1] x ik [d + 1], ięc mamy x ij x ik, co kończy doód lemat. 3
Uaga: Analogicznie doodzi się, że porządek ((N { 1}) d, ) jest WQO, będziemy się na to rónież poołyali jako na lemat Dicskona. Niech A będzie atomatem jednolicznikoym nad Σ o d stanach. Przez p(i) oznaczamy konfigrację: stan p, artość licznika i. Przez p(i) q(j) będziemy oznaczać, że z konfigracji p(i) atomat A może dojść po słoie do konfigracji q(j). Niech S = {p(i) q 0 (0) p(i)} będzie zbiorem szystkich konfigracji, do których można dojść po słoie z konfigracji początkoej q 0 (0). Zaażmy, że jeśli q(i) r(k), to dla j > i rónież q(j) r(k + j i). A ięc istotne są jedynie konfigracje o najiększej możliej artości danym stanie. Niech Q = {q 1,..., q d }. Niech profil słoa Σ, prof() (N { 1}) d, będzie zdefinioany następjąco: prof()[i] to najiększa możlia artość j taka, że q i (j) S, oraz 1 jeśli dla żadnego j N konfigracja q i (j) nie należy do zbior S. Lemat 2. Jeśli prof() prof(v), to óczas dla doolnego Σ takiego, że L mamy rónież v L. Istotnie, jeśli L, to q 0 (0) q(i) f(k). Jednak skoro prof() v v prof(v), to istnieje bieg q 0 (0) q(j) dla penego j i. A ięc q 0 (0) q(j) f(k + j i), czyli v L. Przypśćmy teraz, że L Σ. Niech to najkrótsze słoo nie należące do L, niech jego dłgość to n. Spójrzmy teraz na prefiksy słoa : 0 = ε, 1 = [1..1], 2 = [1..2],..., n = [1..n] =. Z penością nie jest pradą, że prof( i ) prof( j ) dla penych i < j. Istotnie, przypśćmy, że tak jest. Mamy tedy, że [1..i] [j + 1..n] L, jako, że jest to słoo krótsze niż. Jednak prof( i ) prof( j ), ięc z lemat 2 mamy, że rónież = [1..j] [j +1..n] L, sprzeczność. Jesteśmy jż gotoi do zaprezentoania algorytm. Będziemy szkać potencjalnego słoa L. W tym cel bdjemy drzeo słó. Każde słoo jest ierzchołkiem, jego rodzicem drzeie jest jego prefiks bez ostatniej litery. Czyli korzeniem drzea jest słoo ε, jego dziećmi słoa dłgości 1, potem słoa dłgości 2 itd. W każdym krok bdjemy noy poziom drzea, potencjalnie nieskończonego oraz obliczamy profil noych słó. Jeśli dla penego ierzchołka drzea, odpoiadającem sło mamy prof() prof( i ) dla penego prefiks i słoa, to obcinamy drzeo na tym poziomie i przestajemy przedłżać tę część drzea, gdyż (jak pokazaliśmy cześniej) najkrótsze słoo nie należące do L na peno t nie leży. Jeśli penym momencie znajdziemy słoo, które nie należy do L, to odpoiadamy oczyiście, że L Σ. Jeśli natomiast penym momencie jż szystkie kaałki drzea zostaną obcięte i nie będzie nic do rozażania, to odpoiadamy, że L = Σ Należy pokazać die rzeczy. Po piersze dlaczego ten algorytm zasze się kończy, a po drgie dlaczego zraca popraną odpoiedź. Jeśli L Σ, to istotnie kiedyś znajdziemy słoo, które nie należy do L i zakończymy algorytm z dobrą odpoiedzią, ten przypadek jest prosty. Załóżmy ięc, że L = Σ. Zaażmy, że na każdej nieskończonej ścieżce z drzeie: 0, 1,..., gdzie każde następne słoo postało przez dodanie litery do poprzedniego mamy ciąg prof( 0 ), prof( 1 ),... (N { 1}) d. Z lemat Dicksona otrzymjemy, że dla penych i < j mamy prof( i ) prof( j ), a ięc na tej ścieżce drzeo kiedyś zostanie obcięte. Należy teraz pokazać, że jeśli każda ścieżka została kiedyś obcięta, 4
to penym poziomie jż szystkie ścieżki zostały obcięte. Rozażmy drzeo po ykonani szystkich obcięć, chcemy pokazać, że jest skończone. Wynika to z lemat Königa, który mói, że każde drzeo nieskończone o skończonym rozgałęzieni ma nieskończoną ścieżkę. Nasze drzeo ma skończone rozgałęzienie, tzn. każdy ierzchołek ma skończenie iele dzieci, dokładnie rzecz biorąc Σ. Lemat Königa można doodnić następjąco: korzeń ma nieskończone poddrzeo, skoro ma skończenie iele dzieci, to któreś z dzieci ma nieskończone poddrzeo, ięc któreś z jego dzieci ma nieskończone poddrzeo itd., ten sposób skonstrjemy nieskończoną ścieżkę. A zatem skoro naszym drzeie po obcięciach nie ma nieskończonej ścieżki (bo każda została obcięta), to drzeo jest skończone, którym momencie szystko obetniemy. Jeśli szystko obcięliśmy, to faktycznie nie ma szans na znalezienie najkrótszego słoa spoza L, czyli L = Σ, co kończy doód. 5. Pokaż, że jeśli zaróno L jak i Σ \ L są rozpoznaane przez pene niedeterministyczne atomaty jednolicznikoe, to tedy L jest reglarny. Szkic roziązania Będziemy żyali podobnych pojęć co szkic roziązania zadania 4. Niech L będzie rozpoznaany przez atomat A do a stanach, a L przez atomat B o b stanach. Dla słoa Σ niech prof A () (N { 1}) a będzie jego profilem zględem atomat A, natomiast prof B () (N { 1}) b będzie jego profilem zględem atomat B. Niech prof() = (prof A (), prof B ()) (N { 1}) a+b. Pokażemy teraz, że L jest reglarny. Przypśćmy przecinie, óczas ma on nieskończenie iele klas abstrakcji relacji Myhilla-Neroda, niech reprezentanci tych klas to 1, 2,.... Z lemat Dicksona ( zadani 4) otrzymjemy, że istnieją indeksy i < j takie, że prof( i ) prof( j ). To oznacza szczególności, że prof A ( i ) prof A ( j ) oraz prof B ( i ) prof B ( j ). A zatem, z lemat 2 zaaplikoanego do atomat A ynika, że jeśli i L, to j L, natomiast zaaplikoanego do atomat B ynika, że jeśli i L, to j L. A zatem otrzymjemy, że i L j L, czyli i L j. Sprzeczność z założeniem, że i oraz j są reprezentantami różnych klas abstrakcji relacji L. 5