O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Turing e o problema da decisão

392 visualizações

Publicada em

Slides baseado no artigo do Turing e no Livro: "O homem que sabia demais"

Publicada em: Ciências
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Turing e o problema da decisão

  1. 1. Turing e o problema da decisão Baseado no artigo de Turing e na leitura do livro "O homem que sabia demais - Davi Lewit" Prof. Sérgio Souza Costa1 1Coordenação da Engenharia da Computação Universidade Federal do Maranhão GELF, 2017.1 Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 1 / 59
  2. 2. Conteúdo A vida e obra de Turing Entendendo o Entscheidungsproblem Artigo: On computable numbers ... Computable number Computing machines O problema da parada Usando o argumento de diagonalização Usando a maquina universal Application ao Entscheidungsproblem Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 2 / 59
  3. 3. Importante Os slides a seguir apresentam citações diretas ao artigo de Turing: On computable numbers, with an application to the Entscheidungsproblem[2] e recortes do livro de David Leavitt O Homem que sabia demais[1]. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 3 / 59
  4. 4. A vida e obra de Turing Alan Mathison Turing (1912-1954), conhecido como Alan Turing, nasceu na cidade de Paddington, na Inglaterra, no dia 23 de junho de 1912. Em 1931 Turing graduou-se em Matemática com honras, pela Universidade de Cambridge. Em 1936 publicou o artigo que demonstrava a impossibilidade do problema da decisão. Entre 1940 e 1941 trabalhou como funcionário do Governmente Code and Cypher School, e desenvolveu uma máquina capaz de decifrar o “Enigma”. Depois da guerra, trabalhou no Laboratório Nacional de Física do Reino Unido onde pesquisou e trabalhou no projeto para o programa de armazenamento de dados, o ACE. Em 1950 publicou "Computing Machinery and Intelligence"onde onde ele coloca a questão se as maquinas podem pensar e introduz o que ficou conhecido depois como Teste de Turing. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 4 / 59
  5. 5. A vida e obra de Turing Em 1952, Alan Turing enfrentou um processo criminal, pois na época, na Inglaterra, o homossexualismo era considerado crime. Foi destituído de seu posto no Bletchley Park, o centro inglês de descodificação, condenado e castrado quimicamente (com injeções de hormônios femininos). Com seu prestígio relegado, Alan Turing morreu aos 41 anos por intoxicação de cianeto. A princípio acreditou-se que teria sido suicídio, mas estudiosos concluíram que o envenenamento se deveu a remédios que ele compulsivamente tomava. Uma campanha de perdão ao matemático começou na internet, exigindo um pedido póstumo por parte do governo britânico. Em 2009, o então primeiro-ministro inglês Gordon Brown, se desculpou em nome do governo, e no dia 24 de dezembro de 2013, Turing foi perdoado postumamente da condenação por prática homossexual, pela rainha Elizabeth II. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 5 / 59
  6. 6. A vida e obra de Turing Sarcástico silogismo escrito por Turing em uma carta de 1952 a seu amigo Norman Routledge, mostrando uma preocupação que seu comportamento poderia levar a uma supressão de suas ideias; Turing believes machines think Turing lies with men Therefore machines do not think Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 6 / 59
  7. 7. Entendendo o Entscheidungsproblem Raimundus Lullus (1232-1316) imaginou um método geral de solução de problemas que ele chamou de ars magna . Leibniz ampliou o estudo de Lullus, tanto para buscar o estabelecimento de uma linguagem simbólica (a characteristica universalis ), com a qual podia efetivar a solução do problema. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 7 / 59
  8. 8. Entendendo o Entscheidungsproblem A ambição de Hilbert foi a de estabelecer e definir os fundamentos dos sistemas da matemática formal, "fundando"assim a metamatemática. Por exemplo, 2 + 3 = 5 é uma expressão matemática. Mas a afirmação “2 + 3 = 5 é uma fórmula aritmética” pertence à metamatemática, “porque caracteriza uma certa fileira de sinais matemáticos como sendo uma fórmula” (Ernest Nagel e James R. Newman). Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 8 / 59
  9. 9. Entendendo o Entscheidungsproblem Embora o artigo de 1931 de Gödel tenha estabelecido que o sistema axiomático corporificado na PM fosse indecidível e inconsistente, o Entscheidungsproblem, que Newman caracterizou como uma questão de encontrar um “processo mecânico” para testar a validade de uma afirmação, permaneceu não solucionado. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 9 / 59
  10. 10. Entendendo o Entscheidungsproblem Hilbert apresentou sua própria versão do Entscheidungsproblem . Nela, um capítulo intitulado “The Decision Problem” começa: “Das considerações da seção precedente emerge a importância fundamental de determinar se uma dada fórmula de um cálculo de predicados é ou não universalmente válida”. Vejamos a conjectura de Goldbach: haverá um algoritmo capaz de determinar se ele deriva de um dado conjunto particular de axiomas escritos na lógica de primeira ordem? Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 10 / 59
  11. 11. Entendendo o Entscheidungsproblem Em uma rememoração escrita depois da morte de Turing, Newman sintetizou a situação até o ponto em que Turing decidiu enfrentar o desafio final de Hilbert: O programa de decisão de Hilbert dos anos de 1920 e 1930 tinha como objetivo a descoberta de um processo geral, aplicável a qualquer teorema matemático expresso em completa forma simbólica, para decidir sobre a verdade ou a falsidade do teorema. Um primeiro golpe foi desferido quanto ao prospecto de encontrar uma nova pedra filosofal pelo teorema da incompletude de Gödel (1931), que tornou claro que a verdade ou a falsidade de A não poderia ser igualada à provabilidade de A ou não-A em qualquer base lógica finita, escolhida de uma vez por todas; mas ainda permanecia em princípio a possibilidade de encontrar um processo mecânico para decidir se A, ou não-A, ou nenhum, era formalmente provável em um dado sistema. Muitos estavam convencidos de que tal processo não era possível, mas Turing se dispôs a provar sua impossibilidade rigorosamente. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 11 / 59
  12. 12. Artigo: On computable numbers ... Para isso, Turing precisou criar a computação antes de apresentar o seu resultado. Podemos então considererar que este foi o primeiro artigo de computação. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 12 / 59
  13. 13. Entendendo o Entscheidungsproblem Definição Um sistema formal S é decidivel se para uma formula A qualquer de S podemos determinar se A é um teorema de S ou se A não é um teorema de S. O sistema é decidível ? ou seja, existe um método efetivo para decidirmos se uma formula A qualquer é ou não um teorema ? (Fonte: Um Preludio a Logica.) Mas o que seria um "método efetivo"? Church e Turing tiveram que definir esse conceito, antes de trabalhar no problema da decisão. Aqui veremos os resultados de Alan Turing. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 13 / 59
  14. 14. Artigo: On computable numbers ... No início do artigo, Turing cita os resultados de Alonzo Church: In a recent paper Alonzo Church has introduced an idea of "effective calculability", which is equivalent to my "computability", but is very differently defined. Church also reaches similar conclusions about the Entscheidungsproblem. The proof of equivalence between "computability"and "effective calculability"is outlined in an appendix to the present paper. PS: a discussão sobre esta prova, ficará para outro seminário :) Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 14 / 59
  15. 15. A estrutura do artigo O artigo foi dividido em três partes: 1 a primeira define a ideia do “computable number” e da “máquina de computação”; 2 a segunda apresenta o conceito de uma “máquina universal”; 3 a terceira emprega esses conceitos para provar que o Entscheidungsproblem é insolúvel Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 15 / 59
  16. 16. Computable number No artigo, Turing define números computáveis como os números reais cujas expressões decimais são calculáveis por meios finitos. "The "computable"numbers may be described briefly as the real numbers whose expressions as a decimal are calculable by finite means. Although the subject of this paper is ostensibly the computable numbers. it is almost equally easy to define and investigate computable functions of an integral variable or a real or computable variable, computable predicates, and so forth. The fundamental problems involved are, however, the same in each case, and I have chosen the computable numbers for explicit treatment as involving the least cumbrous technique." Ou ainda, um número é computável se seu decimal pode ser registrado por uma máquina. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 16 / 59
  17. 17. Computing machines Então, ele precisou definir o que poderia entender por meios finitos. "We have said that the computable numbers are those whose decimals are calculable by finite means. This requires rather more explicit definition" Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 17 / 59
  18. 18. Computing machines Então, ele utiliza uma analogia, com os computadores ou computadoras da época, que eram aqueles que realizam os calculos. We may compare a man in the process of computing a real number to a − machine which is only capable of a finite number of conditions q1,q2...qR; which will be called "m − configurations". E logo a seguir, ele descreve a sua máquina. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 18 / 59
  19. 19. Computing machines Correndo por ela há uma fita dividida em células, e cada uma delas pode ser marcada com um símbolo. A qualquer momento apenas uma célula pode “estar na máquina”. Essa célula é a “célula registrada”, enquanto o símbolo que ele traz é o “símbolo registrado”. O símbolo registrado “é o único que a máquina, por assim dizer, ‘percebe diretamente’. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 19 / 59
  20. 20. Computing machines Uma visão artistica da máquina de Turing. Fonte: http://numeroimaginario.com.br/2015/12/27/teoria-da-recursao- maquinas-de-turing-e-computabilidade-de-funcoes/ Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 20 / 59
  21. 21. Computing machines: Definições Definição Configuração da máquina, é determinado por sua configuração-m (ou estado) e pelo símbolo registrado, e define o comportamento da máquina a cada momento. Possíveis comportamentos: Escrever um símbolo numa célula em branco, Apagar um símbolo já escrito lá, Mover a fita um espaço para a esquerda Mover a fita um espaço para a direita. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 21 / 59
  22. 22. Computing machines: Tabela de comportamento Definição Tabela de comportamento, a sequência das configurações-m de acordo com as quais a máquina pode executar seu algoritmo particular. A tabela é então o algoritmo, a "receita". Abaixo é apresentado um exemplo de uma parte de uma tabela: Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 22 / 59
  23. 23. Computing machines Em qualquer estágio do movimento da máquina Turing define: Definição Configuração completa naquele estágio como o número na célula registrada, a sequência completa de todos os símbolos na fita e a configuração-m. Definição Movimentos da máquina como as mudanças da máquina e da fita entre configurações completas sucessivas. Embora essa máquina seja agora comumente chamada de “máquina de Turing”, o próprio Turing a chamava de “máquina automática”, ou “máquina-a”. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 23 / 59
  24. 24. Computing machines - Um exemplo de processo efetivo Uma máquina de Turing não equivale a um computador, mas similar uma calculadora, ou seja, não é programável. "Um dos principais pontos de Turing é que para qualquer processo algorítmico, não importa quão complexo, existe uma máquina de Turing para a qual uma lista específica de comportamento vai afetar aquele algoritmo. Cada uma destas máquinas de Turing seria definida por sua lista de comportamento, cuja complexidade depende da complexidade do algoritmo em questão. Para alguns algoritmos, a lista de comportamento pode exigir dúzias de configurações-m e símbolos." Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 24 / 59
  25. 25. Computing machines Em “Computable Numbers”, Turing dá dois exemplos de máquinas-a. A primeira máquina-a que Turing dá como exemplo é uma máquina muito simples projetada para gerar a sequência infinita 010101... Uma máquina de Turing ligeiramente mais complicada imprime a sequência 001011011101111011111. Lida em notação unária, a sequência gerada pela segunda máquina de Turing é simplesmente a sequência dos números naturais, com cada número separado dos anteriores e posteriores por um 0. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 25 / 59
  26. 26. Computing machines - Exemplo A máquina projetada para gerar a sequência infinita 0 1 0 1 0 1 ... Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 26 / 59
  27. 27. Computing machines - Descrição padrão das máquinas-a Turing agora propõe atribuir números às configurações-m , chamando-as q1 , q2 , q3 , q4. Além disso, números são atribuídos aos símbolos, que serão chamados de S1 , S2 , S3 , S4. Em particular, S0 vai significar um espaço em branco, S1 vai significar um 0, e S2 vai significar um 1. A lista agora pode ser reescrita da seguinte maneira: Configuração-m Simbolo Ação Nova Configuração-m q1 s0 P s1, R q2 q2 s0 P s0, R q3 q3 s0 P s2, R q4 q4 s0 P s0, R q1 Uma simulação dessa máquina de Turing: http://morphett.info/ turing/turing.html?6c03f88352fb8cd4bca75eb7fde0308a/ Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 27 / 59
  28. 28. Computing machines Os Ps agora podem ser removidos, e a sequência inteira reescrita em uma única linha será: q1S0S1Rq2;q2S0S0Rq3;q3S0S2Rq4;q4S0S0Rq1; Turing em seguida atribui a cada símbolo uma letra de acordo com o seguinte esquema: qi vai ser substituído pela letra D seguida de i repetições da letra A, Sj será substituído pela letra D seguida de j repetições da letra C. Direita e esquerda continuam sendo escritas como R e L, “não mover” é escrito com um N. A sequência agora fica: DADDCRDAA; DAADDRDAAA; DAAADCCRDAAAA; DAAAADDRDA; Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 28 / 59
  29. 29. Computing machines: Número descritivo Atribuindo um numeral a cada letra – 1 para A, 2 para C, 3 para D, 4 para L, 5 para R, 6 para N e 7 para ; – ele é capaz de representar essa descrição padrão como uma sequência de numerais. Os números inteiros representados por esses numerais ele chama de número descritivo da máquina (em inglês, DN, description number ). O número descritivo da máquina anterior seria: 31332531173113353111731113322531111731111335317 Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 29 / 59
  30. 30. Computing machines Turing agora introduziu e explicou a ideia de uma máquina-a e apresentou um sistema para codificar sua lista de instruções. Ele também estabeleceu que para cada procedimento algorítmico, uma máquina-a deve, por definição, existir. De maneira mais importante: “To each computable sequence there corresponds at least one description number, while to no description number does there correspond more than one computable sequence. The computable sequences and numbers are therefore”. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 30 / 59
  31. 31. Computing machines A singularidade dos números descritivos até nos permitiria listá-los, por assim dizer, alfabeticamente, começando com 0 e continuando até o infinito. Então podemos assim perguntar: Cada máquina, contudo, gera uma sequência computável válida? A resposta é não, em programação dizemos que um algoritmo pode entrar em "loop infinito". Turing chama máquinas desse tipo de circulares. Por outro lado, uma máquina não-circular é aquela capaz de gerar uma sequência computável. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 31 / 59
  32. 32. Computing machines Um exemplo de um código em Python, que devido a um erro na quinta linha nunca irá parar. 1n = 10 2f a t = 1 3while n > 0: 4f a t = f a t ∗ n 5n = n + 1 6p r i n t ( f a t ) Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 32 / 59
  33. 33. Computing machines - O problema da parada "Mas seria possível alguém projetar uma máquina de Turing que analisasse qualquer outra máquina de Turing e decidisse se aquela era circular ou não-circular? Essa questão – conhecida como o problema da parada – está na essência do artigo de Turing e leva diretamente à sua análise do Entscheidungsproblem." Porém antes é preciso definir o conceito de máquina Universal. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 33 / 59
  34. 34. Computing machines - A máquina universal Turing avança a ideia de uma “máquina universal”: uma máquina de Turing que é capaz de imitar o comportamento de qualquer outra máquina de Turing, não importa qual algoritmo esteja projetada para realizar. It is possible to invent a single machine which can be used to compute any computable sequence. If this machine M is supplied with a tape on the beginning of which is written the S.D of some computing machine M then U will compute the same sequence as M. Nesse ponto, Turing desenvolve a idéia que será depois usado por Von Neumman na construção do primeiro computador programável, que tratava os programas como dados. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 34 / 59
  35. 35. Computing machines - A máquina universal A fim de operar como uma máquina de Turing, tudo o que a máquina universal requer é seu número descritivo. Algumas dessas máquinas seriam, pela definição de Turing, circulares, porque nunca produziriam números computáveis ou sequências computáveis. Mas outras seriam não-circulares. Turing define então: número satisfatório como o número descritivo de uma máquina não-circular. número insatisfatório como o número descritivo de uma máquina circular. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 35 / 59
  36. 36. Aplicação ao Entscheidungsproblem Agora Turing pode começar seu ataque ao Entscheidungsproblem. A pergunta que ele faz é: Existe um algoritmo (e então uma máquina de Turing) que pode agir sobre o número descritivo de outra máquina de Turing, a fim de decidir se aquele número é satisfatório? Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 36 / 59
  37. 37. Aplicação ao Entscheidungsproblem Em teoria, uma máquina dessas (vamos chamá-la de D) seria capaz de analisar o número descritivo de uma outra máquina de Turing, M, e então chegar a uma conclusão a respeito de sua viabilidade. Se acontecesse de M ser uma máquina circular, D terminaria suas computações imprimindo um 1 Se acontecesse de M ser uma máquina não-circular, então D terminaria imprimindo um 0. Mas será que uma máquina assim poderia existir? Turing coloca essa indagação tomando o clássico enfoque da reductio ad absurdum. Isto é, ele começa com uma suposição: digamos que D, de fato, existe. E usa o metodo de diagonalização Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 37 / 59
  38. 38. Aplicação ao Entscheidungsproblem - Argumento de diagonalização de Cantor Cantor provou por um argumento que o tamanho do infinito dos naturais era mesmo dos racionais: Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 38 / 59
  39. 39. Aplicação ao Entscheidungsproblem - Argumento de diagonalização de Cantor Usando o mesmo argumento, provou que os numeros reais não eram enumeráveis, ou seja, o seu infinito era maior que o infinito dos reais. Se para cada um destes numéros, adicionar 1, irá gerar um novo número que não estará na lista. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 39 / 59
  40. 40. Aplicação ao Entscheidungsproblem - Argumento de diagonalização Turing usou o seguinte método: Coloca-se D para receber uma sequencia de maquinas de Turing, identificando aquelas que são não-circulares. Para cada máquina não-circular, gera-se a sequencia computável. Em seguida prepara-se uma lista destas sequências computáveis geradas pelas máquinas não-circulares, da primeira até a última. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 40 / 59
  41. 41. Aplicação ao Entscheidungsproblem - Argumento de diagonalização Por exemplo, podemos considerar a seguinte lista completamente arbitrária de sequências computáveis. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 41 / 59
  42. 42. Aplicação ao Entscheidungsproblem - Argumento de diagonalização Nós agora geramos uma nova sequência traçando uma faixa diagonal no diagrama – ou seja, tomando o primeiro número da primeira sequência, o segundo número da segunda sequência etc. 1 3 0 4 8 96 17 343 . . . Agora adicionamos 1 a cada um dos números dessa sequência. A nova sequência é 2 4 1 5 9 97 18 344 . . . Agora adicionamos 1 a cada um dos números dessa sequência. A nova sequência é: Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 42 / 59
  43. 43. Aplicação ao Entscheidungsproblem - Argumento de diagonalização Como o método diagonal é apenas o tipo de processo algorítmico para o qual se poderia projetar uma máquina de Turing, essa é obviamente uma sequência computável. Contudo, a lista da qual ela foi derivada inclui todas as sequências que podem ser computadas por máquinas não-circulares de acordo com a máquina D – isto é, todas as sequências computáveis –, e essa lista não pode incluir nossa nova sequência, pois nossa sequência difere da primeira sequência na lista em sua primeira célula, da segunda em sua segunda etc. Uma contradição surgiu. Portanto, não pode existir uma máquina D. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 43 / 59
  44. 44. Aplicação ao Entscheidungsproblem - Argumento de diagonalização Como Turing escreve, essa prova, “embora perfeitamente sensata, tem a desvantagem de poder deixar o leitor com o sentimento de que ‘deve haver alguma coisa errada. "This proof, although perfectly sound, has the disadvantage that it may leave the reader with a feeling that "there must be something wrong". The proof which I shall give has not this disadvantage, and gives a certain insight into the significance of the idea "circle-free Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 44 / 59
  45. 45. Aplicação ao Entscheidungsproblem - Usando a máquina universal Turing apresenta o seguinte argumento: Imaginemos que podemos de alguma forma ligar a máquina que decide, D, à máquina universal, U, criando dessa forma uma nova máquina híbrida, DU. Nessa máquina nós alimentamos o número descritivo da máquina arbitrária de Turing, M. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 45 / 59
  46. 46. Aplicação ao Entscheidungsproblem - Usando a máquina universal Funcionamento da DU: Se M é circular, o processo para, já que não haveria sentido em alimentar o número descritivo de uma máquina circular em U, o que replicaria sua circularidade Se, contudo, M se revela não-circular, U pode ser utilizada para simular sua ação algorítmica Observem que pelo fato de DU incluir esse mecanismo de “verificação”, por meio do qual ela pode ter certeza de que U é alimentada apenas com os números descritivos de máquina não-circulares, a própria DU é não-circular; isto é, em nenhuma circunstância ela vai desviar para a circularidade. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 46 / 59
  47. 47. Aplicação ao Entscheidungsproblem - Usando a máquina universal Agora pode-se colocar a seguinte pergunta: Agora, o que ocorre se alimentamos o número descritivo de DU na própria DU ? Pelo argumento anterior, DU é não-circular. Portanto ela passa o número descritivo para U, que simula a ação de DU. Então, ela vai passar o número descritivo de DU em D, que então o passa para U, que então simula a ação de DU ... e assim por diante. Em outras palavras, DU, quando alimentada com seu próprio número descritivo, funciona para sempre. DU é circular. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 47 / 59
  48. 48. Aplicação ao Entscheidungsproblem - Usando a máquina universal Como é impossível que DU seja as duas coisas, Turing escreve: "Thus both verdicts are impossible and we conclude that there can be no machine." Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 48 / 59
  49. 49. Aplicação ao Entscheidungsproblem - Usando a máquina universal A próxima manobra de Turing em sua caminhada rumo a uma solução para o Entscheidungsproblem. Ele mostra que se podemos responder a uma simples indagação: Existe uma máquina E que, quando alimentada com o número descritivo de uma máquina M arbitrária de Turing, vai estabelecer se M sempre imprime um dado símbolo? Então podemos responder a uma indagação mais complexa: Existe uma máquina que pode estabelecer se uma dada fórmula lógica é ou não provável? Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 49 / 59
  50. 50. Aplicação ao Entscheidungsproblem - Usando a máquina universal Ele começa, uma vez mais, fazendo uma suposição reductio ad absurdum. Alimentamos E com o número descritivo de M e ela responde nos dizendo se M imprime ou não imprime um 0 em algum ponto de sua ação. Por exemplo, se M imprime a seguinte sequencia: A B A 0 1 A A B 0 0 1 0 A B . . . Então, E vai nos dizer, sim, M algumas vezes imprime 0s. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 50 / 59
  51. 51. Aplicação ao Entscheidungsproblem - Usando a máquina universal Em seguida ele constroi uma variante de M – M1 – que imprime a mesma sequência que M, mas substitui o primeiro 0 por outro símbolo; por exemplo %. Então, M1 imprime a sequência: A B A % 1 A A B 0 0 1 0 A B . . . Da mesma forma construímos uma máquina, M2 , que substitui os primeiros dois 0s na sequência que M imprime por %s: A B A % 1 A A B % 0 1 0 A B . . . E assim para M3,M4,. . . Mn. . . Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 51 / 59
  52. 52. Aplicação ao Entscheidungsproblem - Usando a máquina universal Ele entao constrói uma outra máquina – H – que, quando alimentada com a descrição padrão de M, gera sucessivamente as descrições padrão de M,M1,M2,. . . Mn Combinando H com nossa indagação original “existe uma máquina que imprima um 0?”, E, obtemos uma nova máquina, HE. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 52 / 59
  53. 53. Aplicação ao Entscheidungsproblem - Usando a máquina universal Funcionamento de HE: Quando alimentada com o número descritivo de M, HE primeiro assume seu modo H e escreve a descrição padrão de M. Mudando para o modo E, HE então determina, a partir daquela descrição padrão, se M vai imprimir um 0. Se a resposta é que M nunca imprime um 0, HE imprime 0. HE então assume o mesmo procedimento para M1,M2,. . . Mn, em cada caso imprimindo 0 se a máquina mostra que nunca imprime um 0. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 53 / 59
  54. 54. Aplicação ao Entscheidungsproblem - Usando a máquina universal Devemos lembrar que HE vai imprimir 0 apenas: Nos casos em que M nunca imprime zeros (isto é, 1111111 . . . ) Ou quando M imprime um número finito de 0s (por exemplo, 00011111111 . . . ), caso em que, em algum ponto na interação de M1, M2, . . . Mn, nós obteremos uma sequência ao longo das linhas de %%%1111111. Se, por outro lado, M imprime um número infinito de 0s, HE não imprimirá 0. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 54 / 59
  55. 55. Aplicação ao Entscheidungsproblem - Usando a máquina universal Considerando o argumento anterior, existiria um método para descobrir se M imprime um numero finito ou infinito de 0s.Um processo similar nos permitiria determinar se M imprime um número finito ou infinito de 1s. Turing então escreve: By a combination of these processes we have a process for determining whether. M prints an infinity of figures, i.e. we have a process for determining whether M is circle-free. There can therefore be no machine E. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 55 / 59
  56. 56. Aplicação ao Entscheidungsproblem - Usando a máquina universal Agora Turing é capaz, finalmente, de estabelecer a insolubilidade do Entscheidungsproblem. Ele começa mostrando como descrever aspectos simples de M utilizando afirmações lógicas e depois codificando essas afirmações em fórmulas lógicas. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 56 / 59
  57. 57. Aplicação ao Entscheidungsproblem - Usando a máquina universal Turing pode agora escrever a fórmula lógica Un (M) e então mostrar que Un (M) significa: “Tem a interpretação ‘em alguma completa configuração de M, S1a aparece na fita’”. a S1 era 0 por definição Segue-se que “se existe um método geral para determinar se Un (M) é provável, então existe um método geral para determinar se M sempre imprime um 0”. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 57 / 59
  58. 58. Aplicação ao Entscheidungsproblem - Usando a máquina universal Anteriormente Turing explicou que em seu uso, a expressão “existe um processo geral para determinar...” é equivalente à expressão “existe uma máquina que vai determinar...”. Podemos, portanto, concluir que: Se existe uma máquina para solucionar o Entscheidungsproblem, então também deve existir uma máquina E. Mas como sabemos que a máquina E não pode existir, podemos concluir que uma solução para o Entscheidungsproblem também não pode existir. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 58 / 59
  59. 59. References I D. Leavitt. The Man Who Knew Too Much: Alan Turing and the Invention of the Computer (Great Discoveries). WW Norton & Company, 2006. A. M. Turing. On computable numbers, with an application to the entscheidungsproblem. Proceedings of the London mathematical society, 2(1):230–265, 1937. Prof. Sérgio Souza Costa ( Coordenação da Engenharia da Computação Universidade Federal do Maranhão )Turing e o problema da decisão GELF, 2017.1 59 / 59

×