UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Documentos relacionados
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:

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

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

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

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

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

Introdução à Computação

Introdução à Computação

Linguagens Formais e Autômatos P. Blauth Menezes

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing

Transformação de AP para GLC

Teoria da Computação

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

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

Gramática. Gramática. Gramática

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

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma

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

SCC-5832 Teoria da Computação

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

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

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

Linguaguens recursivamente enumeráveis e recursivas

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.

Linguagens Regulares. Prof. Daniel Oliveira

Linguaguens recursivamente enumeráveis

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

Aula 9: Máquinas de Turing

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

Máquinas de Turing (MT)

Teoria da Computação. Máquinas de Turing: variações

Universidade Federal de Alfenas

SCC Teoria da Computação e Linguagens Formais

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

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

Linguagens recursivamente enumeráveis

Autómatos determísticos de k-pilhas

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

Máquinas de Turing - Computabilidade

Variações de Máquinas de Turing

Computabilidade e Complexidade (ENG10014)

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

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

INE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída

Teoria da Computação. Computabilidade e complexidade computacional

Linguagens Livres de Contexto

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

Teoria da Computação. Máquinas Universais Máquina com Pilhas

PCS3616. Programação de Sistemas (Sistemas de Programação) Visão Geral

Universidade Federal de Alfenas

a n Sistemas de Estados Finitos AF Determinísticos

BCC242. Auômato Finito Determinístico

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

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

Máquina de Turing. Controle finito

Programação de Computadores

Autômatos Finitos Determinís3cos (AFD)

Turing e Complexidade

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

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

Teoria da Computação. Aula 01

Variedades Adicionais das Máquinas de Turing

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

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

Análise e Projeto de Algoritmos

Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto

Linguagens Formais e Autômatos. Linguagens Regulares Prof. Anderson Belgamo

Pró-Reitoria de Ensino de Graduação P L A N O D E E N S I N O

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.

SCC 205 Teoria da Computação e Linguagens Formais

PCC104 - Projeto e Análise de Algoritmos

Noções de grafos (dirigidos)

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

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

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

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

Modelos Universais de Computação

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

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

SIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA

INFORMÁTICA ELETROTÉCNICA SUBSEQUENTE AULA I. Prof. MSc. Glécio Rodrigues de Albuquerque

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

1. Conceitos Básicos de Computação

Teoria da Computação. Computabilidade e complexidade computacional

Autômatos finitos não-determinísticos

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

1. Uma linguagem de uma máquina de Turing

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

Resolução Exe 2.12 Monolítico Recursivo

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

Linguagens Formais e Autômatos (LFA)

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

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

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

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

Aula de 26/08/2013. Processadores Simbólicos Aspectos de Arquitetura e Implementação

Transcrição:

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br

Teoria da Computação Ciência da Computação Ênfase teórica: idéias fundamentais e modelos computacionais; Ênfase prática: projeto de sistemas computacionais; Prof. Yandre Maldonado - 2 As tecnologias computacionais são construídas a partir de fundamentos da computação. Aquelas são passageiras, enquanto estes estão por trás da tecnologia em qualquer tempo.

Teoria da Computação Histórico da Computação: Computar: do latim computare, que significa calcular, avaliar, contar; Prof. Yandre Maldonado - 3 Ábaco China, aprox. 3500 a.c. Máquina de Babbage R.U., 1823. ENIAC EUA, 1946.

Teoria da Computação Os fundamentos estão por trás da tecnologia em qualquer tempo. Tecnologias Computacionais Prof. Yandre Maldonado - 4 Fundamentos Teóricos da Computação Anos 40 Anos 50 Anos 60 Anos 70 Tempos atuais

Prof. Yandre Maldonado - 5 Introduzida por Alan Turing em 1936; Ferramenta para estudar a capacidade dos processos algorítmicos; Modelo abstrato, concebido antes mesmo de uma implementação tecnológica;

Prof. Yandre Maldonado - 6 Formaliza a idéia de uma pessoa que realiza cálculos; Simulação de uma situação na qual uma pessoa, equipada com um instrumento de escrita e um apagador, realiza cálculos numa folha de papel; A Máquina de Turing ainda hoje é aceita como a formalização de um procedimento efetivo, ou seja, uma seqüência finita de instruções, as quais podem ser realizadas mecanicamente, em tempo finito. (Menezes, 1998).

Prof. Yandre Maldonado - 7 MT pode ser vista como a mais simples máquina de computação, servindo para determinar quais funções são computáveis e quais não são (Delamaro, 1998).

Prof. Yandre Maldonado - 8 Outros modelos foram propostos, mas todos mostraram ter, no máximo, poder computacional equivalente ao da MT; Estas são chamadas Máquinas Universais: Máquinas capazes de expressar a solução para qualquer problema algorítmico.

Prof. Yandre Maldonado - 9 A Máquina de Turing consiste de: Uma Unidade de Controle Que pode ler e escrever símbolos em uma fita por meio de um cabeçote de leitura e gravação e pode se deslocar para a esquerda ou direita; A fita estende-se infinitamente em uma das extremidades e é dividida em células. Utilizada como dispositivo de entrada, saída e memória de trabalho; Estas células podem armazenar qualquer elemento de um conjunto finito de símbolos, um alfabeto.

Programa ou Função de Transição: função que comanda as leituras e gravações, o sentido de movimento da cabeça e define o estado da máquina que será ativado. Prof. Yandre Maldonado - 10 Controle (δ) a b b a b b β β β β... * Como o símbolo estabelece o limite da extremidade esquerda da fita, não se pode apagá-lo e nem realizar movimentos para a esquerda deste símbolo.

Prof. Yandre Maldonado - 11 Funcionamento da Máquina de Turing A MT deve assumir sempre em um estado, pertencente à um conjunto finito de estados; O processamento de uma MT começa sempre em um estado especial, chamado estado inicial; Inicialmente a primeira célula da fita é preenchida com, que indica o início da mesma; A cabeça de leitura é posicionada inicialmente na segunda célula da fita, a célula seguinte a ; As células em branco, que não fazem parte da palavra a ser processada, são preenchidas com o símbolo β ;

Prof. Yandre Maldonado - 12 Funcionamento da Máquina de Turing O processamento em uma MT consiste em uma seqüência de passos que consistem em: Observar o símbolo corrente da fita (aquele em que o cabeçote está posicionado); Escrever um símbolo nesta célula da fita; Mover o cabeçote para a esquerda ou direita; Mudar o estado corrente; A ação exata a ser executada é determinada por um programa (função de transição) que comunica à unidade de controle o que deve ser feito com base na configuração (estado + símbolo corrente da fita) em que a MT se encontra.

Prof. Yandre Maldonado - 13 Funcionamento da Máquina de Turing O processamento cessa quando a máquina atinge uma configuração para a qual não existe função prevista, neste caso: Se a máquina estiver com um estado final ativo, a palavra de entrada é aceita; Se o estado ativo não for final, a palavra de entrada não é aceita; Se a máquina não parar (looping), a entrada de entrada não é aceita.

Definição da MT, uma octupla: Prof. Yandre Maldonado - 14 Σ : alfabeto de símbolos de entrada; Q : conjunto de estados possíveis, o qual é finito; δ : programa ou função de transição δ: Q (Σ V {β, }) Q (Σ V {β, }) {E, D} a qual é uma função parcial; q 0 : estado inicial da máquina, q 0 Q; F : conjunto de estados finais, F Q; V : alfabeto auxiliar (pode ser vazio); β : símbolo especial para células em branco; : símbolo especial marcador de início da fita.

Prof. Yandre Maldonado - 15 A Máquina de Turing pode ser empregada como modelo de natureza reconhecedora ou transdutora: Reconhecedora: processa a palavra de entrada aceitando-a ou rejeitando-a. Neste caso, o conjunto de palavras aceitas corresponde à linguagem descrita pela MT; Transdutora: máquina para computar uma função. Aplica uma função sobre o conteúdo inicial da fita e o resultado produzido é lançado na própria fita.

Prof. Yandre Maldonado - 16 Representação de MT por diagrama: Semelhante à representação de AFD; Os rótulos das setas, que representam as funções de transição são de acordo com a seguinte legenda: AFND Indica estado inicial da MT S 0 S 1 S f (a 1, a 2,m) (a 1, a 2,m) Símbolo a ser lido Símbolo a ser gravado Sentido do movimento Estado final da MT

Exemplo 1: uma MT transdutora que devolve o complemento de uma entrada binária. Prof. Yandre Maldonado - 17 AFND (0,1,D) (1,1,E) (1,0,D) (0,0,E) S 0 S 1 S f (β, β,e) (,,D)

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 18 S 0 S 1 S f Unidade de Controle Estado atual: S 0 (β, β,e) (,,D) 1 0 1 0 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 19 S 0 S 1 S f (β, β,e) Unidade de Controle Estado atual: S 0 (,,D) 0 0 1 0 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 20 S 0 S 1 S f (β, β,e) Unidade de Controle Estado atual: S 0 (,,D) 0 1 1 0 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 21 S 0 S 1 S f (β, β,e) Unidade de Controle Estado atual: S 0 (,,D) 0 1 0 0 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 22 S 0 S 1 S f (β, β,e) Unidade de Controle Estado atual: S 0 (,,D) 0 1 0 1 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 23 S 0 S 1 S f (β, β,e) Unidade de Controle Estado atual: S 1 (,,D) 0 1 0 1 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 24 S 0 S 1 S f (β, β,e) Unidade de Controle Estado atual: S 1 (,,D) 0 1 0 1 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 25 S 0 S 1 S f (β, β,e) Unidade de Controle Estado atual: S 1 (,,D) 0 1 0 1 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 26 S 0 S 1 S f Unidade de Controle Estado atual: S 1 (β, β,e) (,,D) 0 1 0 1 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 27 Unidade de Controle Estado atual: S 1 S 0 S 1 S f (β, β,e) (,,D) 0 1 0 1 β β β β β β...

Processamento de 1010 : (0,1,D) (1,0,D) (1,1,E) (0,0,E) Prof. Yandre Maldonado - 28 S 0 S 1 S f Unidade de Controle Estado atual: S f (β, β,e) (,,D) * O reposicionamento da cabeça de leitura na sua posição original pode ser útil para realizar combinações de Máquinas de Turing. 0 1 0 1 β β β β β β...

Prof. Yandre Maldonado - 29 Exercício: Construa uma MT transdutora que receba como entrada um número binário e devolva o quádruplo do mesmo.

Máquina de Turing Prof. Yandre Maldonado - 30 Dada a sua natureza conceitual, a MT pode ser implementada de diversas formas; Os computadores modernos são MT (exceto pelo fato de terem memória finita) O processador corresponde à unidade de controle, cujos estados podem ser definidos pelos padrões de bits que podem ser associados aos registradores; A memória da máquina corresponde ao sistema de armazenamento em fita; Os padrões de bits (0 e 1) correspondem ao alfabeto da fita.

Prof. Yandre Maldonado - 31 Importância da MT para a Ciência da Computação: A potência computacional da MT é tão grande quanto a de qualquer sistema algorítmico; Se um problema não puder ser resolvido por uma MT, não poderá ser resolvido por qualquer sistema algorítmico; MT representa a fronteira teórica da capacidade computacional para as máquinas modernas reais.

Bibliografia Prof. Yandre Maldonado - 32 BROOKSHEAR, J. G. Ciência da Computação. Porto Alegre: Bookman, 2000; DELAMARO, Márcio Eduardo. Linguagens Formais e Autômatos. Maringá: UEM, 1998; HOPCROFT, J. E. & ULLMAN, J. D. Formal Languages and Their Relation to Automata. Addison- Wesley, 1969; MENEZES, Paulo Blauth. Linguagens Formais e Autômatos. Porto Alegre: Editora Sagra-Luzzatto, 1998; VIEIRA, Newton José. Introdução aos Fundamentos da Computação. São Paulo: Pioneira Thomson Learning, 2006.