Autor Tópico: P versus NP - o tópico definitivo!  (Lida 3246 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
P versus NP - o tópico definitivo!
« Online: 19 de Abril de 2006, 13:41:13 »
A Máquina

Existem alguns problemas que são mais "fáceis" para um computador resolver que outros. Mas o que significa ser "fácil" pra um computador? Será o tempo que ele leva pra realizar uma tarefa? A quantidade de eletricidade que ele gasta? O tanto de memória necessária durante a execução?

E mais: existem "ene" tipos de computador diferentes. CPUs diferentes. PCs, MACs, tamagoshi, arquiteturas RISC, supercomputadores com centenas de cpus, Playstastion... Como definir a dificuldade de uma tarefa de forma independente do hardware que você tem?

A resposta é usar uma abstração chamada Máquina de Turing. Ela criada pelo boiola Alan Turing nos anos 50, é mais ou menos assim: um computador imaginário feito de uma caixa que executa tudo (a cpu) uma fita de papel quadriculado cujo tamanho não importa qual é, mas é grande (ou memória) e um cabeçote de leitura e escrita, que fica posicionado em cima da fita. De acordo com o programa da máquina, ela a cada passo lê o que tem abaixo do cabeçote e ou escreve algo nele, ou chega a fita de papel pra direita ou pra esquerda.

Um troço desses é totalmente ridículo, mas serve de modelo matemático de toda computação capaz de ser efetuada por qualquer tipo de computador. Pra você entender a utilidade disso, pense da seguinte forma: Você quer viajar e quer saber quanto combustível vai gastar. Uma revista poderia publicar um mapa do Brasil com uma tabela do gasto de combustível entre cada cidade, e para cada tipo de motor carro. Seria uma lista enooorme.  Ao invés disso, publica com a distância em quilômetros. Cada dono de carro sabe quanto gasta por quilômetro e faz as contas.

Então é isso: Os cientistas em computação publicam teoremas mostrando quantos passos uma máquina abstrata como a de Turing leva pra realizar cada tarefa, e cada dono de computador avalia aquilo pra máquina dele. (sim, eu estou supersimplificando, mas o princípio é esse)

O "tempo" então se "mede" em quantidade de passos e o espaço em memória em termos de quantidade de quadradinhos de papel usados.

Vamos dar um exemplo besta: colocar uma lista de nomes em ordem alfabética. Tem vários métodos pra fazer isso. Existe um muito simples que qualquer um aprendendo a programar computador pode fazer, que é o tal do método da bolha. Quanto tempo ele leva? Se você tem 2 nomes pra ordenar, um número de passos lá... proporcional a 4. Se você tem 3 nomes um número proporcional a 9. Se você tem 1000, um número proporcional a 1.000.000. Enfim, você já viu falar em elevar um número ao quadrado, né?

Existem métodos melhores que o da bolha, mas não vou falar deles aqui. É só pra você entender que ele é do tipo n ao quadrado. Existem problemas que exigem um número de passos menor, outros maior.


Então... E tem um monte de problemas interessantes que todo mundo está interessado em resolver usando computador, mas que... hmm... Demorariam demais. Um desses, que vou detalhar agora, é o problema do caixeiro viajante.

O Vendedor

Um vendedor precisa visitar um certo número de cidades pra sair oferecendo seus produtos. Ele tem um computador. Ele quer digitar no computador os nomes das cidades e uma tabelinha com as distâncias entre elas. Beleza. E quer agora que a máquina calcule a ordem que ele pode visitar as cidade de forma a percorrer a menor distância possível. Epa!

Se forem só umas 3 ou 4 cidades vá lá. Mas se o número for crescendo, não tem computador no mundo que dê jeito. Nem se juntarem todos os computadores do mundo, e desse pra cada um uma parte do problema. Não tem como. Ainda assim levaria milhões, bilhões de anos, dependendo do número de cidades. Ou mesmo milhares de vezes a idade do universo...

Isso porque não há um método conhecido que dê a resposta exata em um número decente de passos. Só existem os que levam um número exponencial de passos, ou que não dão sempre a resposta exata (mas algo aproximado) ou sei lá.

A quase um século se busca esse tipo de método, sem sucesso.

E se você está pensando "os vendedores viajantes que se danem", calma lá!

Os caras perceberam que existem esses problemas pra todo lado... Tráfego de dados na Internet. Alocação de encomendas no caminhão dos correios. Escalonamento de navios no porto. Uma porção de joguinhos, como Campo Minado, Sudoku. Inteligência Artificial.

Todos são problemas chamados de intratáveis. Muitos deles tem relação direta com custos da indústria e aproveitamento de matérias primas e tempo e mesmo combustível. Um método decente de achar soluções boas para eles poderia diminuir custos (e muito), aquecer a economia, diminuir a poluição, e muitos outros benefícios. Na verdade isso é só a ponta de um iceberg. Métodos assim trariam um mega-benefício de forma que não vou explicar agora, mas dotaria a humanidade de poderes incríveis.

Uma boa notícia: Achar um método pra um dos problemas significa achar pra todos. Achar um método pra o problema do caixeiro viajante é o Santo Graal da Ciência da Computação. Há décadas que está todo mundo pensando nisso.

Mas como ninguém achou até agora... estamos achando que deva ser impossível.

Bem, é isso. Você já entendeu o que é o problema "P versus NP". Só falta explicar o que é esse nome.

As Siglas

P vem de "Polinomial". É uma forma de caracterizar os algoritmos (que eu chamei de métodos neste texto) "fáceis": eles levariam um número de passos proporcional a um polinômio.

NP vem "Polinomial em Máquina de Turing Não-determinística". Não vou explicar o que é Não-determinística agora. Ao invés disso, deixa eu caracterizar o conjunto NP de outra forma:

Achar uma solução pro problema do caixeiro viajante pode ser difícil, mas... se você tiver achado uma e disser "eu tenho" o que você faz? Posta a solução num fórum de céticos. Lista lá "ele vai primeiro na cidade 1, depois na 17 ...". Eles vão conferir se a solução dá certo. E vão ter que te engolir.

Enfim: problemas NP são aqueles que, se você tem uma solução, mostre! Se ela é correta, isso pode ser verificado em tempo polinomial.

Perceba um detalhe que nem todo mundo se toca: Todo problema em P está dentro de NP também: Pra verificar é só rodar o algoritmo de novo. Olha a figurinha:



O Prêmio

Existe um prêmio de um milhão de dólares pra quem responder a essa pergunta "existe um algoritmo polinomial pra resolver problemas NP-completos (como caixeiro ou equivalentes)? Se sim, mostre. Se não, mostre porquê."

Mas convenhamos, um problema dessa importância e impacto nem precisava desse prêmio mixuruca pra deixar todo mundo interessado.
« Última modificação: 19 de Abril de 2006, 20:15:46 por Guinevere »

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #1 Online: 19 de Abril de 2006, 13:43:56 »
E aí? tá bom? tá ruim? Deu pra entender? Dúvidas?

Offline Snake

  • Nível 31
  • *
  • Mensagens: 2.049
  • Sexo: Masculino
Re: P versus NP - o tópico definitivo!
« Resposta #2 Online: 19 de Abril de 2006, 19:32:25 »
Ficou bom, mas você não relacionou a máquina de Turing, o método da bolha e o problema do caixeiro-viajante ao assunto do título. Você só começa a falar de P vs. NP na seção "As Siglas".
Newton's Law of Gravitation:
What goes up must come down. But don't expect it to come down where you can find it. Murphy's Law applies to Newton's.

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #3 Online: 19 de Abril de 2006, 19:41:37 »
Ficou bom,
Obrigada

mas você não relacionou a máquina de Turing, o método da bolha e o problema do caixeiro-viajante ao assunto do título.
Como assim?
Você só começa a falar de P vs. NP na seção "As Siglas".
Foi intencional, pra não cansar o pessoal com definições técnicas.

Offline n/a

  • Nível Máximo
  • *
  • Mensagens: 6.699
Re: P versus NP - o tópico definitivo!
« Resposta #4 Online: 20 de Abril de 2006, 22:16:02 »
Interessante mesmo.

Offline Snake

  • Nível 31
  • *
  • Mensagens: 2.049
  • Sexo: Masculino
Re: P versus NP - o tópico definitivo!
« Resposta #5 Online: 20 de Abril de 2006, 22:25:15 »
mas você não relacionou a máquina de Turing, o método da bolha e o problema do caixeiro-viajante ao assunto do título.
Como assim?

Logo depois de falar sobre as questões citadas você assume que "Você já entendeu o que é o problema "P versus NP"", mas sem explicar o que ele é. Uma forma de fazer isso seria relacionando-as ao problema.
Newton's Law of Gravitation:
What goes up must come down. But don't expect it to come down where you can find it. Murphy's Law applies to Newton's.

Tarcísio

  • Visitante
Re: P versus NP - o tópico definitivo!
« Resposta #6 Online: 21 de Abril de 2006, 01:49:33 »
Não entendi.

Offline Luis Dantas

  • Nível Máximo
  • *
  • Mensagens: 15.195
  • Sexo: Masculino
  • Morituri Delendi
    • DantasWiki
Re: P versus NP - o tópico definitivo!
« Resposta #7 Online: 21 de Abril de 2006, 02:45:25 »
Ajuda se conferirem http://es.wikipedia.org/wiki/NP

não que eu tenha entendido o que é um problema NP, mas sinto que cheguei mais perto... :)
« Última modificação: 21 de Abril de 2006, 02:49:10 por Luis Dantas »
Wiki experimental | http://luisdantas.zip.net
The stanza uttered by a teacher is reborn in the scholar who repeats the word

Em 18 de janeiro de 2010, ainda não vejo motivo para postar aqui. Estou nos fóruns Ateus do Brasil, Realidade, RV.  Se a Moderação reconquistar meu respeito, eu volto.  Questão de coerência.

Tarcísio

  • Visitante
Re: P versus NP - o tópico definitivo!
« Resposta #8 Online: 21 de Abril de 2006, 04:34:35 »
Idem ao Dantas.

CuritibaCetica

  • Visitante
---
« Resposta #9 Online: 21 de Abril de 2006, 04:39:36 »
---
« Última modificação: 29 de Janeiro de 2007, 05:54:02 por CuritibaCética »

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #10 Online: 21 de Abril de 2006, 08:50:48 »
Não entendi.
Diz a parte que vc não entendeu...

Dada a forma como está escrita a mensagem inicial, proponho mudar o nome do tópico para:
P versus NP - o tópico definitivo para confundir todo mundo!
Que maldoso...

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: P versus NP - o tópico definitivo!
« Resposta #11 Online: 21 de Abril de 2006, 09:12:30 »
Um problema P pode ser resolvido e verificado em um certo tempo, já um problema NP demora muito para ser resolvido, mas pode ser verificado rapidamente, é isso?
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #12 Online: 21 de Abril de 2006, 09:55:23 »
Quase. Mudemos para

Citar
Um problema está em P quando pode ser resolvido e verificado em um certo tempo (polinomial=>"rápido"), já um problema está em NP quando pode demorar muito para ser resolvido (ou não), mas pode ser verificado rapidamente

 

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: P versus NP - o tópico definitivo!
« Resposta #13 Online: 21 de Abril de 2006, 10:45:12 »
Certo, entendi agora.

Obrigado, Gui :D
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Tarcísio

  • Visitante
Re: P versus NP - o tópico definitivo!
« Resposta #14 Online: 21 de Abril de 2006, 13:59:35 »
Citar
Existe um prêmio de um milhão de dólares pra quem responder a essa pergunta "existe um algoritmo polinomial pra resolver problemas NP-completos (como caixeiro ou equivalentes)? Se sim, mostre. Se não, mostre porquê."

Mas convenhamos, um problema dessa importância e impacto nem precisava desse prêmio mixuruca pra deixar todo mundo interessado.

O que é um algoritmo polinomial?

CuritibaCetica

  • Visitante
---
« Resposta #15 Online: 21 de Abril de 2006, 20:37:07 »
---
« Última modificação: 29 de Janeiro de 2007, 05:52:05 por CuritibaCética »

Offline Luis Dantas

  • Nível Máximo
  • *
  • Mensagens: 15.195
  • Sexo: Masculino
  • Morituri Delendi
    • DantasWiki
Re: P versus NP - o tópico definitivo!
« Resposta #16 Online: 21 de Abril de 2006, 20:43:37 »
Citar
Existe um prêmio de um milhão de dólares pra quem responder a essa pergunta "existe um algoritmo polinomial pra resolver problemas NP-completos (como caixeiro ou equivalentes)? Se sim, mostre. Se não, mostre porquê."

Mas convenhamos, um problema dessa importância e impacto nem precisava desse prêmio mixuruca pra deixar todo mundo interessado.

O que é um algoritmo polinomial?

Se não me engano, é uma forma de resolver problemas (algoritmo) cujo tempo de resolução aumenta de uma forma "civilizada" (polinomial, ou seja, descritível por um polinômio algébrico) quando a complexidade do problema aumenta.
Wiki experimental | http://luisdantas.zip.net
The stanza uttered by a teacher is reborn in the scholar who repeats the word

Em 18 de janeiro de 2010, ainda não vejo motivo para postar aqui. Estou nos fóruns Ateus do Brasil, Realidade, RV.  Se a Moderação reconquistar meu respeito, eu volto.  Questão de coerência.

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #17 Online: 23 de Abril de 2006, 19:40:47 »
Maldoso, não. Apenas sincero. :!: A forma como os conceitos estão expostos é confusa e pouco explicativa.
Não ajuda nada se não disser qual parte está confusa e você quer que melhore.

Se é que vocÊ quer que melhor, né?

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #18 Online: 08 de Maio de 2006, 12:22:17 »
Ah, esqueci de dizer:

Minha opinião é que P é diferente de NP (não existe o tal algoritmo "bom") porque Deus não dá asa a cobra

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #19 Online: 23 de Outubro de 2006, 15:47:28 »
bump

[modo video dos macacos on]
leiam, novatos, leiam!
[modo video dos macacos off]


Offline Snake

  • Nível 31
  • *
  • Mensagens: 2.049
  • Sexo: Masculino
Re: P versus NP - o tópico definitivo!
« Resposta #20 Online: 23 de Outubro de 2006, 17:08:25 »
O texto ainda precisa ser melhorado muito.
Newton's Law of Gravitation:
What goes up must come down. But don't expect it to come down where you can find it. Murphy's Law applies to Newton's.

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #21 Online: 23 de Outubro de 2006, 17:12:22 »
Por favor, diga em que pontos.

Offline Snake

  • Nível 31
  • *
  • Mensagens: 2.049
  • Sexo: Masculino
Re: P versus NP - o tópico definitivo!
« Resposta #22 Online: 23 de Outubro de 2006, 18:44:38 »
  • Na parte da explicação sobre a máquina de Turing, é melhor descrever a máquina e depois dizer o que é equivalente à CPU e à memória. Também é bom colocar uma imagem. E também não precisa informar que o Turing era boiola.
  • Na parte sobre o caixeiro-viajante, você não explicou a diferença entre os problemas intratáveis e os exemplos que tinha dado no começo (aliás, nem disse que tem diferença, o que torna o texto mais confuso ainda). No caso da lista de nomes, o número de passos também poderia crescer enormemente, e daí não fica explícita a diferença entre P e NP.
  • Evite usar reticências e dê uma olhada no concordância, vírgulas faltando/sobrando, e etc.
Newton's Law of Gravitation:
What goes up must come down. But don't expect it to come down where you can find it. Murphy's Law applies to Newton's.

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: P versus NP - o tópico definitivo!
« Resposta #23 Online: 23 de Outubro de 2006, 18:47:38 »
E também não precisa informar que o Turing era boiola.
Um ou outro detalhe biografico torna tudo mais interessante e prende a atenção, além de mostrar que homossexuais também são gente.

Obrigada por tudo, mais depois vou revisar.

Offline Dr. Manhattan

  • Moderadores Globais
  • Nível Máximo
  • *
  • Mensagens: 8.342
  • Sexo: Masculino
  • Malign Hypercognitive since 1973
P /= NP !
« Resposta #24 Online: 10 de Agosto de 2010, 15:52:13 »
PQP!

Alguem pode ter provado que P+%5Cneq+NP!

Citar
Holy Freaking Cow… P != NP??

By MarkCC on Aug 09 2010

Categories: Computational Complexity

Very big, very exciting news in the theoretical comp sci world today!

A group at HP research has published a proof that, if correct, shows that the classic problem of computational complexity has been solved, once and for all. It’s still far from certain that it’s correct. But it’s the most credible attempt that I’ve ever seen, and it’s getting some preliminary favorable feedback from big-names in complexity theory. In fact, one of the biggest names in complexity theory, Stephen Cook, has apparently said that it should be taken seriously. If Cook thinks it’s credible, then it’s damn-well credible. It might not be correct, but it’s not just crackpottery either.

fonte: http://scientopia.org/blogs/goodmath/2010/08/09/holy-freaking-cow-p-np/

Para vocês terem uma idéia, essa prova pode valer um prêmio de US$ 1000000,00.
O link para o artigo (para quem entende do assunto) é: http://www.hpl.hp.com/personal/Vinay_Deolalikar/Papers/pnp_updated.pdf
Parece que o sujeito foi slashdotted, por isso nem adianta clicarem nesse link por enquanto.
You and I are all as much continuous with the physical universe as a wave is continuous with the ocean.

Alan Watts

 

Do NOT follow this link or you will be banned from the site!