A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Edward Hermann Haeusler

Apresentações semelhantes


Apresentação em tema: "Edward Hermann Haeusler"— Transcrição da apresentação:

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

2 Qual a relação entre a Lógica e a Computação ?
- O que é a (Teoria da) Computação ? (Tentativa de) conceituação do Computável - O que é Lógica ? (Tentativa de) conceituação do Razoável

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

4 Razoável Todo evento que é passível de uma
explicação, na forma argumentativa, construída sobre fatos iniciais inquestionáveis. Antes de ====>  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)

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 - Conceito de função não era preciso - O próprio conceito de número real não era preciso. - Definição de convergência não existia Necessidade de teoria mais abrangente e abstrata

6 Panorama da Matemática no Século XIX (cont.)
Dedekind ( ) Estabelece o princípio de indução e define conceito de número real 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 Cauchy ( ) Bolzano( ) Definição do conceito de integral e Teorema Fundamental do Cálculo. Geometrias Não-Euclidianas Riemman( ) Peano (em 1889) Define os axiomas da aritmética Weierstrass ( ) Estabelece critérios para a diferenciação e integração, termo a termo, de séries infinitas Hilbert (em ) Estabelece a fundamentação da geometria

7 Teoria Ingênua dos Conjuntos
Bolzano concebe a noção (abstrata) de conjuntos (finitos e infinitos) 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. 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

8 Evolução da Lógica como assunto matemático
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. 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 !! ===> Paradoxos associados ao axioma da escolha

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.

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. Th(N)  Th(Z)  Th(Q)  Th(R)  Th(C) - 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) => 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

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 - Russell e Whitehead publicam o Principia Mathematica. - Presburger (1929) prova que a aritmética sem a multiplicação é decidível. - 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.

12 Os Teoremas de Gödel Pr Paradoxo do mentiroso: “Eu estou mentindo”
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 |-  (#) Pr 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. 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 

13 Codificando Pr em uma definição recursiva
Prova Axiomas formada por Premissas conclusão Regras de Inferência são formada por Sentenças conectivos/ Átomos quantificadores Sentenças Compostas

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 (GA) 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.

15 · G Í Th( [N, <, 0, suc, +, *]) · diag é computável.
· Como GA é r.c. então Ded é computável Þ Ded é representável em Cn(GA). Qualquer axiomatização r.c. GA para [N, <, 0, suc, +, * ] é incompleta, i.e, Cn(G) é incompleta. Þ ß Existem funções não computáveis

16 Seja T = fórmulas válidas
T ser r.c Cn(T È G) é r.c. fórmula b repr. f em Cn(TÈ GA) função f computável que reconhece Cn(TÈ G) Diag. sobre ~b a « ~b(#a) Î Cn(TÈ GA) Contradição

17 Prog. Lógica, Prolog Máq. Programável LISP e Funcionais
A Computação do ponto de vista das funções prim. recursivas Prog. Lógica, Prolog Gödel define as funções prim. recursivas associando-as a provas em aritmética 1927/ Ackermann define uma função que necessita de recursão simultânea 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. 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 Máq. Programável 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. LISP e Funcionais Kleene Define, aceitando que o computável inclui a parcialidade funcional, as funções parcialmente recursivas e lança a Tese de Church. 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. SNOBOL, Ling. Transf.

18 Sxyz  (xy)xz Kxy  x Ix  x (I SKK)
:0:  I :1:  P0K :2:  P1K :n:  P:n-1:K .... P  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) f é recursiva existe uma máquina de Turing M , tal que M com na fita de entrada M pára com na saída sss f(n) = m m n existe um algoritmo de Markov A , t.q. A lendo pára e produz o string na saída sss f(n) = m m n

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

20 A Tecnologia e a Construção do Computador
: 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). : 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 : Primeiro computador analógico é construído para resolver equações dif. Bush : Konrad Zuse constrói a primeira calculadora elétrica digital Z1. : 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). : Zuse define o circuito para o teste de igualdade entre números binários. : Zuse constrói a Z2 que refina a Z1 com aritmética binária em relés. É o primeiro computador eletromecânico

21 Não Armazenam Programas
: Primeiro computador eletrônico (não-programável) , o ABC, Clifford & Berry : Zuse desenvolve o Z3, primeira máquina controlada por programa. Memória de 64 palavras e 3 sec por multiplicação. : John Mauchly introduz a válvula eletrônica como substituta do relé. Não Armazenam Programas : Computador Britânico Collossus (quebra do código alemão ??) : Computador Mark I na IBM : ENIAC (Eletronic Numeric Integrator and Computer) (30 ton e 18000 válvulas). : Visita de John von Neuman às instalações do ENIAC. Após esta visita é iniciado o projeto do EDVAC (computador com programa armazenado). : Um inseto (bug) nos contatos de um relé do Mark II é descoberto ser a causa de seu mal funcionamento.

22 1947 : Invenção do Transistor (Bardeen, Brattain & Schokcley).
: Início da construção do EDSAC em Cambridge. : Introduzido o uso de disco magnético como memória secundária. : Mark I passa a ser o primeiro computador digital com armazenamento de programas. Limitado porém. : Primeiro computador pleno com armazenamento de programas (EDSAC) : Zuse instala o Z4 na universidade de Zurique. : Primeiro UNIVAC é vendido ao departamento de demografia americano. Pesava cerca de 20 tons e realizava 1000 operações por segundo. : Primeiro computador americano com arm. de programa EDVAC finalizado e operacional (Univ. Pensilvânia). O conceito de microprogramação é introd. : UNIVAC equipado com memória de núcleo de ferrite. Em 1955 UNIVAC com transistores no lugar das válvulas.

23 1956 : FORTRAN é desenvolvido por J. Backus na IBM. 1957 é o ano do
primeiro compilador comercial da linguagem. : John McCarthy desenvolve LISP. ALGOL 58 é desenvolvido pela equipe de Backus. : Desenvolvimento de FLIP-FLOP em circuitos integrados. : PDP-1 desenvolvido pela Digital. 4k de RAM, palavras de 18 bits, fita de papel e CRT. : Desenvolvido o princípio de comunicação por pacotes de dados, P. Baran. : COBOL é distribuído para instalações comerciais. Consórcio Americano- Europeu especifica o padrão ALGOL 60. : Programa ELIZA escrito por J. Weinzenbaum (MIT). : Conceito de “time-sharing”, multiusuário e multiprogramação são introd. : Computadores IBM pós série 700: s. 1400, 7090, projeto do System/360 : Linguagem BASIC (Beginners All Purpose Language), PL/I (IBM)

24 1964-1965 : PDP-8 (Digital) é o primeiro mini-computador.
: Projeto Multics (MIT). Linguagem APL (IBM). : SIMULA-67, primeira linguagem orientada a objeto (Nyygard) : Primeiro artigo sobre uma rede integrada de computadores (Arpanet) : Desenvolvimento de PASCAL (N. Wirth). : Programação Estruturada (goto’s are out) , Dijkstra. : Primeiro computador feito somente com circuitos integrados (B2500 e B3500) : Primeira rede não local operacional UCLA, UC Santa Barbara, SRI, U. Utah. : Padrão RS-232 de comunicação com periféricos. : UNIX. Linguagem C em 1967. : Primeiro microprocessador (4 bits), F. Fagin (Intel) (1972)

25 Duas exceções e outros desenvolvimentos:
E a história se repete : 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: : Codd define o modelo relacional e sua álgebra, enquadrando BD em uma abordagem com fundamentação matemática e formal. : 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). : 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

26 A Ciência da Computação Hoje : NP = P ? (Cook 1970)
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 Verificação de Modelos Prova de Teoremas Obs: Se CoNP  NP então NP  P

27 Def. Seja C uma classe de problemas (linguagens)
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. Exemplos: - Saber se um programa pára (via outro programa) é Rec-Completo, onde Rec é o conjunto dos problemas (ling) recursivos. - 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.

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

29 Alguns Fatos Importantes :
Fato 1: Se PNP então NP-NPC  . conjectura-se que isograph está em NPI Prova: Diagonalização Fato 2: Existe um oráculo B tal que PB = NPB Prova: NPSPACE=PSPACE e B um problema NPSPACE completo Fato 3: Existe um oráculo C tal que PC  NPC Prova: Diagonalização

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 Prova: Diagonalização Teorema: Se PNP, então Sat  P e   NPC então existe L  P  NPC

31 Teorema do Razborov (1985-1989)
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 : 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

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

33 O que são técnicas finitárias ???
(visão a posteriori) - Operações efetivas sobre objetos concretos Objetos concretos: |, ||, |||, ||||, ||||||, .... ,  ,   ,    , Operações efetivas: ???????? juntar símbolos apagar símbolos escrever símbolos reconhecer um símbolo

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.

35 ut(x,0) = g(x) e u(x,0) = f(x)
Equação da onda u ut(x,0) = g(x) e u(x,0) = f(x) u(x,t) = F(x+ct)+G(x-ct) D’Alembert Euler 1748 x t Daniel Bernouli 1753 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

36 u(x,t) =  cne-n  Kt/L sin(nx/L) ==> Toda “função” tem expansão
Equação do calor u(0,t) = u(L,t) = 0 u(x,0) = f(x) L Fourier u(x,t) =  cne-n  Kt/L sin(nx/L) 2 2 2 ==> Toda “função” tem expansão em série de senos ????? n=1 f(x) =  cnsin(nx/L) n=1 Dirichlet (1829,1837) + Fund. Análise (Bolzano, Cauchy, Weierstrass) + Riemann (def. integral, 1900’s) L cn= (2/L)  f(x) sin(nx/L)dx

37 Manipulação com séries infinitas (I) : Resolvendo equações
3 x + = 9 x = 6 C 1 + aC = C C(1-a) = 1 C = 1/(1-a)

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

39 Geometrias Não-Euclidianas
Hiperbólica Bolyai-Lobachevsky 1820 Plana Euclides 400’s Elíptica Riemman 1800’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.

40 O método da diagonal de Cantor
suponha que |(0,1)| = |N| a0= 0, aoo ao1 ao2 ao3 ao aon a1= 0, a1o a11 a12 a13 a a1n an= 0, ano an1 an2 an3 an ann bj= 5 se ajj = 9 9 senão b = 0,b0 b1 b2 b3 b bn |(0,1)|  |N|

41 Teorema de Cantor {A / A  B}
==> Seja B um conjunto, então |B| < |2B| Prova: Suponha que |B| = |2B| então existe f: B  2B S = { x / x  f(x) } 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.

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 |-   (#) T |- diagx1(t, #) (#) T |- (x2) diagx1(t,x2) T |- x2= # T |- diagx1(t, #) T |- diagx1(t,x2)  (x2) T |- x2 (diagx1(t,x2)  (x2))

43 Não provabilidade da consistência em Cn(G)
a « ~Pr(#a) Î Cn(G) [Diag] · se a Î Cn(G) então Provavel(#a) Î Cn(G) Þ Cn(G) é inconsistente. Þ se Cn(G) é consistente então a Ï Cn(G). ~Provavel(#a) Î Cn(G) ~Provavel(#(0=1)) Î Cn(G) a Î Cn(G) Þ Portanto se ~Provavel(#(0=1)) Î Cn(G) então Cn(G) é inconsistente

44

45

46

47

48

49

50  = Rotação de 1/10 de radiano
Paradoxos associados ao Axioma da Escolha S  = Rotação de 1/10 de radiano v C =  n(v) n N -1 S  C -1(v) S  C  -1(v) = -1(S  C)

51 Paradoxo de Banach-Tarski (1924) e Paradoxo de Hausdorf (1914)
Divisão da esfera em 5 partes (uso do axioma da escolha) Rotações e Translações

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) - Medida de Lebesque generaliza a de Jordan e contempla conjuntos ilimitados incluindo os Riemman integráveis - 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.


Carregar ppt "Edward Hermann Haeusler"

Apresentações semelhantes


Anúncios Google