SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência ArtificialNEO Empresarial
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
Aula 01 - História da Computação
Aula 01 - História da ComputaçãoAula 01 - História da Computação
Aula 01 - História da ComputaçãoSuzana Viana Mota
 
A História e Evolução dos Computadores
A História e Evolução dos ComputadoresA História e Evolução dos Computadores
A História e Evolução dos ComputadoresNascimentoeli
 
1º geração dos computadores
1º geração dos computadores1º geração dos computadores
1º geração dos computadoresLagratinhoemTic
 
Seminários G5 - 5ª geração
Seminários G5 - 5ª geraçãoSeminários G5 - 5ª geração
Seminários G5 - 5ª geraçãoAnderson Andrade
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Internet das Coisas e o Futuro da Internet
Internet das Coisas e o Futuro da InternetInternet das Coisas e o Futuro da Internet
Internet das Coisas e o Futuro da InternetAndre Peres
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Processadores 8080, 8086, 8088, core i
Processadores 8080, 8086, 8088, core iProcessadores 8080, 8086, 8088, core i
Processadores 8080, 8086, 8088, core iJoão Machado
 
A história dos computadores
A história dos computadoresA história dos computadores
A história dos computadoresAndré Dias
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Wellington Oliveira
 
Radiação de Corpo Negro
Radiação de Corpo NegroRadiação de Corpo Negro
Radiação de Corpo NegroPibid Física
 
A história e evolução do computador
A história e evolução do computadorA história e evolução do computador
A história e evolução do computadorxixpto
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 

Was ist angesagt? (20)

Aula 01 - IPD
Aula 01 - IPDAula 01 - IPD
Aula 01 - IPD
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Aula 01 - História da Computação
Aula 01 - História da ComputaçãoAula 01 - História da Computação
Aula 01 - História da Computação
 
A História e Evolução dos Computadores
A História e Evolução dos ComputadoresA História e Evolução dos Computadores
A História e Evolução dos Computadores
 
1º geração dos computadores
1º geração dos computadores1º geração dos computadores
1º geração dos computadores
 
Trabalho gui
Trabalho guiTrabalho gui
Trabalho gui
 
Aula 01 A história da informática
Aula 01   A história da informáticaAula 01   A história da informática
Aula 01 A história da informática
 
Seminários G5 - 5ª geração
Seminários G5 - 5ª geraçãoSeminários G5 - 5ª geração
Seminários G5 - 5ª geração
 
Ética hacker
Ética hackerÉtica hacker
Ética hacker
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Internet das Coisas e o Futuro da Internet
Internet das Coisas e o Futuro da InternetInternet das Coisas e o Futuro da Internet
Internet das Coisas e o Futuro da Internet
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Processadores 8080, 8086, 8088, core i
Processadores 8080, 8086, 8088, core iProcessadores 8080, 8086, 8088, core i
Processadores 8080, 8086, 8088, core i
 
A história dos computadores
A história dos computadoresA história dos computadores
A história dos computadores
 
Leis de Newton
Leis de NewtonLeis de Newton
Leis de Newton
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
 
Radiação de Corpo Negro
Radiação de Corpo NegroRadiação de Corpo Negro
Radiação de Corpo Negro
 
A história e evolução do computador
A história e evolução do computadorA história e evolução do computador
A história e evolução do computador
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 

Ähnlich wie Turing prova insolubilidade do Entscheidungsproblem

Slides turing-abr-2012
Slides turing-abr-2012Slides turing-abr-2012
Slides turing-abr-2012Ruy De Queiroz
 
slide_AlanTuring.pdf
slide_AlanTuring.pdfslide_AlanTuring.pdf
slide_AlanTuring.pdfNobruApelao2
 
Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring Renato Roque
 
Deus ex machina - apresentação sobre artigo
Deus ex machina - apresentação sobre artigo Deus ex machina - apresentação sobre artigo
Deus ex machina - apresentação sobre artigo Renato Roque
 
Algoritmo Logica de programação básico
Algoritmo Logica de programação básicoAlgoritmo Logica de programação básico
Algoritmo Logica de programação básicoFelipe Figueiredo
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmosJocelma Rios
 
Teoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSTeoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSLuciana Roncarati
 
Teorias da Aleatoriedade
Teorias da AleatoriedadeTeorias da Aleatoriedade
Teorias da AleatoriedadeCarlos Campani
 
Defesa de Memorial para progressão para Professor Titular (Classe E) 2015
Defesa de Memorial para progressão para Professor Titular (Classe E) 2015Defesa de Memorial para progressão para Professor Titular (Classe E) 2015
Defesa de Memorial para progressão para Professor Titular (Classe E) 2015Ruy De Queiroz
 
Equações Diferenciais Ordinárias na Aplicação de Circuitos Elétricos
Equações Diferenciais Ordinárias na Aplicação de Circuitos ElétricosEquações Diferenciais Ordinárias na Aplicação de Circuitos Elétricos
Equações Diferenciais Ordinárias na Aplicação de Circuitos ElétricosPantanal Editoral
 

Ähnlich wie Turing prova insolubilidade do Entscheidungsproblem (13)

Slides turing-abr-2012
Slides turing-abr-2012Slides turing-abr-2012
Slides turing-abr-2012
 
slide_AlanTuring.pdf
slide_AlanTuring.pdfslide_AlanTuring.pdf
slide_AlanTuring.pdf
 
Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring
 
Turing seminar-2012
Turing seminar-2012Turing seminar-2012
Turing seminar-2012
 
Deus ex machina - apresentação sobre artigo
Deus ex machina - apresentação sobre artigo Deus ex machina - apresentação sobre artigo
Deus ex machina - apresentação sobre artigo
 
Ia filosofia
Ia filosofiaIa filosofia
Ia filosofia
 
Algoritmo Logica de programação básico
Algoritmo Logica de programação básicoAlgoritmo Logica de programação básico
Algoritmo Logica de programação básico
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmos
 
Teoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSTeoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGS
 
Trabalho Lógica fuzzy fabrizio-etemb
Trabalho Lógica fuzzy  fabrizio-etembTrabalho Lógica fuzzy  fabrizio-etemb
Trabalho Lógica fuzzy fabrizio-etemb
 
Teorias da Aleatoriedade
Teorias da AleatoriedadeTeorias da Aleatoriedade
Teorias da Aleatoriedade
 
Defesa de Memorial para progressão para Professor Titular (Classe E) 2015
Defesa de Memorial para progressão para Professor Titular (Classe E) 2015Defesa de Memorial para progressão para Professor Titular (Classe E) 2015
Defesa de Memorial para progressão para Professor Titular (Classe E) 2015
 
Equações Diferenciais Ordinárias na Aplicação de Circuitos Elétricos
Equações Diferenciais Ordinárias na Aplicação de Circuitos ElétricosEquações Diferenciais Ordinárias na Aplicação de Circuitos Elétricos
Equações Diferenciais Ordinárias na Aplicação de Circuitos Elétricos
 

Mehr von Sérgio Souza Costa

Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasSérgio Souza Costa
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computadorSérgio Souza Costa
 
Introdução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosIntrodução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosSérgio Souza Costa
 
Minicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosMinicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosSérgio Souza Costa
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoSérgio Souza Costa
 
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagemBanco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagemSérgio Souza Costa
 
Banco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de aberturaBanco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de aberturaSérgio Souza Costa
 
Linguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - IntroduçãoLinguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - IntroduçãoSérgio Souza Costa
 
Gödel’s incompleteness theorems
Gödel’s incompleteness theoremsGödel’s incompleteness theorems
Gödel’s incompleteness theoremsSérgio Souza Costa
 
DBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsDBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsSérgio Souza Costa
 
Conceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosConceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosSérgio Souza Costa
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Sérgio Souza Costa
 
Relações (composição e agregação)
Relações (composição e agregação)Relações (composição e agregação)
Relações (composição e agregação)Sérgio Souza Costa
 

Mehr von Sérgio Souza Costa (20)

Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicas
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computador
 
Introdução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosIntrodução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmos
 
Minicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosMinicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficos
 
Modelagem de dados geográficos
Modelagem de dados geográficosModelagem de dados geográficos
Modelagem de dados geográficos
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de Encerramento
 
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagemBanco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
 
Banco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de aberturaBanco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de abertura
 
Linguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - IntroduçãoLinguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - Introdução
 
Gödel’s incompleteness theorems
Gödel’s incompleteness theoremsGödel’s incompleteness theorems
Gödel’s incompleteness theorems
 
DBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsDBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cells
 
Conceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosConceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetos
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)
 
Herança e Encapsulamento
Herança e EncapsulamentoHerança e Encapsulamento
Herança e Encapsulamento
 
Relações (composição e agregação)
Relações (composição e agregação)Relações (composição e agregação)
Relações (composição e agregação)
 
Abstract classes and interfaces
Abstract classes and interfacesAbstract classes and interfaces
Abstract classes and interfaces
 
Introdução ao Prolog
Introdução ao PrologIntrodução ao Prolog
Introdução ao Prolog
 
Heap - Python
Heap - PythonHeap - Python
Heap - Python
 
Paradigma lógico
Paradigma lógicoParadigma lógico
Paradigma lógico
 
Contextualizando o moodle
Contextualizando o moodleContextualizando o moodle
Contextualizando o moodle
 

Turing prova insolubilidade do Entscheidungsproblem

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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