Preview only show first 10 pages with watermark. For full document please download

Turing

conteúdo: 1. Máquinas de Turing. 2. Ações de uma Máquina de Turing 3. Definição Formal de uma Máquina de Turing 4. Linguagens Decidíveis 5. Máquina de Turing para Computar Funções 6. Linguagens Formais e Modelos Computacionais 7. Tese de Church-Turing disciplina: fundamentos de engenharia de computação I ano:2005

   EMBED

  • Rating

  • Date

    December 2018
  • Size

    283.3KB
  • Views

    2,307
  • Categories


Share

Transcript

PCS 2214 - Fundamentos de Engenharia de Computação I 1o. Semestre 2005 PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 MÁQUINA DE TURING Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Professores: Anna Helena Reali Costa Jaime Simão Sichman Liria Matsumoto Sato Romero Tori Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 1 Conteúdo PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa 1. 2. 3. 4. 5. 6. Máquinas de Turing. Ações de uma Máquina de Turing Definição Formal de uma Máquina de Turing Linguagens Decidíveis Máquina de Turing para Computar Funções Linguagens Formais e Modelos Computacionais 7. Tese de Church-Turing Versão: 2.0 Data: 25/05/05 2 1 Máquina de Turing PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 3 • Máquina de Turing: modelo mais poderoso de computador, proposto pelo inglês Alan M. Turing em 1936. • Similar a um autômato finito, porém com uma memória ilimitada e irrestrita, constituindo um modelo mais preciso de um computador de propósito geral. • Uma Máquina de Turing computa uma entrada. Alan Mathison Turing (23/06/1912 – 07/06/1954) PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 4 Matemático, lógico, criptógrafo e herói de guerra britânico. Considerado o pai da ciência da computação. Fez previsões acerca da Inteligência Artificial e propôs o Teste de Turing, contribuindo para o debate sobre a consciência das máquinas e suas capacidades de pensar. Formalizou o conceito de algoritmo e computação com a Máquina de Turing, gerando sua versão da Tese de ChurchTuring. Responsável pela quebra do código alemão Enigma durante a II Guerra Mundial. Depois da guerra, projetou um pioneiro computador digital programável eletronicamente. Foi processado e condenado por ser homossexual (em 1952). Morreu envenenado (provável suicídio). O Turing Award foi criado em sua homenagem. 2 Máquina de Turing • A Máquina de Turing consiste em: – Uma fita infinita dividida em células, cada uma contendo um símbolo de um alfabeto finito disponível (a fita é também a memória externa); – Um cursor que efetua leitura e escrita em uma célula e se move para a direita ou esquerda; – Uma máquina de estado finito, que controla o cursor; PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa X X Y X Y X b b b Versão: 2.0 Data: 25/05/05 ... Máquina de Estado Finito 5 Computação em uma MT • PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 • • Módulo: Máquina de Turing • Autora: Anna H. R. Costa • Versão: 2.0 Data: 25/05/05 6 Inicialmente a fita contém somente a cadeia de entrada, com o cursor posicionado no início da cadeia (o resto está em branco b); Para armazenar algo, a máquina escreve na fita; Se tentar mover o cursor para a esquerda, estando na primeira célula da fita, o cursor não sai do lugar; As saídas aceita e rejeita são obtidas ao entrar nos estados de aceitação e rejeição; Se não entrar em um estado de aceitação ou rejeição, continuará sua computação para sempre (loop infinito). 3 MT como um Conjunto de Ações PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 • Uma MT pode ser descrita por um conjunto de ações. • Ações: (s, i, i’, s’, d) sendo: – – – – – s: estado atual da MEF (s ∈ S) i: símbolo que está sendo lido na fita (i ∈ Γ) i’: símbolo que é impresso na fita (i’∈ Γ) s’: novo estado da MEF (s’∈ S) d∈{D,E}, indicando que o cursor pode se mover para a Direita ou Esquerda. 7 Ações da Máquina de Turing PCS 2214 Fund. Eng. Comp. I • Exemplo: Para a máquina em (a), ao executar a ação (2,1,0,1,D), resulta em (b). 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 (a) Módulo: Máquina de Turing Versão: 2.0 Data: 25/05/05 ... 2 (b) Autora: Anna H. R. Costa 0 0 0 1 0 1 0 b b b 0 0 0 0 0 1 0 b b b ... 1 8 4 Ações da Máquina de Turing PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing • Ex: uma MT é definida pelo conjunto de quíntuplas: (0,0,1,0,D), (0,1,0,0,D), (0,b,1,1,E), (1,0,0,1,D), (1,1,0,1,D), (1,b,b,2,D). O estado de aceitação é 2. Verificar sua computação: Início: 0 1 1 0 b ... (0,0,1,0,D) ... (0,1,0,0,D) 0 Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 1 1 1 0 b 0 9 Ações da Máquina de Turing PCS 2214 Fund. Eng. Comp. I 1 0 1 0 b ... (0,1,0,0,D) ... (0,0,1,0,D) ... (0,b,1,1,E) 0 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 1 0 0 0 b 0 Módulo: Máquina de Turing 1 0 0 1 b Autora: Anna H. R. Costa 0 1 0 0 1 1 b ... Versão: 2.0 Data: 25/05/05 10 (1,1,0,1,D) 1 5 Ações da Máquina de Turing 1 0 0 0 1 b ... PCS 2214 Fund. Eng. Comp. I (1,1,0,1,D) 1 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 1 0 0 0 0 b ... Módulo: Máquina de Turing 1 0 0 0 0 b b ... (1,b,b,2,D) 1 2 Autora: Anna H. R. Costa Como a máquina pára no estado 2 (estado de aceitação), a fita terá: 1 0 0 0 0 b . . . Versão: 2.0 Data: 25/05/05 11 Ações da Máquina de Turing PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing • Exercício: Considere a seguinte MT: (0,0,0,1,D), (0,1,0,0,D), (0,b,b,0,D), (1,0,1,0,D), (1,1,1,0,E). Qual o comportamento da MT quando iniciada com: (a) ... 1 0 b 0 Autora: Anna H. R. Costa (b) 0 1 b ... 0 Versão: 2.0 Data: 25/05/05 (c) 12 0 0 b ... 0 6 Definição Formal da Máquina de Turing • Uma MT = (S, I, Γ, f, σ0, σA, σR) é: PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 13 – Um conjunto finito S de estados; – Um conjunto finito I de símbolos de entrada, b ∉ I; – Um conjunto finito Γ de símbolos da fita, com b ∈ Γ e I ⊆ Γ; – Uma função f: S × Γ → S × Γ × {E, D}, sendo D:direita, E:esquerda; – σ0 ∈ S é o estado inicial; – σA ∈ S é o estado de aceitação; – σR ∈ S é o estado de rejeição, com σA ≠ σR . • OBS: b: célula em branco da fita Diagrama de Transições de uma MT PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 14 • Seja M = (S, I, Γ, f, σ0, σA, σR) uma máquina de Turing. O diagrama de transições de M é um grafo orientado G com: – vértices membros de S. – uma seta indica o estado inicial σ0. – uma aresta orientada (σ1,σ2) existe em G se existir uma entrada de fita i∈Γ com f(σ1,i)=(σ2, j, m), sendo σ1,σ2∈S, j∈Γ e m indica o movimento do cursor, m∈{E, D}. Neste caso, a aresta (σ1,σ2) é rotulada com i → j, m, para i ≠ j, e i → m se i = j. 7 Diagrama de Transições de uma MT PCS 2214 Fund. Eng. Comp. I Desenhar o diagrama de transições da MT = {(0,0,1,0,D), (0,1,0,0,D),(0,b,1,1,E),(1,0,0,1,D),(1,1,0,1,D),(1,b,b,2,D)}. 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing 0→1,D 1→0,D b→1,E 1 0 0→D Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 b→D 1→0,D 2 15 Configuração de uma MT PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa • Conforme a MT efetua sua computação, mudanças ocorrem no estado atual, no conteúdo da fita e na posição do cursor. • Uma situação na computação pode ser representada por uma configuração. • A configuração 10q10 representa: 1 0 1 0 b ... q Versão: 2.0 Data: 25/05/05 16 8 Configuração de uma MT PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 • A configuração inicial de uma MT é σ0w, para a cadeia de entrada w. • O estado na configuração de aceitação é σA . • O estado na configuração de rejeição é σR . • Configurações de aceitação e rejeição são configurações de parada. 17 Aceitação de Cadeias na MT PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 • Uma MT aceita a entrada w se existir uma seqüência de configurações C1, C2,... Ck onde: – C1 é a configuração inicial da MT, σ0w; – Aplicando f a Ci , obtém-se Ci+1; – Ck é uma configuração de aceitação. • A coleção de cadeias que a Máquina de Turing M aceita é a linguagem de M, denotada por L(M). 18 9 Linguagem Decidível PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 • Ao iniciar uma MT com uma entrada, pode-se: aceitar a entrada ou não aceitar a entrada. • Uma MT pode não aceitar uma entrada: 1. ao entrar em σR e rejeitar a cadeia ou 2. ao entrar em loop infinito e não parar. – Módulo: Máquina de Turing Autora: Anna H. R. Costa • Pode ser muito difícil distinguir uma MT que entrou em loop infinito de outra que está demorando para computar. Uma MT decide uma linguagem quando pára para todas as entradas: – se w ∉ L(M), MT pára em σR ; – se w∈ L(M), MT pára em σA . Versão: 2.0 Data: 25/05/05 19 Exemplo de MT • PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 20 • Projetar uma Máquina de Turing M que decide a linguagem A={0n1n | n>0}. Algoritmo esquematizado de M: M=“para a cadeia de entrada w∈{0,1}*: 1. Se w = λ, rejeite. 2. Leia a célula corrente. Se 0, troque por X e vá para o passo 3. Se Y, procure o final da cadeia de Ys e aceite. Senão, rejeite. 3. Vá para a direita da fita, procurando o primeiro 1. Se encontrar, troque-o por Y e vá para o passo 4. Senão, rejeite. 4. Vá para a esquerda na fita, procurando por um X. Se encontrar, volte a avançar na fita e vá para o passo 2. Senão, rejeite.” 10 Exemplo de MT • Descrição formal de M = (S, I, Γ, f, σ0, σA, σR): PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 S = {A,B,C,D, σA, σR}, σ0 = A, I={0,1} , Γ= {0,1,X,Y,b}, f = diagrama de transições: Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 X→D 0→D A Módulo: Máquina de Turing Autora: Anna H. R. Costa Y→D σA b→D Y→D Versão: 2.0 Data: 25/05/05 21 D 0→X,D B 1→Y,E X→D, b→D Y→D 1→D, X→D, b→D 1→D, X→D, 0→D σR 0→E, C Y→E 1→D, b→D • Represente esta máquina M por um conjunto de ações. Máquina de Turing e Autômato Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing • Um autômato finito é um caso muito particular de MT, que sempre imprime o símbolo lido na célula, sempre se move para a direita e sempre pára ao ler o símbolo b (término da cadeia). • Exercício: descreva o AF abaixo como uma MT Autora: Anna H. R. Costa 1 P Versão: 2.0 Data: 25/05/05 1 0 0 I 22 11 Aplicações da Máquina de Turing PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 • Vimos que uma MT pode decidir uma linguagem. No entanto, uma MT também pode computar funções: Dada uma MT T e uma cadeia α, começamos com T na configuração inicial padrão em uma fita contendo α. Se T em algum momento pára deixando uma cadeia β na fita, podemos considerar β o valor de uma função avaliada em α. Assim, T(α) = β. O domínio da função T consiste de todas as cadeias α para as quais T, em algum momento, pára. 23 MT para Computar Funções PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 • Exemplo: Projetar uma MT que calcule a subtração x − y, com x > y. Considere x e y em representação unária, fornecidos na fita da seguinte forma: x – y b b b b b ........ Módulo: Máquina de Turing MEF Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 24 Ex: x=5, y=2 fita: 111111–111bbbb Resposta na fita: 1111bbbbb unária 1 11 111 1111 ..... decimal 0 1 2 3 ..... Modifique sua máquina para aceitar x ≥ y. 12 Variantes da MT PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 25 • Existem inúmeros modelos variantes de MT, porém todos se mostraram equivalentes em termos de poder de computação. • Muitos outros modelos de computação de propósito geral também foram propostos, alguns bem diferentes de MT. No entanto, todos podem simular uns aos outros e, portanto, também são equivalentes em termos de poder computacional! • Î Implicação importante: a classe de algoritmos que todos descrevem é única! Linguagens Formais e Modelos Computacionais PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 • Existem dispositivos computacionais com capacidades intermediárias entre autômatos finitos e máquinas de Turing, que reconhecem linguagens do tipo 2 (livres de contexto) e tipo 1(sensíveis ao contexto). • Os autômatos de pilha reconhecem linguagens do tipo 2 (livres de contexto). • Os autômatos limitados lineares reconhecem linguagens do tipo 1(sensíveis ao contexto). 26 13 Linguagens Formais e Modelos Computacionais PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 27 • Autômato de Pilha: – é uma máquina de Turing com restrição de manipulação na memória: os símbolos só podem ser empilhados ou desempilhados do topo de uma pilha (memória infinita, porém com restrição de uso). • Autômato Limitado Linear: – é uma máquina de Turing cujo cursor de leitura/gravação está limitado à parte da fita que contém a entrada original (memória finita, porém com as mesmas formas de uso que em uma MT). Linguagens Formais e Modelos Computacionais PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 Linguagem Gramática Disp. Computacional irrestrita irrestrita Máquina de Turing sensível ao contexto sensível ao contexto Autômato limitado linear livre de contexto livre de contexto Autômato de Pilha regular regular Autômato Finito 28 14 Algoritmos e MTs PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 • Noção intuitiva de algoritmo: é um conjunto finito de instruções que podem ser executadas mecanicamente em tempo finito para resolver algum problema. Com dados de entrada apropriados ao problema, o algoritmo tem que parar e produzir a resposta correta. • Portanto, qualquer função f computável por uma MT é uma função cujos valores podem ser encontrados por um algoritmo ou procedimento computacional. 29 Tese de Church-Turing PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa • Em 1936, com os artigos publicados por Turing e Alonzo Church, é que se definiu claramente o que seria um algoritmo: é uma MT que pára em respostas a todas as entradas. • Tese de Church-Turing: “Qualquer função de teoria dos números é computável por um algoritmo se, e somente se, é computável por uma Máquina de Turing.” Computável por um algoritmo tese Versão: 2.0 Data: 25/05/05 30 Computável por uma MT 15 Alonzo Church (14/06/1903 – 11/08/1995) PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 31 Matemático americano, responsável por alguns dos fundamentos da CC. Nasceu em Washington, DC, recebeu BA e PhD na Universidade de Princeton, USA, em 1924 e 1927, respectivamente. Tornouse professor em Princeton em 1929. Foi orientador de Stephen C. Kleene (19091994), entre outros. Também orientou Alan Turing de 1936 a1938. Seu trabalho mais conhecido é o desenvolvimento do cálculo-λ no seu famoso artigo de 1936, mostrando a existência de problemas indecidíveis. Ele e Turing mostraram que o cálculo-λ e a MT são equivalentes em capacidades, resultando na tese de Church-Turing. Como há disputa sobre “quem foi o primeiro”, esta tese também é conhecida como tese de Church e tese de Turing. Bibliografia PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2005 Módulo: Máquina de Turing Autora: Anna H. R. Costa Versão: 2.0 Data: 25/05/05 32 Principal: Sipser, M. Introduction to the Theory of Computation. PWS Publishing Company, Boston, MA. 1997. Auxiliares: Johnsonbaugh, R. Discrete Mathematics. Prentice Hall International, London, UK, 4th. Ed. 1997. Cap. 10. Gersting, J.L. Fundamentos Matemáticos para a Ciência da Computação. LTC Editora, Rio de Janeiro. 5a. Edição. 2004. Cap. 8. Lewis, H.R. and Papadimitriou, C.H. Elementos de Teoria da Computação. Bookman, Porto Alegre. 2a. Edição, 2004. 16