7.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.
|
|
- Esther Damásio César
- 7 Há anos
- Visualizações:
Transcrição
1 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 determinísticas. ADC/TC/Cap.7/ /LEI/DEIFCTUC 301
2 cadeia de entrada a a b b a b q 0 q 2 q 1 CONTROLO a b c 0 1 # P i l h a carácter de entrada estado actual símbolo no topo da pilha estado seguinte movida escreve na pilha ADC/TC/Cap.7/ /LEI/DEIFCTUC 302
3 7.1. Autómatos de pilha não-determinísticos Definição 7.1. NPDA Aceitador não determinístico de pilha (NPDA- Nondeterministic PushDown Accepter) M = (Q,,,, q 0, z 0, F ) Q : conjunto finito de estados internos da unidade de controlo : o alfabeto de entrada : (gama) conjunto finito de símbolos chamado alfabeto da pilha : Q ( { }) subconjuntos finitos de Qx * é a função de transição, q 0 Q : estado inicial da unidade de controlo z 0 : símbolo de inicialização da pilha F Q : conjunto de estados finais (aceitadores). ADC/TC/Cap.7/ /LEI/DEIFCTUC 303
4 Notas uma transição pode ter como carácter de entrada, sendo neste caso uma transição- a definição de transição exige um símbolo no topo da pilha; se a pilha estiver vazia, as movidas serão inibidas embora o NPDA possa ter várias escolhas possíveis para as suas movidas, elas devem ter um número finito de possibilidades. de uma movida resulta a escrita de uma cadeia no topo da pilha: abc é escrita a b c ADC/TC/Cap.7/ /LEI/DEIFCTUC 304
5 Operações sobre a pilha push introduzir um carácter adicional pop - apagar um carácter substituição de um carácter por outro inicialização com qualquer símbolo de ; normalmente com o carácter especial # ADC/TC/Cap.7/ /LEI/DEIFCTUC 305
6 transição estado actual símbolo de entrada novo estado (q 0, a, 0) = { (q 1, 10) } símbolo actual no topo da pilha push 1 no topo da pilha ADC/TC/Cap.7/ /LEI/DEIFCTUC 306
7 Transições Operações sobre a a pilha Significado 1. (q 0, a, #) = { (q 1, 0#) } push acrescenta 0 à pilha com # 2. (q 0, b, 1) = {(q 1, )} } pop apaga 1 3. (q 1, b, 0) = { (q 1, 1) } substituição substitui 0 por 1 4. (q 0, b, 1) = { (q 1, 1) } nenhuma não altera 5. (q 1,, 0) = { (q 2, ) } pop apaga 0 sem consumir entrada 6. (q 1,, 0) = { (q 2, 10) } push acrescenta 1 sem consumir entrada ADC/TC/Cap.7/ /LEI/DEIFCTUC 307
8 Exemplo 1 (q 1, a, b) = {(q 2, cd), (q 3, )} Quando o autómato está no estado q 1, se aparecer um a na cadeia de entrada, então acontecerá uma de duas coisas : - a unidade de controlo passa ao estado q 2 - substitui b pela cadeia cd no topo da pilha (fica com mais um carácter) ou - a unidade de controlo passa ao estado q 3 - na pilha substitui b por, isto é, apaga b do topo da pilha (que fica assim com menos um carácter). ADC/TC/Cap.7/ /LEI/DEIFCTUC 308
9 Exemplo 2 NPDA Q = {q 0,q 1,q 2,q 3,} (q 0, a, # ) = {(q 1, 1#), (q 3, )} = {a, b} (q 0,, # ) = {(q 3, )} = {#, 0, 1} z 0 = # (q 1, a, 1 ) = {(q 1, 11)} (q 1, b, 1 ) = {(q 2, )} F= {q 3 } (q 2, b, 1 ) = {(q 2, )} (q 2,, # ) = {(q 3, )} não é uma função total. Se o autómato cair num estado para o qual não está definido, nunca mais de lá sai, estando por isso morto. ADC/TC/Cap.7/ /LEI/DEIFCTUC 309
10 Há duas transições fundamentais 1ª : (q 1, a, 1 )={(q 1, 11)} por cada a que aparece acrescenta um 1 à pilha. 2ª : (q 2, b, 1 ) = {(q 2, )} por cada b que aparece nestas circunstâncias, apaga um 1 da pilha, até que fique apenas o símbolo inicial. i i a passagem do estado q 1 ao estado q 2 acontece quando aparece o primeiro b. ADC/TC/Cap.7/ /LEI/DEIFCTUC 310
11 Que faz então o autómato? Quando atinge q 3? ADC/TC/Cap.7/ /LEI/DEIFCTUC 311
12 O estado q 3 é alcançado quando o NPDA lê uma cadeia de L = {a n b n : n 0} {a}. Pd Pode-se afirmar, por analogia com o que acontece nos DFA, que o NPDA aceita esta linguagem. ADC/TC/Cap.7/ /LEI/DEIFCTUC 312
13 Descrição instantânea de um NPDA Completamente definida pelo tripleto (q, w, u) ) q : estado actual do autómato. w : parte ainda não lida da cadeia de entrada. u:conteúdo da pilha, sendo o topo o símbolo mais à esquerda (convenção). ADC/TC/Cap.7/ /LEI/DEIFCTUC 313
14 Uma movida de uma descrição de base para outra (q,aw,bx) (q,w,yx) 1 2 só é possível se existir a transição (q 1,a,b) = {(q 2,y)} ADC/TC/Cap.7/ /LEI/DEIFCTUC 314
15 movidas com um número arbitrário de passos M indica que a movida se refere ao autómato M. ADC/TC/Cap.7/ /LEI/DEIFCTUC 315
16 Linguagem aceite por um NPDA, L (M) Definição 7.2. Aceitação por um estado final M = (Q,,,, q 0, z 0, F ) L (M) = { w * :(q 0, w, z 0 ) M ( p,, u), p F, u * } É o conjunto de todas as cadeias capazes de colocarem o autómato num estado final (aceitador) no fim da leitura da cadeia. O conteúdo da pilha, u, é irrelevante para esta definição. ADC/TC/Cap.7/ /LEI/DEIFCTUC 316
17 Dfiiã Definição Aceitação por pilha vazia M = (Q,,,,q 0, z 0, F ) L (M) = { w * :(q 0, w, z 0 ) M ( q,, ), para algum q Q} É o conjunto de todas as cadeias capazes de colocarem o autómato com a pilha vazia (depois de lidas completamente) e num estado qualquer. ADC/TC/Cap.7/ /LEI/DEIFCTUC 317
18 As duas definições são equivalentes: Se existe um NPDA que aceita uma linguagem L por um estado final, então existe um NPDA que aceita a mesma L pela pilha vazia.... e vice-versa Ver Hopcroft e Coll. (p ) ADC/TC/Cap.7/ /LEI/DEIFCTUC 318
19 Exemplo 3 Qual o NPDA que aceita L = {w {a, b}* : n a (w) = n b (w)} É necessário contar o número de a s e b s, usando a pilha. A ordem dos a e b não interessa neste caso. algoritmo: define-se um símbolo para contar o número de a s, por exemplo o 0, sempre que aparece um a acrescenta-se um 0 à pilha (push), sempre que aparece um b, apaga-se um zero da pilha (pop), quando não houver mais zeros, restando apenas o símbolo bl de inicialização iiili da pilha, e aparecer um b, acrescenta-se um 1 à pilha (push), quando o topo da pilha for um 1 e aparecer um a,, apaga-se esse 1 (pop). p) ADC/TC/Cap.7/ /LEI/DEIFCTUC 319
20 Teremos assim as seguintes transições: (q 0,, #) = {(q f, #)} (q 0, a, #) = {(q 0, 0#)} (q 0, b, #)) = {(q 0, 1#)} (q 0, a, 0) = {(q 0, 00)} (q 0, b, 0) = {(q 0, )} (q 0, a, 1) = {(q 0, )} 0 0 (q 0, b, 1) = {(q 0, 11)} M = ({q 0, q f }, {a,b}, {#, 0, 1},, q 0, #, {q f }) ADC/TC/Cap.7/ /LEI/DEIFCTUC 320
21 O não-determinismo no autómato A transição com na entrada introduz não-determinismo: (q 0,, #) = {(q f, #)} (q 0, a, #) = {(q 0, 0#)} Quando aparece um a à entrada, pode acontecer uma de duas coisas: o autómato t transita para o estado q f sem consumir o a da entrada (transição - ) o autómato consome o carácter de entrada, escreve 0 na pilha e mantém-se em q 0. ADC/TC/Cap.7/ /LEI/DEIFCTUC 321
22 Grafo do PDA A etiqueta de cada aresta é da forma (notação de Linz e do JFLAP): Pilha a, 1 ; 01 0 q 0 q 1 Estando o autómato no estado q 0, se lê a e se a pilha estiver com 1 no topo, p, o autómato passa ao estado q 1, faz o pop da pilha (apaga 1) e depois o push e 01 ( esceve o 1 seguido do zero, topo à esquerda, 0) ADC/TC/Cap.7/ /LEI/DEIFCTUC 1 322
23 Grafo do PDA A etiqueta de cada aresta é da forma (notação de Taylor e do Deus Ex Máquina): a, 1 ; 01 Pilha q 0 q 1 1 Estando o autómato no estado q 0, se lê a e se a pilha estiver com 1 no topo, o autómato passa ao estado q 1, faz o pop da pilha (apaga 1) e depois o push de 0 e 1 (escreve 0 seguido de 1, topo à direita, 1) ADC/TC/Cap.7/ /LEI/DEIFCTUC 323 0
24 Grafo do PDA a, # ; # 0 a, # ; 0# b, # ; 1# b, # ; # 1 2 ( a verde notação JFLAP) 3 a, 0 ; 0 0, # ; # q 0 4 q f 7 5 b, 1 ; 1 1 b, 0; 6 (Taylor, p.538) a, 1 ; ( a azul notação DEM) 1. (q 0,, #) = {(q f, #)} 2. (q 0, a, #) = {(q 0, 0#)} 3. (q 0, b, #) = {(q 0, 1#)} 4. (q 0, a, 0) = {(q 0, 00)} 5. (q 0, b, 0) = {(q 0, )} 6. (q 0, a, 1) = {(q 0, )} 7. (q 0, b, 1) = {(q 0, 11)} ADC/TC/Cap.7/ /LEI/DEIFCTUC 324
25 aabbabba produz as seguintes movidas: (q 0, aabbabba, #) (q 0, abbabba, 0#) (q 0, bbabba, 00#) (q 0, babba, 0#) (q 0, abba, #) (q 0, bba, 0#) (q 0, ba, #) (q 0, a, 1#) (q 0,, #) (q f,#) e portanto é aceite. Este exemplo vem implementado no Deus Ex Máquina, directoria de exemplos de PDA, Example Ver também em Taylor, pp 540. ADC/TC/Cap.7/ /LEI/DEIFCTUC 325
26 Exemplo 4 Desenhar o grafo do NPDA da linguagem (Taylor, 541). L = {a n b m : 0 n < m, m 2 } a, 0 ; 0 0 b, 0 ; b, # ; # a, #; # 0 q 0 b, # ; # b, 0 ; q 1 b#;# b, # q f Este problema está implementado no Deus Ex Máquina ficheiro Example na directoria Pushdown Automata. ADC/TC/Cap.7/ /LEI/DEIFCTUC 326
27 7.2. Autómatos de pilha e linguagens livres de contexto Para toda a linguagem livre de contexto existe um NPDA que a aceita. É mais fácil de demonstrar para gramáticas na forma normalizada da Greibach, em que todas as produções são da forma A ax, a T, Tx V*. ADC/TC/Cap.7/ /LEI/DEIFCTUC 327
28 NPDA s para gramáticas livres de contexto o NPDA implementa a derivação pela extrema-esquerda de qualquer cadeia. as variáveis da parte direita da forma sentencial colocam-se na pilha. a parte esquerda da forma sentencial, composta pelos símbolos terminais, é idêntica à entrada lida. começa-se colocando o símbolo inicial na pilha. para simular A a x (forma normal de Greibach) - coloca-se A no topo da pilha - introduz-se a como símbolo de entrada - a variável na pilha é removida e substituída por x ADC/TC/Cap.7/ /LEI/DEIFCTUC 328
29 a a A # x # A ax ADC/TC/Cap.7/ /LEI/DEIFCTUC 329
30 Exemplo 5 Projectar um NPDA que aceite e a linguagem ge gerada pela gramática S asbb a transformar a gramática na forma de Greibach S asa a A bb B b O autómato correspondente terá 3 estados {q 0, q 1, q 2 } sendo q 2 =q f. ADC/TC/Cap.7/ /LEI/DEIFCTUC 330
31 1º colocar o símbolo inicial S na pilha: (q 0,, #) = { (q 1, S#)}. S # 2º simular a produção S asa, remove S da pilha e colocando lá SA lendo a à entrada simular a produção S a, a substituindo i na pilha S por (q 1, a, S) = { (q 1, SA), (q 1, )} S A # # ADC/TC/Cap.7/ /LEI/DEIFCTUC 331
32 3º simular a produção A bb b b (q 1, b, A) = { (q 1, B)} 4º simular a produção B b A # B # (q 1, b, B) = { (q 1, )} # 5º completar a derivação quando aparece # no topo da pilha (q 1,, #) = { (q f, #)}. ADC/TC/Cap.7/ /LEI/DEIFCTUC 332
33 S asbb a S asa a A bb, B b. a, S ; a, S ; SA q 0, # ; S# 0, # ; # q 1 q f (Notação JFLAP) b, A ; B b, B ; L (G) ={a a n b 2(n-1) : n 1} ADC/TC/Cap.7/ /LEI/DEIFCTUC 333
34 Exemplo 6 Seja a CFG em forma normal de Greibach S aa ab A aab abb B b 3.1 L (G) = { a n b n : n 1} ADC/TC/Cap.7/ /LEI/DEIFCTUC 334
35 derivação pela extrema esquerda de aaaabbbb S aa (de 1.1) aaab (de 2.1) aaaabb (de 2.1) aaaabbbb (de 2.2) aaaabbbb (de 3.1) aaaabbbb (de 3.1) aaaabbbb (de 3.1) aaaabbbb (de 3.1) ADC/TC/Cap.7/ /LEI/DEIFCTUC 335
36 Produção Movida Grafo Carregar S (q 0,, #) = { (q 1, S#)} q 0, # ; S# q 1 Notação JFAP S aa (q 1, a, S) = { (q 1, A)} q 1 a, S ; A S ab (q 1, a, S) = { (q 1, B)} q 1 a, S ; B A aab (q 1, a, A) = { (q 1, AB)} q 1 a, A ; AB Notação JFLAP q 1 A abb (q 1, a, A) = { (q 1, BB)} a, A ; BB B b (q 1, b, B) = { (q 1, )} q 1 b, B ; aceitar a cadeia (q 1,, #) ={(q f, #)} q, # ; # 1 q f ADC/TC/Cap.7/ /LEI/DEIFCTUC 336
37 S aa ab A aab abb B b a, S ; A a, S ; B, # ; S# q 0 q 1, # ; # q f (Notação JFLAP) a, B ; a, A ; BB 3 estados para a, A ; AB qualquer gramática de Greibach L (G) = { a n b n : n 1 } ADC/TC/Cap.7/ /LEI/DEIFCTUC 337
38 Teorema 7.1 Para qualquer que linguagem ge L livre decontexto, o,existe eum NPDA M que a aceita, i.e, existe um M tal que L = L (M) se L éumacflsem, então existe uma CFG na forma normal de Greibach para L. contrói-se uma NPDA para simular as derivações pela extrema-esquerda dessa gramática. A forma de Greibach é apenas para facilitar o desenvolvimento. O teorema aplica-seatodaacfg. a a ADC/TC/Cap.7/ /LEI/DEIFCTUC 338
39 Qual o número mínimo de estados de um NPDA, para uma linguagem definida por uma gramática de Greibach? - no exemplo obtiveram-se três ; - o estado q 0 pode ser eliminado (fica não-determinístico); - passa a ser aceite a, S ; A, # ; S# a, B ; q 1 a, S ; B, #;# # a, A ; BB q f Et Este resultado ltd é geral: para qualquer CFL com,existe um NPDA com dois estados, sem, três estados. a, A ; AB (Notação JFLAP) ADC/TC/Cap.7/ /LEI/DEIFCTUC 339
40 Se quisermos evitar a introdução do, pode-se utilizar um símbolo especial na pilha, $, para inicializar a gramática: (q 0, λ,, #)) = { (q 0,S$)} E agora começa-se com a gramática de Greibach. a, S ; A a, S ; B Finalmente: para qualquer CFL,$;# $ ; # sem λ existe um q 1 q, # ; S$ f NPDA com dois estados, a, B ; a, A ; BB aa;ab a, AB (Notação JFLAP) ADC/TC/Cap.7/ /LEI/DEIFCTUC 340
41 Gramáticas livres de contexto para NPDA s O inverso do teorema e anterior também é verdadeiro: de dado do um NPDA, existe para ele uma CFG. Para o provar baste reverter o processo construtivo, de modo que a gramática simule as movidas do NPDA. Teorema 7.2. Se uma linguagem L é aceite por algum NPDA M, então L é uma linguagem g livre de contexto Dem: Linz,189 ADC/TC/Cap.7/ /LEI/DEIFCTUC 341
42 7.3. Autómatos de pilha determinísticos i e linguagens livres de contexto determinísticas Um autómato de pilha determinístico DPDA Deterministic PushDown Accepter nunca tem escolha possível nas suas movidas. ADC/TC/Cap.7/ /LEI/DEIFCTUC 342
43 Definição 7.4. DPDA Um PDA M= (Q,,,, q 0, z 0, F ) diz-se determinístico se for um PDA que obedece às seguintes restrições para todo o q Q, a { }, b : 1. Dado um símbolo de entrada e um símbolo no topo da pilha, só é possível uma movida, no máximo. (q, a, b) contém no máximo um elemento (uma só movida possível) 2. Quanto é possível uma transição- para alguma configuração, não existe nenhuma alternativa que consuma caracteres de entrada para essa mesma configuração. se (q,, b) não é vazia, então (q, c, b) deve ser vazia para todo o c ADC/TC/Cap.7/ /LEI/DEIFCTUC 343
44 Diferenças entre DFA e DPDA DFA DPDA não admite transições - admite transições - é uma função total há equivalência entre os determinísticos e os não determinísticos não é necessariamente uma função total não há equivalência entre os determinísticos e os não determinísticos ADC/TC/Cap.7/ /LEI/DEIFCTUC 344
45 Semelhanças entre DFA e DPDA RE r = a*b a a DFA b q 1 q 0 q f b b a DPDA a, # ; # q 0 b, # ; # q 0 q f a, # ; # q f b, #;# (a pilhanão é usada) q 1 b,# ;# a, # ; # ADC/TC/Cap.7/ /LEI/DEIFCTUC 345
46 Dfiiã Definição Linguagem CFL determinística i Uma linguagem L diz-se livre de contexto determinística (DCFL) se e só se existir um autómato de pilha determinístico DPDA M que a aceite, L = L(M) ADC/TC/Cap.7/ /LEI/DEIFCTUC 346
47 Exemplo CFL : L = { a n b n : n 1 } DPDA M = ({q 0, q 1, q 2 }, }{ab}{#1} {a, b}, {#,1},, q 0, #{q #, f }) (q 0, a, # ) = {(q 1, 1#)}, (inicia a contagem dos a s) (q 1, a, 1 ) = {(q 1, 11)}, (conta os a s ) (q 1, b, 1 ) = {(q 2, )}, (detecta o primeiro b) (q 2, b, 1 ) = {(q 2, )}, (conta os b s) (q 2,, # ) = {(q f, )} ( aceita se nº a s s = nº b s). aceita L. Logo L é CFL determinística. ADC/TC/Cap.7/ /LEI/DEIFCTUC 347
48 L = { a n b n : n 1 } a, 1 ; 11 b,1 ; b, 1 ; q a, # ; 1#, # ; 0 q 1 q 2 q f (notação JFLAP) ADC/TC/Cap.7/ /LEI/DEIFCTUC 348
49 L = { a n b n : n 0 } a, 1 ; 11 b,1 ; b, 1 ; q a, # ; 1#, # ; 0 q 1 q 2 q f (notação JFLAP) ADC/TC/Cap.7/ /LEI/DEIFCTUC 349
50 L = { a n b n : n 0 } a, 1 ; 11 b,1 ; q f a, # ; 1# q 1 b, 1 ; q 2, # ; ADC/TC/Cap.7/ /LEI/DEIFCTUC 350
51 7.4. Gramáticas para linguagens livres de contexto determinísticas pode-se fazer o seu parsing facilmente (gramáticas-s, mas não só) gramáticas LL (Left scan, Leftmost derivations) gramáticas LR (Left scan, Rightmost derivations) em Compiladores (3º ano) ver a implementação no JFLAP ADC/TC/Cap.7/ /LEI/DEIFCTUC 351
52 Bibliografia An Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Jones and Bartelett Computer Science, 2001 Models of fcomputation and dformal llanguages, R. Gregory Taylor, Oxford University Press, Introduction to Automata Theory, Languages and Computation, 2nd Ed., John Hopcroft, Rajeev Motwani, Jeffrey Ullman, Addison Wesley, Elements for the Theory of Computation, Harry Lewis and Christos Papadimitriou, 2nd Ed., Prentice Hall, Introduction th the Theory of Computation, Michael Sipser, PWS Publishing Co, ADC/TC/Cap.7/ /LEI/DEIFCTUC 352
CAPÍTULO 7 AUTÓMATOS DE PILHA
CAPÍTULO 7 AUTÓMATOS DE PILHA 7.1 Introdução 247 7.2 O Autómato de Pilha, PDA-Push Down Automata 247 7.3 Autómatos de Pilha Não-Determinísticos 249 7.4. Autómatos de pilha e linguagens livres de contexto
Leia maisCapí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
Leia maisformais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas
Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto
Leia maisCapítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375
Capítulo 9 Máquinas de Turing 9.1. A máquina de Turing (TM) padrão 9.2. Combinações de máquinas de Turing 9.3. A Tese de Turing ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 375 Linguagens regulares Autómatos finitos
Leia maisOutras Máquinas de Turing
Capítulo 10 Outras Máquinas de Turing 10.1. Pequenas variações da TM padrão 10.2. MT s com dispositivos de armazenamento mais complexos 10.3. MT s não-determinísticas 10.4. A Máquina de Turing Universal
Leia maisGramáticas Regulares
Capítulo 3 Expressões Regulares, Linguagens Regulares es e Gramáticas Regulares 3.1. Expressões Regulares (RE) 3.2. Relação entre ER e Linguagens Regulares (LR) 3.3. Gramáticas Regulares (GR) 3.4. Síntese
Leia maisSCC 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
Leia mais13.2. Sistemas de Post Sistemas de rescrita Cálculo Lambda. ADC/TC/Cap.13/ /LEI/DEIFCTUC 497
Capítulo 13 Outros modelos de computação 13.1. 1 Funções recursivas 13.2. Sistemas de Post 13.3. Sistemas de rescrita 13.4. Cálculo Lambda 497 Máquinas de Turing (1936): os modelos de computação mais gerais
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 maisOs limites da computação algorítmica
Capítulo 12 Os limites da computação algorítmica 12.1. Problemas que não podem ser resolvidos pelas MT. 12.2. Problemas indecidíveis para LRE 12.3. Problema da correspondência de Post 12.4. Problemas indecidíveis
Leia maisLinguaguens recursivamente enumeráveis e recursivas
Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente
Leia maisLinguagens recursivamente enumeráveis
Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M
Leia maisLinguaguens recursivamente enumeráveis
Linguaguens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário,
Leia maisSCC 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
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 maisRegulares (RL) 4.1. Propriedades d de fecho das RL ADC/TC/CAP.4/ /LEI/DEIFCTUC 192
Capítulo 4 Propriedades das Linguagens Regulares (RL) 4.1. Propriedades d de fecho das RL 4.2. Pertença e finitude it das RL 4.3. Identificação de linguagens não regulares 192 4.1. Propriedades de fecho
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 maisAutómatos de pilha e Gramáticas independentes de contexto
Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja
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 maisProf. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018
22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria
Leia maisRevisões de Conjuntos
Revisões de Conjuntos {, {a}, {b}, {a, b}} a A a pertence a A, a é elemento de A a {a, b, c} a / A a não pertence a A d / {a, b, c} A B A contido em B, A subconjunto de B x A x B {a, b} {b, c, a} A B A
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 maisAutó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
Leia maisModelos de Computação
Modelos de Computação 2.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0405/mc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues nas caixas
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 maisSCC Introdução à Teoria da Computação
SCC-0505 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 - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia maisTeoria da Computação Aula 02 Introdução
Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:
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 maisCapítulo 5. Linguagens livres de contexto
Capítulo 5 Linguagens livres de contexto 5.1. Gramáticas livres de contexto 5.2. Parsing e ambiguidade 5.3. CFG e linguagens de programação 221 5.1. 1Gramáticas ái livres de contexto na parte esquerda
Leia maisCapítulo 1. Introdução e
Capítulo 1. Introdução e definições básicas 1.1. Linguagens 1.2. Gramáticas 1.3. Autómatos 1.4. Os três paradigmas da computação 1 1.1. 1 Linguagens 1. Alfabeto, ={símbolos}, conjunto não vazio de símbolos
Leia maisTeoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.
Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015 DECOM ICEB - UFOP Nome legível: Matrícula: As questões podem devem ser respondidas na própria prova, a caneta ou a lápis.
Leia maisSCC-5832 Teoria da Computação
Teoria da Computação SCC-5832 Teoria da Computação 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 - São Carlos
Leia maisTeoria da Computação
e Linguagens Algébricas Teoria da Computação Simão Melo de Sousa Computer Science Department University of Beira Interior, Portugal e Linguagens Algébricas Plano 1 Introduction Contexto 2 Constituição
Leia mais2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3106 - LINGUAGENS FORMAIS E
Leia maisAutómatos determísticos de k-pilhas
Autómatos determísticos de k-pilhas dados de entrada a a a3 an controlo finito (S, Σ, Γ, δ, Z, s 0, F ) δ (S Σ Γ k ) (S, (Γ ) k ) Departamento de Ciência de Computadores da FCUP MC Aula 3 Dados um estado
Leia maisIV 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
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 maisComputação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?
Computação efectiva Que linguagens podem ser reconhecidas por algum tipo de autómato? O que é ser computável? Que linguagens são computáveis? Existem linguagens que não são computáveis? Isto é, existem
Leia maisINE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:
INE5317 Linguagens Formais e Compiladores Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Plano de Ensino OBJETIVO GERAL: Estudar a teoria das linguagens
Leia maisFormas 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)
Leia maisCAPÍTULO 8 PROPRIEDADES DAS LINGUAGENS LIVRES DE CONTEXTO
CPÍTULO 8 PROPRIEDDES DS LINGUGENS LIVRES DE CONTEXTO 8.1 Introdução 275 8.2 Dois lemas de bombagem 266 8.2.1 Lema de bombagem para linguagens livres de contexto 275 8.2.2 Lema de bombagem para linguagens
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 Teoria da Computação e Linguagens Formais
SCC-0205 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 - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia maisAs 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
Leia maisMáquinas de Turing: uma introdução
Máquinas de Turing: uma introdução Nelma Moreira Armando Matos Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {nam,acm}@ncc.up.pt 1996 Revisão: Maio 2001 1
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 maisLista 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
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERIDADE DA EIRA INTERIOR Teoria da Computação Eng. Informática 2º emestre Frequência 2 (7 valores) Resolução 30/maio/2017 A. Expressões regulares e autómatos finitos 1. [1.25] Usando o método de eliminação
Leia maisAutô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
Leia maisCOMPILADORES. 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 geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = épsilon λ = lambda
Leia maisLinguagens 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
Leia maisMáquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1
Máquinas Universais Um modelo de computação diz-se universal se todo o problema efectivamente computável o for nesse modelo. Um modelo universal é suficientemente poderoso para se aceitar a si próprio:
Leia maisPLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Pró-Reitoria de Ensino de Graduação Coordenação do Curso de Bacharelado em Sistemas de Informação Site: http://www.bsi.ufrpe.br E-mail: coordenacao@bsi.ufrpe.br
Leia maisCurso 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
Leia maisAutó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
Leia maisUNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA
UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA CÓDIGO DENOMINAÇÃO CRÉDITOS C. HORÁRIA DCE241 Teoria da Computação 04 75 horas TEM COMO
Leia maisExercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )
Exercicios 7.1 Escreve expressões regulares para cada uma das seguintes linguagens de Σ = {a, b}: (a) palavras com não mais do que três as (b) palavras com um número de as divisível por três (c) palavras
Leia maisLinguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP
Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações
Leia maisNoções de grafos (dirigidos)
Noções de grafos (dirigidos) Grafo G = (V, E) é um conjunto de vértices (ou nós) V e um conjunto de arcos E V V. 1 2 5 3 4 G = ({1, 2, 3, 4, 5}, {(1, 2), (2, 3), (2, 4), (3, 2), (3, 4), (4, 4)}) Um arco
Leia maisCOMPILADORES. 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. geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = epsilon λ =
Leia maisRevisão. Fases da dacompilação
1 Revisão Prof. Julio Arakaki Julio Arakaki 1 Fases da dacompilação Código fonte Análise Léxica tokens e lexemas Análise Sintática Árvore Sintática Abstrata (ASA) Análise Semântica ASA decorada Geração
Leia maisApostila 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
Leia maisSCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha
Linguagem Livre de Contexto Autômato de Pilha Programas SCC-5832 - Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação
Leia maisÁrvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1
Árvores (ordenadas) Recordemos que, uma árvore é grafo (não dirigido) em que o número de vértices excede em 1 o número de arcos. Um vértice é acessível a todos os outros: a raiz. Os vértices que são acessíveis
Leia maisTeoria 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
Leia maisUFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior
Um Algoritmo para Transformar Autômatos Finitos Não- Determinísticos em Autômatos Finitos Quânticos Preservando o Número de Estados e a Linguagem Reconhecida Cheyenne R. G. Isidro cha@dsc.ufcg.edu.br Bernardo
Leia maisSCC-5832: II. Ling. Livres de Contexto e Autômatos de Pilha
SCC-5832 - Capítulo 2 e João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos joaoluis@icmc.usp.br 2009 Sumário 1 Lema do Bombeamento para Linguagens
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 maisCapí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
Leia maisLinguagens 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 olivete@fct.unesp.br 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato
Leia maisLinguagens Formais - Preliminares
Linguagens Formais - Preliminares Regivan H. N. Santiago DIMAp-UFRN 25 de fevereiro de 2007 Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de 2007 1 / 26 Algumas
Leia maisa n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP
a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP 1 ACP Assim como LR tem um autômato equivalente (AF) as LLC tem também
Leia maisGramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1
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 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 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 maisCAPÍTULO 3 EXPRESSÕES REGULARES, LINGUAGENS REGULARES E GRAMÁTICAS REGULARES
CAPÍTULO 3 EXPRESSÕES REGULARES, LINGUAGENS REGULARES E GRAMÁTICAS REGULARES 3.1 Introdução 117 3.2 Expressões Regulares 117 3.3 Regras algébricas para expressões regulares 126 3.4 Relação entre expressões
Leia maisA. (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
Leia maisLinguagens 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
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 maisa 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
Leia maisTeoria da Computação. 2006/2007 Trabalho prático nº 2. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1
2006/2007 Trabalho prático nº 2 Trabalho realizado por: Pedro Oliveira (501062444) Rui Costa (501062452) Turma: TP1 1 - Introdução O objectivo deste trabalho foi desenvolver um Simplificador de Gramáticas
Leia maisTeoria da Computação (BBC244)
Teoria da Computação (BBC244) Professor: Anderson Almeida Ferreira anderson.ferreira@gmail.com http://www.decom.ufop.br/anderson Sala COM 10 DECOM-UFOP Ementa Gramáticas. Linguagens. Operações com Linguagens.
Leia maisSCC 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
Leia maisLinguagens Formais e Autômatos. Tiago Alves de Oliveira
Linguagens Formais e Autômatos Tiago Alves de Oliveira Ementa Linguagens Regulares; Máquinas de Turing; O Problema da Parada da Máquina de Turing; Autômatos Finitos; Linguagens Livres de Contexto; Autômatos
Leia maisCAPÍTULO 5 LINGUAGENS LIVRES DE CONTEXTO
CAPÍTULO 5 LINGUAGEN LIVRE DE CONTEXTO 5.1. Introdução 181 5.2 Gramáticas livres de contexto 181 5.2.1. Definição e exemplos 183 5.2.2 Derivação pela extrema direita e pela extrema esquerda 188 5.2.3.Árvores
Leia maisLinguagens Livres do Contexto. Adaptado de H. Brandão
Linguagens Livres do Contexto Adaptado de H. Brandão Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres do Contexto; Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres
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 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 maisA. (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 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
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 maisa n Sistemas de Estados Finitos AF Determinísticos
a n Sistemas de Estados Finitos AF Determinísticos 1 Definição formal de um AF Determinístico Um AF Determinístico (AFD) é denotado formalmente por uma quíntupla (Q,,, qo, F) onde: Q é o conjunto de estados
Leia maisSegunda 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
Leia maisMT como calculadoras de funções parciais
MT como calculadoras de funções parciais Uma máquina de Turing pode ser vista como uma calculadora de funções parciais dos inteiros nos inteiros: f : N k p N Suponhamos que os inteiros estão codificados
Leia maisLINGUAGEM 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
Leia maisLINGUAGENS 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
Leia maisConceitos 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
Leia maisProblemas Computáveis
Indecidibilidade Problemas Computáveis Máquinas de Turing ou Problemas Computáveis ou Linguagens Recursivamente Enumeráveis LER (*) podem ser divididas em 2 classes: as MT que sempre param (Algoritmos),
Leia maisINF1626 Linguagens Formais e Autômatos em
Revisão para a P1 Pontos Selecionados da Matéria Profa. Clarisse S. de Souza 1 Minimização de Autômatos O que é um Autômato Mínimo? Dado um autômato qualquer, como saber se ele é um Autômato Mínimo? E
Leia maisAutomata e Linguagens Formais
Automata e Linguagens Formais 6 Prof. Carlos H. C. Ribeiro carlos@ita.br Análise Sintática (Parsing) GLCs ambíguas Grafos de GLCs Estratégias para parsing Exemplos de parsers Análise Sintática (Parsing)
Leia mais