Outras Máquinas de Turing



Documentos relacionados
Os limites da computação algorítmica

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

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

Capítulo 5. Linguagens livres de contexto

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

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

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.

Autómatos finitos não determinísticos (AFND)

Linguagem (formal) de alfabeto Σ

Alfabeto, Cadeias, Operações e Linguagens

Revisões de Conjuntos

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima

Linguaguens recursivamente enumeráveis e recursivas

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

Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. david/enseignement/2003.

Introdução às Máquinas de Turing (TM)

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

Gramáticas Regulares

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

Resumo. Sistemas e Sinais Máquinas de Estados Finitos. Máquina de Estados Finitos. Esta Aula

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

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

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

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

Transformação sobrenome + nome em nome completo utilizando Máquina de Turing

CAPÍTULO 7 AUTÓMATOS DE PILHA

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Modelos de Computação

Linguagens recursivamente enumeráveis

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

Modelagem de uma Vending Machine utilizando um Autômato Finito com Saída

Autómatos Finitos Determinísticos

Databases. Dependências Funcionais

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais

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

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

Faculdade de Computação

Elementos de Matemática Discreta

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

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

Programa de Formação Contínua em Matemática para Professores do 1.º e 2.º Ciclos do Ensino Básico. I. Conjuntos

Autómatos de pilha e GIC

Linguagem Formais e Autômatos

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

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto

Linguagens Formais e Autômatos. Alfabetos, Palavras, Linguagens e Gramáticas

Gramáticas Livres de Contexto

FUNÇÃO REAL DE UMA VARIÁVEL REAL

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

SCC 205 Teoria da Computação e Linguagens Formais

Roteiro da Aula 3. Sintaxe. 2 Exemplos. 4 Propriedades de Fechamento. Teoria da Aula 3. Roteiro

Álgebra Booleana. Introdução ao Computador 2010/01 Renan Manola

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

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.

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

UNIVERSIDADE DO VALE DO ITAJAÍ PAULO ROBERTO LIMA

Teoria da Computação. Máquinas Universais Máquina de Turing

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais

ÁLGEBRA BOOLEANA. Foi um modelo formulado por George Boole, por volta de 1850.

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

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Lista n 0 1 de Exercícios de Teoria da Computação

Programação Estruturada

Sistemas numéricos. Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS ago-09

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO

SCC-5832 Teoria da Computação

Autômatos Finitos Não-Determinísticos para Diagnóstico de Falhas em Sistemas de Potência

Sistemas de Numeração

Programação para Computação

Exercícios de Teoria da Computação Autómatos finitos não deterministas

$XWyPDWRV)LQLWRV'HWHUPLQLVWDV$)' A= (Q, È, G,q 0,F)

Usando um Simulador da Máquina de Turing Claudio Kirner 2010

Trabalho Prático Nº1 Introdução ao C#.NET

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

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

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Estrutura de Dados. Unidade VI. -Tabela Hash -Grafos. Prof. Ms. Amilton Souza Martha

Teoria da Computação Linguagens Formais e Autômatos

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

Lógica Matemática e Computacional 5 FUNÇÃO

9xy yx9 = (9 100+x 10+y) (y 100+x 10+9) = (8 y) (y+1)

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Limitações dos Computadores

Introdução ao Controlo Numérico Computorizado I Conceitos Gerais

Transcrição:

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 10.5. Autómatos linearmente limitados 429

10.1. Pequenas variações sobre a MT Definição 10.1. Autómatos equivalentes Sejam C 1 e C 2 duas classes de autómatos. Se para todo o M 1 em C 1 existe um M 2 em C 2 tal que L (M 1 ) = L (M 2 ) diz-se que C 2 é pelo menos tão poderoso como C 1. Se reversamente para todo o autómato M 2 em C 2 existe um autómato M 1 em C 1 tal que L (M 2 ) = L (M 1 ) então C 1 e C 2 são equivalentes. 430

Autómatos equivalentes C 1 C 2 L (M 1 ) = L (M 2 ) M 1 M 2 1 M 1 L (M 2 )=L L (M 1 ) M 2 431

10.1.1. 1 1 Máquinas de Turing com a opção de ficar 10.1.2. 1 Máquinas de Turing com várias bandas na fita 10.1.3. 1 MT com fita semi-infinitainfinita 10.1.4. A MT off-line 10.2. MT com armazenamento mais complexo 1021 10.2.1. MT com fitas múltiplas l 10.2.2. MT multidimensionais 432

10.3. MT não-determinísticas i Uma MT não-determinística define-se do mesmo modo que uma determinística excepto a função de transição 1 que é : Q 2 Q {L,R } O contradomínio de é um conjunto de transições possíveis, podendo a MT escolher qualquer uma delas. 1 em vez de função de transição, deve falar-se aqui em mapeamentos (mappings) i )de transição. 433

Uma MT não-determinística aceita a cadeia w de uma linguagem L se existir alguma sequência de movidas possível tal que q w x q 0 x 1 f 2, x 1, x 2 * sendo q f um estado final. 434

a transição não-determinística (q 0, a) = {(q 1, c, L), (q 2, e, R)} permite as movidas q 0 aba q 1 cba q 0 aba eq 2 ba sendo a TM que escolhe uma delas. MT não-determinística não é mais poderosa do que uma MT determinística 435

10.4. Uma Máquina de Turing Universal MT M u reprogramável. Entrada: descrição de qualquer máquina de Turing M uma cadeia w Simula a computação de M com w. 436

Uma descrição possível de uma MT genérica conjunto dos estados Q = {q 1,q 2,, q n } q 1, estado inicial q 2, estado final único alfabeto da fita = {a 1, a 2,..., a m }, a 1 representa o carácter branco ( blank ) 437

- codificação unária dos estados q 1 = 1, q 2 = 11, q 3 = 111, de a 1 = 1, a 2 = 11, a 3 = 111, das movidas: L = 1, R = 11 - o zero, 0, usa-se como separador dos 1 s : 1101 -a função de transição da MT é codificada numa fita (q 1, a 2 ) = (q 2, a 4, R) 1011011011110110 (q 2, a 3 ) = (q 1, a 2, L) 11011101011010 438

Deste modo qualquer MT tem uma codificação finita como uma cadeia de {0, 1} +. Dada uma codificação de uma M, pode-se descodificá-la difi de modo único. 439

Máquina de Turing Universal Fita 2: estado actual de M 1 1 1 1 1 1 Fita 1 : descrição de M Fita 3: réplica da fita de M R/W 1 0 1 1 0 1 b a c b b a R R/W M u UNIDADE DE CONTROLO 440

Funcionamento da MT Universal 1º lê a fita 2 o estado actual de M 2º lê a fita 3 a fita de M os argumentos de 3º procura na fita 1 os argumentos de, e lê o resultado da transição (alteração da fita de M, novo estado de M, nova posição da cabeça de M). 4º actualiza a fita 2 (estado para onde transita) 5º actualiza a fita 3 (conteúdo, posição da cabeça R/W ) 6º volta a 1º. 441

Poderá uma MT Universal ser implementada por uma MT padrão?? Existirá uma máquina de Turing que, dado qualquer programa, possa fazer a computação especificada por ele?? Para a tabela de estados de uma MT universal: http://www.rdrop.com/~half/general/utm/utmstatetable.html p 442

Quantas máquinas de Turing existem? As máquinas de Turing podem codificar-se com 0 s e1 s Quantas máquinas de Turing é possível construir? Será possível enumerá-las? 443

Definição 10.3 Enumeração S conjunto de cadeias em. Um procedimento de enumeração em S é uma máquina de Turing que pode efectuar a sequência de movidas q 0 q s x 1 # s 1 q s x 2 # s 2 q s x 3 # s 3... com x i * - {#}, s i S, de tal modo que qualquer s em S é ordenada d num número finito it de movidas. x i está relacionado com a ordem de s i na contagem resultante. O estado q s significa ifi que a cadeia s i pertence a S. 444

Exemplo. Ordem própria Seja o alfabeto = {a, b, c}. Será S = + contável? A enumeração produz os elementos por uma certa ordem. Ordem alfabética? Que aconteceria? Ordem dependente do comprimento da cadeia? a, b, c, 1 caráter aa, ab, ac, ba, bb, bc, ca, cb, cc, 2 caracteres aaa, aab, aac, aba, abb, abc,... 3 caracteres......... Esta ordenação (contagem) chama-se ordem própria (proper order). 445

Teorema 10.3 O conjunto de todas as máquinas de Turing é contável (embora infinito).... Uma MT pode codificar-se numa cadeia finita de 0 s e 1 s 1s, ordenável por ordem própria. 446

10.5. Autómatos linearmente limitados (linear bounded automata) MT em que só se pode usar a parte da fita ocupada pela entrada. Chamam-se autómatos linearmente limitados, linear bounded automata (LBA). Para delimitar a fita usada utilizam-se dois caracteres especiais: o marcador de limite à esquerda, [ o marcador de limite à direita, ] 447

Definição de LBA Um autómato linearmente limitado é uma MT não-determinística Com as restrições: M = ( Q,,,, q0,, F) tem que conter os símbolos especiais [ e ], ], (q i, [) só pode conter elementos do tipo (q j, [, R ) (q i, ]) só pode conter elementos do tipo (q j, ], L ) 448

Definição: Linguagem g aceite por um LBA Uma cadeia w é aceite por um autómato linearmente limitado (LBA) se for possível encontrar uma sequência de movidas q 0 [w] [ x 1 q f x 2 ] para alguma q f F, x 1, x 2 *. A linguagem aceite pelo LBA é o conjunto de todas as cadeias que aceita. Os LBA são mais poderosos do que os NPDA ( e menos poderosos do que a MT padrão). 449

Ver no DEM exemplos de LBA: Ex 11.3.1, aceita a n b n c n Ex 11.3.2, aceita a n, n primo. Ex 11.3.3, aceita a n.n, n > 0 O é o marcador da esquerda ( [ ) e o da direita (])) (Ver Taylor, pp 588-592). 592) 450

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. http://www.turing.org.uk/turing/turing.html (Alan Turing Home Page) http://www-groups.dcs.st-and.ac.uk/~history/mathematicians/turing.html history/mathematicians/turing.html 451