Buscar

Teoria da Computação - Introducao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Teoria da Computação
Introdução e roteiro histórico
Prof. Walace de Almeida Rodrigues
Instituto Federal de Minas Gerais - Campus Formiga
22 de outubro de 2015
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 1 / 49
Sumário
1 Introdução
Importância
Motivação
Método de estudo
Roteiro
2 Os precursores
Leibniz
Boole
Hilbert
3 Kurt Gödel
Teorema da Incompletude
4 Alan Turing
Máquina de Turing
Tese de Church-Turing
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 2 / 49
1. Introdução
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 3 / 49
1.1. Importância
Conhecer as idéias que conduziram o avanço da computação
— O entendimento da teoria passa pelo conhecimento das idéias
— Conhecer a história da computação é remédio contra o dogmatismo
— Aumento da consciência da importância do trabalho de pesquisa
Um cientista da computação conhece a história da computação
— O trabalho do cientista exige o conhecimento da ciência
— O conhecimento da ciência exige o conhecimento da história
— Não se entende o desenvolvimento da computação sem sua história
Criar condições para avaliar o que esperar no futuro
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 4 / 49
1.2. Motivação
1 Necessidade de discernir os fundamentos
— O horizonte da computação tornou-se extenso e complexo
— Hoje existe a dificuldade de se ter uma visão global da área
— Risco de falta de profundidade e visão utilitarista da computação
— Risco de incompreensão dos conceitos fundamentais da área
Importante: evitar a tentação de se imaginar um curso
de ciência da computação com pouca fundamentação
teórica e/ou baseado em produtos e tecnologias
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 5 / 49
1.2. Motivação
2 Incentivo à educação para qualidade de software
— Importância da especificação formal na automatização
— Necessidade de treinamento formal para cientistas da computação
— Desenvolvimento da área da lógica matemática
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 6 / 49
1.2. Motivação
3 Tornar claros e ligar os fatos conceituais
— Conhecer como nasceram as idéias na ciência da computação
— Avaliar a qualidade do progresso atual
— Acompanhar novas tendências
4 Revalorizar o fator humano
— Não se deixar iludir pelo destaque das demandas imediatas
— Perceber que o avanço atual resultou do esforço de várias áreas
— Compreender a conexão entre computação e matemática
— Entender melhor o papel social da computação
— Entender melhor para onde aponta o futuro da computação
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 7 / 49
1.3. Método de estudo
Não está no nosso escopo discutir filosofia da história
Abraçamos um paradigma que destaca dois eixos principais:
Eixo morfológico: o que é um fato histórico? (quais são?)
Eixo teleológico: como se conectam e para onde apontam?
Queremos conhecer o passado para:
Decorar nomes e datas (não)
Conhecer as idéias e fundamentos (sim) X
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 8 / 49
1.4. Roteiro
Fiz um recorte destacando alguns personagens e fatos conceituais
Precursores:
G.W.Leibniz (1716 d)
⇒ Tentativa de formalizar as discussões filosóficas
⇒ Busca da linguagem universal para calcular raciocínios
G.Boole (1864 d)
⇒ Criação do primeiro sistema formal para o raciocínio lógico
⇒ Fundador da lógica simbólica
Hilbert (1943 d)
⇒ Esforço para unificar formalmente a matemática e a lógica
⇒ Busca por um sistema formal completo e consistente
Gödel (1978 d) — Teorema da Incompletude
Turing (1954 d) — Máquina de Turing
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 9 / 49
2. Os precursores
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 10 / 49
2.1. Leibniz
Gottfried Wilhelm Leibniz (1646 – 1716), filósofo e matemático alemão
Queria estabelecer as bases para formalizar as discussões filosóficas
Imaginava substituir o “diálogo filosófico” por um “cálculo filosófico”
Projeto de criação de uma linguagem universal para mapear o raciocínio
Plano apoiado em dois pilares:
1 Simbolismo
2 Cálculo formal
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 11 / 49
2.1. Leibniz – uma linguagem para o raciocínio
1 Simbolismo
⇒ Idéia chave: estabelecer um “alfabeto do pensamento”
⇒ Representar as noções e princípios com símbolos
⇒ Representar os movimentos do raciocínio com operadores
⇒ Criou a lógica moderna (embrião)
2 Cálculo formal:
⇒ Idéia chave: todo raciocínio é um tipo de cálculo
“Quando surge a controvérsia, não é mais necessário
disputarem dois filósofos, mas dois computistas”
⇒ Possibilidade de calcular raciocínios: idéia para um computador
⇒ Leibniz tentou construir um computador mecânico
⇒ Criou o cálculo infinitesimal (em paralelo com Isaac Newton)
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 12 / 49
2.1. Leibniz – algumas de suas contribuições
Sua notação para o cálculo integral era melhor que a de Newton
Sua notação para a lógica se aproximou da lógica simbólica atual
Pensou o sistema binário para uso na aritmética
Demonstrou a vantagem do sistema binário para as máquinas
Em 1673, desenvolveu uma calculadora com engrenagens dentadas
capaz de computar as 4 operações básicas e raiz quadrada
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 13 / 49
2.2. Boole
George Boole (1815 – 1864), matemático autodidata inglês
Desenvolveu o primeiro sistema lógico formal para o raciocínio lógico
Seu formalismo não exigia noções primitivas anteriores
– a validade de um cálculo não dependia do significado dos símbolos
– ela dependia somente da exclusiva combinação entre os símbolos
Baseou seu sistema em duas quantidades: “universo” ou “nada”
Acreditava que sua álgebra sistematizava todo raciocínio humano
Acreditava ter demonstrado a unidade entre matemática e lógica
Boole é considerado por muitos o pai da lógica simbólica
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 14 / 49
2.2. Boole – dificuldades e avanços posteriores
Problema: a lógica booleana estava limitada ao raciocínio proposicional
Charles Sanders Peirce (1914 d):
— filósofo americano, fundador do Pragmatismo e da Semiótica
— introduziu os quantificadores existenciais
Edmund Gustav Albrecht Husserl (1938 d):
— filósofo alemão, pai da Fenomenologia
— demonstrou que a razão humana é mais complicada e ambígua,
difícil de ser conceituada e poderosa que a lógica formal
Friedrich Ludwig Gottlob Frege (1925 d):
— filósofo alemão que reavivou o projeto de Leibniz
— avançou o estudo e a formalização da semântica
— tentou demostrar que toda a matemática é pura lógica
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 15 / 49
2.3. Hilbert
David Hilbert (1862 – 1943), matemático alemão
Procurou avançar e colocar em prática as idéias de Frege
Sua obra marca uma guinada no conceito de lógica: os objetos da
investigação lógica já não são mais as fórmulas, são as regras de
operação pelas quais elas se formam e deduzem −→ algorimos
Fermenta o idéia de demonstrar/formalizar toda a matemática
Surgem as três grandes escolas da lógica:
1 Logicista
2 Intuicionista
3 Formalista
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 16 / 49
2.3. Hilbert – as três escolas da lógica
1 Escola logicista:
— existem relações que o matemático deve descobrir, não inventar
— essa escola recebeu muitas críticas por “platonismo”
2 Escola intuicionista:— aceita provar uma teoria recorrendo a verdades evidentes de outras
— essa escola foi muito criticada por ser “demasiado subjetiva”
3 Formalista:
— foi a escola que mais progrediu, desenvolvendo novos métodos
— redefiniu axioma de “verdade evidente” para “ponto de partida”
— Hilbert e John von Newmann, seu aluno, eram formalistas
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 17 / 49
2.3. Hilbert – a escola formalista
Como formalista, Hilbert acreditava que:
— toda matemática poderia ser provada a partir de uns axiomas básicos
— a matemática seria capaz de responder qualquer pergunta
— a matemática devia ser totalmente livre de inconsistências
Com Hilbert se inicia o tempo da Metamatemática e da Metalógica
Florece a filosofia da lógica:
— as discussões sobre o valor e os limites da axiomatização
— o nexo entre lógica e matemática
— o problema da verdade (Hilbert, Gödel, Tarski)
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 18 / 49
2.3. Hilbert – formalismo e semântica
O problema da verdade:
— verdade significa correspondência com a realidade:
“o céu é azul” é verdade se e somente se o céu for azul
— qual o significado de verdade para axiomas “ponto de partida”?
Alfred Tarski (1983 d), filósofo e matemático polonês:
Paradoxo do mentiroso:
“a proposição S não é verdadeira” (V ou F?)
— verdade é satisfazer uma série de condições pré-estabelecidas
— Tarski estabeleceu as condições chamadas de “Esquema T”
— formalmente, verdade é satisfazer o “Esquema T”
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 19 / 49
2.3. Hilbert – o tempo dos algoritmos
Em 1900, Hilbert apresentou no Congresso de Matemática de Paris
os famosos 23 problemas não-resolvidos da matemática que ele
considerava de imediata importância
Procurou unir os esforços de toda comunidade matemática para
ajudá-lo no projeto de formalizar toda a matemática, estabelecer
suas bases e eliminar as inconsistências
Exemplo de problema proposto por Hilbert
Problema 10: problema de decisão
Descreva um algoritmo que determine se uma dada
equação diofantina do tipo P(u1,u2, ...,un) = 0, onde P
é um polinômio com coeficientes inteiros, tem ou não
tem solução dentro do conjunto dos inteiros
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 20 / 49
2.3. Hilbert – algoritmos e computadores
Em 1928, Hilbert lançou novo desafio no Congresso Internacional de
Bologna:
É possível construir uma “máquina de gerar enunciados
matemáticos verdadeiros” que, uma vez alimentada com
um enunciado matemático, poderia dizer se esse enun-
ciado é falso ou verdadeiro?
O contexto científico da época agora está preparado para Gödel
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 21 / 49
3. Kurt Gödel
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 22 / 49
3.1. Contexto histórico
Kurt Friedrish Gödel (1906 – 1978), matemático tcheco, nat. americano
Em 1929, tese de doutorado: “Sobre a completude do cálculo lógico”
Demonstra que se uma teoria admite um modelo não-contraditório,
então ela é não-contraditória
As questões de Hilbert estavam na moda...
Gödel era um formalista, mas desconfiava que a
formalização completa desejada por Hilbert seria
impossível
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 23 / 49
3.2. Definições de Completude
Existem duas definições de completude:
Completude semântica — um sistema de axiomas é completo
quando todos os teoremas verdadeiros da teoria podem ser
deduzidos a partir dele
Completude sintática — um sistema de axiomas é completo
quando toda tentativa de lhe adicionar um novo axioma
(independente dos anteriores) resulta em contradição
Gödel se interessou pela completude semântica
Estratégia de Gödel para checar a completude de um sistema:
passo 1 construir um modelo para o sistema
passo 2 provar que esse modelo não é contraditório
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 24 / 49
Kurt Gödel
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 25 / 49
3.3. Teorema da Incompletude
Questão:
É possível formalizar toda a matemática até torná-la um
sistema com completude semântica?
Suspeita: Esse objetivo é impossível
Problema: É possível provar isso?
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 26 / 49
3.3.1. Roteiro para Demonstração [TeoInc]
1 Reduzir o problema inicial
Sistema consistente × Sistema inconsistente
O sistema abaixo é consistente ou inconsistente?
x +2y = 13
3x −y = −11
É consistente se tem pelo menos uma solução.
É inconsistente se não tem solução.
Se o modelo formal para a matemática admitir proposições
inconsistentes então ele não terá completude semântica
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 27 / 49
3.3.1. Roteiro para Demonstração [TeoInc]
1 Reduzir o problema inicial
Metamatemática
— Conceito formulado por Jacques Herbrand em 1930
— Estuda a linguagem e os métodos formais de prova
— Para Hilbert era a prova matemática através da lógica
Proposição Campo
“5 = 2+3” matemática
“a equação “5 = 2+3” é verdadeira” metamatemática
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 28 / 49
3.3.1. Roteiro para Demonstração [TeoInc]
1 Reduzir o problema inicial
Aritmética
— Ramo da matemática que estuda os números e
as operações básicas realizadas com eles
— Hilbert mostrou que a aritmética é a base para
toda a matemática
— Toda proposição matematica pode ser mapeada
para a aritmética
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 29 / 49
3.3.1. Roteiro para Demonstração [TeoInc]
1 Reduzir o problema inicial
Plano de trabalho:
Passo 1: construir um modelo formal completo
mapear a matemática para a aritmética (Hilbert)
mapear a metamatemática para a aritmética
criar uma linguagem para proposições aritméticas
Passo 2: mostrar nele a existência de indecidíveis
construir uma proposição indecidível
O sistema matemático deve ser fechado =⇒ A linguagem deve ser aritmética
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 30 / 49
3.3.1. Roteiro para Demonstração [TeoInc]
2 Construção de uma linguagem formal com as características:
ser capaz de descrever proposições matemáticas
ser capaz de descrever proposições metamatemáticas
ser ela mesma explicada através da aritmética
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 31 / 49
3.3.2. Os números de Gödel [TeoInc]
Criação da linguagem:
1 associar um número natural para cada símbolo da linguagem
Sinal Número de Gödel Significado
∼ 1 não
∨ 2 ou
r 3 se...então
$ 4 existe
= 5 igual
0 6 zero
s 7 sucessor
( 8 pontuação
) 9 pontuação
, 10 pontuação
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 32 / 49
3.3.2. Os números de Gödel [TeoInc]
Criação da linguagem:
2 associar um primo > 10 para cada variável independente
Sinal Número de Gödel Significado
x 11 variável independente
y 13 variável independente
z 17 variável independente
...
...
...
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 33 / 49
3.3.2. Os números de Gödel [TeoInc]
Criação da linguagem:
3 numerar as fórmulas com os quadrados dos primos > 10
Sinal Número de Gödel Significado
p 112 fórmula matemática
q 132 fórmula matemática
r 172 fórmula matemática
...
...
...
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 34 / 49
3.3.2. Os números de Gödel [TeoInc]
Criaçãoda linguagem:
4 outras noções também podem ser numeradas:
– numerar propriedades com os cubos dos primos > 10
– etc
5 Utilizando números de Gödel é possível associar de
maneira única um número a uma sentença matemática
Como?
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 35 / 49
3.3.2. Os números de Gödel [TeoInc]
Mapeamento das sentenças:
Exemplo:
“Existe um x que é o sucessor de y”
⇓
($x)(x = sy)
⇓
( $ x ) ( x = x y )
8 4 11 9 8 11 5 7 13 9
⇓
28∗34∗511∗79∗118∗1311∗175∗197∗2313∗299
⇓
Número de Gödel
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 36 / 49
3.3.2. Os números de Gödel [TeoInc]
Mapeamento das sentenças:
Sentença para número:
— representa cada símbolo por seu número equivalente
— usa cada número como expoente dos primos em sequência
— obtém o Número de Gödel como resultado da soma
Número para sentença:
— fatorar o número
— verificar se a fatoração obtém todos os primos em sequência
— obtém a sentença como resultado da fatoração
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 37 / 49
3.3.3. A existência de indecidíveis [TeoInc]
Construção de um indecidível:
Sentenças do tipo pr p representam provas matemáticas com
significado “a fórmula p é uma demonstração da fórmula q”
Seja Dem(x,y) uma sentença com significado “o conjunto de
fórmulas cujo número de Gödel é x é uma prova da fórmula
cujo número de Gödel é y”
A sentença ($y)(x)∼Dem(x,y) representa um paradoxo, ela diz:
— existe uma sentença cujo número de Gödel é y
— para qualquer fórmula x, vale ∼Dem(x,y)
— logo, não existe nenhuma fórmula x que demonstre y
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 38 / 49
3.3.3. A existência de indecidíveis [TeoInc]
Demonstração da existência de um indecidível:
Seja G(y) o número de Gödel referente à fórmula (x)∼Dem(x,y)
Observe que para cada número y vai existir um novo número G(y)
Gödel demonstrou que a função G(y) tem um ponto fixo:
— Ele mostrou que a equação G(y)=y tem solução
— Essa é a parte mais delicada da prova de Gödel
— Ela não será apresentada aqui
Significado da equação G(y)=y:
“a fórmula com número de Gödel y (que sou eu mesma)
não pode ser demonstrada”
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 39 / 49
3.4. Avaliação prática do teorema da incompletude
Se a matemática é consistente:
1 Sua consistência não pode ser provada dentro da própria matemática
2 A matemática é incompleta (existem indecidíveis)
Conclusão prática:
1 O preço da consistência é a incompletude:
— para a matemática ser útil, ela deve ser consistente
— mas as inconsistências sempre vão existir
— precisamos identificá-las e separá-las fora do sistema
— é impossível eliminar todas as inconsistências
2 Essa conclusão vale para qualquer sistema
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 40 / 49
4. Alan Turing
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 41 / 49
4.1. Contexto histórico
Alan Mathison Turing (1912 – 1954), matemático britânico
Era estudante em Cambridge em 1935 quando, numa aula de
Newmann, tomou conhecimento dos problemas de Hilbert
Em 1936 demonstrou que era possível executar operações sobre a
teoria dos números numa máquina equipada com as regras de um
sistema formal:
— definiu a máquina teórica conhecida como Máquina de Turing
— formalizou a noção intuitiva de algoritmo
É considerado por muitos o pai da ciência da computação e da IA
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 42 / 49
Alan Turing
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 43 / 49
4.2. Máquina de Turing
“Computar é normalmente escrever símbolos em um
papel. Suponha que o papel é quadriculado, podendo
ser ignorada a bidimensionalidade, que não é essencial.
Suponha que o número de símbolos é finito. O compor-
tamento do computador é determinado pelos símbolos
que ele observa num dado momento, e seu estado men-
tal nesse momento.
Admitamos um número finito de estados mentais. Va-
mos imaginar que as ações feitas pelo computador se-
rão divididas em operações tão elementares que são
indivisíveis. . . .” (Alan Turing)
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 44 / 49
Implementação da Máquina de Turing
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 45 / 49
4.3. Tese de Church-Turing
Em 1936, Turing estava interessado na lógica e no raciocínio humano:
— definiu um computador teórico e formalizou a noção de algorimo
— sua máquina prefigurou o aparecimento dos computadores
Em 1936, Alonzo Church (1995 d), lógico americano, estava interessado
nos fundamentos da matemática:
— desenvolveu uma teoria de funções para mecanização da lógica
— do refinamento dessa teoria resultou a cálculo λ
— o cálculo λ prefigura o aparecimento das ling. de programação
Em 1936, Stephen Kleene (1994 d), matemático americano, aluno de
Church, estava interessado na lógica matemática:
— desenvolveu a teoria das funções recursivas
— demonstrou que essa teoria tem expressividade equivalente ao
cálculo λ e às máquinas de Turing
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 46 / 49
4.3. Tese de Church-Turing
Alan Turing:
“Toda função que seria naturalmente considerada
computável pode ser computada por uma Máquina
de Turing.”
Alonzo Church:
“Toda função efetivamente calculável é uma função com-
putável.”
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 47 / 49
4.3. Tese de Church-Turing
Versão estendida:
“O que informalmente entendemos por algoritmo pode
ser expresso em termos de uma Máquina de Turing, ou
em Cálculo λ, ou em Funções Parciais Recursivas.”
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 48 / 49
Referências
“Uma viagem informal ao teorema de Gödel”, Ricardo Kubrusly
http://im.ufrj.br/~risk/diversos/godel.html
“História da Computação”, Cléuzio Fonseca Filho
http://www.pucrs.br/edipucrs/online/
historiadacomputacao.pdf
walace.rodrigues@ifmg.edu.br (IFMG) Teoria da Computação 22 de outubro de 2015 49 / 49
	Introdução
	Importância
	Motivação
	Método de estudo
	Roteiro
	Os precursores
	Leibniz
	Boole
	Hilbert
	Kurt Gödel
	Teorema da Incompletude
	Alan Turing
	Máquina de Turing
	Tese de Church-Turing

Continue navegando