A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)
|
|
|
- Kevin Faria Valente
- 7 Há anos
- Visualizações:
Transcrição
1 DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 1ª chamada - Resolução 2h + 30min 31/Jan/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1 D.2 D.3 D.4 E F Total Cotação 1,75 0,75 2,00 1,00 1,75 1,00 0,75 1,00 1,00 1,25 1,25 1,25 1,25 2,00 2,00 20,00 IMPORTANTE Não se exigia que na resolução deste teste por parte dos alunos, as justificações apresentadas fossem tão pormenorizadas. Apenas aproveitei este momento para explicar o melhor possível a resolução dos problemas propostos. A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) 1. Desenhe um AFD sobre o alfabeto Σ = { 0, 1 } que aceite a linguagem em que todas as palavras são da forma w 1 011w 2 (010) n, com n 0 e w 1, w 2 Σ*. Começar por construir o AFD para a palavra de comprimento mínimo: 011 (com w 1 = w 2 = λ e n = 0) Acrescentar a possibilidade de aparecer pela 1ª vez a subsequência 010 (n = 1). Se não aparecer 010 então tudo o que está depois de 011 pertence a w 2. No entanto, logo que apareça uma subsequência 010, para que a palavra seja aceite pelo AFD tudo o aparecer depois desta 1ª subsequência terá que daquele tipo, isto é várias subsequências de 010. O estado q9 é um estado de ERRO, pois depois de surgir várias subsequências do tipo 010 surgiu algo diferente. Desta forma, o AFD final é : 1
2 Interpretação do autómato: 1) o ramo [q0, q1, q2, q3] garante a sub-cadeia w 1 (011) 2) o ramo [q3, q4, q5, q6] garante a sub-cadeia w 2 (010) 1 (n = 1) 3) o ramo [q7, q8, q9] garante a subcadeia (010) k, k > 1 4) o estado q5 é de ERRO depois de surgir apela primeira vez 010, só podem aparecer sequências deste tipo 2. Indique, usando uma expressão semelhante à anterior, qual a linguagem reconhecida pelo AFND sobre Σ = { 0, 1 } que se segue. Justifique. Analizando o AFND verifica-se que aceita dois tipos de palavras, cada um correspondente a uma linguagem: L = L1 L2 (L1 = (q0, q1, q4, [q1, q4] k, k 0); L2 = (q0, q2, q3, q4, [q1, q4] k, k 0). Usando o ramo q0 q1 q4, o tipo de palavras aceites é: 0w 1 0. Usando o ramo q1 q4, o tipo de palavras aceites é: 1w 2 0. Logo, L1 = { w {0,1}* : w = 0w 1 0 (1w 2 0) k, k 0, w 1, w 2 {0,1}*} (q1 q4 pode-se repetir). Usando o ramo q0 q2 q3 q4, o tipo de palavras aceites é: 1 n 1 0 m 0 = 1 n+1 0 m+1, n 0 e m 0. Mas como q1 q4 pode-se repetir, Portanto, L2 = { w {0,1}* : w = 1 n 0 m (1w 1 0) k, n 1, m 1, k 0, w 1 {0,1}*}. L = L1 L2 = { w {0,1}* : w = (0w n 0 m ) (1w 2 0) k, n 1, m 1, k 0, w 1, w 2 {0,1}*} 3. Converta o AFND anterior num AFD e desenhe este último. Tabela de conversão do AFND para um AFD: q0q2 é o estado inicial do AFD δ(q0, λ) = q2 estados 0 1 (A) q0q2 q1 q2q3 (B) q1 q1q4 q1 (C) q2q3 q3q4 q2q3 (D) q1q4 q1q4 q1 (E) q3q4 q3q4 q1 2
3 B. (Expressões regulares e autómatos finitos) 1. Indique, justificando, uma expressão regular para a linguagem L do alfabeto Σ = { 0, 1 } à qual pertencem as palavras formadas por várias sequências de 0's e de 1's consecutivos, em que cada uma destas sequências têm exactamente dois elementos. Por ex: L; L. Pretendem-se as palavras que só têm a's isolados ou aos pares. A expressão regular é a seguinte: (1100)*(11 + λ) + (0011)*(00 + λ) (1100)*(11 + λ) Para as sequências que começam por 11 e terminam em 00 [(1100)*λ] ou em 11 [(1100)*11]. Também abrange a sequência 11 apenas. (0011)* (00 + λ) Para as sequências que começam por 00 e terminam em 11 [(0011)*λ] ou em 00 [(0011)*00]. Também abrange a sequência 00 apenas. 2. Usando o método de eliminação de estados (esquema em baixo), r = r1* r2 (r4 + r3 r1* r2)* determine a expressão regular associada à linguagem reconhecida pelo seguinte AFND: Analisando diretamente o AFND, facilmente se verifica que uma expressão regular associada à linguagem reconhecida por ele é a seguinte: 0*1(0+1)*10*0 (1* + 10*1(0+1)*10*0)* No entanto, vai-se usar o método de eliminação de estados para chegar a uma expressão idêntica. Desta forma, vai-se eliminar os estados q1 e q2, um de cada vez. Optou-se por eliminar primeiro q1 e depois q3 (podia-se também eliminar q3 e só depois q1). Eliminação do estado q1: q0 q1 q0 : q0 q1 q3 : 1(0+1)*1 q3 q1 q0 : q3 q1 q3 : O estado q2 não é envolvido na eliminação de q1, porque não existe nenhuma ligação direta entre q1 e q2. Ou seja, q1 e q2 não são estados adjacentes entre si. O pseudo-autómato resultante após a remoção do estado q1 é o seguinte: 3
4 Eliminação do estado q3 (usando o pseudo-autómato resultante da remoção de q1): q0 q3 q0 : q0 q3 q2 : 1(0+1)*10*0 q2 q3 q0 : q2 q3 q2 : O pseudo-autómato resultante após a remoção do estado q3 é o seguinte: Segundo a expressão apresentada em cima, temos: r1 = 0; r2 = 1(0+1)*10*0; r3 = 1; r4 = 1 Logo, temos que a expressão regular associada à linguagem reconhecida pelo AFND, é a seguinte: r = r1* r2 (r4 + r3 r1* r2)* = 0*(1(0+1)*10*0) (1 + 10*(1(0+1)*10*0))* = = 0*(1(0+1)*10*0)1* + 0*(1(0+1)*10*0) (10*(1(0+1)*10*0))* 3. Determinar a gramática regular que gere a linguagem associada à seguinte expressão regular: 1 0 ( 1 0 ) * * 1 ( 0 * + 1 * ) 1 Para tal, a) Desenhe um AFND associado à expressão regular. b) Construa a gramática a partir deste autómato). a) Um AFND associado à expressão regular é o seguinte: b) A gramática G = (V, T, S, P) é construída da seguinte forma: V = { S, A, B, C, D, E, F, G, H }, em que S está associado a q0, A a q1, B a q2, C a q3, D a q4, E a q5, F a q6, G a q7 e H a q8. T = { 0, 1 } P é o conjunto de produções, as quais são construídas da seguinte forma: S A 1A δ(q0,1) = q1 S 0B 0C δ(q1,0) = q3 B 0B B 1D C D δ(q2,1) = q4 1G δ(q3,1) = q7 C 1E F δ(q4,λ) = q6 D H δ(q0,0) = q2 δ(q2,0) = q2 δ(q3,1) = q5 δ(q4,λ) = q8 E λ q5 é estado final do AFND construído em a) F 0F δ(q6,0) = q6 F 1E G 0C H δ(q7,0) = q3 1H δ(q8,1) = q8 H 1E δ(q6,1) = q5 δ(q8,1) = q5 4
5 C. (Linguagens e gramáticas independentes de contexto LIC e GIC) 1. Determine a LIC gerada por G = ({S, X}, {0, 1}, {S 0S; S 1X; X 11X00; X 1}, S). Justifique. Como na derivação de uma palavra, temos sempre que começar por S, e depois passar para X, vamos primeiro determinar os tipos de palavras derivadas a partir de X, e só depois as derivadas a partir de S. Derivação de palavras a partir de X : X 1 (P4) 1 = (11) 0 1(00) 0 X 11X00 (P3) (P4) = (11) 1 1(00) X0000 (P3) (P4) = (11) 2 1(00) Logo, a partir de X derivam-se palavras do tipo : (11) n 1(00) n (n 0) Derivação de palavras a partir de S: Como a produção S 1X (P2) terá sempre que ser usada, vai-se detarminar o tipo de palavras que se derivam a partir desta produção: S 1X (P2)... 1(11) n 1(00) n (n 0) (derivação de X) = (11) n 11(00) n (n 0) = (11) n+1 (00) n (n 0) Logo, a partir de S (P2) derivam-se palavras do tipo: (11) n+1 (00) n (n 0) Derivação a partir de S (P1): S 0S... 0 m S (m 1) aplicando P1 m vezes 0 m (11) n+1 (00) n (m 1, n 0) (P2) aplicando P2 e depois n vezes P3 e 1 vez P4 Logo, a partir de S (P1) derivam-se palavras do tipo: 0 m (11) n+1 (00) n (m 1, n 0) Logo, a partir de S derivam-se palavras de L(G) = { w {0,1}* : w = 0 m (11) n+1 (00) n, m 0, n 0 } 2. Determine a GIC associada à linguagem L = { 1 n 0 m 1 m+2 0 n, com n 0 e m 1 }. Justifique. Pode-se considerar que 1 n 0 m 1 m+2 0 n = 1 n 0 m m 0 n, n 0 e m 1. A ideia é derivar primeiro os n símbolos exteriores: S 1S0. Depois o S do lado direito dá lugae a X que deriva os m símbolos: X 0X0. Por fim, terminar por derivar 1 2 usando Y (pois m 1): Y 11 Um grupo de produções possível é: S 1S0 (para derivar 1n S 0n) S 0X1 (para começar a derivar 0m X 1m e como m 1 garantir pelo menos uma vez é 0?1) X 0X1 (para continuar a derivar 0m X 1m) X 11 (para terminar a derivação com 11) Portanto, G = (V, T, S, P), em que V = { S, X }, T = { a, b }, S = { S } e P = { S 1S0; S 0X1; X 0X1; X 11 } D. (Simplificação de gramáticas livres de contexto) 1. Elimine as λ-produções da gramática G = ( { S, A, B, C, D }, { 0, 1 }, { S 0 B 1 D ; A 0; A λ; B A; B 1 C ; C 0 A ; D A B }, S ). 1º passo: Determinar as variáveis anuláveis (X λ) V N = { A } (A λ) V N = { A } { B } (B A e A V N ) V N = { A, B } { D } (D AB e A, B V N ) V N = { A, B, D } { } = { A, B, D } (as variáveis que derivam a palavra nula, λ) 2º passo: Remover todas as λ-produções e actualizar o conjunto de produções de G (todas as produções que têm A, B e/ou D na parte direita): S 0B1D (B, D V N ) S 01D (fazer B λ em S 0B1D) S 0B1 (fazer D λ em S 0B1D) S 01 (fazer B λ e D λ em S 0B1D) B A (A V N ) (B λ, fazer de A λ em B A não se adiciona) C 0A (A V N ) C 0 (fazer A λ em C 0A) D AB (A, B V N ) 5
6 D A (fazer B λ em D AB) D B (fazer A λ em D AB) (D λ, fazer de A λ e B λ em B A não se adiciona) Portanto, a gramática equivalente sem λ-produções equivalente a G, tem as seguintes produções : S 0B1D 01D 0B1 01 A 0 B A 1C C 0A 0 D AB A B 6
7 2. Elimine as produções inúteis da gramática G = ( { S, A, B, C, D, E }, { 0, 1 }, { S 0B1D; A 0; B A; B 1C; C 0A; D AB; E 1C }, S ). 1º passo: Determinar as variáveis úteis (X w, w {0,1}*) V 1 = V 1 = { A } (A 0) V 1 = { A } { B, C } (B A e C 0A, pois A V 1 ) V 1 = { A, B, C } { D, E } (D AB e E 1C, pois A, B, C V 1 ) V 1 = { A, B, C, D, E } { S } (S 0B1D, pois B, D V 1 ) V 1 = { S, A, B, C, D, E }, pois não há mais símbolos não terminais a acrescentar 2º passo: Determinar o conjunto VA de variáveis alcançáveis a partir de S (símbolo inicial da gramática). Para tal, constrói-se a árvore de derivação apenas com variáveis, da seguinte forma: Logo, VA = { S, A, B, C, D }, o que significa que E é não alcançável. Interceptando os 2 conjuntos, V 1 e VA, obtém-se as variáveis úteis V 1 VA = { S, A, B, C, D } 3º passo: Remover todas as produções com E (E 1C) da gramática G, obtendo-se uma gramática equivalente a G sem produções inúteis. A nova gramática é tem as seguintes produções: S 0B1D A 0 B A 1C C 0A D AB 3. Elimine as produções unitárias da gramática G = ( { S, A, B, C, D, E }, { 0, 1 }, { S 0 B 1 D ; A 0; A C; A 0 D 1 ; B A; B 1 C ; C 0 A ; C 1; D A B ; E 1 C }, S ). 1º passo: Determinar todos os pares unidade (X Y então (X, Y) é um par unidade) A C então (A, C) é um par unidade B A então (B, A) é um par unidade B A e A C então (B, C) também é um par unidade Pares unidade: (A, C), (B, A) e (B, C). 2º passo: Remover todas as produções unitárias (A C e B A) e actualizar o conjunto de produções de G, da seguinte forma: para cada par unidade (X, Y), criam-se produções cujas partes esquerdas têm X e as partes direitas são as partes direitas das produções que têm Y à esquerda. Neste caso, criam-se as seguintes produções: Como (A, C) é par unidade, criam-se as produções A 0A (C 0A) e A 1 (C 1) Como (B, A) é par unidade, criam-se as produções B 0 (A 0) e B 0D1 (A 0D1) Como (B, C) é par unidade, criam-se as produções B 0A (C 0A) e B 1 (C 1) Assim, a nova gramática que é equivalente a G tem as seguintes produções: S 0B1D A 0 0D1 0A 1 B 1C 0 0D1 0A 1 C 0A 1 D AB E 1C 7
8 4. Reduza à Forma Normal de Chomsky a gramática G = ( { S, A, B, C, D, E }, { 0, 1 }, { S 0 B 1 D ; A 0; A 0 D 1 ; B 1 C ; C 0 A ; C 1; D A B ; E 1 C }, S ). Uma gramática está na Forma Normal de Chomsky (FNC) se contiver apenas produções de 2 tipos: 1) X AB X, A, B são variáveis (símbolos não terminais) da gramática 2) X a X é variável e a é símbolo terminal Transformar cada uma das produções de G na respectiva FNC: S 0B1D S XBYD S XZ (1) X 0 Z BK (2) Y 1 K YD (3) X 0 (4) Y 1 (5) A 0 (está na FNC) A 0 (6) A 0D1 A XDY A XW (7) X 0 (já existe) W DY (8) Y 1 (já existe) B 1C B YC B YC (9) Y 1 (já existe) C 0A C XA C XA (10) X 0 (já existe) C 1 (está na FNC) C 1 (11) Y 1 (já existe) D AB (está na FNC) D AB (12) E 1C E YC E YC (13) Y 1 (já existe) A gramática G na sua FNC contém as 13 produções determinadas em cima. E. (Autómatos de Pilha Não Determinísticos APND) Construa um APND que aceite a linguagem L = { w {a, b, c}* : w = a n b m c k, com n + k = m }. Indique o critério de aceitação. Autómato desenhado cujo critério de aceitação é pilha vazia. Estratégia para manipulação da pilha: - inserir na pilha (push) um a por cada a lido da sequência de a's (an) - remover da pilha (pop) um a por cada b lido da sequência de b's (bm) - após remover da pilha n a's pelos n b's lidos, inserir na pilha (push) um b por cada b lido do resto da sequência de b's (bm) - remover da pilha (pop) um b por cada c lido da sequência de c's (ck), até a pilha ficar vazia: se chegou-se ao fim da cadeia, a palavra é aceite; caso contrário, a cadeia é não aceite. Um APND possível é o seguinte: Autómato desenhado cujo critério de aceitação é estado final. Estratégia para manipulação da pilha: - inserir na pilha (push) um a por cada a lido da sequência de a's (an) - remover da pilha (pop) um a por cada b lido da sequência de b's (bm) - após remover da pilha n a's pelos n b's lidos, inserir na pilha (push) um b por cada b lido do resto da sequência de b's (bm) - remover da pilha (pop) um b por cada c lido da sequência de c's (ck), até a pilha ficar vazia: se chegou-se ao fim da cadeia, a palavra é aceite e obriga-se o autómato a transitar para o estado final q3 lendo a palavra vazia (λ); caso contrário, a cadeia é não aceite. 8
9 Um APND possível é o seguinte: F. (Máquinas de Turing MT) Construa uma MT que reconheça as palavras da seguinte linguagem: L = { w {a, b, c}* : w = a n b m c k, com n = m + k }. Estratégia para manipulação da MT: - começar por emparelhar cada a da sequência de a's (an) com cada b da sequência de b's (bm); - depois emparelhar cada a do resto da sequência de a's (an) com cada c da sequência de c's (ck). Uma MT possível é a seguinte: Interpretação da MT: Em q0 espera ler da fita um a. Ao ler um a, marca esta posição da fita com *, avança na fita (R) e transita para q1. Em q1 espera ler um b para emparelhar com o a lido antes. Ao ler um b então marca esta posição com *, recua na fita e transita para q2. Em q2 vai recuando até encontar o início da fita, o que acontece quando ler na fita o símbolo. Quando isto acontecer, avança na fita e transita para o estado q0 para que possa recomeçar o processo de emparelhamento de a's com b's ou c's. No entanto, em q1 pode não ter lido nenhum b (todos os b's estão emparelhados com a's). Neste caso, procura ler um c para emparelhar com o a já lido. Quando encontrar um c, marca na fita esta posição com um *, recua na fita e transita para q3. Em q3 vai recuando até encontar o início da fita, o que acontece quando ler na fita o símbolo. Quando isto acontecer, avança na fita e transita para o estado q0 para que possa recomeçar o processo de emparelhamento de a's com b's ou c's. O processo terminar quando não for possível emparelhar o último a lido da fita (a MT fica no estado q1 n > m + k), ou estando a MT no estado q0 leu um b ou c (significa que não há mais a's para emparehar, mas existem b's ou c's por emparelhar n < m + k) neste caso a cadeia é não aceite; ou ainda, estando em q0 leu da fita o símbolo que significa que todos os símbolos estão emparelhados (n = m + k), transitando a MT para o estado aceitante q4 neste caso a cadeia é aceite. 9
A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)
DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 2ª chamada - Resolução 2h + 30min 07/Fev/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1
SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente
SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e 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 http://www.icmc.usp.br/~joaoluis
INE5317 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: [email protected] URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais
LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos
LINGUAGENS FORMAIS E AUTÔMATOS Prova 2-10/06/2011 - Prof. Marcus Ramos NOME: _ Colocar seu nome no espaço acima; A prova pode ser feita à lápis ou caneta; A duração é de três horas; As questões da parte
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma 1 2º. Semestre de 2012 Prof. João Luís
Autó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
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto [email protected]
Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios
Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando
LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.
LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos
a n Sistemas de Estados Finitos AF Determinísticos
a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um
LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos
LFA Aula 07 Equivalência entre AFD e AFND AFND: uma aplicação busca em textos Equivalência entre ER s e AF s Equivalência entre GR s e AF s Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa
Lista 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
Linguagens 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
Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma
Formas normais Em muitas aplicações, é útil que as GIC tenham regras de tipos especiais. Para tal é necessário que se possa transformar qualquer gramática numa equivalente (isto é que gere a mesma linguagem)
SCC 205 Teoria da Computação e Linguagens Formais
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC 205 Teoria da Computação e Linguagens Formais Autômatos com pilha Lista 3 1. Dê um
Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.
LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior [email protected] 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato
As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.
As linguagens regulares são I.C Proposição 16.1. Qualquer linguagem regular é independente de contexto. Dem. Seja L Σ uma linguagem regular, e seja r uma expressão regular tal que L = L(r).Por indução
SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)
SCC-505 - Capítulo 2 e (versão 2) 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 http://www.icmc.usp.br/~joaoluis
Linguagens 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
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto [email protected]
Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.
Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma
IV Gramáticas Livres de Contexto
IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S
Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema
COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 02 Prof. [email protected] Legenda: = sigma (somatório) = delta ε = epsilon λ =
COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 01 [email protected] Legenda: = sigma (somatório) = delta ε = épsilon λ = lambda
Linguagens Livres de Contexto
Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha
Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha
Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas
Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)
Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL) 1 Gramática Sensível ao Contexto Definição: Uma gramática G é sensível ao contexto se
Universidade 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
Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)
Linguagens Formais e Autômatos Simplificação de Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Gramática Simplificada Gramática simplificada é uma gramática livre do contexto que não apresenta
Terceira 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
Autómatos de Pilha e Linguagens Livres de Contexto
Folha Prática Autómatos de Pilha e Linguagens Livres de Contexto 1 Autómatos de Pilha e Linguagens Livres de Contexto Autómatos de Pilha Não Determinísticos (APND) 1. Considere a seguinte tabela de transição
Gramá3ca Livre de Contexto (GLC)
Linguagens Formais e Autômatos Gramá3ca Livre de Contexto (GLC) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hep://dcc.ufmg.br/~nvieira) Sumário Gramá4cas livres de
Fundamentos 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
Aula 8: Gramáticas Livres de Contexto
Teoria da Computação Primeiro Semestre, 2015 Aula 8: Gramáticas Livres de Contexto DAINF-UTFPR Prof. Ricardo Dutra da Silva Veremos agora maneira de gerar as strings de um tipo específico de linguagem,
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
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
Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 8 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 7/4/8 Valor: pontos. Uma versão do problema
Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268
Capítulo 6 Simplificação de gramáticas livres de contexto e Formas Normais 61 6.1. Métodos para transformar gramáticas ái 62 6.2. Duas formas Normais (Chomsky e Greibach) 268 6.1. Métodos para transformar
Aula 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
Linguagens 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
Se 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
Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes
Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Questões do POSCOMP 2011 A resposta certa está assinalada em vermelho. Por que é correta e por que as demais alternativas são incorretas?
Problemas 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) é
Modelos de Computação Folha de trabalho n. 10
Modelos de Computação Folha de trabalho n. 10 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
Linguagens 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
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Compiladores Aula 4. Celso Olivete Júnior.
Aula 4 Celso Olivete Júnior [email protected] Na aula de hoje... Revisão: gramáticas Relações em uma gramática: Cabeça, Último, Primeiro (First) e Seguinte (Follow) Capítulo 4 (seção 4.4.2) do livro
Teoria 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
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas
Como construir um compilador utilizando ferramentas Java
Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 4 Análise Léxica Prof. Márcio Delamaro [email protected] Como construir
Gramáticas Livres de Contexto
Gramáticas Livres de Contexto IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 42 Frase do dia Quando vires
Autómatos de pilha e GIC
Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de
Draft-v0.1. Máquinas de Turing Máquinas de Turing
13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal
Fundamentos da Teoria da Computação
Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Doutorando em Ciência da Computação Estagiário em docência II Departamento de Ciência da Computação
Expressõ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
Construçã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
LINGUAGENS 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.
Segunda 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 Segunda Lista de Exercícios
Marcos Castilho. DInf/UFPR. 5 de abril de 2018
5 de abril de 2018 Autômatos com Pilha Não-Determinísticos Um Autômato com Pilha Não-Determinístico (APN) é uma sêxtupla (Q, Σ, Γ, δ, Q 0, F ), onde: Q, Σ, Γ, F são como nos APD s; δ : Q (Σ {λ}) (Γ {λ})
Apostila 05 Assunto: Linguagens dos tipos 0 e 1
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
LINGUAGENS 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
Gramática Livre de Contexto
Gramática Livre de Contexto Prof. Yandre Maldonado - 1 Árvore de derivação Ambigüidade Simplificação de Gramática Forma Normal de Chomsky (FNC) Forma Normal de Greibach (FNG) Prof. Yandre Maldonado e Gomes
Transformação de AP para GLC
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de AP para GLC Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 A técnica que será
Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos
Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários
Linguagens 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 [email protected] 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas
Conceitos básicos de Teoria da Computação
Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3
SCC-ICMC-USP. Trabalho em Grupo 1 SCC-0205
Trabalho em Grupo 1 SCC-0205 2 o. Semestre de 2010 Professor: João Luís G. Rosa - e-mail: [email protected] Monitor PAE: Fernando Alva - e-mail: [email protected] versão 1-23/8/2010 1 Objetivo Desenvolver
Gramá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
UNIVERSIDADE 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 Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada
Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos
Lista de Exercícios CT-200 Primeiro Bimestre 2010 Carlos Henrique Quartucci Forster Estagiário: Wesley Telles Revisão de Teoria de Conjuntos 1. Sejam A = {1,2 } e B = { x, y, z}. Quais os elementos dos
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)
Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q
Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade
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
Modelos 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
Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador
Estrutura de um compilador programa fonte Compiladores Análise lexical () Expressões Regulares analisador léxico analisador sintático analisador semântico análise gerador de código intermediário otimizador
Propriedades das Linguagens Livres do Contexto
Capítulo 7 Propriedades das Linguagens Livres do Contexto As linguagens livres do contexto ocupam uma posição central na hierarquia das linguagens formais. Por um lado, as linguagens livres do contexto
Propriedades 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
LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO
LINGUAGEM LIVRE DE CONTEXTO As Linguagens Livres de Contexto é um reconhecedor de linguagens, capaz de aceitar palavras corretas (cadeia, sentenças) da linguagem. Por exemplo, os autômatos. Um gerador
Máquinas de Turing - Computabilidade
BCC244-Teoria da Computação Prof. Lucília Figueiredo Lista de Exercícios 03 DECOM ICEB - UFOP Máquinas de Turing - Computabilidade 1. Seja L uma linguagem não livre de contexto. Mostre que: (a) Se X uma
Apostila 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
Autômatos com Pilha: Reconhecedores de LLCs
Autômatos com Pilha: Reconhecedores de LLCs 1 Autômatos com Pilha (AP) Definições alternativas para Linguagens Livres de Contexto Extensão de AFND com uma pilha, que pode ser lida, aumentada e diminuída
Linguagens e Programação Gramáticas. Paulo Proença
Linguagens e Programação Gramáticas Gramáticas Ferramenta para a descrição e análise de linguagens; Baseada num conjunto de regras que especificam o modo de construção das frases válidas na linguagem;
