Variações de Máquinas de Turing

Documentos relacionados
Máquinas de Turing (MT)

Autômatos de Pilha (AP)

Autômatos Finitos Não Determinís5cos (AFN)

Autômatos Finitos Determinís3cos (AFD)

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

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

Aula 9: Máquinas de Turing

Máquinas de Turing. 4.1 O que É Máquina de Turing

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

Linguagens recursivamente enumeráveis

Expressões Regulares. Linguagens Formais e Autômatos. Andrei Rimsa Álvares

Linguaguens recursivamente enumeráveis e recursivas

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

Teoria da Computação

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

Linguagens Formais e Autômatos Decidibilidade

LLC's: Lema do Bombeamento e Propriedades de Fechamento

Aula 7: Autômatos com Pilha

Linguagens Formais e Autômatos (LFA)

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

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

LR's: Lema do Bombeamento e Propriedades de Fechamento

BCC242. Auômato Finito Determinístico

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

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

Máquinas de Turing: uma introdução

Máquinas de Turing 3

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

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

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io

SCC 205 Teoria da Computação e Linguagens Formais

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

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Complexidade de Algoritmos. Edson Prestes

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

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.

Máquina de Turing e máquina de Turing universal

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

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

Linguagens Livres de Contexto

Teoria da Computação. Computabilidade e complexidade computacional

Capítulo 2: Máquinas de Estados Finitos. Modelagem do problema. Quebra-cabeças. Newton José Vieira, Isabel Gomes Barbosa. 19 de agosto de 2010

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

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

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz

Máquina de Turing. Controle finito

Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo

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

Máquinas de Turing - Computabilidade

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

Gramá3ca Livre de Contexto (GLC)

Marcos Castilho. DInf/UFPR. 5 de abril de 2018

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

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

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Computabilidade e Complexidade (ENG10014)

Autômato com Pilha. Autômato com Pilha. Autômato com Pilha

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

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

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

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

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 Regulares. Prof. Daniel Oliveira

Máquinas de Turing para construção: Foram encontrados dois modelos que se destacaram em nossas pesquisas.

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

Aula 3: Autômatos Finitos

Aula 10: Decidibilidade

Transcrição:

Linguagens Formais e Autômatos Variações de Máquinas de Turing Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hdp://dcc.ufmg.br/~nvieira)

Sumário Variações de Máquinas de Turing Máquina com cabeçote imóvel Máquina com múl?plas trilhas Máquina com fita ilimitada em ambas as direções Máquina com múl?plas fitas Máquinas não determinís?cas

VARIAÇÕES DE MÁQUINAS DE TURING Linguagens Formais e Autômatos

Variações de MT's Algumas variações de Máquinas de Turing com um incremento à MT padrão (sempre com reconhecimento por estado final e por parada) com cabeçote imóvel com múl?plas trilhas com fita ilimitada em ambas as direções Podem exis?r outras variações? com múl?plas fitas não determinís?cas Essas variações não aumentam o poder de reconhecimento das máquinas, mas podem ser mais cômodas em determinados contextos Mesmo se combinados ou usando outros critérios de reconhecimento (por estado final ou por parada)

MT com Cabeçote Imóvel Permite que o cabeçote fique imóvel em uma transição, onde a máquina é uma óctupla M = (E, Σ, Γ,,, δ, i, F), sendo que: δ é uma função de E Γ para E Γ {D, E, I} todas as outras são como em uma MT padrão A única diferença é que pode haver transição do?po δ(e, a) = [e, b, I], onde I indica que o cabeçote deve ficar imóvel e a/b I e' essa transição pode ser simulada, sendo d um novo estado: δ(e, a) = [d, b, D] δ(d, c) = [e', c, E] para cada c Γ {<}

MT com Cabeçote Imóvel Exemplo usando duas técnicas para simular o cabeçote imóvel: Trecho de MT com imobilidade Simulação com movimentação à esquerda Simulação com movimentação à direita

MT com Múl?plas Trilhas A fita é composta de múl?plas trilhas, isto é, cada célula da fita, ao invés de receber um símbolo, recebe uma k-tupla de símbolos Assume-se que no início a trilha 1 contém na primeira posição, a palavra de entrada está na trilha 1 a par?r da segunda posição, e o restante da trilha 1 e todas as outras trilhas contêm

MT com Múl?plas Trilhas MT com k trilhas é uma óctupla M = (E, Σ, Γ,,, δ, i, F), sendo que: δ é uma função de E Γ k para E Γ k {D, E} todas as outras são como em uma MT padrão Uma transição tem a forma δ(e, a 1, a 2,..., a k ) = [e', b 1, b 2,..., b k, d], indicando que cada a i deve ser subs?tuído por b i, para i = 1, 2,..., k e a 1, a 2,, a k /b 1, b 2,, b k d e' note que, se a 1 =, d E apesar do símbolo não poder ser manipulado nas posições restantes na primeira trilha, ele pode ser manipulado sem restrições nas outras trilhas

MT com Múl?plas Trilhas Uma configuração instantânea de uma MT com k trilhas tem a forma [e, x 1 a 1 y 1, x 2 a 2 y 2,, x k a k y k ] onde x i = x j para i j O conteúdo da trilha i é x i a i y i A linguagem aceita por uma MT de k trilhas, M = (E, Σ, Γ,,, δ, i, F ), é o conjunto de toda palavra w Σ * tal que [i, w,,..., ] [e, x 1 a 1 y 1, x 2 a 2 y 2,, x k a k y k ] onde e F e δ(e, a 1, a 2,..., a k ) é indefinido *

MT com Múl?plas Trilhas MT padrão MT com k trilhas Uma MT padrão (E, Σ, Γ,,, δ, i, F) pode ser simulada por uma MT com k trilhas (E, Σ, Γ,,, δ, i, F), onde se δ(e, a) = [e', b, d], tem-se que δ'(e, a,,..., ) = [e', b,,...,, d] MT com k trilhas MT padrão Dada uma MT M = (E, Σ, Γ,,, δ, i, F) com k trilhas, obtém-se uma MT padrão equivalente M' = (E, Σ { } k 1, Γ (Γ { }) k 1, { } x { } k 1, { } k, δ', i, F), de tal forma que se δ(e, a 1, a 2,..., a k ) = [e', b 1, b 2,..., b k, d], então M' tem a transição δ'(e, [a 1, a 2,..., a k ]) = [e', [b 1, b 2,..., b k ], d] O alfabeto de fita, ao invés de ser um conjunto Γ de símbolos "indivisíveis", é o produto cartesiano Γ k

MT com Fita Ilimitada Em Ambas as Direções Uma MT com fita ilimitada em ambas as direções difere de uma MT padrão apenas no fato de que a fita não é limitada à esquerda No início o cabeçote de leitura/escrita está posicionado no primeiro símbolo da palavra de entrada, se esta não for λ Como a fita é ilimitada à esquerda, não há necessidade do símbolo

MT com Fita Ilimitada Em Ambas as Direções MT padrão MT com fita ilimitada em ambas as direções Seja M = (E, Σ, Γ,,, δ, i, F) uma MT padrão e sejam i',j E; Uma MT com fita ilimitada em ambas as direções, equivalente a M, seria M' = (E {i', j}, Σ, Γ,, δ, i, F), onde: δ' inclui todas as transições de M δ'(i', a) = [j, a, E] para cada a Γ δ'(j, ) = [i,, D]

MT com Fita Ilimitada Em Ambas as Direções MT com fita ilimitada em ambas as direções MT com 2 trilhas Primeira trilha: além do símbolo Γ, o conteúdo da fita bidirecional que começa na posição inicial do cabeçote e se estende para a direita Segunda trilha: o conteúdo da fita bidirecional que começa na posição anterior à posição inicial do cabeçote e se estende para a esquerda

MT com Fita Ilimitada Em Ambas as Direções MT com fita ilimitada em ambas as direções MT com 2 trilhas Seja M = (E, Σ, Γ,, δ, i, F) uma máquina com fita ilimitada em ambas as direções; pode-se obter uma máquina de duas trilhas, M' = (E', Σ, Γ',,, δ', i', F'), que simula M, onde: E' = E {1, 2} i' = [i, 1] F' = F {1, 2} Γ' = Γ { }, Γ [e, k] E', onde e é o estado a?ngido por M e k a trilha processada por M' E como são as transições?

MT com Fita Ilimitada Em Ambas as Direções MT com fita ilimitada em ambas as direções MT com 2 trilhas Para cada transição δ(e, a) = [e', b, D]: δ'([e, 1], a, c) = [[e', 1], b, c, D] para cada c Γ δ'([e, 2], c, a) = [[e', 2], c, b, E] para cada c Γ δ'([e, 1],, a) = δ'([e, 2],, a) = [[e', 1],, b, D] Para cada transição δ(e, a) = [e', b, E]: δ'([e, 1], a, c) = [[e', 1], b, c, E] para cada c Γ δ'([e, 2], c, a) = [[e', 2], c, b, D] para cada c Γ δ'([e, 1],, a) = δ'([e, 2],, a) = [[e', 2],, b, D]

MT com Múl?plas Fitas Em uma máquina com múl?plas fitas, cada fita tem seu cabeçote de leitura/escrita Em cada transição os cabeçotes são operados independentemente; nesse caso é ú?l adicionar a capacidade do cabeçote ficar imóvel Cada fita tem na sua primeira posição para evitar movimento de seu cabeçote para a esquerda, e da segunda posição adiante Na primeira fita a palavra de entrada seguida de Nas outras fitas somente Todos os cabeçotes começam na segunda posição da fita respec?va

MT com Múl?plas Fitas Uma máquina de k fitas é uma óctupla (E, Σ, Γ,,, δ, i, F), onde: E, Σ, Γ, i e F são como em MT's padrão δ é uma função de E Γ k para E (Γ {D, E, I}) k Uma configuração instantânea de uma MT com k fitas tem a forma [e, x 1 a 1 y 1, x 2 a 2 y 2,..., x k a k y k ] nesse caso, não há a restrição de que x i = x j para i j A linguagem aceita por uma MT de k fitas, M = (E, Σ, Γ,,, δ, i, F), é o conjunto das palavras w Σ * tais que [i, w,,..., ] [e, x 1 a 1 y 1, x 2 a 2 y 2,..., x k a k y k ] onde e F e δ(e, a 1, a 2,..., a k ) é indefinido *

MT com Múl?plas Fitas Por exemplo: o diagrama de estados de uma MT de duas fitas que reconhece a linguagem L = {ww R w w {0, 1} } Para simplificar o diagrama usou-se para denotar "qualquer símbolo do alfabeto de entrada" Dica: o uso de várias fitas pode simplificar bastante a obtenção de uma MT

MT com Múl?plas Fitas MT padrão MT com múl?plas fitas Uma MT padrão nada mais é do que uma máquina mul?fita com apenas uma fita Uma MT padrão pode ser simulada por uma MT mul?fita em que todas as transições desprezam todas as fitas, com exceção da fita 1 E o inverso?

MT com Múl?plas Fitas MT com k fitas MT com 2k trilhas Uma máquina de k fitas pode ser simulada por meio de uma máquina de 2k trilhas Por exemplo: uma MT com 2 fitas pode ser simulada por uma MT de 4 trilhas A trilha 1 terá o conteúdo da fita 1 A trilha 2 o marcador da posição do cabeçote da fita 1 A trilha 3 terá o conteúdo da fita 2 a trilha 4 o marcador da posição do cabeçote da fita 2 Detalhes do algoritmo no livro-texto

MT Não Determinís?cas Uma MT não determinís?ca é uma MT que admite mais de uma transição par?ndo de um certo estado sob um certo símbolo Podem exis?r várias computações possíveis para o processamento de uma palavra Uma palavra é aceita quando existe uma computação para a qual a máquina pára em um estado final

MT Não Determinís?cas Uma MT não determinís?ca é uma óctupla (E, Σ, Γ,,, δ, i, F), onde: E, Σ, Γ,,, i e F são como em MT padrão δ é uma função total de E Γ para P(E Γ {D, E}) No caso em que δ(e, a) = para e E e a Σ, não há transição do estado e sob a; corresponde ao caso em que, em uma MT padrão, δ(e, a) é indefinido A linguagem aceita pela máquina é: { w Σ * * [i, w] [e, xay], δ(e, a) = e e F }

MT Não Determinís?cas Por exemplo: diagrama de estados de uma MT não determinís?ca que aceita a linguagem L = b ab + c ac

MT Não Determinís?cas MT padrão MT não determinís?ca Uma MT padrão M é um caso par?cular de MT não determinís?ca M', portanto basta simular M em M'

MT Não Determinís?cas MT não determinís?ca MT de 3 fitas Simular uma máquina de Turing não determinís?ca M = (E, Σ, Γ,,, δ, i, F) por meio de uma MT determinís?ca M' de 3 fitas; a ideia é simular, de forma sistemá?ca, as computações possíveis Fita 1: a palavra de entrada Fita 2: fita na qual a máquina irá operar Fita 3: uma computação possível (sequência de transições) Detalhes do algoritmo no livro-texto

MT Não Determinís?cas Outro exemplo: máquina de Turing de duas fitas não determinís?ca para L = {ww R w w {0, 1} }

Conclusão Máquinas de Turing podem ser estendidas para u?lizar: os incrementos isolados ou uns compostos com outros outro critério de reconhecimento, por parada e/ou estado final Todas as variações de Máquinas de Turing reconhecem exatamente a mesma classe de linguagens: a classe das LRE's

ISSO É TUDO PESSOAL! Linguagens Formais e Autômatos