turing e o problema da decisão

59
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 Costa 1 1 Coordenaçã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

Upload: sergio-souza-costa

Post on 22-Jan-2018

135 views

Category:

Science


0 download

TRANSCRIPT

Page 1: Turing e o problema da decisão

Turing e o problema da decisãoBaseado 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çãoUniversidade 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

Page 2: Turing e o problema da decisão

Conteúdo

A vida e obra de TuringEntendendo o EntscheidungsproblemArtigo: On computable numbers ...

Computable numberComputing machinesO problema da parada

Usando o argumento de diagonalizaçãoUsando 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

Page 3: Turing e o problema da decisão

Importante

Os slides a seguir apresentam citações diretas ao artigo de Turing: Oncomputable numbers, with an application to the Entscheidungsproblem[2] erecortes 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

Page 4: Turing e o problema da decisão

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 de1912.Em 1931 Turing graduou-se em Matemática com honras, pelaUniversidade de Cambridge.Em 1936 publicou o artigo que demonstrava a impossibilidade doproblema da decisão.Entre 1940 e 1941 trabalhou como funcionário do Governmente Codeand Cypher School, e desenvolveu uma máquina capaz de decifrar o“Enigma”.Depois da guerra, trabalhou no Laboratório Nacional de Física doReino Unido onde pesquisou e trabalhou no projeto para o programade armazenamento de dados, o ACE.Em 1950 publicou "Computing Machinery and Intelligence"onde ondeele coloca a questão se as maquinas podem pensar e introduz o queficou 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

Page 5: Turing e o problema da decisão

A vida e obra de Turing

Em 1952, Alan Turing enfrentou um processo criminal, pois na época,na Inglaterra, o homossexualismo era considerado crime. Foidestituído de seu posto no Bletchley Park, o centro inglês dedescodificação, condenado e castrado quimicamente (com injeções dehormônios femininos).Com seu prestígio relegado, Alan Turing morreu aos 41 anos porintoxicação de cianeto. A princípio acreditou-se que teria sido suicídio,mas estudiosos concluíram que o envenenamento se deveu a remédiosque 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. Em2009, o então primeiro-ministro inglês Gordon Brown, se desculpou emnome do governo, e no dia 24 de dezembro de 2013, Turing foiperdoado postumamente da condenação por prática homossexual, pelarainha 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

Page 6: Turing e o problema da decisão

A vida e obra de Turing

Sarcástico silogismo escrito por Turing em uma carta de 1952 a seu amigoNorman Routledge, mostrando uma preocupação que seu comportamentopoderia levar a uma supressão de suas ideias;

Turing believes machines thinkTuring lies with menTherefore 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

Page 7: Turing e o problema da decisão

Entendendo o Entscheidungsproblem

Raimundus Lullus (1232-1316) imaginou um método geral de solução deproblemas que ele chamou de ars magna . Leibniz ampliou o estudo deLullus, tanto para buscar o estabelecimento de uma linguagem simbólica (acharacteristica universalis ), com a qual podia efetivar a solução doproblema.

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

Page 8: Turing e o problema da decisão

Entendendo o Entscheidungsproblem

A ambição de Hilbert foi a de estabelecer e definir os fundamentos dossistemas 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, “porquecaracteriza uma certa fileira de sinais matemáticos como sendo umafó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

Page 9: Turing e o problema da decisão

Entendendo o Entscheidungsproblem

Embora o artigo de 1931 de Gödel tenha estabelecido que o sistemaaxiomático corporificado na PM fosse indecidível e inconsistente, oEntscheidungsproblem, que Newman caracterizou como uma questão deencontrar um “processo mecânico” para testar a validade de umaafirmaçã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

Page 10: Turing e o problema da decisão

Entendendo o Entscheidungsproblem

Hilbert apresentou sua própria versão do Entscheidungsproblem . Nela, umcapítulo intitulado “The Decision Problem” começa:

“Das considerações da seção precedente emerge a importância fundamentalde determinar se uma dada fórmula de um cálculo de predicados é ou nãouniversalmente válida”.

Vejamos a conjectura de Goldbach: haverá um algoritmo capaz dedeterminar se ele deriva de um dado conjunto particular de axiomas escritosna 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

Page 11: Turing e o problema da decisão

Entendendo o Entscheidungsproblem

Em uma rememoração escrita depois da morte de Turing, Newmansintetizou a situação até o ponto em que Turing decidiu enfrentar o desafiofinal de Hilbert:

O programa de decisão de Hilbert dos anos de 1920 e 1930 tinha comoobjetivo a descoberta de um processo geral, aplicável a qualquer teoremamatemático expresso em completa forma simbólica, para decidir sobre averdade ou a falsidade do teorema. Um primeiro golpe foi desferido quantoao prospecto de encontrar uma nova pedra filosofal pelo teorema daincompletude de Gödel (1931), que tornou claro que a verdade ou afalsidade de A não poderia ser igualada à provabilidade de A ou não-A emqualquer base lógica finita, escolhida de uma vez por todas; mas aindapermanecia em princípio a possibilidade de encontrar um processo mecânicopara decidir se A, ou não-A, ou nenhum, era formalmente provável em umdado sistema. Muitos estavam convencidos de que tal processo não erapossí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

Page 12: Turing e o problema da decisão

Artigo: On computable numbers ...

Para isso, Turing precisou criar a computação antes de apresentar o seuresultado. Podemos então considererar que este foi o primeiro artigo decomputaçã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

Page 13: Turing e o problema da decisão

Entendendo o Entscheidungsproblem

DefiniçãoUm sistema formal S é decidivel se para uma formula A qualquer de Spodemos determinar se A é um teorema de S ou se A não é um teoremade S.

O sistema é decidível ? ou seja, existe um método efetivo para decidirmosse uma formula A qualquer é ou não um teorema ? (Fonte: Um Preludio aLogica.)

Mas o que seria um "método efetivo"?

Church e Turing tiveram que definir esse conceito, antes de trabalhar noproblema 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

Page 14: Turing e o problema da decisão

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 "effectivecalculability", which is equivalent to my "computability", but is verydifferently defined. Church also reaches similar conclusions about theEntscheidungsproblem. The proof of equivalence between"computability"and "effective calculability"is outlined in an appendix to thepresent 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

Page 15: Turing e o problema da decisão

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 decomputaçã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

Page 16: Turing e o problema da decisão

Computable number

No artigo, Turing define números computáveis como os números reais cujasexpressões decimais são calculáveis por meios finitos.

"The "computable"numbers may be described briefly as the real numberswhose expressions as a decimal are calculable by finite means. Althoughthe subject of this paper is ostensibly the computable numbers. it is almostequally easy to define and investigate computable functions of an integralvariable or a real or computable variable, computable predicates, and soforth. The fundamental problems involved are, however, the same in eachcase, and I have chosen the computable numbers for explicit treatment asinvolving the least cumbrous technique."

Ou ainda, um número é computável se seu decimal pode ser registrado poruma 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

Page 17: Turing e o problema da decisão

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 arecalculable 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

Page 18: Turing e o problema da decisão

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 toa −machine which is only capable of a finite number of conditionsq1, 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

Page 19: Turing e o problema da decisão

Computing machines

Correndo por ela há uma fita dividida em células, e cada uma delas podeser marcada com um símbolo. A qualquer momento apenas uma célulapode “estar na máquina”. Essa célula é a “célula registrada”, enquanto osí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

Page 20: Turing e o problema da decisão

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

Page 21: Turing e o problema da decisão

Computing machines: Definições

DefiniçãoConfiguração da máquina, é determinado por sua configuração-m (ouestado) e pelo símbolo registrado, e define o comportamento da máquina acada 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 esquerdaMover 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

Page 22: Turing e o problema da decisão

Computing machines: Tabela de comportamento

DefiniçãoTabela de comportamento, a sequência das configurações-m de acordo comas quais a máquina pode executar seu algoritmo particular.

A tabela é então o algoritmo, a "receita". Abaixo é apresentado umexemplo 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

Page 23: Turing e o problema da decisão

Computing machines

Em qualquer estágio do movimento da máquina Turing define:

DefiniçãoConfiguraçã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çãoMovimentos da máquina como as mudanças da máquina e da fita entreconfigurações completas sucessivas.

Embora essa máquina seja agora comumente chamada de “máquina deTuring”, 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

Page 24: Turing e o problema da decisão

Computing machines - Um exemplo de processo efetivo

Uma máquina de Turing não equivale a um computador, mas similar umacalculadora, ou seja, não é programável.

"Um dos principais pontos de Turing é que para qualquer processoalgorítmico, não importa quão complexo, existe uma máquina de Turingpara a qual uma lista específica de comportamento vai afetar aquelealgoritmo. Cada uma destas máquinas de Turing seria definida por sua listade comportamento, cuja complexidade depende da complexidade doalgoritmo em questão. Para alguns algoritmos, a lista de comportamentopode 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

Page 25: Turing e o problema da decisão

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áquinamuito simples projetada para gerar a sequência infinita 010101...Uma máquina de Turing ligeiramente mais complicada imprime asequência 001011011101111011111. Lida em notação unária, asequência gerada pela segunda máquina de Turing é simplesmente asequência dos números naturais, com cada número separado dosanteriores 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

Page 26: Turing e o problema da decisão

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

Page 27: Turing e o problema da decisão

Computing machines - Descrição padrão das máquinas-a

Turing agora propõe atribuir números às configurações-m , chamando-asq1 , q2 , q3 , q4. Além disso, números são atribuídos aos símbolos, queserão chamados de S1 , S2 , S3 , S4. Em particular, S0 vai significar umespaço em branco, S1 vai significar um 0, e S2 vai significar um 1. A listaagora pode ser reescrita da seguinte maneira:

Configuração-m Simbolo Ação Nova Configuração-mq1 s0 P s1, R q2q2 s0 P s0, R q3q3 s0 P s2, R q4q4 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

Page 28: Turing e o problema da decisão

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 oseguinte 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

Page 29: Turing e o problema da decisão

Computing machines: Número descritivo

Atribuindo um numeral a cada letra – 1 para A, 2 para C, 3 para D, 4para L, 5 para R, 6 para N e 7 para ; – ele é capaz de representar essadescrição padrão como uma sequência de numerais.Os números inteiros representados por esses numerais ele chama denú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

Page 30: Turing e o problema da decisão

Computing machines

Turing agora introduziu e explicou a ideia de uma máquina-a e apresentouum sistema para codificar sua lista de instruções. Ele também estabeleceuque para cada procedimento algorítmico, uma máquina-a deve, pordefinição, existir. De maneira mais importante:

“To each computable sequence there corresponds at least one descriptionnumber, while to no description number does there correspond more thanone computable sequence. The computable sequences and numbers aretherefore”.

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

Page 31: Turing e o problema da decisão

Computing machines

A singularidade dos números descritivos até nos permitiria listá-los, porassim dizer, alfabeticamente, começando com 0 e continuando até oinfinito. 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 entrarem "loop infinito".

Turing chama máquinas desse tipo de circulares. Por outro lado, umamá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

Page 32: Turing e o problema da decisão

Computing machines

Um exemplo de um código em Python, que devido a um erro na quintalinha nunca irá parar.

1n = 102f a t = 13wh i l e n > 0 :4f a t = f a t ∗ n5n = n + 16p 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

Page 33: Turing e o problema da decisão

Computing machines - O problema da parada

"Mas seria possível alguém projetar uma máquina de Turing que analisassequalquer outra máquina de Turing e decidisse se aquela era circular ounã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 doEntscheidungsproblem."

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

Page 34: Turing e o problema da decisão

Computing machines - A máquina universal

Turing avança a ideia de uma “máquina universal”: uma máquina de Turingque é capaz de imitar o comportamento de qualquer outra máquina deTuring, não importa qual algoritmo esteja projetada para realizar.

It is possible to invent a single machine which can be used to compute anycomputable sequence. If this machine M is supplied with a tape on thebeginning of which is written the S.D of some computing machine M thenU will compute the same sequence as M.

Nesse ponto, Turing desenvolve a idéia que será depois usado por VonNeumman na construção do primeiro computador programável, que tratavaos 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

Page 35: Turing e o problema da decisão

Computing machines - A máquina universal

A fim de operar como uma máquina de Turing, tudo o que a máquinauniversal requer é seu número descritivo. Algumas dessas máquinas seriam,pela definição de Turing, circulares, porque nunca produziriam númeroscomputá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áquinanão-circular.número insatisfatório como o número descritivo de uma máquinacircular.

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

Page 36: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem

Agora Turing pode começar seu ataque ao Entscheidungsproblem. Apergunta que ele faz é:

Existe um algoritmo (e então uma máquina de Turing) que pode agir sobreo número descritivo de outra máquina de Turing, a fim de decidir se aquelenú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

Page 37: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem

Em teoria, uma máquina dessas (vamos chamá-la de D) seria capaz deanalisar o número descritivo de uma outra máquina de Turing, M, e entãochegar a uma conclusão a respeito de sua viabilidade.

Se acontecesse de M ser uma máquina circular, D terminaria suascomputações imprimindo um 1Se acontecesse de M ser uma máquina não-circular, então Dterminaria imprimindo um 0.

Mas será que uma máquina assim poderia existir? Turing coloca essaindagação tomando o clássico enfoque da reductio ad absurdum. Isto é, elecomeça com uma suposição: digamos que D, de fato, existe. E usa ometodo 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

Page 38: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Argumento dediagonalização de Cantor

Cantor provou por um argumento que o tamanho do infinito dos naturaisera 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

Page 39: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Argumento dediagonalização de Cantor

Usando o mesmoargumento, provouque os numeros reaisnão eramenumeráveis, ou seja,o seu infinito eramaior que o infinitodos reais. Se paracada um destesnuméros, adicionar 1,irá gerar um novonúmero que nãoestará 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

Page 40: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Argumento dediagonalizaçã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áveisgeradas 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

Page 41: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Argumento dediagonalização

Por exemplo, podemos considerar a seguinte lista completamente arbitráriade 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

Page 42: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Argumento dediagonalização

Nós agora geramos uma nova sequência traçando uma faixa diagonal nodiagrama – ou seja, tomando o primeiro número da primeira sequência, osegundo 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 novasequência é

2∣4∣1∣5∣9∣97∣18∣344∣. . .Agora adicionamos 1 a cada um dos números dessa sequência. A novasequê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

Page 43: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Argumento dediagonalização

Como o método diagonal é apenas o tipo de processo algorítmico para oqual se poderia projetar uma máquina de Turing, essa é obviamente umasequência computável. Contudo, a lista da qual ela foi derivada inclui todasas sequências que podem ser computadas por máquinas não-circulares deacordo com a máquina D – isto é, todas as sequências computáveis –, eessa lista não pode incluir nossa nova sequência, pois nossa sequênciadifere da primeira sequência na lista em sua primeira célula, da segunda emsua segunda etc. Uma contradição surgiu. Portanto, não pode existir umamá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

Page 44: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Argumento dediagonalização

Como Turing escreve, essa prova, “embora perfeitamente sensata, tem adesvantagem de poder deixar o leitor com o sentimento de que ‘deve haveralguma coisa errada.

"This proof, although perfectly sound, has the disadvantage that it mayleave the reader with a feeling that "there must be something wrong". Theproof which I shall give has not this disadvantage, and gives a certaininsight 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

Page 45: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Turing apresenta o seguinte argumento:Imaginemos que podemos de alguma forma ligar a máquina quedecide, D, à máquina universal, U, criando dessa forma uma novamáquina híbrida, DU.Nessa máquina nós alimentamos o número descritivo da máquinaarbitrá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

Page 46: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Funcionamento da DU:Se M é circular, o processo para, já que não haveria sentido emalimentar o número descritivo de uma máquina circular em U, o quereplicaria sua circularidadeSe, contudo, M se revela não-circular, U pode ser utilizada parasimular sua ação algorítmica

Observem que pelo fato de DU incluir esse mecanismo de “verificação”, pormeio do qual ela pode ter certeza de que U é alimentada apenas com osnú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

Page 47: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Agora pode-se colocar a seguinte pergunta:

Agora, o que ocorre se alimentamos o número descritivo de DU na própriaDU ?

Pelo argumento anterior, DU é não-circular. Portanto ela passa onú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 opassa 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úmerodescritivo, 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

Page 48: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Como é impossível que DU seja as duas coisas, Turing escreve:

"Thus both verdicts are impossible and we conclude that there can be nomachine."

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

Page 49: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

A próxima manobra de Turing em sua caminhada rumo a uma solução parao Entscheidungsproblem. Ele mostra que se podemos responder a umasimples indagação:

Existe uma máquina E que, quando alimentada com o número descritivo deuma máquina M arbitrária de Turing, vai estabelecer se M sempre imprimeum 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 é ounã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

Page 50: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

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 dizendose 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

Page 51: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Em seguida ele constroi uma variante de M – M1 – que imprime a mesmasequência que M, mas substitui o primeiro 0 por outro símbolo; porexemplo %. 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 osprimeiros 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

Page 52: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Ele entao constrói uma outra máquina – H – que, quando alimentada coma descrição padrão de M, gera sucessivamente as descrições padrão deM,M1,M2, . . .Mn

Combinando H com nossa indagação original “existe uma máquina queimprima 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

Page 53: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Funcionamento de HE:Quando alimentada com o número descritivo de M, HE primeiroassume seu modo H e escreve a descrição padrão de M.Mudando para o modo E, HE então determina, a partir daqueladescriçã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, emcada 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

Page 54: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

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

Page 55: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Considerando o argumento anterior, existiria um método para descobrir seM imprime um numero finito ou infinito de 0s.Um processo similar nospermitiria 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 determiningwhether. M prints an infinity of figures, i.e. we have a process fordetermining 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

Page 56: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Agora Turing é capaz, finalmente, de estabelecer a insolubilidade doEntscheidungsproblem. Ele começa mostrando como descrever aspectossimples de M utilizando afirmações lógicas e depois codificando essasafirmaçõ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

Page 57: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Turing pode agora escrever a fórmula lógica Un (M) e então mostrar queUn (M) significa:

“Tem a interpretação ‘em alguma completa configuração de M, S1a aparecena fita’ ”.

aS1 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 sempreimprime 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

Page 58: Turing e o problema da decisão

Aplicação ao Entscheidungsproblem - Usando a máquinauniversal

Anteriormente Turing explicou que em seu uso, a expressão “existe umprocesso geral para determinar...” é equivalente à expressão “existe umamáquina que vai determinar...”. Podemos, portanto, concluir que:

Se existe uma máquina para solucionar o Entscheidungsproblem, entãotambém deve existir uma máquina E. Mas como sabemos que a máquina Enão pode existir, podemos concluir que uma solução para oEntscheidungsproblem 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

Page 59: Turing e o problema da decisão

References I

D. Leavitt.The Man Who Knew Too Much: Alan Turing and the Invention of theComputer (Great Discoveries).WW Norton & Company, 2006.

A. M. Turing.On computable numbers, with an application to theentscheidungsproblem.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