Máquinas de Turing - Computabilidade

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

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

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

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

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

Linguagens Formais e Autômatos P. Blauth Menezes

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Linguaguens recursivamente enumeráveis e recursivas

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

Computabilidade e Complexidade (ENG10014)

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

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

Teoria da Computação. Computabilidade e complexidade computacional

SCC-5832 Teoria da Computação

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

Linguagens Formais e Autômatos Decidibilidade

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.

Linguagens Formais e Autômatos Apresentação da Disciplina

Linguagens recursivamente enumeráveis

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

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

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

Draft-v0.1. Máquinas de Turing Máquinas de Turing

Máquinas de Turing (MT)

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO II Campus Rio Pomba

SCC Teoria da Computação e Linguagens Formais

Capítulo 2: Procedimentos e algoritmos

SCC 205 Teoria da Computação e Linguagens Formais

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

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

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

Faculdade de Computação

Linguagens Formais e Problemas de Decisão

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

Fundamentos da Teoria da Computação

Máquina de Turing. Teoria da Computação. Teoria da Computação. Histórico da Computação:

Linguagens Formais e Autômatos P. Blauth Menezes

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

COMPUTABILIDADE 2. Indecidibilidade

Linguagens Formais e Autômatos

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

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Linguagens Formais e Autômatos P. Blauth Menezes

Máquinas de Turing 3

Teoria da Computação

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

Linguagens Regulares. Prof. Daniel Oliveira

Teoria da Computação (BBC244)

Universidade Federal de Alfenas

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 18. Cap O Problema da Parada

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

PCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing

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

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Máquina de Turing. Controle finito

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

LR's: Lema do Bombeamento e Propriedades de Fechamento

Fundamentos da Teoria da Computação

Aula 10: Decidibilidade

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

Computabilidade e Complexidade (ENG10014)

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

Linguagens Não-Regulares

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos (LFA)

Aula 10: Decidibilidade

Teoria da Computação. Computabilidade

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos P. Blauth Menezes

LINGUAGENS FORMAIS E AUTÔMATOS

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Modelos de Computação

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

Transcrição:

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 linguagem finita, então L X não é livre de contexto. Seja X finita e suponha, por contradição, que L X seja livre de contexto. Como X é finita, temos que L X é finita e, portanto, é livre de contexto, Como a classe das linguagens livres de contexto é fechada em relação à interseção, teríamos que (L X) (L X) é livre de contexto. Mas (L X) (L X) = L e L não é livre de contexto. Portanto, se X é finita, então L X não é livre de contexto. (b) Se X é uma linguagem regular, então L X pode ser livre de contexto ou pode não ser. Considere L Σ =. Temos que Σ é regular e é livre de contexto. Por outro lado, considere L = L. Temos que é regular e L não é livre de contexto. Portanto, se L não é livre de contexto e X é regular, L X pode ser livre de contexto ou não. 2. Construa uma MT que reconheça a linguagem a b. b b, D, D a a, D b b, D 3. Descreva, em linguagem de alto nível, uma MT que reconheça a linguagem {a n b n c n n 0}. while current-symbol == a escreve x, anda para a direita while current-symbol <> b escreve o mesmo simbolo lido, anda para direita escreve y, anda para a direita while current-symbol <> c escreve o mesmo simbolo lido, anda para direita escreve z, anda para a esquerda while current-symbol <> x escreve o mesmo simbolo lido, anda para esquerda escreve x, anda para a direita if current-symbol == then aceita else rejeita. OBS: Note que, se o número de a s for maior do que o número de b s ou do que o número de c s, a máquina entra em loop e, portanto, o string não será aceito. Se o número de b s ou de c s for maior do que o número de a s, o símbolo encontrado no final do loop mais externo não será branco e, portanto, o string não será aceito.

4. Prove que a classe das linguagens Turing-decidíveis (ou recursivas) é fechada em relação as operações de união, interseção e concatenação. 5. Prove que a classe das linguagens Turing-reconhecíveis (ou recursivamente enumeráveis) é fechada em relação as operações de união, interseção e concatenação. 6. Seja L uma linguagem não recursiva. (a) Mostre que, se X é finita então L X é não recursiva. (b) Mostre que L é não recursiva. (c) Mostre que, se L é LRE, então L não é LRE. 7. POSCOMP 2008 - Assinale a afirmativa INCORRETA: Existe uma Máquina de Turing U que simula qualquer outra Máquina de Turing M sobre qualquer entrada w. A Tese de Church-Turing afirma que o conceito informal de procedimento efetivo é capturado pelo conceito formal de Máquina de Turing. Uma linguagem é recursivamente enumerável se, e somente se, ela é aceita por alguma Máquina de Turing. Existe uma Máquina deturing T que, dada uma Máquina de Turing M e uma entrada w para M, T determina, em um número finito de passos, se M pára ou não para a entrada w. Toda linguagem recursiva é recursivamente enumerável, mas o inverso nem sempre é verdadeiro. 8. Sejam L e L uma linguagem e o seu complemento, respectivamente. Marque as situações abaixo que não podem ocorrer: L e L são ambas recursivas. L é recursivamente enumerável, mas não é recursiva, e L não é recursivamente enumerável. L e L são ambas recursivamente enumeráveis, mas não são recursivas. L é regular e L não é regular. L é livre de contexto e L não é livre de contexto. 9. Assinale as afirmativas CORRETAS: Toda Linguagem enumerável é recursivamente enumerável. Toda Linguagem Livre de Contexto é decidível. Existem linguagens Regulares que não são decidíveis. Toda linguagem é reconhecível ou é co-reconhecível. O conjunto de todos os strings sobre um alfabeto Σ é recursivamente enumerável. O conjunto de todas as MTs é enumerável, mas não é recursivamente enumerável. O conjunto de todos as MTs cuja linguagem é vazia é enumerável mas não é recursivamente enumerável.

10. Com relação a linguagens e seus aceitadores (ou reconhecedores), marque as afirmativas a seguir que são corretas. {w w R w {a, b} } é aceita por autômato de pilha determinista. {w c w R w {a, b} } é aceita por autômato finito não determinista. {a 2n b m n, m 0} é aceita por autômato finito não determinista. {w c w w {a, b} } é aceita por autômato de pilha determinista. {M M é uma MT e M pára para alguma entrada } é reconhecida por uma Máquina de Turing não determinista. {w w w {a, b} } é aceita por uma máquina de Turing que sempre pára. 11. Considere as seguintes linguagens, sobre um dado alfabeto Σ: A RE = { D, s o AFD D aceita a string s} E RE = { D a linguagem reconhecida pelo AFD D é } A T M = { M, s a máquina de Turing M aceita a string s} E T M = { M a linguagem reconhecida pela máquina de Turing M é } ALL T M == { M a linguagem reconhecida pela máquina de Turing M é Σ } Marque a afirmativas CORRETA: Todas as linguagens acima são enumeráveis. Todas as linguagens acima são decidíveis. Apenas as linguagens E T M e ALL T M não são reconhecíveis. A linguagem E T M é co-reconhecível. A linguagem ALL T M não é reconhecível, nem co-reconhecível. A linguagem A T M é reconhecível e co-reconhecível. 12. Um problema de decisão é um problema cuja resposta é sim ou não. Por exemplo, determinar se um string w pertence a uma linguagem L, ou determinar uma máquina de Turing M reconhece a linguagem vazia, ou determinar se x+y = z. Uma instância de um problema de decisão é um caso particular deste problema. Por exemplo, 3 + 2 = 5 é uma instância positiva do problema x + y = z e 2 + 3 = 10 é uma instâncoa negativa deste problema. Dizemos que um problema de decisão P é decidível, se existe uma máquina de Turing que decide este problema, isto é, que é capaz de determinar, dada uma instância qualquer do problema como entrada, se esta é uma instância positiva ou não é. Dizemos que um problema de decisão P reduz para outro problema de decisão P, se existe um algoritmo (ou máquina de Turing) que converte cada instância do Problema P em uma instância do problema P. Considere três problemas de decisão P 1, P 2 e P 3. Sabemos que P 1 é decidível e P 2 não não é decidível. Marque a afirmativa CORRETA: P 3 é decidível se P 1 reduz para P 3.

P 3 não é decidível se P 3 reduz para P 2. P 3 não é decidível se P 2 reduz para P 3. P 3 é decidível se P 3 reduz para o complemento de P 2. 13. (1,0 ponto) O "poder computacional" de um computador consiste na classe de problemas que podem ser resolvidos por meio de programas executados nesse computador. Considere um computador moderno usual, tal como o seu PC. Com base nos resultados da teoria de máquinas de Turing, analise as seguintes afirmativas e marque aquelas que são CORRETAS: Um computador com vários processadores, que pode executar computações em paralelo, tem o mesmo poder computacional que outro que tenha um único processador. Um computador que tenha uma memória com acesso apenas sequencial tem menor poder computacional do que outro que tenha acesso direto a qualquer posição de memória. Um computador com vários dispositivos de memória tem maior poder computacional que outro computador com apenas uma área de memória, com a mesma capacidade total de todos os dispositivos de armazenamento do primeiro. Se o computador tem vários dispositivos de memória e pode ler dados simultaneamente em cada um desses dispositivos, ele tem maior poder computacional do que se apenas pudesse ler dados de um único dispositivo de cada vez. Um computador que tenha apenas um tipo de instrução, que pode ler o valor em uma posição qualquer de memória e determinar o valor a ser escrito na memória e a próxima instrução a ser executada tem o mesmo poder computacional que um computador moderno, que inclui instruções para carregar e armazenar dados, com diversos tipos de endereçamento à memória, intruções de teste e desvio, intruções para realizar operações aritméticas etc. 14. A tabela a seguir resume informações que aprendemos ao longo do curso sobre a hierarquia de linguagens formais Hierarquia de Chomsky. Preencha as lacunas da tabela, usando como modelo as informações já preenchidas. Obesrvações: (a) Utilize a seguinte simbologia: AF (Autômato de Estados Finitos), AP (Autômato de Pilha), MT (Máquina de Turing), ER (Expressão Regular), GLC (Gramática Livre de Contexto), GSC (Gramática Sensível ao Contexto), GI (Gramática Irrestrita). (b) Na coluna entitulada "Exemplo", dê uma exemplo de uma linguagem que pertença à classe indicada e que não pertença à classe imediatamente anterior. (c) Na coluna entitulada "ND", responda à pergunta "Não determinismo introduz maior poder computacional ao modelo?". (d) Na coluna entitulada "Fecho", indique em relação a quais das seguintes operações a classe de linguagens é fechada: (união), (concatenação), (fecho de Kleene), (interseção) e (complemento).

Hierarquia de Linguagens Classe Especificação Exemplo Reconhecedor ND Fecho Regular (0 1) Livre de Contexto Sensível ao Contexto Recursiva Recursiv. enumerável Gramática irrestrita Gramática irrestrita {0 p p é primo} MT limitada linearmente?,,,, não,,,,