PROBLEMAS FÁCEIS E DIFÍCEIS. Prof. André Vignatti DINF - UFPR



Documentos relacionados
Análise e Complexidade de Algoritmos

Batalha Naval Algoritmos de Busca. Correlações curriculares Matemática: Números: maior que, menor que, iguais a.

Mercados de Publicidade

ECO039 Linguagens Formais

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

Dadas a base e a altura de um triangulo, determinar sua área.

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

ROBÔS QUE BRINCAM. Eles já existem fora dos desenhos animados

TAM: o espírito de servir no SAC 2.0

5 Equacionando os problemas

Cadastro de Produtos

5COP096 TeoriadaComputação

Bacharelado em Ciência e Tecnologia Bacharelado em Ciências e Humanidades. Representação Gráfica de Funções

TÓPICO DE EXEMPLO TOMADA DE DECISÃO NÃO É O QUE VOCÊ IMAGINA TÓPICOS

Breve história do computador e iniciação ao Microsoft Word

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

O próximo módulo trata de Sucessos: Como os Sucessos do passado de uma criança podem ajudá-la no futuro. Você saberá por que nos concentramos em

Diminua seu tempo total de treino e queime mais gordura

Estudo de Caso. Cliente: Rafael Marques. Coach: Rodrigo Santiago. Duração do processo: 12 meses

MC-102 Aula 01. Instituto de Computação Unicamp

1. A Google usa cabras para cortar a grama

Inteligência Computacional: resolvendo problemas difíceis da vida real

3 Dicas MATADORAS Para Escrever s Que VENDEM Imóveis

Análise de Links e Busca na Web

Respostas de MAIO. A sequência é formada elevando-se ao quadrado os números 2,3,4... e somandolhes 2 em cada caso.

Algoritmos. Objetivo principal: explicar que a mesma ação pode ser realizada de várias maneiras, e que às vezes umas são melhores que outras.

Simulação Estocástica

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

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

Comandos Sequenciais if else, e Switch

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ÍNDICE. Introdução. Os 7 Segredos. Como ser um milionário? Porque eu não sou milionário? Conclusão. \\ 07 Segredos Milionários

internetsegura.fde.sp.gov.br

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV

Se você está começando a explorar o marketing digita com o YouTube, então você, certamente, já notou o quão poderosos são os vídeos.

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

DESENVOLVENDO HABILIDADES CIÊNCIAS DA NATUREZA I - EM

Deus tem o melhor pra mim

Gabarito da 17ª Olimpíada Estudantil Astra de Matemática ª Fase

Investigando números consecutivos no 3º ano do Ensino Fundamental

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

1.1. Organização de um Sistema Computacional

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

Como escrever melhor em 5 passos simples

Consultoria e Gerenciadora

Seminário de Introdução a pesquisa

Princípio da Casa dos Pombos I

Algoritmos Genéticos

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

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3

Estabelecendo Prioridades para Advocacia

Gabarito da Prova de Oficinas dos Velhos Ano 2008

Como fazer seu blog se destacar dos outros

Presidência da República Casa Civil Secretaria de Administração Diretoria de Gestão de Pessoas Coordenação Geral de Documentação e Informação

9º Plano de aula. 1-Citação as semana: Não aponte um defeito,aponte uma solução. 2-Meditação da semana:

VOCÊ QUER LER EM INGLÊS EM APENAS 7 DIAS?

2. Representação Numérica

Introdução Processamento Paralelo

BCC202 - Estrutura de Dados I

Manual prático de criação publicitária. (O dia-a-dia da criação em uma agência)

Departamento de Engenharia. ENG 1090 Introdução à Engenharia de Produção

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

Escaneando seu computador com o Avira AntiVir 10

ESTRUTURAS DE DADOS II

Aprenda como estudar em quatro etapas PORVIR

COMO PARTICIPAR EM UMA RODADA DE NEGÓCIOS: Sugestões para as comunidades e associações

Matéria: Matemática Assunto: Máximo Divisor Comum Prof. Dudan

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

MANUAL LOTOFÁCIL. Por Cláudio luis

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DA FRONTEIRA SUL COMISSÃO PERMANENTE DO PROCESSO SELETIVO DÚVIDAS FREQUENTES

Manual de Utilização

P/1 Seu Ivo, eu queria que o senhor começasse falando seu nome completo, onde o senhor nasceu e a data do seu nascimento.

Antivírus. Trabalho elaborado por. Ana Ferreira. Patricia Ferreira

Revisão - Reveja os pontos principais, o Plano de Ação ou os tópicos da discussão do encontro anterior.

BANCO DE DADOS. Eliminar redundâncias e inconsistências de um banco de dados, com reorganização mínima dos dados.

Curso de Instalação e Gestão de Redes Informáticas

3. O NIVEL DA LINGUAGEM DE MONTAGEM

BC-0005 Bases Computacionais da Ciência. Modelagem e simulação

Guia: como instalar o Ubuntu Linux

COMO INVESTIR PARA GANHAR DINHEIRO

Dito isso, vamos ao que interessa para se abrir um escritório contábil:

O NEGÓCIO DA CERTO O NEGÓCIO DA CERTO APRENDA COMO AUMENTAR O DESEMPENHO DO SEU COMPUTADOR COM DICAS SIMPLES E FÁCEIS

7 erros mais comuns no supply chain, pela visão colaborativa dos processos B2B

GERADOR EÓLICO 1 INTRODUÇÃO

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

A CD BABY APRESENTA: Criando Eventos de Sucesso no Facebook Catorze regras para lotar os seus shows

Complexidade de Algoritmos. Edson Prestes

Montagem e Manutenção. Luís Guilherme A. Pontes

Treinamento Adsense O curso que ensina você a construir um negócio do zero. E faturar e Ganhar ate R$4,5MIL por Mês na Internet

Luís Norberto Pascoal

Atividade 11. Caça ao Tesouro Autômatos de Estados Finitos

ATIVIDADES DE MATEMÁTICA 8ª A/B

ALGORITMOS DE ORDENAÇÃO. Algoritmos de comparação-e-troca. Bubble Sort Merge Sort Quick Sort

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Transcrição:

PROBLEMAS FÁCEIS E DIFÍCEIS Prof. André Vignatti DINF - UFPR

ENCONTRANDO CARTAS E PALAVRAS... Experimento em sala: encontrar carta no baralho, encontrar palavra no dicionário Qual das duas buscas é mais eficiente?

COMANDOS BÁSICOS DE UM COMPUTADOR Atribuições Desvios Condicionais Repetições

PROBLEMAS COMPUTACIONAIS Problema Computacional: Entrada Saída Exemplo (Problema PRIMO ): Entrada: um número n inteiro Saída: SIM ou NÃO, dependendo se n é primo ou não

ALGORITMOS Algoritmo: é a solução para problemas computacionais, usando comandos básicos do computador Existem várias soluções (algoritmos) para um mesmo problema!

TEMPO DE EXECUÇÃO Voltando ao exemplo inicial... No pior caso, quantas tentativas até encontrar uma carta num deck com n cartas?

TEMPO DE EXECUÇÃO No pior caso, quantas tentativas até encontrar uma palavra num dicionário (ordenado) com n páginas? n 2 n 2 2 n 2 3 n 2 i Reformulando: Quantas vezes deve-se elevar 2 para que 2 i seja igual a n? 1

TEMPO DE EXECUÇÃO Tentativas no pior caso: Busca sequencial: n Busca binária: log 2 n Moral da História: algoritmos inteligentes são muito mais rápidos! Se soubesse disso, não testaria as lâmpadas uma a uma para descobrir onde está a bomba... n log 2 n 2 1 4 2 8 3 16 4 32 5...... 1024 10...... 1 milhão 20...... 1 bilhão 30

TEMPO DE EXECUÇÃO Outro exemplo: ordenação de dados São dados n números na memória do computador: 50 39 1 78 45 96 12 32 Queremos reorganizá-los ordenadamente: 1 12 32 39 45 50 78 96 n n 2 n log 2 n 10 100 320 100 10000 650 1000 1 milhão 10000 1 milhão 1 trilhão 20 milhões 1 bilhão 10 18 30 bilhões Algoritmo ingênuo : n 2 Algoritmo esperto : n log 2 n

VELOCIDADE DO COMPUTADOR Medida popular: núm. de instruções por segundo Atualmente: alguns bilhões de instruções por segundo Agora, tarefas repetitivas resolvo programando! Dá pra resolver problemas GRANDES Mas MUITO GRANDES, só com algoritmos espertos Ordenação com 1 bilhão instr/seg n ingênuo esperto 10 - - 100 0,00001 s - 1000 0,001 s 0,00001s 1 milhão 16,6 min 0,2 s 1 bilhão 31,7 anos 30 s

CAIXEIRO VIAJANTE Maria vendia em todos os estados dos EUA Ela esboçou a seguinte rota: (total=11126 Km) Depto de Viagens: Maria, pode fazer melhor?

CAIXEIRO VIAJANTE Maria programou para testar todas as soluções e pegar a melhor 1 semana depois o programa não havia parado... Após uma conta rápida: 48! possibilidades 48! é igual a 12.413.915.592.536.072.670.862.289.047.373.375.038.521.486.354.677.760.000.000.000 Se Tempo do Teste = Tempo para a luz atravessar um átomo Então 0.00000000000000000033 segundos Após Dez Trilhões de Trilhões vezes a Idade da Universo chegaríamos na resposta!!!

CAIXEIRO VIAJANTE

PROBLEMA DA MOCHILA Um ladrão vai roubar uma casa Os objetos têm peso e valor Sua mochila aguenta até um certo peso Quais itens ele deve levar?

PROBLEMA DA MOCHILA Número de Itens Número de Possibilidades 5 32 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376

GUARDAS NO MUSEU Contratar guardas para vigiar TODOS os corredores de um museu Ficam na junção dos corredores Objetivo: quanto menos guardas, melhor! Número de Itens Número de Possibilidades 5 32 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376

MORAL DA HISTÓRIA Alguns problemas são: fáceis : busca, ordenação,... Têm solução esperta difíceis : caixeiro viajante, mochila, museu,...

PROBLEMAS DIFÍCEIS E DISFARCES Existem soluções espertas para os problemas difíceis? Um chute: Talvez para a mochila SIM, talvez para o museu NÃO...

PROBLEMAS DIFÍCEIS E DISFARCES Existem soluções espertas para os problemas difíceis? Caixeiro Viajante, Mochila e Museu são, no fundo, O MESMO PROBLEMA!!! Só têm disfarces diferentes Solução esperta para um = Solução esperta para TODOS Todos problemas difíceis DO MUNDO!!! Isso é contraintuitivo: vocês vão ter que acreditar...

PROBLEMAS P, NP Conjunto NP: problemas com solução Pode ou não ser fácil NINGUÉM SABE (ainda) Intuitivamente: qualquer problema Busca, Ordenação, Caixeiro Viajante, Problema da Mochila e do Museu TODOS são problemas NP Conjunto P: problemas com solução esperta Busca e Ordenação são problemas P Caixeiro Viajante, Mochila e Museu NINGUÉM SABE!! problemas fáceis, com soluções espertas

A QUESTÃO P = NP? P = NP? Ou seja: TODOS os problemas difíceis têm soluções espertas? I. Basta uma única solução esperta para um único problema difícil! II. Independente da resposta, você ganha U$1000000

A QUESTÃO P = NP? As maiores questões não resolvidas da matemática: 1. conjectura de Birch e Swinnerton-Dyer 2. conjectura de Hodge 3. equações de Navier-Stokes 4. P = NP? 5. conjectura de Poincaré 6. hipótese de Riemann 7. Teoria de Yang-Mills Esse rapaz recusou 1 milhão!!!! Oferecem U$1000000 para cada problema resolvido Mas, se P = NP, um computador resolveria facilmente os outros: ganha U$6000000!!!

SE P = NP... E se a resposta de P = NP? for SIM? Vamos esboçar um futuro deste mundo bonito: 2016 Milena Pavel, cientista da computação, avisa um pequeno grupo de teóricos da computação sobre um artigo onde provou que P=NP 2017 O ano segue com vários grupos ao redor do mundo verificando se não há erros no artigo de Milena 2018 Milena recebe a medalha Fields. Apesar de ser uma grande descoberta teórica, na prática o algoritmo não executa tão bem... 2019 Milena receba o prêmio de U$1 milhão, aceita e doa para instituições ligadas à educação no Brasil. Começam esforços para melhorar a execução prática do algoritmo 2020 Um russo tem uma boa ideia que melhora a execução, mas ainda assim continua ruim

SE P = NP... 2022 Estudantes de graduação do MIT fazem melhorias no código, e colocam para executar no computador mais rápido dos EUA. Pela 1ª vez, conseguem executar na prática 2023 A Boeing usa a solução para fazer a asa ótima para seu novo 797. O avião faz um vôo direto de Londres até Sidney 2025 Um mestrando japonês usa o algoritmo para otimizar o código do próprio algoritmo. Melhora a execução em 5% 2026 Um doutorando finlandês expande a ideia: repetidamente, usa o código otimizado para gerar um mais otimizado, com melhorias sucessivas. Agora, o algoritmo é rebatizado de algoritmo Helsinki 2029 Análise de DNA e sangue identificam exatamente um câncer e testa as proteínas que eliminam o câncer. A abordagem agora é individual, ao invés de generalizada. Graças ao algoritmo de Helsinki

SE P = NP... 2030 o algoritmo de Helsinki faz previsão do tempo 100% correta, incluindo tempestades, tornados e furacões. Casamentos a céu aberto são mais caros em dias de tempo bom, e têm bons descontos em dias chuvosos. 2031 Transporte de todas as formas são agendadas de forma otimizada para mover pessoas e mercadorias mais rápido e mais barato. Fabricantes melhoram sua produção para aumentar a velocidade e criar menos resíduos. ETC...

Difícil crer que um algoritmo faria tudo isso? SIM, é difícil: Faz 40 anos da pergunta P=NP? P=NP: problema difícil com solução esperta (até hoje, nenhum sucesso) Por isso, muitos acham que P NP Mas então: COMO SERÁ O FUTURO MAIS PROVÁVEL?