TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Decidibilidade e Indecidibilidade
Programação em Java Prof. Maurício Braga
Software Básico Silvio Fernandes
Software Básico Silvio Fernandes Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 05:
Variantes de Máquina de Turing
Construção de Algoritmos 2
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Amintas engenharia.
INTRODUÇÃO À LÓGICA DIGITAL
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
MÁQUINAS UNIVERSAIS Fabrício Dias
Linguagem de Montagem Visão geral.
UNIVERSIDADE LUTERANA DO BRASIL COMUNIDADE EVANGÉLICA LUTERANA SÃO PAULO Reconhecida pela Portaria Ministerial nº 681 de 07/12/89 – DOU de 11/12/89 Campus.
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Máquina de.
Sistemas de Numeração O número é um conceito abstrato que representa a idéia de quantidade. Sistema de numeração é o conjunto de símbolos utilizados para.
Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado e Gomes da Costa
LFA - Ambiguidade - Equivalência de gramáticas - Hierarquia de Chomsky
Linguagens Formais e Autômatos
Prof. Yandre Maldonado e Gomes da Costa
TEORIA DA COMPUTAÇÃO Parte II  Linguagens Livres de Contexto
Software Básico Silvio Fernandes
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Metodologia Científica e Tecnológica
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Estruturas de repetição
Arquivos Extensíveis.
SSC SISTEMAS OPERACIONAIS I Aulas 6 – Escalonamento de Processos
Maria Aparecida Castro Livi
Introdução à Informática
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
00(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Organização da Memória Principal
Linguagens de Programação
Inteligência Artificial
Listas e algoritmos (em Scratch)
JAVA: Conceitos Iniciais
Derivada e integral de uma função
INTRODUÇÃO À ENGENHARIA
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Estrutura de dados, pseudocódigo
Erick Vagner Cabral Igor Lucena Vitor Baptista
Informática Teórica Engenharia da Computação
SIPSER – Capítulo 3: A tese de Church-Turing
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
Campus de Caraguatatuba Aula 12: Sistemas de Equações Lineares (2)
Inteligência Artificial
Fundamentos de Programação
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Vetor Prof. Guilherme Baião S. Silva Adaptações:
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Máquina de Turing Universal
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Construção e Análise de Algoritmos
Sistemas Operacionais Entrada e Saída – Aula II Prof. Galvez.
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Máquinas de Turing.
Complexidade computacional: Shannon e Turing
MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566
Tese de Church-Turing.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE
Aula 1 Teoria da Computação Máquina de Turing
1 Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens.
Transcrição da apresentação:

TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa

TEORIA DA COMPUTAÇÃO Máquina de Turing 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; 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. Prof. Yandre Maldonado - 2

TEORIA DA COMPUTAÇÃO Máquina de Turing - MT 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 - 3

TEORIA DA COMPUTAÇÃO 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; A fita extende-se infinitamente em ambas as extremidades e é dividida em células; Estas células podem armazenar qualquer elemento de um conjunto finito de símbolos, um alfabeto. Unidade de Controle ... Prof. Yandre Maldonado - 4

TEORIA DA COMPUTAÇÃO Funcionamento da Máquina de Turing A MT deve estar 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; O processamento cessa quando a máquina atinge um estado especial, chamado estado final; Prof. Yandre Maldonado - 5

TEORIA DA COMPUTAÇÃO Funcionamento da Máquina de Turing O processamento em uma MT consiste de 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, direita ou até mesmo permanecer na mesma posição; Mudar o estado corrente; A ação exata a ser executada é determinada por um programa que comunica à unidade de controle o que deve ser feito com base na configuração (estado + símbolo de entrada) em que a MT se encontra. Prof. Yandre Maldonado - 6

TEORIA DA COMPUTAÇÃO Máquina de Turing 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 - 7

TEORIA DA COMPUTAÇÃO 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. Prof. Yandre Maldonado - 8

TEORIA DA COMPUTAÇÃO Um exemplo específico de MT MT para incrementar um valor binário descrito na fita em uma unidade; Assumiremos que: O valor binário expresso na fita estará entre dois “*” Assim, o alfabeto da fita de entrada será {0, 1, *}; O cabeçote iniciará posicionado no “*” posicionado à direita do número binário expresso na fita; Os estados da máquina são: start, add, carry, no carry, overflow, return e halt; A máquina começará sempre no estado start; Prof. Yandre Maldonado - 9

TEORIA DA COMPUTAÇÃO Esta MT pode ser descrita pela seguinte tabela: Prof. Yandre Maldonado - 10

TEORIA DA COMPUTAÇÃO Apliquemos esta MT sobre a fita descrita a seguir: Observe que o valor descrito na fita é 101, que corresponde à 5 em decimal. ... * 1 Unidade de Controle Estado atual: start Prof. Yandre Maldonado - 11

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: add Prof. Yandre Maldonado - 12

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: carry Prof. Yandre Maldonado - 13

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: no carry Prof. Yandre Maldonado - 14

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: no carry Prof. Yandre Maldonado - 15

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: return Prof. Yandre Maldonado - 16

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: return Prof. Yandre Maldonado - 17

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: return Prof. Yandre Maldonado - 18

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: ... * 1 Unidade de Controle Estado atual: return Prof. Yandre Maldonado - 19

TEORIA DA COMPUTAÇÃO Processando a entrada “101” De acordo com a tabela assumimos a seguinte configuração: Halt (estado final): note que a composição da fita é “110”, que corresponde a 6 em decimal. ... * 1 Unidade de Controle Estado atual: halt Prof. Yandre Maldonado - 20

TEORIA DA COMPUTAÇÃO Atividade Prática Nº 1 Atividade Prática Nº 2 Aplique a MT descrita nos slides anteriores à seqüência “110”; Atividade Prática Nº 2 Descreva uma MT (em tabela) que substitua uma seqüência qualquer de 0’s e 1’s por um único 0; Assuma que a seqüência inicial estará limitada à direita por um *. Prof. Yandre Maldonado - 21