Linguagens Formais e Autômatos
|
|
- Stéphanie Ribeiro Maranhão
- 6 Há anos
- Visualizações:
Transcrição
1 Linguagens Formais e Autômatos Soluções para a Lista 4 Universidade Federal do ABC Aritanan Gruber aritanan.gruber@ufabc.edu.br aritanan.gruber Os exercícios marcados com [ ] deveriam ter sido entregues via Tidia-4 até 06/05/ [ ] Considere a gramática livre de contexto G = (V, T, P, S), em que V = {A, S}, T = {a, b} e P = {S AA, A AAA, A a, A ba, A Ab}. (a) Quais são as palavras de L(G) que podem ser produzidas por derivações de quatro ou menos passos? (b) Forneça, pelo menos, quatro derivações distintas para a palavra babbab. (c) Para todos m, n, p > 0, descreva a derivação em G para a palavra b m ab n ab p. (a) O conjunto das palavras que podem ser produzidas por quatro ou menos derivações é: {aa, aab, aba, baa}. (b) S AA baa baba baba babba babbab babbab, S AA baa baab babab babab babbab babbab, S AA baa baab babab babbab babbab babbab, S AA baa baab babab babbab babbab babbab, são quatro derivações distintas para a palavra babbab. Existem outras. (c) Para todos m, n, p > 0, a palavra b m ab n ab p pode ser derivada (gerada) da seguinte forma: iniciaente, aplicase a produção S AA; depois aplica-se m vezes a produção A ba na variável A mais à esquerda; em seguida, aplica-se n vezes a produção A Ab na variável A mais à esquerda; na seqüência, aplica-se p vezes a produção A Ab na variável A mais à direita; finaente, aplica-se a produção A a nas duas variáveis A. Esquematicamente, temos: S AA m b m AA n b m Ab n A p b m Ab n Ab p b m ab n Ab p b m ab n ab p. Claramente, existem outras formas possíveis para derivação da mesma palavra. 2. Construa gramáticas livres de contexto para as linguagens abaixo: (a) L a = {wcw R : w {a, b} } (b) L b = {ww R : w {a, b} } (c) L c = {w {a, b} : w = w R } (d) L d = {a m b n : m n} (e) L e = {w {a, b} : w possui duas vezes mais a s que b s} (a) G a = ({S}, {a, b}, {S asa bsb c}, S). (b) G b = ({S}, {a, b}, {S asa bsb λ}, S). (c) G c = ({S}, {a, b}, {S asa bsb a b λ}, S). (d) G d = ({S}, {a, b}, {S asb as λ}, S). (e) G e = ({S}, {a, b}, P, S), em que P é o conjunto das produções a seguir: S aab aba baa λ, A as baaa, B aabb abab abba bs.
2 Formaente, resta mostrar que cada gramática acima descreve precisamente a linguagem para a qual foi criada, isto é, que L(G x ) = L x. As gramáticas para os ítens (a) (d) são simples o suficiente para que não haja dúvidas quanto aos seus poderes de expressão. O mesmo não acontece com (e). Vamos então, fornecer uma prova adequada. Proposição 1. L(G e ) = {w {a, b} : w a = 2 w b }. Demonstração. A prova consiste em mostrar que S x se e somente se x L. Para atingir este objetivo, vamos provar algo ligeiramente mais forte. Vamos provar que S A B x x a = 2 x b, (1) x x a = 2 x b + 1, (2) x x a = 2 x b 2. (3) A necessidade é por indução no número de derivações, denotado por n, de x. Caso n = 1, temos que S λ pela produção S λ e que esta é a única possibilidade, pois todas as demais produções de G e possuem ao menos uma variável no lado direito. Logo, S deriva λ em um passo, e A e B não derivam nenhuma palavra em um passo. Como λ a = λ b = 0, o resultado segue. Considere então n > 0 e suponha que as relações são válidas para derivações com no máximo n 1 passos. Para as A-produções, considerando derivações em n passos, temos que A as x ou que A baaa x. No primeiro caso, S x em n 1 passos e assim, x a = 2 x b. Como x = ax, obtemos x a = 2 x b + 1. No segundo, x = buvw com A <n u, A <n v, e A <n w. Por hipótese de indução, z a = 2 z b + 1 com z {u, v, w}. Como x b 1 = u b + v b + w b, segue que x a = u a + v a + w a = (2 u b + 1) + (2 v b + 1) + (2 w b + 1) = 2( x b 1) + 3 = 2 x b + 1. Para B-produções, a argumentação é semelhante. Dos quatro possíveis casos, B bs x, B aabb x, B abab x, ou B abba x, temos dois a considerar pois os três últimos são semelhantes. Quando B bs x, x = bx e S n 1 x, implicando em x a = x a = 2 x b e x b + 1 = x b. Logo, x a = 2 x b 2. Em caso contrário, B az x, em que z é uma permutação cíclica de uvw e A <n u, B <n v, e B <n w. De qualquer forma, x a 1 = u a + v a + w a e x b = u b + v b + w b e, por hipótese de indução, u a = 2 u b + 1, v a = 2 v b 2, w a = 2 w b 2. Logo, x a 1 = (2 u b + 1) + (2 v b 2) + (2 w b 2) = 2( u b + v b + w b ) 3 x a = 2 x b 2. Finaente, para S-produções, temos dois casos: S aab x (que engloba S aba x, já que este contém uma permutação cíclica de AB), e S baa x. Caso x = auv ou x = avu com A <n u e B <n v, temos que x a = u a + v a + 1 e x b = u b + v b. Por hipótese, u a = 2 u b + 1 e v a = 2 v b 2, resultando em x a = (2 u b + 1) + (2 v b 2) + 1 x a = 2 x b. Caso S baa x, temos que x = buv, A <n u, A <n v, x a = u a + v a e x b = u b + v b + 1. Por hipótese, u a = 2 u b + 1 e v a = 2 v b + 1. Portanto, e x L sempre que S x. x a = (2 u b + 1) + (2 v b + 1) = 2 x b, A suficiência é por indução no comprimento das palavras x L, que são sempre múltiplos de 3. Caso x = λ, temos que S λ, A as a e B bs b e o resultado segue, pois as quantidades de a s e b s derivadas satisfazem as relações (1), (2) e (3), respectivamente. Considere então que x = 3k para algum k > 0 e suponha, a título de hipótese de indução, que (1), (2) e (3) são válidas para qualquer subpalavra própria de x. Temos que (i) x = auv ou x = avu com A u e B v, ou que (ii) x = byz com A y, z.
3 As derivações de u, y e z à partir de A, isto é, A r com r {u, y, z}, ocorrem via A as r ou via A baaa r com a escolha independente para cada identidade de r. Logo, r = as com S s ou r = bopq com A o, p, q. Como s, o, p, q < r, segue que s a = 2 s b, o a = 2 o b + 1, p a = 2 p b + 1 e q a = 2 q b + 1, o que resulta em r a 1 = s a = 2 s b r a = 2 s b + 1, ou r b 1 = o b + p b + q b = ( o a 1) + ( p a 1) + ( q a 1) 2 = o a + p a + q a 3 2 = r a 3, 2 implicando em r a = 2 r b + 1 e garantindo que (2) é válida. Isto já é suficiente para mostrar que (ii) é válido, já que x b 1 = y b + z b = ( y a + z a 2)/2 = ( x a 2)/2 o que ocorre se e somente se x a = 2 x b. Para B v, temos que v {aopq, apoq, apqo : A o, B p, q} ou que v = bs com S s. De forma análoga, como s, o, p, q < v, segue que s a = 2 s b, o a = 2 o b + 1, p a = 2 p b 2 e q a = 2 q b 2, o que resulta em ou v b 1 = s b = s a /2 = v a /2 v a = 2 v b 2, v a 1 = o a + p a + q a = (2 o b + 1) + (2 p b 2) + (2 q b 2) = 2 v b 3, e garantindo que (3) é válida. Com isto, fechamos o caso (i), pois e obtemos que S x a 1 = u a + v a = u b v b 2 x a = 2 x b, x para toda palavra x L. 3. [ ] Considere a gramática livre de contexto G = (V, T, P, S), em que V = {S}, T = {a, b} e Qual a linguagem gerada por G? Prove sua afirmação. P = {S bs Sa asb λ}. Considere a gramática livre de contexto G especificada acima. Realizando algumas derivações em G, intuimos que L(G) é a linguagem de todas as palavras compostas por a s e b s. Proposição 2. L(G) = {a, b}. Demonstração. Não é difícil perceber que as sentenças geradas por G possuem apenas a s e b s, o que implica em L(G) {a, b}. Vamos mostrar a recíproca por indução no comprimento das palavras em {a, b}. Seja w {a, b}. Caso w = λ, a produção S λ garante que S λ e o resultado segue. Considere agora que w > 0 e suponha, a título de hipótese de indução, que S x, para toda palavra x {a, b} com x < w. Podemos dividir a argumentação em três casos: (i) w começa com b, (ii) w termina com a, ou (iii) o complementar dos anteriores, isto é, w começa com a e termina com b. Não é difícil perceber que qualquer palavra em {a, b} enquadra-se em uma e somente uma das possibilidades e que w = bx, ou w = xa, ou w = axb, respectivamente. Em todos os casos, por hipótese de indução, S x. Utilizando-se, respectivamente, as produções S bs, ou S Sa, ou S asb na primeira derivação, obtemos que S bs bx = w, ou S Sa xa = w, ou S asb axb = w, resultando em w L(G). 4. [ ] A seguinte gramática livre de contexto G = (V, T, P, S), em que V = {S}, T = {a, b} e P = {S as asbs λ} é ambígua. Encontre uma gramática livre de contexto inambígua equivalente, isto é, encontre uma gramática livre de contexto H tal que L(G) = L(H). A gramática G é ambígua, pois a palavra aab possui mais de uma derivação mais à esquerda (), como ilustrado a seguir: S as aasbs aabs aab, S asbs aasbs aabs aab.
4 O problema ocorre na derivação de a s não emparelhados com b s a s para os quais não existe um b correspondente. Claramente, isto se dá pelo fato de as ser um prefixo comum aos lados direitos das produções S as e S asbs. Introduzimos nova variável X e produção X axbx λ para restringir o prefixo comum e forçar a derivação dos a s não emparalhados por S as. Formaente, H = ({R, X}, T, P, R), com P dado pelo conjunto de produções abaixo: R ar axbr λ, X axbx λ. A prova do argumento apresentado acima enconra-se na proposição que segue. Proposição 3. As gramáticas livres de contexto G e H descrevem a mesma linguagem, com a diferença de que H é inambígua. Demonstração. Seja L = L(G) L(H) e suponha que L. Logo, existe uma palavra x L que satisfaz uma e apenas uma das possibilidades: (i) x L(G) \ L(H), ou (ii) x L(H) \ L(G). Considere o primeiro caso e para u, v T, seja S uasbsv uaasbsv x uma derivação mais à esquerda para x em G, em que destacamos uma forma sentencial na qual a produção S as foi usada para substituir a variável S mais à esquerda em asbs, resultando em aasbs. Esta substituição foi exatamente a que proibímos em H com a substituição do S mais à esquerda em asbs por X, conjuntamente com a introdução das X-produções. Como G é ambígua, a subsentença aasbs pode ser derivada mais à esquera de duas formas: asbs aasbs ou as aasbs. Considere então uma derivação G x mais à esquerda para x em G em que asbs aasbs não ocorre. Não é difícil perceber agora que existe uma correspondência biunívoca entre G x e uma derivação mais à esquerda H x para x em H, pois todas as substituições realizadas em G x possuem um equivalente em H x. Logo, x L(H) contradizendo a hipótese. A mesma correspondência biunívoca utilizada no caso (i) garante que o caso (ii) também não pode ocorrer, implicando em L(G) = L(H). Quando à inambiguidade de H, basta observar que a substituição do S mais à esquerda na produção S asbs por S axbs, conjuntamente com a introdução das X-produções garante que há apenas uma forma de derivar a s não emparelhados, e o resultado segue. 5. Para cada uma das gramáticas livres de contexto abaixo, elimine as λ-produções, as produções unitárias, os símbolos inúteis e coloque-as na Forma Normal de Chomsky (CNF). (a) (c) S ASB λ A aas a B SbS A bb S AAA B A aa B B λ (b) S 0A0 1B1 BB A C B S A C S λ (d) S aaa bbb λ A C a B C b C CDE λ D A B ab Os passos a serem seguidos são: eliminar as λ-produções, as produções unitárias, os símbolos inúteis, e reduzir os lados direitos das produções longas pela introdução de novas variáveis e produções de ligação.
5 (a) Observe que somente a variável S é anulável, devido à produção S λ. Após a eliminação das λ-produções, obtemos: S ASB AB A aas aa a B SbS Sb bs b A bb. A única produção unitária é B A. Logo, é suficiente substituir essa ocorrência de A pelos lados direitos das produções cujo lado esquerdo é A (A-produções). Com isso, temos: S ASB AB A aas aa a B SbS Sb bs b aas aa a bb. Não existem símbolos inúteis, pois: (i) A e B geram palavras formadas por terminais e, consequentemente, S também; (ii) todos os símbolos (terminais e variáveis) da gramática são atingíveis a partir de S. Substituindo os símbolos terminais não isolados por variáveis e incluindo as produções adequadas: S ASB AB A CAS CA a B SDS SD DS b CAS CA a DD C a D b. Finaente, quebrando as produções que têm mais de duas variáveis no lado direito, obtemos uma gramática equivalente, a menos de λ, na Forma Normal de Chomsky: S AE AB A CF CA a B SG SD DS b CF CA a DD C a D b E SB F AS G DS. (b) Neste caso, todas as variáveis são anuláveis, pois C λ, A C, B A e S BB. Após a eliminação das λ-produções, obtemos: S 0A0 00 1B1 11 BB B A C B S A C S. As produções unitárias dessa gramática são: S B, A C, B S, B A e C S. Observe que, inclusive, existem ciclos. Após a eliminação destas produções, temos: S 0A0 00 1B1 11 BB A 0A0 00 1B1 11 BB B 0A0 00 1B1 11 BB C 0A0 00 1B1 11 BB. A variável C não é atingivel a partir de S. Logo, ela e todas as C-produções podem ser eliminadas. Isso resulta em: S 0A0 00 1B1 11 BB A 0A0 00 1B1 11 BB B 0A0 00 1B1 11 BB.
6 Observando que todas as A-, B- e S-produções são iguais, simplificamos a gramática para: S 0S0 00 1S1 11 SS. Finaente, incluindo variáveis e produções para os terminais não isolados e quebrando as produções de comprimento maior que 2, obtemos uma gramática equivalente, a menos de λ, na Forma Normal de Chomsky: S ZA ZZ UB UU SS A SZ B SU Z 0 U 1. (c) Neste caso, todas as variáveis são anuláveis, pois B λ, A B, S B e, ainda, S AAA. eliminação das λ-produções, obtemos: Após a S AAA AA A B A aa a B. As produções unitárias dessa gramática são: S A, S B e A B. Após a eliminação destas produções, temos: S AAA AA aa a B A aa a B. Como você deve ter percebido, não tivemos como eliminar as produções unitárias S B e S A acima, pois B é um símbolo inútil que não gera nada. Eliminando-o da gramática, vem: S AAA AA aa a A aa a. Finaente, incluindo variáveis e produções para os terminais não isolados e quebrando as produções de comprimento maior que 2, obtemos uma gramática equivalente, a menos de ε, na Forma Normal de Chomsky: S AB AA CA a A CA a B AA C a. (d) Neste caso, todas as variáveis são anuláveis, pois S λ, C λ, A C, B C, e D A e, ainda D B. Após a eliminação das λ-produções, obtemos: A C a B C b C CDE DE CE E D A B ab. As produções unitárias dessa gramática são: A C, B C, C E, D A e D B. Eliminando a produção D A: A C a B C b C CDE DE CE E D C a B ab.
7 Eliminando a produção D B: A C a B C b C CDE DE CE E D C a b ab. Eliminando a produção C E: A C a B C b Eliminando as produções A C, B C e D C: C CDE DE CE D C a b ab. A CDE DE CE a B CDE DE CE b C CDE DE CE D CDE DE CE a b ab. Temos que a variável E não é geradora, assim após sua eliminação a gramática fica: A a B b D a b ab. Temos ainda que a variável D não é alcançável a partir de S. Logo: A a B b. Finaente, incluindo variáveis e produções para os terminais não isolados e quebrando as produções de comprimento maior que 2, obtemos uma gramática equivalente, a menos de ε, na Forma Normal de Chomsky: S AF AA BG BB A a B b F AA G BB. 6. [ ] Para w {0, 1}, definimos o complemento Booleano de w, denotado por por w, como a palavra obtida pela complementação de cada símbolo em w. Ou seja, se w = 010, então w = 101. Considere o conjunto A = {w {0, 1} : w = w R }. (a) Forneça uma gramática livre de contexto para o conjunto A.
8 (b) Forneça uma gramática na forma normal de Chomsky para o conjunto A {λ}. Como exemplo, observe que as palavras e pertencem a A, mas a palavra A. (a) Uma gramática livre de contexto para o conjunto A é G = (V, T, P, S), em que V = {S}, T = {0, 1} e P é o conjunto de produções: S 0S1 1S0 λ. A idéia é gerar símbolos complementares à mesma distância das extremidades. Não é difícil provar que L(G) = A. (b) Uma gramática na Forma Normal de Chomsky para o conjunto A {λ} é G = (V, T, P, S), em que V = {S, A, B, Z, U}, T = {0, 1} e P é o conjunto de produções: S ZU UZ ZA UB, A SU, B SZ, Z 0, U Mostre que toda linguagem livre de contexto que não possua λ pode ser gerada por uma gramática livre de contexto na qual todas as produções são da forma A a, A ab ou A abc, para a terminal e A, B e C variáveis. Sugestão, comece com uma gramática na Forma Normal de Greibach para a linguagem em questão. Sejam L uma linguagem livre de contexto que não possui λ, e G = (V, T, P, S) uma gramática livre de contexto na Forma Normal de Greibach para L. Todas as produções em P são da forma A aβ, para A V, a T e β V. Suponha que k é o maior número de símbolos que aparecem do lado direito das produções em P, e seja V := { [γ] : γ V + e γ < k }. Defina, iniciaente, P =. Para cada produção A aγ pertencente a P, com A V, a T e γ V + ( γ < k) e cada variável [Aδ] pertencente a V, inclua em P a produção [Aδ] a, se γ = δ = λ; [Aδ] a[γ], se γ λ e δ = λ; [Aδ] a[δ], se γ = λ e δ λ; [Aδ] a[γ][δ], se γ λ e δ λ. Ao final desse processo, teremos uma gramática equivalente a G na qual todas as produções são da forma A a, A ab ou A abc, para a terminal e A, B e C variáveis. 8. Mostre que as linguagens abaixo não são livres de contexto. (a) [ ] {a i b j c k : i < j < k}. (b) {a i b j : j = i 2 }. (c) {a p : p é um número primo}. (d) [ ] {a 2i : i 0}. Vamos utilizar o lema de iteração (pumping lemma) para linguagens de contexto em cada uma das linguagens acima. Como é o caso quando se utiliza este resultado, todas as provas serão por contradição. (a) Demonstração. Suponha que L = {a i b j c k : i < j < k} é livre de contexto e seja n > 0 a constante cuja existência é garantida pelo lema de iteração. Considere a palavra z = a n b n+1 c n+2 L. Claramemte z = 3n + 3 > n. Seja então z = uvwxy uma decomposição qualquer de z satisfazendo vwx n e vx λ. Vamos mostrar que existem valores de l 0 tais que a palavra uv l wx l y L. Temos dois casos relevantes para analisar (todas as demais possibilidades são cobertas por estes casos). No primeiro caso, vwx não possui nenhum símbolo c. Com isso, para l = 3, z = uv 3 wx 3 y possui no mínimo n + 2 a s ou b s, pois vx > 0. Como z c = n + 2, segue que z L.
9 Em caso contrário, vwx possui pelo menos um c e temos que ela não possui nenhum a, já que vwx n e existem n + 2 posições entre o último a e o primeiro c, inclusive. Logo, para l = 0, a palavra z = uv 0 wx 0 y = uwy possui n símbolos a e não mais que 2n + 2 b s e c s, já que vx > 0. Como não é possível com esses valores termos mais b s do que a s e mais c s do que b s, segue que z L. Logo, independente da forma em que z for dividida, existem valores l 0 para os quais uv l wx l y L, contradizendo o lema da iteração. Portanto, L não é livre de contexto. (b) Demonstração. Suponha que L = {a i b j : j = i 2 } é livre de contexto e seja n > 0 a constante cuja existência é garantida pelo lema de iteração. Considere a palavra z = a n b n2 L, com z = n 2 + n > n. Seja z = uvwxy uma decomposição qualquer de z satisfazendo vwx n e vx λ. Se vwx possui apenas a s, então para l = 0 a palavra z = uv l wx l y = uwy consiste em n 2 símbols b e no máximo n 1 símbolos a, implicando que z L. Um argumento análogo mostra que se vwx possui apenas b s, z também não pertence a L. Caso v ou x possua simultaneamente a s e b s, claramente a palavra uv 2 wx 2 y L, pois nem à linguagem a b ela pertence. O último e mais interessante caso ocorre quando v consiste de k símbolos a e x consiste de m símbolos b, com k, m > 0. Para todo l > 1, a palavra z = uv l wx l y consiste em n + lk símbolos a e n 2 + símbolos b. Temos que z L se e somente se (n + lk) 2 = n 2 +, pois o número de b s deve ser igual ao quadrado do número de a s. No entanto, (n + lk) 2 = n 2 + 2lkn + l 2 k 2 e assim é necessário que 2lkn + l 2 k 2 = com k, m > 0 e l > 1. Como o lado esquerdo da equação acima cresce quadraticamente e o direito linearmente, não é possível satisfazer a igualdade para todo l > 1 lembre-se que n 2 O(n). Ou seja, existe algum valor l para o qual z L e isso completa a prova. (c) Demonstração. Suponha que L = {a p : p é um número primo} é livre de contexto e seja n > 0 a constante cuja existência é garantida pelo lema de iteração. Seja p n + 2 primo e considere a palavra z = a p L. Seja z = uvwxy uma decomposição qualquer de z satisfazendo vwx n e vx λ. Se vx = m, então uwy = p m. Tome l = p m e considere a palavra z = uv l wx l y = uv p m wx p m y. Temos que: z = uwy + (p m) vx = (p m) + (p m)m = (1 + m)(p m). Para z pertençer a L, z deve ser primo. Isso ocorre se e somente se m + 1 ou p m for igual a 1. No entanto, temos que m + 1 > 1, pois vx λ e assim m = vx > 0, e que p m > 1, pois p n + 2 e m n, já que vwx n. Portanto, z L e L não é livre de contexto. (d) Demonstração. Suponha que L = {a 2i : i 0} é livre de contexto e seja n > 0 a constante cuja existência é garantida pelo lema de iteração. Considere a palavra z = a 2n L e seja z = uvwxy uma decomposição qualquer de z satisfazendo vwx n e vx λ. Tome l = 2 e considere z = uv 2 wx 2 z. Temos que 2 n < z = z + vx 2 n + n, pois vwx n e vx > 0. Como 2 n+1 > 2 n + n para todo n não negativo, segue que o número de a s em z não é uma potência de 2 e, consequentemente, que z L. Logo, L não é livre de contexto. 9. Escreva autômatos com pilha para as seguintes linguagens abaixo: (a) {wcw R : w {a, b} } (b) {w {a, b} : w = w R } (c) {a i b j c k : i = j ou j = k} (d) {w {a, b} : w possui duas vezes mais a s que b s} (e) L(G), em que G = ({S}, {(, ), [, ]}, {S (S) [S] SS λ}, S). (f) L(G), em que G = ({A, S}, {a, b}, {S aaa, A as bs a}, S). Especifique o tipo de aceitabilidade de cada autômato com pilha.
10 (a) A = ({p, q, r}, {a, b}, {, a, b}, δ A, p,, {r}), em que δ A é como: δ A (p, a, ) = {(p, a )} δ A (p, b, ) = {(p, b )} δ A (p, a, a) = {(p, aa)} δ A (p, a, b) = {(p, ab)} δ A (p, b, a) = {(p, ba)} δ A (p, b, b) = {(p, bb)} δ A (p, c, ) = {(q, )} δ A (p, c, a) = {(q, a)} δ A (p, c, b) = {(q, b)} δ A (q, a, a) = {(q, λ)} δ A (q, b, b) = {(q, λ)} δ A (q, λ, ) = {(r, λ)} A aceitabilidade de A é simultaneamente por alcance de estado final e por esvaziamento de pilha. (b) A = ({p, q, r}, {a, b}, {, a, b}, δ A, p,, {r}), em que δ A é como: δ A (p, a, ) = {(p, a )} δ A (p, b, ) = {(p, b )} δ A (p, a, a) = {(p, aa)} δ A (p, a, b) = {(p, ab)} δ A (p, b, a) = {(p, ba)} δ A (p, b, b) = {(p, bb)} δ A (p, a, ) = {(q, )} δ A (p, b, ) = {(q, )} δ A (p, a, a) = {(q, a)} δ A (p, a, b) = {(q, b)} δ A (p, b, a) = {(q, a)} δ A (p, b, b) = {(q, b)} δ A (p, λ, ) = {(q, )} δ A (p, λ, a) = {(q, a)} δ A (p, λ, b) = {(q, b)} δ A (q, a, a) = {(q, λ)} δ A (q, b, b) = {(q, λ)} δ A (q, λ, ) = {(r, λ)} A aceitabilidade de A é simultaneamente por alcance de estado final e por esvaziamento de pilha. Outro autômato de pilha possível para esta linguagem é B = ({p}, {a, b}, {S, a, b}, δ B, p, S), em que δ B é como: A aceitabilidade de B é por esvaziamento de pilha. δ B (p, a, a) = {(p, λ)} δ B (p, b, b) = {(p, λ)} δ B (p, λ, S) = {(p, asa)} δ B (p, λ, S) = {(p, bsb)} δ B (p, λ, S) = {(p, a)} δ B (p, λ, S) = {(p, b)} δ B (p, λ, S) = {(p, λ)} (c) A = (Q, {a, b}, {, a, b, c}, δ A, p,, {q 3, q 7 }), em que Q = {q i : 0 i 7} e δ A é como: δ A (q 0, λ, ) = {(q 1, ), (q 4, )} δ A (q 1, a, ) = {(q 1, a )} δ A (q 1, a, a) = {(q 1, aa)} δ A (q 1, λ, ) = {(q 2, )} δ A (q 1, λ, a) = {(q 2, a)} δ A (q 2, b, a) = {(q 2, λ)} δ A (q 2, λ, ) = {(q 3, )} δ A (q 3, c, ) = {(q 3, )} δ A (q 4, a, ) = {(q 4, )} δ A (q 4, λ, ) = {(q 5, )} δ A (q 5, b, ) = {(q 5, b )} δ A (q 5, b, b) = {(q 5, bb)} δ A (q 5, λ, ) = {(q 6, )} δ A (q 5, λ, b) = {(q 6, b)} δ A (q 6, c, b) = {(q 6, λ)} δ A (q 6, λ, ) = {(q 7, )} A aceitabilidade de A é por alcance de estado final. (d) B = ({p}, {a, b}, {S, A, B, a, b}, δ B, p, S), em que δ B é como: δ B (p, a, a) = {(p, λ)} δ B (p, b, b) = {(p, λ)} δ B (p, λ, S) = {(p, aab)} δ B (p, λ, S) = {(p, aba)} δ B (p, λ, S) = {(p, baa)} δ B (p, λ, S) = {(p, λ)} δ B (p, λ, A) = {(p, as)} δ B (p, λ, A) = {(p, baaa)} δ B (p, λ, B) = {(p, aabb)} δ B (p, λ, B) = {(p, abab)} δ B (p, λ, B) = {(p, abba)} δ B (p, λ, B) = {(p, bs)} A aceitabilidade de B é por esvaziamento de pilha (veja Exercício 2 ítem (e)). (e) B = ({p}, {(, ), [, ]}, {S, (, ), [, ]}, δ B, p, S), em que δ B é como: A aceitabilidade de B é por esvaziamento de pilha. δ B (p, (, () = {(p, λ)} δ B (p, ), )) = {(p, λ)} δ B (p, [, [) = {(p, λ)} δ B (p, ], ]) = {(p, λ)} δ B (p, λ, S) = {(p, (S))} δ B (p, λ, S) = {(p, [S])} δ B (p, λ, S) = {(p, SS)} δ B (p, λ, S) = {(p, λ)}
11 (f) B = ({p}, {a, b}, {S, A, a, b}, δ B, p, S), em que δ B é como: A aceitabilidade de B é por esvaziamento de pilha. δ B (p, a, a) = {(p, λ)} δ B (p, b, b) = {(p, λ)} δ B (p, λ, S) = {(p, aaa)} δ B (p, λ, A) = {(p, as)} δ B (p, λ, A) = {(p, bs)} δ B (p, λ, A) = {(p, a)} 10. [ ] Um autômato com pilha P = (Q, Σ, Γ, δ, q 0,, F ) é determinístico se: (1) Sempre que δ(q, a, X) é não vazia para algum a Σ, então δ(q, λ, X) é vazia (para qualquer X Γ), e (2) Para cada q Q, a Σ {λ} e X Γ, δ(q, a, X) 1 (isto é, δ(q, a, X) contém no máximo um elemento). A regra (1) elimina a possibilidade de escolha entre a realização de uma transição consumindo um símbolo da entrada ou através de uma λ-transição. A regra (2) elimina a possibilidade de escolha entre transições para um mesmo símbolo da entrada. Construa autômatos com pilha determinísticos para as seguintes linguagens: (a) {a n b m : n m}. (b) {a n b m : n m}. (c) {a n b m a n : n, m 0}. (a) A = ({p, q, r}, {a, b}, {, a, b}, δ, p,, {r}), em que δ é como: δ(p, a, ) = {(p, a )} δ(p, a, a) = {(p, aa)} δ(p, b, ) = {(q, )} δ(p, b, a) = {(q, λ)} δ(q, b, a) = {(q, λ)} δ(q, λ, ) = {(r, )} (b) A = ({p, q, r}, {a, b}, {, a, b}, δ, p,, {r}), em que δ é como: δ(p, a, ) = {(p, a )} δ(p, a, a) = {(p, aa)} δ(p, b, a) = {(q, λ)} δ(q, b, a) = {(q, λ)} δ(q, λ, a) = {(r, a)} δ(q, λ, ) = {(r, )} (c) A = ({p, q, r, s}, {a, b}, {, a, b}, δ, p,, {s}), em que δ é como: δ(p, a, ) = {(p, a )} δ(p, a, a) = {(p, aa)} δ(p, b, ) = {(q, )} δ(p, b, a) = {(q, a)} δ(q, b, ) = {(q, )} δ(q, b, a) = {(q, a)} δ(q, a, a) = {(r, λ)} δ(r, a, a) = {(r, λ)} δ(r, λ, ) = {(s, )} Sugestão: desenhe os diagramas correspondentes para observar melhor como cada autômato funciona. 11. Seja L {a} uma linguagem sobre um alfabeto unitário. Mostre que L é livre de contexto se e somente se L é regular. Demonstração. Para necessidade, observe que todo DFA D pode ser interpretado como um DPDA que não faz uso da pilha. Formaente, para D = (Q, Σ, δ, s, F ), defina um DPDA D = (Q, Σ, Σ { }, δ, s,, F ) em que para todos p, q Q e a Σ tal que δ(p, a) = q, tem-se que δ (p, a, ) = (q, ). Claramente, L(D) = L(D ). Para suficiência, seja L {a} uma linguagem livre de contexto e seja n > 0 a constante cuja existência é garantida pelo lema da iteração para linguagens livres de contexto. Para todo k n e toda palavra z = a k L, o lema da iteração estabelece que que z = uvwxy com vx λ e vwx n, e que z(i) = uv i wx i y L para todo i 0. Defina p k = vx e m k = uwy de forma que z(i) = a m k+ip k L e observe que m k + ip k é uma progressão aritmética com início m k 0 e razão 1 p k n com m k e p k dependentes de k e que, portanto, {z(i) : i 0}
12 é uma linguagem fundamentaente periódica ou, em outras palavras, regular (cf. Teorema 6, Lista 2). Defina S := L {a l : 0 l < n}. Claramente S é finita e portanto, regular (cf. Exercício 2, Lista 2). Vamos mostrar então que o número de progressões aritméticas em L é finito, isto é, que um número finito de valores para k é suficiente para descrever L \ S. Seja K := {k n : a k L} e observe que L = S {a k : k K} S ( k K a m k ) ) L, implicando em {a k : k K} = k K am k ). Agora, para cada valor de k K, temos que a m k ) a r k ), em que r k 0 e r k m k (mod p k ), resultando em a m k ) a r k ). k K k K Para mostarmos que a recíproca da inclusão acima, defina o conjunto P := {(r, p) : 1 p n, 0 r < p e existe k K com p k = p e r k r (mod p k )}, e para todos os pares (r, p) P, defina Temos então que Logo, q(r, p) := min{r k : k K com p k = p e r k r (mod p k )}. (r,p) P a q(r,p) (a p ) L = S (r,p) P k K a m k ). a q(r,p) (a p ), isto é, L é a união de uma linguagem finita com P n 2 linguagens fundamentaente periódicas e, portanto, L é regular. Nota: Observe que a técnica utilizada na prova para limitar o número de linguagens fundamentaente periódicas é semelhante à utilizada no Teorema 7 da Lista Uma gramática livre de contexto G = (V, T, P, S) é linear se toda produção em P é da forma A α ou A β B γ, em que A, B V e α, β, γ T. Ou seja, todas as produções de G possuem no máximo um não terminal (variável) no lado direito. Uma linguagem livre de contexto L é linear se existe uma gramática livre de contexto linear G tal que L = L(G). Mostre a seguinte versão do lema de iteração para linguagens livres de contexto lineares. Se L é livre de contexto e linear, então existe uma constante n tal que se z L com z n, então existe uma decomposição z = uvwxy com uvxy n e vx 1 tal que uv i wx i y L para todo i 0. Demonstração. Seja G = (V, T, P, S) uma gramática livre de contexto para L e, sem perda de generalidade, suponha que G não possui produções unitárias do tipo A B em P, com A, B V a suposição é sem perda de generalidade pois podemos eliminar tais produções e obter uma gramática equivalente, como fizemos em um dos passos da normalização de Chomsky. Sejam p := V e k := max{ α : A α P }, o número de não-terminais (variáveis) e o número máximo de símbolos no lado direito de uma produção em G, respectivamente. Defina n := (p + 1)k, seja z L com z n e considere S z uma derivação mais à equerda para z. Pelo princípio da casa do pombo, algum A V ocorre em mais de uma forma sentencial nos primeiros p + 1
13 passos na derivação de z. Sejam 0 < i < j < p + 1 os números de derivações até a primeira e a segunda ocorrências de A na derivação de z, isto é, S i uay j i uvaxy uvwxy = z, (4) para palavras u, v, w, x, y T. Como i < j < p + 1, temos que uvxy (p + 1)k = n, e vx λ pelo fato de G não possuir produções unitárias. A última afirmação agora é provada manipulando-se as derivações em (4). Para todo l 0, começando com S i uay, repetindo-se l vezes A j i vax, e finalizando com A w, obtemos caso l = 0, ou S i uay j i uvaxy j i S i uay uv 2 Ax 2 y j i uwy uv 3 Ax 3 y j i j i uv l Ax l y uv l wx l y caso l > 0. Nos dois casos, não é difícil perceber que a palavra derivada pertence a L(G) e, portanto, a L.
Apostila 03 - Linguagens Livres de Contexto Exercícios
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Leia maisTransformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e
Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e inacessíveis; Forma Normal de Chomsky (FNC) e Forma Normal
Leia maisExpressões Regulares e Gramáticas Regulares
Universidade Católica de Pelotas Escola de informática 053212 Linguagens Formais e Autômatos TEXTO 2 Expressões Regulares e Gramáticas Regulares Prof. Luiz A M Palazzo Março de 2007 Definição de Expressão
Leia maisModelos de Computação Folha de trabalho n. 8
Modelos de Computação Folha de trabalho n. 8 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada
Leia maisUniversidade Federal do Rio de Janeiro Departamento de Ciência da Computação
Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Não são aceitas respostas sem justificativa. Explique tudo o que você fizer. Linguagens Formais o semestre de 999 Primeira Prova
Leia maisGramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo
Gramática regular IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 41 Frase do dia Através de três métodos
Leia maisTEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO
LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho Braga, Portugal 31 de Maio de 2010
Leia maisDada uma gramática G = (V, T, P, S), tal que ε ² L(G), construir G, sem produções-ε, de modo a que L(G) = L(G ).
2EVHUYDo}HV Enquanto que todas as Linguagens Regulares são reconhecíveis por utómatos 'HWHUPLQLVWDV (Finitos), nem todas as Linguagens Independentes do Contexto são reconhecíveis por utómatos 'HWHUPLQLVWDV
Leia maisTerceira Lista de Exercícios 2004/2...
UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Terceira Lista de Exercícios 2004/2
Leia maisLinguagens livres de contexto e autômatos de pilha
Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos
Leia maisSCC Capítulo 1 Linguagens Regulares e Autômatos Finitos
SCC-505 - Capítulo 1 Linguagens Regulares e Autômatos Finitos João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes
Leia maisGramáticas e Linguagens independentes de contexto
Capítulo 6 Gramáticas e Linguagens independentes de contexto 6.1 Gramáticas Nesta secção vamos introduzir gramáticas formais para caracterização das linguagens, estudando fundamentalmente as gramáticas
Leia maisUniversidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação
Universiae e São Paulo Instituto e Ciências Matemáticas e e Computação Curso e Ciências e Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma A 2º. Semestre e 2010 Prof. João Luís Lista
Leia maisLinguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática
Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra
Leia maisPropriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto
UNIVESIDADE ESTADUAL DE MAINGÁ DEPATAMENTO DE INFOMÁTICA Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 A classe de linguagens livres de contexto é fechada
Leia maisGramáticas ( [HMU00], Cap. 5.1)
Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é
Leia maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos (notas da primeira aula 1 Definições básicas 1.1 Conjuntos Definição 1. Um conjunto é uma coleção de objetos, denominados elementos. Notação 1. Para indicar que um elemento
Leia maisAula 7: Autômatos com Pilha
Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar
Leia maisLinguagens Regulares. Prof. Daniel Oliveira
Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisAlfabeto, Cadeias, Operações e Linguagens
Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter
Leia maisHierarquia de Chomsky Exemplos de gramáticas
Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática. Este
Leia maisAutómatos Finitos Determinísticos (AFD)
Folha Prática Autómatos Finitos 1 Autómatos Finitos Determinísticos (AFD) 1. Determine e implemente computacionalmente um AFD que aceita todas as cadeias de cada uma das seguintes linguagens sobre o alfabeto
Leia maisSe o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia.
Transformações em G.L.C Uma vez que existem métodos de análise, cada qual exigindo gramáticas com características específicas é importante que uma gramática possa ser transformada, porém, sem perder a
Leia maisCapítulo 3: Gramáticas
Capítulo 3: Gramáticas Já vimos que procedimentos podem ser usados para definir linguagens de duas maneiras essenciais: como geradores, procedimentos que enumeram os elementos da linguagem, e como reconhecedores
Leia maisO que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento
O que é Linguagem Regular Um teorema sobre linguagens regulares Linguagem regular Uma linguagem é dita ser uma linguagem regular se existe um autômato finito que a reconhece. Dada uma linguagem L: É possível
Leia mais6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto
Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para
Leia maisLista de exercícios 1
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Lista de exercícios 1 Disciplina: Linguagens Formais e Autômatos Professora: Juliana Pinheiro
Leia maisDisciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais
UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof.
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS
LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.
Leia maisApostila 03 Linguagens Livres de Contexto
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Leia maisCapítulo 4: Autômatos finitos e expressões regulares
Linguagens Formais Capítulo 4: Autômatos finitos e expressões regulares 4.1 - Introdução com Luiz Carlos Castro Guedes Neste capítulo estudaremos uma máquina (um procedimento aceitador, ou reconhecedor),
Leia maisApostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Leia maisAutômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.
UFRN/DIMAp/DIM0330 Linguagens formais http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.1/dim0330 1/36 Autômatos a pilha David Déharbe UFRN/DIMAp Campus Universitário, Lagoa Nova, 59072-970 Natal,
Leia maisMatemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação
Leia maisFundamentos da Teoria da Computação
Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias 1 1 UFMG/ICEx/DCC Entrega da 1 a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos
Leia maisINE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto
INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto baseado em material produzido pelo prof Paulo Bauth Menezes e pelo prof Olinto José Varela
Leia maisGramática. Gramática. Gramática
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 02 Introdução à Teoria da Computação Prof.ª Danielle Casillo Linguagem: é uma forma precisa de expressar
Leia maisGramáticas Livres de Contexto Parte 1
Universidade Estadual de Feira de Santana Engenharia de Computação Gramáticas Livres de Contexto Parte 1 EXA 817 Compiladores Prof. Matheus Giovanni Pires O papel do Analisador Sintático É responsável
Leia maisTeoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.
Pós-Graduação em Ciência da Computação DCC/ICEx/UFMG Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Observações: Pontos
Leia maisLinguagem (formal) de alfabeto Σ
Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisLINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam
Linguagens Naturais LINGUAGENS FORMAIS Definições Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam São muito ricas, mas também ambíguas e imprecisas. Ex.: João
Leia maisLINGUAGENS FORMAIS: Teoria, Modelagem e Implementação. Material adicional, versão do dia 22 de novembro de 2017 às 17:24
LINGUAGENS FORMAIS: Teoria, Modelagem e Implementação Material adicional, versão do dia 22 de novembro de 2017 às 17:24 1. Página 32, imediatamente depois do Exemplo 1.8: A teoria de conjuntos apresentada
Leia maisFundamentos da Teoria da Computação
Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal
Leia maisINE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto
INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira
Leia maisProblemas decidíveis para LICs
Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é
Leia mais9.3 Gramáticas Irrestritas
9.3. Gramáticas Irrestritas 9.3 Gramáticas Irrestritas Para investigar a conexão entre as linguagens recursivamente enumeráveis e as gramáticas, retornaremos à definição geral de uma gramática. Na definição
Leia maisGramáticas Livres de Contexto
Gramáticas Livres de Contexto 25 de novembro de 2011 Definição 1 Uma Regra (ou produção) é um elemento do conjunto V (V Σ). Sendo que V é um conjunto finito de elementos chamados de variáveis e Σ um conjunto
Leia maisProva 1 de INF1626 Linguagens Formais e Autômatos
Prova 1 de INF1626 Linguagens Formais e Autômatos Aluno(a): Matrícula: Atenção: O tempo total de prova é de 110 minutos (09:05 às 10:55). Durante a prova não é permitido o uso de qualquer aparelho eletrônico
Leia maisOS TEOREMAS DE JORDAN-HÖLDER E KRULL-SCHMIDT (SEGUNDA VERSÃO)
! #" $ %$!&'%($$ OS TEOREMAS DE JORDAN-HÖLDER E KRULL-SCHMIDT (SEGUNDA VERSÃO) Neste texto apresentaremos dois teoremas de estrutura para módulos que são artinianos e noetherianos simultaneamente. Seja
Leia maisLinguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.
LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas
Leia maisUm alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.
Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem
Leia maisConceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem
Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.
Leia maisApostila 01 Fundamentação da Teoria da Computação e Linguagens Formais
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Leia maisAnálise I Solução da 1ª Lista de Exercícios
FUNDAÇÃO EDUCACIONAL SERRA DOS ÓRGÃOS CENTRO UNIVERSITÁRIO SERRA DOS ÓRGÃOS Centro de Ciências e Tecnologia Curso de Graduação em Matemática Análise I 0- Solução da ª Lista de Eercícios. ATENÇÃO: O enunciado
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisLinguagens Livres de Contexto
Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011
Leia maisA forma canônica de Jordan
A forma canônica de Jordan 1 Matrizes e espaços vetoriais Definição: Sejam A e B matrizes quadradas de orden n sobre um corpo arbitrário X. Dizemos que A é semelhante a B em X (A B) se existe uma matriz
Leia maisDefinições Hierarquia de Chomsky Exemplos de gramáticas
Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática.
Leia maisSistemas de equações lineares com três variáveis
18 Sistemas de equações lineares com três variáveis Sumário 18.1 Introdução....................... 18. Sistemas de duas equações lineares........... 18. Sistemas de três equações lineares........... 8
Leia maisa = bq + r e 0 r < b.
1 Aritmética dos Inteiros 1.1 Lema da Divisão e o Algoritmo de Euclides Recorde-se que a, o módulo ou valor absoluto de a, designa a se a N a = a se a / N Dados a, b, c Z denotamos por a b : a divide b
Leia maisAFNs, Operações Regulares e Expressões Regulares
AFNs, Operações Regulares e Expressões Regulares AFNs. OperaçõesRegulares. Esquematicamente. O circulo vermelho representa o estado inicial q 0, a porção verde representa o conjunto de estados de aceitação
Leia maisLinguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo
Linguagens Formais e Autômatos Conceitos Básicos Prof. Anderson Belgamo Introdução Teoria das Linguagens Formais Originariamente desenvolvida na década de 1950. Objetivo inicial: desenvolver teorias relacionadas
Leia maisLinguagens Livres de Contexto
Linguagens Livres de Contexto 1 Conteúdo Programático Introdução Teoria de autômatos Strings e linguagens Gramáticas Algoritmos Linguagens formais Hierarquia de chomsky Linguagens Regulares Autômatos finitos
Leia mais(Ciência de Computadores) 2005/ Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação
Álgebra (Ciência de Computadores) 2005/2006 Números inteiros 1. Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação (a) {inteiros positivos impares}; (b) {inteiros negativos pares};
Leia maisIntroduzir os conceitos de base e dimensão de um espaço vetorial. distinguir entre espaços vetoriais de dimensão fnita e infinita;
META Introduzir os conceitos de base e dimensão de um espaço vetorial. OBJETIVOS Ao fim da aula os alunos deverão ser capazes de: distinguir entre espaços vetoriais de dimensão fnita e infinita; determinar
Leia maisConstrução de Compiladores Aula 16 - Análise Sintática
Construção de Compiladores Aula 16 - Análise Sintática Bruno Müller Junior Departamento de Informática UFPR 25 de Setembro de 2014 1 Introdução Hierarquia de Chomsky Reconhecedores Linguagens Livres de
Leia maisLista 1 com respostas
Lista 1 com respostas Professora Nataliia Goloshchapova MAT0105/MAT0112-1 semestre de 2015 Exercício 1. Verifique se é verdadeira ou falsa cada afirmação e justifique sua resposta: (a) (A, B) (C, D) AB
Leia maisDisciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais
UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof.
Leia mais14.1 Linguagens decidíveis ou Turing reconhecíveis
Linguagens decidíveis ou Turing reconhecíveis Problemas decidíveis para Linguagens Regulares Teorema Seja A linguagem A DFA é decidível A DFA = {A : A é um DFA e aceita } Dem Basta mostrar como construir
Leia maisMatemática Discreta - 07
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 07 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisExercícios preparatórios para a Prova 2
Exercícios preparatórios para a Prova 2 Estes exercícios foram selecionados do Cap. 3 do livro-texto da disciplina (Ramos, 2009), e têm como objetivo auxiliar na preparação para a Prova 2, programada para
Leia maisAlfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).
Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento
Leia maisMESTRADO PROFISSIONAL EM MATEMÁTICA EM REDE NACIONAL. ENQ Gabarito
MESTRADO PROFISSIONAL EM MATEMÁTICA EM REDE NACIONAL ENQ 2017.1 Gabarito Questão 01 [ 1,25 ] Determine as equações das duas retas tangentes à parábola de equação y = x 2 2x + 4 que passam pelo ponto (2,
Leia maisLinguagens, Gramáticas e Máquinas
Linguagens, Gramáticas e Máquinas 1 INTRODUÇÃO Pode-se olhar um computador como uma máquina M que tem as propriedades descritas a seguir. A cada instante, M tem um "estado interno", M lê alguma "entrada",
Leia maisOs números inteiros. Capítulo 2
6 Capítulo 2 Os números inteiros Intuitivamente, o conjunto Z dos números inteiros é composto pelos números naturais e pelos "negativos". Como justificamos de uma forma simples qual a origem dos números
Leia maisCompiladores. Parser LL 10/13/2008
Compiladores Fabiano Baldo Usa uma pilha explícita ao invés de chamadas recursivas para realizar a análise sintática. LL(k) parsing significa que ktokensà frente são utilizados. O primeiro L significa
Leia maisDefinições Hierarquia de Chomsky Exemplos de gramáticas
Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática.
Leia maisINE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos
INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais
Leia maisTeoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos
Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Linguagens e Expressões Regulares 2 2 Autómatos de Estados Finitos
Leia maisLista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos
Lista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos Uma das formas de se especificar a gramática de uma linguagem de programação é utilizar a Backus-Naur Form (BNF Ingerman
Leia maisExpressões regulares
Expressões regulares IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 38 Frase do dia A vida é uma luta inteira
Leia maisAula 3: Autômatos Finitos
Teoria da Computação Primeiro Semestre, 25 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor
Leia maisMA14 - Unidade 1 Divisibilidade Semana de 08/08 a 14/08
MA14 - Unidade 1 Divisibilidade Semana de 08/08 a 14/08 Neste curso, consideraremos o conjunto dos números naturais como sendo o conjunto N = {0, 1, 2, 3,... }, denotando por N o conjunto N \ {0}. Como
Leia maisAnálise na Reta - Verão UFPA 1a lista - Números naturais; Corpos ordenados
Análise na Reta - Verão UFPA 1a lista - Números naturais; Corpos ordenados A lista abaixo é formada por um subconjunto dos exercícios dos seguintes livros: Djairo G. de Figueiredo, Análise na reta Júlio
Leia maisUNIVERSIDADE FEDERAL DE VIÇOSA Centro de Ciências Exatas Departamento de Matemática
UNIVERSIDADE FEDERAL DE VIÇOSA Centro de Ciências Exatas Departamento de Matemática 2 a Lista - MAT 137 - Introdução à Álgebra Linear II/2005 1 Resolva os seguintes sistemas lineares utilizando o Método
Leia maisTeoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)
Teoria das Lic. em Ciências da Computação Formais e Autómatos () Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Teoria das - LCC - 2010/2011 Dep. Matemática e Aplicações - Univ.
Leia maisTRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS
TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS Acadêmico: Cleison Vander Ambrosi Orientador: José Roque Voltolini da Silva Roteiro da Apresentação Introdução Motivação
Leia maisAutómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.
Autómatos de Pilha Um autómato de pilha (não determinístico) (AP) é um autómato finito não determinístico com transições ɛ, acrescido de uma memória infinita a pilha mas em que o modo de acesso à informação
Leia maisEquações da reta no plano
3 Equações da reta no plano Sumário 3.1 Introdução....................... 2 3.2 Equação paramétrica da reta............. 2 3.3 Equação cartesiana da reta.............. 7 3.4 Equação am ou reduzida da reta..........
Leia maisCAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS
CAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS 6.1 Introdução 215 6.2 Métodos para transformar gramáticas 215 6.2.1 Eliminação do carácter 216 6.2.2 Uma regra geral para substituir
Leia maisAutômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz
Autômato com pilha IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Departmento de Computação e Matemática FFCLRP Universidade de São Paulo E.E.S Ruiz (DCM USP)
Leia mais7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.
Capítulo 7 Autómatos de pilha 7.1. Autómatos de pilha não-determinísticos (NPDA) 7.2. Autómatos de pilha e linguagens livres de contexto 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto
Leia mais1 Conjuntos, Números e Demonstrações
1 Conjuntos, Números e Demonstrações Definição 1. Um conjunto é qualquer coleção bem especificada de elementos. Para qualquer conjunto A, escrevemos a A para indicar que a é um elemento de A e a / A para
Leia maisLFA Aula 08. Minimização de AFD Autômatos Finitos com saídas 25/01/2017. Linguagens Formais e Autômatos. Celso Olivete Júnior.
LFA Aula 08 Minimização de AFD Autômatos Finitos com saídas 25/01/2017 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula de hoje Minimização de autômatos finitos
Leia maisConstrução de Compiladores
Construção de Compiladores Parte 1 Introdução Linguagens e Gramáticas F.A. Vanini IC Unicamp Klais Soluções Motivação Porque compiladores? São ferramentas fundamentais no processo de desenvolvimento de
Leia maisJá falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.
Teoria dos Conjuntos Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas. Porém, não é nosso objetivo ver uma teoria axiomática dos conjuntos.
Leia mais