Universidade Federal de Alfenas



Documentos relacionados
ECO039 Linguagens Formais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Lógica Indutiva. Aula 4. Prof. André Martins

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima

Os limites da computação algorítmica

INFORMÁTICA E TEORIA DA COMPUTAÇÃO

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

PESQUISA EM INFORMÁTICA -ESTILOS DE PESQUISA EM COMPUTAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Universidade Federal de Alfenas

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

Renata de Freitas e Petrucio Viana. IME, UFF 12 de março de 2015

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Sugestão de Roteiro para Elaboração de Monografia de TCC

PROJETO DE PESQUISA. Antonio Joaquim Severino 1. Um projeto de bem elaborado desempenha várias funções:

Problemas insolúveis. Um exemplo simples e concreto

Como ler um artigo científico

Trabalhode Conclusão de Curso 1 GSI535. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

COMO ENGAJAR UM FUNCIONÁRIO NO PRIMEIRO DIA DE TRABALHO?

Importância da normalização para as Micro e Pequenas Empresas 1. Normas só são importantes para as grandes empresas...

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Entendendo como funciona o NAT

ASTRONOMIA. A coisa mais incompreensível a respeito do Universo é que ele é compreensível Albert Einstein

Equações do segundo grau

Estruturas Discretas INF 1631

IA: Introdução. Prof. Msc Ricardo Britto DIE-UFPI

1. Funções Computáveis

Elementos para construção de um briefing

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Limitações dos Computadores

a 1 x a n x n = b,

Teorema de Pitágoras. Módulo 1 Unidade 10. Para início de conversa... Matemática e Suas Tecnologias Matemática 1

Sistema de avaliação da tarefa 47 da fase 5

KANT E AS GEOMETRIAS NÃO-EUCLIDIANAS

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Construção de tabelas verdades

Estudo de funções parte 2

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

METODOLOGIA DE PESQUISA CIENTÍFICA. Prof.º Evandro Cardoso do Nascimento

Consumidor e produtor devem estar

Olá, amigo concurseiro. Após uma certa ausência, vamos a mais um tópico importante de Raciocínio Lógico.

A MÁQUINA INTELIGENTE. O longo caminho do pensamento mecanizado Júlio Cesar da Silva - juliocesar@eloquium.com.br

PROVA DE HISTÓRIA 2 o TRIMESTRE 2012

2. Representação Numérica

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Cooperativa de Leite. Série Matemática na Escola

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Arquitetura de Rede de Computadores

Projeto de trabalho: AS DIFERENÇAS ENTRE BRASIL E ALEMANHA

Classes de Complexidade e NP-Completude

A METODOLOGIA DE.ENSINO-APRENDIZAGEM DE MATEMÁTICA ATRAVÉS DA RESOLUÇÃO DE PROBLEMAS: INTERDISCIPLINARIDADE E O USO DA MATEMÁTICA FUNCIONAL.

Empreendedorismo de Negócios com Informática

Como Eu Começo meu A3?

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

Ficha Técnica: Design e Impressão Mediana Global Communication

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

5COP096 TeoriadaComputação

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea

A HISTÓRIA DA MATEMÁTICA As Fronteiras do Espaço

5 Equacionando os problemas

Apesar de colocar-se no campo das Engenharias, profissional destaca-se, também, pelo aprimoramento das relações pessoais

3 Qualidade de Software

1.1. Organização de um Sistema Computacional

Aprenda como estudar em quatro etapas PORVIR

Valor verdadeiro, precisão e exatidão. O valor verdadeiro de uma grandeza física experimental às vezes pode ser considerado

Estrutura de Dados Básica

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

O modelo do computador

Table of Contents DIREITOS AUTORAIS PESQUISA DA VIABILIDADE FINANCEIRA DO SEU NICHO... DESENVOLVA SUA Habilidade!

Você é comprometido?

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente:

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

A função do primeiro grau

1. NÍVEL CONVENCIONAL DE MÁQUINA

FUNÇÕES POLINOMIAIS DO SEGUNDO GRAU MEDIADOS PELO SOFTWARE GEOGEBRA NA PERSPECTIVA DOS REGISTROS DE REPRESENTAÇÃO SEMIÓTICA

Melhores práticas no planejamento de recursos humanos

Como fazer para deixar firme uma estante de hastes com prateleiras que está balançando para os lados?

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M.

Parece claro que há uma, e uma só, conclusão a tirar destas proposições. Esa conclusão é:

1. A Google usa cabras para cortar a grama

GESTÃO DO CICLO DE PROJETOS. Introdução

Nº 3 - Nov/14 TRABALHO COMUNITÁRIO

Sumário. Volta às aulas. Vamos recordar? Grandezas e medidas: tempo e dinheiro Números Regiões planas e seus contornos...

FLUXOGRAMA DA PESQUISA

Para a grande maioria das. fazer o que desejo fazer, ou o que eu tenho vontade, sem sentir nenhum tipo de peso ou condenação por aquilo.

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA

Roteiro VcPodMais#005

TANGRAM COM INTERDISCIPLINARIDADE

16. A relatividade especial e a experiência / O espaço quadridimensional de Minkowski / 68

Organizando Voluntariado na Escola. Aula 1 Ser Voluntário

Jogos. Redes Sociais e Econômicas. Prof. André Vignatti

O estudante de Pedagogia deve gostar muito de ler e possuir boa capacidade de concentração porque receberá muitos textos teóricos para estudar.

ESTRATÉGIAS DE ENSINO NA EDUCAÇÃO INFANTIL E FORMAÇÃO DE PROFESSORES. Profa. Me. Michele Costa

Lógica Formal e Booleana. Cálculo Proposicional

Transcrição:

Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 02 Um pouco da história da computação humberto@bcc.unifal-mg.edu.br

Última aula... Fundamentos de Matemática; Medida do Tempo de Execução de um Programa; Técnicas de Projeto e Análise de Algoritmos; Classes NP-Difícil e NP-Completo; Algoritmos heurísticos.

Como vocês já sabem... Passo para a computação de alguma coisa... Problema no mundo real Algoritmo Programa Processamento Resultado

Computação Efetiva História Mesmo antes do aparecimento dos primeiros computadores, os matemáticos já se preocupavam com a noção de computação efetiva. Trabalhavam a partir de uma notação imprecisa.

Filosofando sobre a computabilidade O que é para você um problema computável? Quais são os problemas computáveis? Existem problemas que não podem ser resolvidos pelo computador?

Computabilidade Para resolver estas questões, vamos analisar o que já foi dito sobre o assunto até os dias de hoje...

1936 A computabilidade (definição) Em 1936, Alan Turing propôs o termo computável. Turing, definiu em seu trabalho, um artefato teórico, que ele chamou de Máquina de Computar. Observação: antes da existência de computadores. Apareceram só nos anos 50. O que pode ser efetuado pela Máquina de Computar? Observação importante: A máquina de computar proposta por Turing é tão poderosa quanto os computadores atuais.

1936 A computabilidade (pontos negativos) O estudo da computabilidade mostrou dois resultados negativos com relação ao computador teórico: Nem tudo pode ser resolvido com o intermédio da Máquina de Computar. (Gödel) É impossível apontar com precisão a classe dos problemas computáveis (Turing). sabemos que existem problemas não resolvíveis através dos computadores atuais, mas não sabemos exatamente quais são.

1936 A computabilidade (exemplo) Para um calouro em computação, pode ser difícil imaginar um problema não computável. Vamos a um exemplo prático: O algoritmo X pára para qualquer entrada válida de dados?

Computação e Matemática Relação Turing: 1936... Mas vamos voltar um pouco no tempo... No século XIX.

Século XIX Alguns problemas com a matemática da época... Foi proposto o Paradoxo de Aquiles Aquiles e a Tartaruga decidem apostar uma corrida de 100 metros. Aquiles corre 10 vezes mais rápido do que a tartaruga, e por isto, a tartaruga inicia com 80 metros de vantagem. Aquiles percorre rapidamente a distância inicial que o separa da tartaruga, mas ao alcançar os 80 metros iniciais, a tartaruga já se encontrará 8 metros à frente. Ao alcançar mais 8 metros à frente, a tartaruga já terá avançado mais 0,8 metros, e assim, Aquiles nunca alcançará a tartaruga.

Século XIX Alguns problemas com a matemática da época... Viu-se que a matemática baseada apenas na intuição nem sempre correspondia aos experimentos práticos, e por isso precisava de maior formalidade para se tornar confiável. Assim como o paradoxo de Aquiles, inúmeros outros foram propostos para aumentar o poder do ferramental matemático da época.

Século XIX Alguns problemas com a matemática da época... O problema de Aquiles e da Tartaruga só foi explicado com o conceito de séries. Os intervalos formam uma progressão geométrica e sua soma converge para um valor finito. Ou seja, Aquiles alcança a tartaruga em um tempo finito.

Fim do século XIX, e início do século XX Problemas e soluções... A idéia de considerar a matemática como um sistema formal empolgava os matemáticos do século XIX. Os resultados obtidos naquela época, precedentes à invenção do computador, se aplicam hoje em dia, já que o computador é um sistema formal. Em 1900, o matemático alemão David Hilbert lançou, no Segundo Congresso Internacional de Matemática, em Paris, um desafio aos matemáticos da época. Ele reuniu uma lista de 23 problemas em aberto, e convocou uma união de esforços para que se buscasse a solução daqueles problemas. Este episódio é peça relevante na busca pela fundamentação da matemática. 8 ainda não foram resolvidos;

Fim do século XIX, e início do século XX Problemas e soluções... Naquela época, os matemáticos e filósofos se sentiam incomodados com a existência de problemas cuja falsidade ou veracidade, até então, não haviam sido provadas. A presença de problemas supostamente verdadeiros ou supostamente falsos permeando todo aparato matemático representava uma ameaça ao rigor matemático que se buscava. Hilbert acreditava na matemática como um sistema formal, sustentado por uma pequena quantidade de axiomas, e completo: qualquer proposição expressa naquele sistema poderia ser provada no próprio sistema.

1928 O esforço dos matemáticos da época... As pesquisas queriam mostrar que a matemática era: Completa; Consistente; Decidível; De 1900 a 1930, grande parte da comunidade matemática mundial acreditou na existência de uma matemática segura, finita, provadamente correta e livre de imprecisões. Mas...

1931 O Teorema de Kurt Gödel Teorema mais conhecido como Teorema da Incompletude de Gödel: Preposições formais poderiam ser indecidíveis. Ou seja: dizer se são verdadeiras ou falsas. O teorema de Gödel foi tão importante que fez Hilbert voltar de sua aposentadoria para tentar contribuir mais com a história da matemática. Tal esforço infelizmente não resultou em grandes avanços... Nota interessante: Gödel, em suas anotações possui apenas uma referência cristã, e foi justamente ao provar a incompletude matemática: Que Maria, Mãe de Deus, tenha piedade de mim!

1931 O Teorema de Kurt Gödel Neste ponto os matemáticos perderam seu próprio chão (a matemática não poderia ser usada para provar a própria matemática). As hipóteses propostas poderiam ser indemonstráveis. Ou seja: Alguns dos 23 problemas de Hilbert podem não ter solução em passos matemáticos bem definidos. A divulgação do Teorema de Gödel causou uma enorme angústia dentre a comunidade matemática. Em particular, sensibilizou o então estudante de graduação em Cambridge, Alan Turing. Vamos voltar para a computação!!!

1936 Computabilidade, definida por Alan Turing Turing apresenta uma máquina hipotética através da qual ele formaliza o conceito de computável, e mostra que o Problema de Decisão de Hilbert não tem solução. Verificar a validade de predicados formalizados na Lógica de Primeira Ordem é um problema indecidível...

1936 Em outro lugar no mundo... No mesmo ano, 1936, um pouco antes de Turing, Alonzo Church havia chegado à mesma conclusão de Turing, de forma totalmente independente, e por um caminho diverso àquele traçado por ele. Assim, Turing e Church atacam a terceira questão levantada por Hilbert e põem fim a abordagem formalista da matemática. Inicia-se uma nova era, onde problemas não solucionados se confundem com problemas não solucionáveis, e não há mecanismo efetivo que permita distinguir um do outro.

Atualmente Até os dias de hoje, não sabemos se a hipótese de Church e de Turing (Church-Turing) é verdadeira. Pois ela é baseada em um modelo computacional específico... Ou seja: Todos problemas que podem ser computados, são de alguma forma computados pelas máquinas que conhecemos nos dias de hoje. Ou seja, não existe máquina com maior poder computacional?

Atualmente Existem defensores de ambas as idéias. Recentemente ainda aparecem teses afirmando que existem chances de que não conhecemos todo o poder das máquinas. Mas os argumentos são basicamente filosóficos. Mas as evidências nos levam a crer que não. Elas já chegaram no limite do poder de resolução de problemas, e é possível apenas melhorar sua performance. hipótese corroborada!!!

Porque isso é importante para um profissional de Computação? Ao depararmos com um problema, a princípio de difícil solução, devemos levantar a seguinte questão: Será que este problema possui solução para todas as entradas? Ou seja: É decidível? Posso construir um algoritmo/programa que termina em tempo finito para o problema?

Conclusões Ainda nos dias de hoje, não sabemos se o computador que utilizamos possui o maior poder computacional possível. Não relacionado a velocidade/performance, mas relacionado a capacidade de resolver ou não problemas. Será que a Máquina de Turing, proposta em 1936, reconhece TUDO que pode ser computado por máquinas? Será que não existem arquiteturas mais poderosas que os computadores atuais? Ainda não sabemos

Computação Efetiva Curiosidade Durante a década de 30, vários formalismos foram propostos, e posteriormente foi provado que todos possuem a mesma expressividade: Funções μ-recursivas; Sistemas de Post; λ-cálculo; Máquinas de Turing; Abordagens TOTALMENTE DIFERENTES, com o mesmo PODER COMPUTACIONAL

Computação Efetiva Conjunto de Linguagens Nem todas as linguagens podem ser reconhecidas por Máquinas de Turing P(Σ*) Recursivamente enumeráveis Recursivas Sensíveis ao contexto Livres regulares do contexto Regulares

Máquinas de Turing e Problemas de Decisão P(Σ*) Recursivamente enumeráveis Recursivas Sensíveis ao contexto Livres regulares do contexto Regulares MT nem sempre pára: Apenas para as instâncias que levam ao Sim MT sempre pára: Conjunto de instâncias que levam ao Sim e para o conjunto que levam ao Não

Máquinas de Turing e Problemas de Decisão P(Σ*) Recursivamente enumeráveis Recursivas Sensíveis ao contexto Livres regulares do contexto Regulares Nestes problemas que a disciplina de PAA irá se concentrar...

Leitura para a próxima aula Livro do Cormen: Parte III - Apêndice: Fundamentos de matemática Somatórios

Bibliografia SIPSER, Michael. Introdução à Teoria da Computação. 2a ed.:são Paulo, Thomson, 2007. VIEIRA, Newton José. Introdução aos Fundamentos da Computação: Linguagens e Máquinas. 1a ed.: Rio de Janeiro: Thomson, 2006.