Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward...

52
Edward Hermann Haeusler Prof. do Departamento de Informática PUC/RJ Teoria da Computação e Fundamentação da Matemática : Um pouco de história

Transcript of Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward...

Page 1: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Edward Hermann Haeusler Prof. do

Departamento de Informática

PUC/RJ

Teoria da Computação e Fundamentação da

Matemática : Um pouco de história

Page 2: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

2

Qual a relação entre a Lógica e a Computação ?

- O que é a (Teoria da) Computação ?

- O que é Lógica ?

(Tentativa de) conceituação do Computável

(Tentativa de) conceituação do Razoável

Page 3: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

3

Computável Toda tarefa que pode ser realizada por um ser burro com um mínimo de conhecimento/capacidade.

burro = Incapaz de Aprender

conhecimento = ?

Antes de 1900 d.c ====> Máquina de Raciocinar (Leibniz 1667) Máquina de Calcular de Pascal (Pascal sec.XVII) Máquina de Babbage (Ch. Babbage sec. XIX)

.

.

Page 4: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

4

Razoável

Todo evento que é passível de uma explicação, na forma argumentativa, construída sobre fatos iniciais inquestionáveis.

Antes de 1879 ====>

Lógica Aristotélica e Escolástica (a partir de 300 a.c.) Álgebras Booleanas (Boole 1847) Álgebra Relacional (DeMorgan, Schroeder, C.S.Peirce XIX)

Page 5: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

5

Panorama da Matemática no Século XIX

- Problemas da Física Matemática (Sec. XVIII-XIX): - Equação da Onda

- Equação do Calor - Equação de Poisson - Técnicas de Fourier

- Séries Infinitas são usadas na solução de Eq. Dif. Parciais - Problemas de Fundamentação:

- Séries divergentes x Séries Convergentes

- Conceito de infinito não era preciso

- O próprio conceito de número real não era preciso. - Definição de convergência não existia

- Conceito de função não era preciso

Necessidade de teoria mais abrangente e abstrata

Page 6: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

6

Panorama da Matemática no Século XIX (cont.)

Dedekind (1831-1916) Estabelece o princípio de indução e define conceito de número real

Cauchy (1789-1857) Bolzano(1781-1848)

Weierstrass (1815-1897)

Riemman(1826-1866)

Aritmetização da Análise, definição dos conceitos de limite, funções e funções contínuas, convergência de sequências e séries infinitas

Definição do conceito de integral e Teorema Fundamental do Cálculo. Geometrias Não-Euclidianas

Estabelece critérios para a diferenciação e integração, termo a termo, de séries infinitas

Hilbert (em 1898-1899) Estabelece a fundamentação da geometria

Peano (em 1889) Define os axiomas da aritmética

Page 7: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

7

Teoria Ingênua dos Conjuntos

Cantor (de 1867 a 1871) define a teoria de conjuntos e prova a existência de conjuntos infinitos com cardinalidades diferentes. Conceitos de números cardinais e ordinais transfinitos.

Bolzano concebe a noção (abstrata) de conjuntos (finitos e infinitos)

Resistência aos principais resultados em função do “receio do infinito”

Os paradoxos:

- Burali-Forti (1897) “Não há o ordinal de todos os ordinais”

- Russell (1902) “Não há o conjunto de todos os conjuntos”

R = { x / x ∉ x} ==> R ∉ R se e somente se R ∈ R

Page 8: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

8

Evolução da Lógica como assunto matemático

Frege (1879) estabele a lógica como um sistema formal que tem sua linguagem particular e distinta da natural. O conceito de prova matemática passa a ser formal.

Frege (1884) busca a fundamentação da aritmética em bases puramente lógicas , com a adição do conceito de pertinência (∈) como primitivo.

===> Os paradoxos aparecem novamente !!

DeMorgan (1830) Observa que a álgebra não necessita lidar tão somente com conceitos numéricos.

Boole (1854) Descreve uma álgebra a partir de operações entre conjuntos e relações lógicas, confirmando DeMorgan.

===> Paradoxos associados ao axioma da escolha

Page 9: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

9

As 3 Abordagens para a Fundamentação da Matemática

Logicismo (Frege) - Toda a Matemática é consequência de princípios puramente lógicos.

Formalismo (Hilbert) - A Matemática é fundamentada por sistemas formais cujo único requisito é a consistência

Intuicionismo (Brouwer) - A Matemática é uma atividade humana funda- mentada em processos construtivos, sendo assim todo objeto matemático tem sua existência expressa por construção.

Page 10: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

10

O Programa de Hilbert

=> Obtenção de uma prova da consistência da matemática, observando-se que:

- As teorias mais complexas são extensões das mais simples.

- Tais extensões são, na sua maior parte, obtidas por operações básicas (classes de equivalência, completamento por simetria, por compactação, completamento algébrico, etc)

Th(N) ⊆ Th(Z) ⊆ Th(Q) ⊆ Th(R) ⊆ Th(C)

=> Prova da consistência da Aritmética ( Th(N)) com o uso de técnicas finitárias.

=> Provar que não existe prova de 0 = 1 usando ............

Page 11: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

11

Principais Resultados em Lógica/Metamatemática no início do século XX

- Teoria dos Tipos como solução ao paradoxo em Russell

- Presburger (1929) prova que a aritmética sem a multiplicação é decidível.

- Russell e Whitehead publicam o Principia Mathematica.

- Skolem (1931) prova que a aritmética sem a adição e o sucessor é decidível

- Herbrand (1931) prova a consistência de um fragmento fraco da aritmética (só o sucessor).

-Tarski (1930) formaliza a semântica adequada para a lógica de primeira ordem

- Gödel (1930) prova a completude do cálculo de primeira ordem

- Gödel (1931) introduz a idéia de aritmetizar (codificar na forma numérica) a linguagem de um sistema formal de forma que (meta) teoremas do sistema possam ser vistos como teoremas aritméticos e prova seu famoso teorema da incompletude. Obs: #α é o código de α. - Gödel (1931) prova a não-provabilidade da consistência.

Page 12: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

12

Os Teoremas de Gödel

Lema da diagonal (Gödel/Tarski): ( Th(N) ⊆ T)

T |- diagx1(#ϕ,#ϕ(ϕ)) se e somente se x1 é a única variável livre em ϕ e ϕ(t) indica sua substituição por t

Seja ϕ(x1) uma fórmula com somente x1 livre, então existe σ tal que T |- σ↔ ϕ(#σ)

Teorema de Tarksi: Não existe uma fórmula Verd(x1) em T capaz de definir a verdade aritmética, isto é, T |- Verd(#α) se e somente se α é verdadeira na aritmética.

Paradoxo do mentiroso: “Eu estou mentindo”

Teorema de Gödel: Qualquer axiomatização de Th(N) onde seja possível aritmetizar o conceito de prova é incompleta.

Prova: Seja Γ ⊆ Th(N) e uma fórmula Pr(x,y) tal que Γ |- Pr(#π, # α) se e somente se π é uma prova com axiomas Γ de α. Aplique o lema da diagonal a ¬∃p Pr(p,x1)

Segundo Teorema de Gödel: Seja Γ uma axiomatização como acima, então a fórmula ¬∃p Pr(p,#(0=1)) não é demonstrável a partir de Γ

Page 13: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

13

Codificando Pr em uma definição recursiva

Prova

formada por

Regras de Inferência formada por

Premissas conclusão são

Sentenças

Átomos conectivos/ quantificadores

Sentenças Compostas

Axiomas

Page 14: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

14

Leitura computacional do teorema de Gödel • Todas as funções computáveis são representáveis em [N, <, 0, suc, +, *].

• Toda computação pode ser expressa em forma de Dedução a partir de um conjunto de axiomas (ΓA) que defina as operações aritméticas básicas.

⇒ Gödel define o conceito de função primitivamente recursiva e relaciona com aquelas que são representáveis em aritmética.

Page 15: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

15

• Γ ⊆ Τh( [N, <, 0, suc, +, *]) • diag é computável.

• Como ΓΑ é r.c. então Ded é computável ⇒ Ded é representável em Cn(ΓΑ).

Qualquer axiomatização r.c. ΓΑ para [N, <, 0, suc, +, * ] é incompleta, i.e, Cn(Γ) é incompleta.

Existem funções não computáveis

Page 16: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

16

Seja T = fórmulas válidas

T ser r.c

fórmula β repr. f em Cn(T∪ ΓΑ)

Cn(T ∪ Γ) é r.c.

função f computável que reconhece Cn(T∪ Γ)

Diag. sobre ~β

α ↔ ~β(#α) ∈ Cn(T∪ ΓΑ)

Contradição

Page 17: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

17

A Computação do ponto de vista das funções prim. recursivas

1931 - Gödel define as funções prim. recursivas associando-as a provas em aritmética

1927/1928 - Ackermann define uma função que necessita de recursão simultânea

1934 - Rózsa Péter - Prova que as funções prim. recursivas formam a classe definida por recursão simples e “nested” a partir de funções iniciais constantes, identidade e a função sucessor. Prova que a função de Ackermann é na realidade definida por recursão em duas variáveis e não é portanto primitivamente recursiva, mas é computável.

1936 - A. Turing - Define uma máquina formal a partir de princípios simples (ler , apagar e escrever símbolos em uma fita) e define o conceito de Máquina Universal. Prova que não existe máquina capaz de verificar se outra máquina pára ou não. Desde o início a sua máquina com versão Não-Determinística

1936 - A. Church Define o λ-Calculus e mostra que este é capaz de definir todas as funções para as quais existe uma Máquina de Turing.

1938 - Kleene Define, aceitando que o computável inclui a parcialidade funcional, as funções parcialmente recursivas e lança a Tese de Church. 1954 - Markov Estabele o conceito de computável com base em identificação de palavras e símbolos (algoritmos de Markov) e justifica o ponto de vista finitista da computação.

Page 18: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

18

Sxyz (xy)xz Kxy x Ix x (I≡ SKK)

Tese de Church: f: N → N é computável se e somente se existe um combinador F≡C1 C2... Cn tal que para todo n∈N (F:n: :m:) ⇔ f(n) = m)

:0: ≡ I :1: ≡ P0K :2: ≡ P1K ..... :n: ≡ P:n-1:K ....

P ≡

f é recursiva

existe uma máquina de Turing M , tal que M com 11.......111 na fita de entrada M pára com 11.....11111 na saída sss f(n) = m

m

n

existe um algoritmo de Markov A , t.q. A lendo 11.......111 pára e produz o string 11.....11111 na saída sss f(n) = m

m

n

Page 19: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

19

A Tese de Church é um enunciado científico, portanto não possui demonstração matemática.

Evidência Forte para a Tese de Church

Teorema de Rogers (1958): Sejam duas FAA’s (φi)i∈N e (Ψi)i∈N então existe f recursiva tal que φi = Ψf(i)

Obs: Uma FAA é um conjunto de funções parciais (φi)i∈N, tal que: 1- As funções parc. recursivas estão todas em (φi)i∈N

2- Existe u∈ N com φu parc. recursiva tal que para todo i e x φu(i,x) = φi(x) 3- Existe c recursiva tal que φc(i,j) = φi φj

Page 20: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

20

A Tecnologia e a Construção do Computador 1890-1900: Hollerith cria o cartão perfurado e o utiliza na sua máquina eletromecânica de processamento de dados (Censo de 1890). Criação da perfuradora de cartões (usada até fins dos anos 70 do século XX). 1900-1919: Invenção do diodo a vácuo (rádio-com)- Flemming, Invenção do tríodo (válvula eletrônica)- De Forest, Invenção do CRT- Swinton, descoberta da supercondutividade- Onnes, descoberta da semicondutividade (germânio) -Benedicts, invenção do FLIP-FLOP (unid. armazenamento de 1 bit)- Jordan 1925 : Primeiro computador analógico é construído para resolver equações dif. Bush

1931 : Konrad Zuse constrói a primeira calculadora elétrica digital Z1.

1937 : Claude Shannon aplica lógica booleana a circuitos de chaveamento. Primeiro somador em base binária (Dissert. Mestrado em matemática). G. Stibitz desenvolve o somador usando relés elétricos (na Bell Labs). 1937 : Zuse define o circuito para o teste de igualdade entre números binários.

1938 : Zuse constrói a Z2 que refina a Z1 com aritmética binária em relés. É o primeiro computador eletromecânico

Page 21: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

21

1941 : Primeiro computador eletrônico (não-programável) , o ABC, Clifford & Berry

1941 : Zuse desenvolve o Z3, primeira máquina controlada por programa. Memória de 64 palavras e 3 sec por multiplicação.

1942 : John Mauchly introduz a válvula eletrônica como substituta do relé.

1942 : Computador Britânico Collossus (quebra do código alemão ??)

1943 : Computador Mark I na IBM

1943 : ENIAC (Eletronic Numeric Integrator and Computer) (30 ton e 18000 válvulas). 1944 : Visita de John von Neuman às instalações do ENIAC. Após esta visita é iniciado o projeto do EDVAC (computador com programa armazenado). 1945 : Um inseto (bug) nos contatos de um relé do Mark II é descoberto ser a causa de seu mal funcionamento.

Page 22: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

22

1947 : Invenção do Transistor (Bardeen, Brattain & Schokcley).

1947 : Início da construção do EDSAC em Cambridge.

1948 : Introduzido o uso de disco magnético como memória secundária.

1948 : Mark I passa a ser o primeiro computador digital com armazenamento de programas. Limitado porém.

1949 : Primeiro computador pleno com armazenamento de programas (EDSAC)

1950 : Zuse instala o Z4 na universidade de Zurique.

1951 : Primeiro UNIVAC é vendido ao departamento de demografia americano. Pesava cerca de 20 tons e realizava 1000 operações por segundo. 1951 : Primeiro computador americano com arm. de programa EDVAC finalizado e operacional (Univ. Pensilvânia). O conceito de microprogramação é introd.

1954 : UNIVAC equipado com memória de núcleo de ferrite. Em 1955 UNIVAC com transistores no lugar das válvulas.

Page 23: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

23

1956 : FORTRAN é desenvolvido por J. Backus na IBM. 1957 é o ano do primeiro compilador comercial da linguagem.

1958 : John McCarthy desenvolve LISP. ALGOL 58 é desenvolvido pela equipe de Backus.

1959 : Desenvolvimento de FLIP-FLOP em circuitos integrados.

1959 : PDP-1 desenvolvido pela Digital. 4k de RAM, palavras de 18 bits, fita de papel e CRT.

1960-1962 : Desenvolvido o princípio de comunicação por pacotes de dados, P. Baran.

1960 : COBOL é distribuído para instalações comerciais. Consórcio Americano- Europeu especifica o padrão ALGOL 60. 1963 : Programa ELIZA escrito por J. Weinzenbaum (MIT).

1960-1964 : Computadores IBM pós série 700: s. 1400, 7090, projeto do System/360

1961 : Conceito de “time-sharing”, multiusuário e multiprogramação são introd.

1964 : Linguagem BASIC (Beginners All Purpose Language), PL/I (IBM)

Page 24: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

24

1964-1965 : PDP-8 (Digital) é o primeiro mini-computador.

1965 : Projeto Multics (MIT). Linguagem APL (IBM).

1967 : SIMULA-67, primeira linguagem orientada a objeto (Nyygard)

1967 : Primeiro artigo sobre uma rede integrada de computadores (Arpanet)

1967 : Desenvolvimento de PASCAL (N. Wirth).

1968 : Programação Estruturada (goto’s are out) , Dijkstra.

1968 : Primeiro computador feito somente com circuitos integrados (B2500 e B3500)

1969 : Primeira rede não local operacional UCLA, UC Santa Barbara, SRI, U. Utah.

1969 : Padrão RS-232 de comunicação com periféricos.

1970 : UNIX. Linguagem C em 1967. 1971 : Primeiro microprocessador 4004 (4 bits), F. Fagin (Intel). 8008 (1972)

Page 25: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

25

E a história se repete........................

1968 : Conferência Internacional (NATO conf. on Prog) discute a crise do software e cunha o termo “Engenharia de Software”.

Duas exceções e outros desenvolvimentos:

1970 : Codd define o modelo relacional e sua álgebra, enquadrando BD em uma abordagem com fundamentação matemática e formal.

1960-1970 : Desenvolvimento da teoria de linguagens formais (Chomsky) coloca a área de implementação de linguagens de programação em bases mat. e formais (YACC e etc).

1978- : Uso de álgebra e lógica em modelos de concorrência e de desenvolvimento de software. Introdução do conceito de prova de correção de programa, validação de modelos, etc.......

Page 26: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

26

P : Encontra solução em tempo polinomial

NP : Verifica solução em tempo polinomial

CoNP : Verifica que não é solução, em tempo polinomial

Sat ∈ NP Taut ∈ CoNP

Obs: Se CoNP ≠ NP então NP ≠ P

Verificação de Modelos Prova de Teoremas

A Ciência da Computação Hoje : NP = P ? (Cook 1970)

Page 27: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

27

Def. Seja C uma classe de problemas (linguagens). Diz-se que um problema (ling.) P é C-completo (a) se e somente se todo problema (ling) de C é redutível a P. Isto é resolver P é tão difícil quanto resolver qualquer outro problema em C.

- Saber se um programa pára (via outro programa) é Rec-Completo, onde Rec é o conjunto dos problemas (ling) recursivos.

Exemplos:

- Saber se dado uma solução para um problema esta é verificável em tempo polinomial é tão difícil quanto decidir se uma sentença da lógica proposicional é “verdadeira”. Sat é NP-completa.

Page 28: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

28

Como SAT é NP-Completo então Taut é CoNP-Completo

===> Se existe um sistema dedutivo onde todas as provas tem tamanho polinomial em função do tamanho da conclusão, então CoNP = NP. Senão existe tal sistema então CoNP ≠ NP e portanto NP ≠ P.

- Já se tentou técnicas de construção de modelos via “forcing” (funcionou com a hipótese generalizada do continum) mas a crença geral é que não funciona.

===> P = NP é um problema genuinamente matemático.

===> P = NP é um problema genuinamente de ciência da computação.

===> P = NP é um problema genuinamente de fundamentação e lógica.

- Técnicas de diagonalização e relativização (tradição lógico-matemática) tem sido extensivamente usadas no estudo de questões relacionadas a NP=P.

Page 29: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

29

Alguns Fatos Importantes :

Fato 1: Se P≠NP então NP-NPC ≠ ∅.

Fato 2: Existe um oráculo B tal que PB = NPB

Fato 3: Existe um oráculo C tal que PC ≠ NPC

Prova: Diagonalização

Prova: NPSPACE=PSPACE e B um problema NPSPACE completo

Prova: Diagonalização

conjectura-se que isograph está em NPI

Page 30: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

30

Lema: Sejam C1 e C2 duas classes de Linguagens, tais que :

1- C1 e C2 são construtivamente enumeráveis

2- C1 e C2 são fechadas para variação finita

3-Existe L1∉ C1 e L2 ∉ C2

nestas condições existe L, tal que:

L ∉ C1 ∪ C2

Teorema: Se P≠NP, então Sat ∉ P e ∅ ∉ NPC então existe L ∉ P ∪ NPC

Prova: Diagonalização

Page 31: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

31

Teorema do Razborov (1985-1989)

Indício de que NP ≠ P

Obs: A prova do teorema de Razborov usa a técnica de ultraprodutos introduzida em 1938 por Lós para provar a compacidade da lógica de primeira ordem

Fato: Se L ∈ P então existe uma família de circuitos booleanos (Cn)n∈N e um polinômio p(x) tal que Ln é aceita por Cn e | Cn | ≤ p(n).

Corolário: Se existe L tal que toda família de circuitos para Ln não é limitada por polinômio então NP ≠ P.

Teorema (Razborov): Circuitos monotônicos para CLIQUEn,k quando k = 4√n tem cota inferior :

Page 32: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

32

Lembretes:

Computação ⊆ (Matemática/Lógica) ⊆ Computação

Tecnologia não é a essência da Ciência da Computação

Engenharia = Conjunto de Técnicas ≠ Ciência

Page 33: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

33

O que são técnicas finitárias ???

- Operações efetivas sobre objetos concretos

Objetos concretos: |, ||, |||, ||||, ||||||, .... �, � �, � � �, � � � �, ........

Operações efetivas: ????????

juntar símbolos apagar símbolos escrever símbolos reconhecer um símbolo

(visão a posteriori)

Page 34: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

34

Consistência

Def. Uma Teoria é consistente se não sustenta fatos falsos.

Def. Uma Teoria é consistente se não prova fatos falsos.

Def. Uma Teoria é consistente se não prova todos os fatos.

Def. Uma Teoria é consistente se não prova algum absurdo.

Page 35: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

35

Daniel Bernouli 1753

u(x,t) = F(x+ct)+G(x-ct) D’Alembert 1747 + Euler 1748

u

x t

ut(x,0) = g(x) e u(x,0) = f(x)

u(x,t) = 2 ∫0 Σ (sinnπysinnπxcosnπct)f(y)dy + 2 ∫0 (1/n) Σ (sinnπysinnπxsinnπct)g(y)dy

Lagrange 1759

Equação da onda

Page 36: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

36

Equação do calor

u(0,t) = u(L,t) = 0

u(x,0) = f(x)

u(x,t) = Σ cne-n π Kt/L sin(nπx/L) n=1

∞ 2 2 2

f(x) = Σ cnsin(nπx/L) n=1

cn= (2/L) ∫ f(x) sin(nπx/L)dx 0

L

Fourier 1811

==> Toda “função” tem expansão em série de senos ?????

L

Dirichlet (1829,1837) + Fund. Análise (Bolzano, Cauchy, Weierstrass) + Riemann (def. integral, 1900’s)

Page 37: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

37

3 x + = 9

x = 6

Manipulação com séries infinitas (I) : Resolvendo equações

C

1 + aC = C

C(1-a) = 1

C = 1/(1-a)

Page 38: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

38

Diferenciação de uma série (termo a termo)

dx

Integração de uma série (termo a termo)

Page 39: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

39

Geometrias Não-Euclidianas

Hiperbólica Bolyai-Lobachevsky

1820

Elíptica Riemman

1800’s

Plana Euclides

400’s

Axiomas de Euclides 1. Para cada par de pontos P1 e P2 com P1 ≠ P2 existe uma única reta que incide em ambos. 2. Para todos segmentos AB e CD existe um ponto E t.q. E está entre A e B e CD≈BE 3. Para todo par de pontos O e A com O ≠ A existe um única circ. com centro O e raio OA 4. Todos os ângulos retos são congruentes 5. Dados uma reta R e um ponto A fora desta, existe uma única R’ paralela e R e incidente em A.

Page 40: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

40

O método da diagonal de Cantor

a0= 0, aoo ao1 ao2 ao3 ao4....... aon.............. a1= 0, a1o a11 a12 a13 a14....... a1n..............

an= 0, ano an1 an2 an3 an4....... ann..............

suponha que |(0,1)| = |N|

b = 0,b0 b1 b2 b3 b4....... bn.........

bj=

5 se ajj = 9

9 senão

|(0,1)| ≠ |N|

Page 41: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

41

Teorema de Cantor

==> Seja B um conjunto, então |B| < |2B|

S = { x / x ∉ f(x) }

Prova: Suponha que |B| = |2B| então existe f: B → 2B

f-1(S) ∈ S se e somente se f-1(S) ∉ S

Paradoxo do Barbeiro: Em uma cidade existe um barbeiro que faz a barba de todos os homens que não barbeiam a sí próprios e somente estes.

{A / A ⊆ B}

Page 42: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

42

T |- σ↔ ϕ(#σ)

Seja t = #(∀x2(diagx1(x1,x2) → ϕ(x2)))

então σ será ∀x2(diagx1(t,x2) → ϕ(x2)))

∀x2(substx1(t,x2) → ϕ(x2))) → (diagx1(t, #σ) → ϕ(#σ))

σ T |- diagx1(t, #σ) T |- σ → ϕ(#σ)

ϕ(#σ)

diagx1(t,x2)

T |- diagx1(t, #σ) T |- x2= #σ

T |- ϕ(x2)

T |- diagx1(t,x2) → ϕ(x2)

T |- ∀x2 (diagx1(t,x2) → ϕ(x2))

Page 43: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

43

Não provabilidade da consistência em Cn(Γ)

• α ↔ ~Pr(#α) ∈ Cn(Γ) • se α ∈ Cn(Γ) então Provavel(#α) ∈ Cn(Γ) ⇒ Cn(Γ) é inconsistente.

⇒ se Cn(Γ) é consistente então α ∉ Cn(Γ).

~Provavel(#(0=1)) ∈ Cn(Γ) ~Provavel(#α) ∈ Cn(Γ)

α ∈ Cn(Γ)

[Diag]

⇒ Portanto se ~Provavel(#(0=1)) ∈ Cn(Γ) então Cn(Γ) é inconsistente

Page 44: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

44

Page 45: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

45

Page 46: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

46

Page 47: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

47

Page 48: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

48

Page 49: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

49

Page 50: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

50

S

v

S ⊕ C

ρ-1(S ⊕ C)

ρ-1

ρ = Rotação de 1/10 de radiano

C = ⊕ ρn(v) n ∈N

S ⊕ C ⊕ ρ-1(v) =

Paradoxos associados ao Axioma da Escolha

Page 51: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

51

Paradoxo de Banach-Tarski (1924) e Paradoxo de Hausdorf (1914)

Rotações e Translações

Divisão da esfera em 5 partes

(uso do axioma da escolha)

Page 52: Teoria da Computação e Fundamentação da Matemática : …hermann/Historia.pdf · Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio Teoria da Computação: e Fund. Matemática 2 Qual

Prof. Edward Hermann Haeusler TECMF-DI-PUC-Rio

Teoria da Computação: e Fund. Matemática

52

Existência de um conjunto sem medida em Rn

- Medida como Comprimento, Área ou Volume (desde a Grécia antiga)

- Medida como associada a integral de Riemman

- Medida de Jordan (contempla somente conjuntos limitados) - 1890

- Medida de Lebesque generaliza a de Jordan e contempla conjuntos ilimitados incluindo os Riemman integráveis - 1902

- Vitali usa o axioma da escolha para mostrar a existência de um conjunto sem medida (1905)

- Solovay (1960’s) prova que substituindo-se o axioma da escolha pelo axioma da determinância (“Todo jogo infinito tem estratégia vencedora”) tem-se que todo subconjunto do Rn é mensurável.