formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas

Documentos relacionados
Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268

Capí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

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.

Outras Máquinas de Turing

13.2. Sistemas de Post Sistemas de rescrita Cálculo Lambda. ADC/TC/Cap.13/ /LEI/DEIFCTUC 497

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.

Os limites da computação algorítmica

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Gramáticas Regulares

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

SCC Introdução à Teoria da Computação

Linguagem (formal) de alfabeto Σ

Linguaguens recursivamente enumeráveis e recursivas

Linguaguens recursivamente enumeráveis

SCC-5832 Teoria da Computação

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Revisões de Conjuntos

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

SCC Teoria da Computação e Linguagens Formais

Regulares (RL) 4.1. Propriedades d de fecho das RL ADC/TC/CAP.4/ /LEI/DEIFCTUC 192

Teoria da Computação Aula 02 Introdução

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)

Modelos de Computação

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

Linguagens recursivamente enumeráveis

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA

Autómatos de pilha e Gramáticas independentes de contexto

Autómatos de pilha e GIC

Alfabeto, Cadeias, Operações e Linguagens

MT como calculadoras de funções parciais

Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

Gramáticas ( [HMU00], Cap. 5.1)

Teoria da Computação Aula 01 Revisão de Conjuntos

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

Teoria da Computação (BBC244)

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

CAPÍTULO 7 AUTÓMATOS DE PILHA

Universidade Federal de Alfenas

Linguagens Formais e Autômatos P. Blauth Menezes

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Máquinas de Turing - Computabilidade

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).

Noções de grafos (dirigidos)

Problemas decidíveis para LICs

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

Problemas Computáveis

Autó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.

Linguagens Formais e Problemas de Decisão

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

LINGUAGENS FORMAIS E AUTÔMATOS

CAPÍTULO 8 PROPRIEDADES DAS LINGUAGENS LIVRES DE CONTEXTO

Máquinas de Turing: uma introdução

CAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

Autómatos determísticos de k-pilhas

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Modelos de Computação Folha de trabalho n. 10

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

CT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...

Capítulo 5. Linguagens livres de contexto

Problemas decidíveis para LICs

1 INTRODUÇÃO E CONCEITOS BÁSICOS

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

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

Capítulo 2: Procedimentos e algoritmos

Segunda Lista de Exercícios 2004/2...

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

Gramática. Gramática. Gramática

Exercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing

Terceira Lista de Exercícios 2004/2...

Linguagens Regulares. Prof. Daniel Oliveira

Teoria da Computação Aula - Linguagens e Gramáticas Formais

Teoria da Computação

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:

Máquina de Turing. Controle finito

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

Linguagens Formais e Autômatos

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing

SCC 205 Teoria da Computação e Linguagens Formais

Modelos Universais de Computação

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

Linguagens Livres do Contexto. Adaptado de H. Brandão

UFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior

I.2 Introdução a Teoria da Computação

Universidade Federal de Alfenas

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Transcrição:

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 11.4. Hierarquias de linguagens 452

As MT aceitam linguagens que os NPDA não aceitam. Existirão linguagens que as MT não aceitam? 453

11.1. 1 Linguagens recursivas e linguagens recursivamente enumeráveis Definição 11.1.Linguagem recursivamente enumerável L é recursivamente enumerável se existe uma MT M que a aceita, i.e., para toda a cadeia w L, q 0 w M x 1 q f x 2, x 1, x 2 * sendo q f um estado final. 454

Se w não pertence a L que acontece à MT? Esta pára num estado não final? Entra num ciclo infinito? Qualquer das alternativas pode acontecer. Se entra num ciclo infinito a MT nada nos diz sobre a pertença de w a L (nada decide). 455

Dfiiã Definição 11.2. 112Linguagem recursiva Uma linguagem L em diz-se recursiva se existir uma MT M que aceite L e que páre em todas as cadeias w de +. Ou seja, uma linguagem é recursiva rsi se e só se existir para ela um algoritmo de pertença (uma MT). Uma linguagem recursiva é também recursivamente enumerável. 456

Nota sobre o conceito de recursividade no contexto das MT A utilização do termo recursivo como sinónimo de decidível remonta à época anterior aos computadores e em que a noção de recursão era usada como noção de computação. Um problema recursivo era um problema suficientemente simples para se poder escrever uma função recursiva para o resolver, e a função terminava sempre. Otermo recursivamente recursivamente enumerável foi introduzido no mesmo contexto. Se uma função puder listar todos os membros de uma linguagem g segundo alguma ordem, ela pode enumerá-los. As linguagens cujos membros se podem listar por alguma ordem são as mesmas aceites por alguma MT. (Hopcroft, Motwani e Ullman, pp 375) 457

Enumeração de uma linguagem recursiva seja M a MT que determina a pertença a L recursiva. M construa-se uma outra MT,, que gera todas as cadeias de + em ordem própria, w 1, w 2, w 3,... M à medida que gera cadeias, elas são apresentadas à entrada de M, sendo esta construída de modo a escrever a cadeia na sua fita só se a cadeia pertence a L. no final a fita de M contém uma enumeração das cadeias de L. 458

Qual a natureza das linguagens recursivas ou recursivamente enumeráveis? Existirão linguagens recursivamente enumeráveis que não sejam recursivas? Existirão linguagens que não sejam recursivamente enumeráveis? 459

Teorema 11.11 (prévio) Sj Seja S um conjunto infinito i contável. Então a sua potência de conjuntos 2 S énão contável. A prova faz-se pela técnica da diagonalização, atribuída ao matemático GF Cantor que a usou para demonstrar que o conjunto de números reais não é contável (p. 278 Linz). 460

S = { s 1, s 2, s 3, s 4,... } contagem Subconjuntos de 2 S 1 2 3 4 5 6 7 8 9... {s 1 } {s 1, s 2 } {s 1, s 2,, s 3 } {s 1, s 2,, s 5, s 9 } {s 2, s 3,, s 6, s 7 s 8 } {s 2, s 3, s 5, s 6, s 7, s 8 } {s 1, s 3, s 4, s 5, s 6, s 8, s 9 } {s 1, s 2, s 3, s 4, s 5, s 6, s 7, s 8 } {s 1, s 9 }.............................. 1 0 0 0 0 0 0 0 0... 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0... 1 1 0 0 1 0 0 0 1... 0 1 1 0 0 1 1 1 0... 0 1 1 0 1 1 1 1 0... 1 0 1 1 1 1 0 1 1... 1 1 1 1 1 1 1 1 0... 1 0 0 0 0 0 0 0 1................................. Se 2 S é enumerável pode-se ordenar e obter uma matriz deste tipo (1 na coluna i se s i pertence ao subconjunto de 2 S em questão) 461

Complementando a diagonal- um elemento de 2 S - obtém-se um outro elemento diferente de todos os outros, qualquer que seja a matriz. 1 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0... 1 1 0 0 0 0 0 0 0... 1 1 0 0 1 0 0 0 1... 1 1 0 1 1 0 0 0 1... 0 1 1 0 0 1 1 1 0... 0 1 1 0 1 1 1 1 0... 0 1 1 0 1 1 1 1 0... 0 1 1 0 1 0 1 1 0... 1 0 1 1 1 1 0 1 1... 1 0 1 1 1 1 1 1 1... 1 1 1 1 1 1 1 1 1... 1 1 1 1 1 1 1 0 1... 1 0 0 0 0 0 0 0 1... 1 0 0 0 0 0 0 0 0............................................................... Por isso 2 S não é contável (prova por redução ao absurdo). 462

Teorema 11.2 Para qualquer alfabeto não vazio, existem linguagens que não são recursivamente enumeráveis. Cadeias possíveis: *, infinito Linguagens possíveis: 2 * Conjunto das MT Inumeráveis (não contável) enumeráveis Há mais linguagens do que MT s!!! Algumas linguagens não são recursivamente enumeráveis 463

Como definir uma linguagem g não recursivamente enumerável? De modo indirecto. Exemplo: Teorema 11.3 (p. 279 Linz) Existe uma linguagem recursivamente enumerável cujo complemento não é recursivamente enumerável Se L é recursiva, L é recursiva, e vice-versa. 464

Teorema 11.4 Se a linguagem L e o seu complemento L são ambas recursivamente enumeráveis, então ambas são recursivas. Teorema 11.6 Existem linguagens recursivamente enumeráveis que não são recursivas. A família das linguagens recursivas é um subconjunto próprio da família das linguagens recursivamente enumeráveis. 465

NãoRecEnum L e L RE RecEnum L RE Rec NãoRec L RE Rec L Rec e L Rec L L RE Rec RE 466

Pode-se concluir que existem linguagens para as quais é impossível construir um algoritmo de pertença São as recursivamente enumeráveis não recursivas e as não recursivamente enumeráveis. Só para as recursivas existe um algoritmo de pertença. 467

11.2. Gramáticas não restringidas Definição 11.3. Uma gramática G = (V, T, S, P) diz-se não restringida se todas as produções são da forma u v em que u (V T ) + e v (V T )* ou u v u > v v Quer do lado esquerdo, quer do lado direito, pode existir qualquer número de variáveis i e de símbolos terminais, i por qualquer ordem, excepto que do lado esquerdo não pode existir.. 468

As gramáticas não restringidas correspondem à maior família de linguagens que podem ser reconhecidas por máquinas, ou seja, elas geram a família das linguagens recursivamente enumeráveis (Teoremas( 11.6 e 11.7 Linz) ) 469

11.3. Gramáticas e linguagens g dependentes do contexto Definição 11.4 Gramática dependente do contexto G = (V, T, S, P) diz-se dependente do contexto (contextsensitive) se todas as produções são da forma x y com x y em que e x, y (V T ) + qualquer combinação de variáveis e símbolos terminais (não pode ser vazia) x y, as formas sentenciais não se contraem, a gramática é não-contractiva ti ou monotónica. 470

Pode demonstrar-se que uma gramática não contractiva se pode escrever numa forma normal com produções reduzidas a xay xvy em que A V, A é uma variável (existe pelo menos uma à esquerda) x, y (V T ) * qualquer combinação de variáveis e símbolos terminais (pode ser vazia) v (V T ) +, cadeia não vazia de variáveis e símbolos terminais o que é equivalente a dizer que a produção A v só se pode aplicar no contexto em que A aparece com x à esquerda e y à direita. Por isso se chama dependente do contexto. 471

11.3.1. 1 Linguagens dependentes do contexto e autómatos linearmente limitados (LBA) Definição: Linguagem dependente do contexto Uma linguagem L diz-se dependente do contexto se existir uma gramática G dependente do contexto tal que L = L (G ) ou L = L (G ) { }. Reintroduziu-se aqui nas linguagens dependentes do contexto (mas não nas gramáticas dependentes de contexto 1 ). As linguagens livres de contexto são um subconjunto da família das linguagens dependentes de contexto. 1 Nota: Alguns autores incluem nas gramáticas dependentes de contexto a produção S na condição de S não aparecer na parte direita de qualquer produção. Assim permite-se a produção da cadeia vazia 472

Exemplo. Sj Seja a gramática 1. S abc aabc, 2. Ab ba 3. Ac Bbcc, 4. bb Bb, 5. ab aa aaa S 1 2 5 2 3 4 aabc abac abbbcc abbbcc aaabbcc aababcc 3 4 5 aabbacc aabbbbccc aabbbbccc aabbbbccc aaabbbccc 4 2 Esta gramática gera a linguagem L ={a a n b n c n : n 1 }. 473

Relação com os LBA s Teorema 11.7. Para toda a linguagem L dependente do contexto e não incluindo, existe algum autómato linearmente limitado (LBA) M tal que L = L (M ) (T11.8 Linz). Teorema 11.8 Se uma linguagem L for aceite por algum autómato linearmente limitado (LBA) M, então existe uma gramática dependente do contexto que gera L (T11.9 Linz). 474

11.3.2. Relação entre linguagens recursivas e linguagens dependentes do contexto. Toda a linguagem dependente do contexto é aceite por alguma MT e é por isso recursivamente enumerável Teorema 11.9 (T11.10 Linz) Toda a linguagem L dependente do contexto é recursiva Teorema 11.1010 (T11.11 Linz) Existem linguagens ge recursivas s que não são dependentes es do contexto. (LBA s são menos poderosas do que a MT). 475

11.4. Hierarquias de Linguagens Gramáticas: NRG CSG CFG RG L RE Tipo 0 L CS Tipo 1 L CF L REG Tipo 2 Tipo 3 de Chomsky 476

L NRE L RE L REC L CS L CF L DCF L DPDANPDA LBA REG DFA TM TM??? 477

L CF Linguagens livres de contexto L DCF Linguagens livres de contexto determinísticas L LIN Linguagens lineares L REG Linguagens regulares L CF L LIN L REG L DCF 478

Bibliografia An Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Jones and Bartelett Computer Science, 2001. Models of Computation and Formal Languages, R. Gregory Taylor, Oxford University Press, 1998. Introduction to Automata Theory, Languages and Computation, 2nd Ed., John Hopcroft, Rajeev Motwani, Jeffrey Ullman, Addison Wesley, 2001. Elements for the Theory of Computation, Harry Lewis and Christos Papadimitriou, 2nd Ed., Prentice Hall, 1998. Introduction th the Theory of Computation, Michael Sipser, PWS Publishing Co, 1997. 479