Existem problemas no CS em que não são conhecidos algoritmos eficientes, apesar dos teoremas da existência provar que esses algoritmos eficientes devem existir?
Como são chamados esses problemas? Onde posso descobrir mais?
Existem problemas no CS em que não são conhecidos algoritmos eficientes, apesar dos teoremas da existência provar que esses algoritmos eficientes devem existir?
Como são chamados esses problemas? Onde posso descobrir mais?
Respostas:
Como exemplo, Shelby Kimmel usa o método adversário neste documento para mostrar que deve existir algoritmo de consulta O ( 1 ) para um determinado problema para o qual não conhecemos uma solução de consulta constante. Ela faz isso de maneira particularmente eficiente, localizando a complexidade da consulta do problema composto por si d vezes e, em seguida, localizando a complexidade da consulta Q da função composta, e observando que a complexidade da consulta da função original está na ordem Q 1 .
Claro, existem muitos exemplos, pelo menos no espírito da sua pergunta.
Frequentemente, obtém-se esse resultado do método probabilístico . Por exemplo, um artigo de que gosto é o de reconstruir gráficos no modelo aditivo . Aqui, os autores mostram que existe um conjunto de consultas que irão (otimamente) aprender o gráfico de destino. Dado esse conjunto, o algoritmo é eficiente. No entanto, eles usam o método probabilístico para mostrar a existência desse pequeno conjunto (para cada tamanho de problema) que funcionará em todas as entradas, mas não o constrói explicitamente. Portanto, o melhor que eles podem fazer é apenas uma pesquisa de força bruta através de uma família exponencial de consultas, porque elas não têm uma construção explícita.
Não, você sempre pode usar o algoritmo mais rápido e mais curto para todos os problemas bem definidos . ;)
Edit: A resposta abaixo está registrando a existência de soluções para um determinado problema computacional, não a existência de algoritmos. Inicialmente, interpretei mal a pergunta.
Responda
Há uma classe de complexidade que captura esse tipo de problemas computacionais. É conhecido como TFNP . Foi definido neste artigo:
Nimrod Megiddo e Christos Papadimitriou. Em funções totais, teoremas de existência e complexidade computacional . Ciência da Computação Teórica 81 (2): 317-324.
Aqui você encontrará problemas como o Triângulo Tricromático, para os quais a existência de uma solução é garantida pelo Lema de Sperner (consulte o documento para a definição deste problema).
Você também tem o seguinte documento:
Christos Papadimitriou. Sobre a complexidade do argumento de paridade e outras provas ineficientes de existência . Journal of Computer and Systems Science 48 (3), 1990.
Neste documento, você encontrará:
O artigo tem muitos exemplos desse tipo de problema. Então eu recomendo dar uma olhada nisso.