Ao projetar um algoritmo para um novo problema, se não conseguir encontrar um algoritmo de tempo polinomial depois de um tempo, talvez eu tente provar que é NP-difícil. Se for bem-sucedido, expliquei por que não consegui encontrar o algoritmo de tempo polinomial. Não é que eu tenha certeza de que P! = NP, é apenas que isso é o melhor que pode ser feito com o conhecimento atual e, de fato, o consenso é que P! = NP.
Da mesma forma, digamos que encontrei uma solução em tempo polinomial para algum problema, mas o tempo de execução é . Depois de muito esforço, não faço progressos para melhorar isso. Então, em vez disso, posso tentar provar que é 3SUM-difícil. Isso geralmente é um estado de coisas satisfatório, não por causa da minha suprema crença de que o 3SUM realmente exige tempo, mas porque esse é o estado da arte atual, e muitas pessoas inteligentes tentaram melhorar e falharam. Portanto, não é minha culpa que seja o melhor que posso fazer.Θ ( n 2 )
Nesses casos, o melhor que podemos fazer é um resultado de dureza, em vez de um limite inferior real, pois não temos limites inferiores super-lineares para Turing Machines para problemas em NP.
Existe um conjunto uniforme de problemas que pode ser usado para todos os tempos de execução polinomiais? Por exemplo, se eu quiser provar que é improvável que algum problema tenha um algoritmo melhor que , existe algum problema X que eu possa mostrar que é X-difícil e deixar assim?
Atualização : Esta pergunta originalmente pedia famílias de problemas. Como não existem muitas famílias de problemas e essa pergunta já recebeu excelentes exemplos de problemas físicos individuais, estou relaxando a questão para qualquer problema que possa ser usado para resultados de dureza em tempo polinomial. Também estou adicionando uma recompensa a esta pergunta para incentivar mais respostas.
fonte
Respostas:
Sim, o algoritmo mais conhecido para SUM é executado no tempo , por isso é muito possível que você possa argumentar que algum problema é difícil, porque se estiver em então você pode resolver -SUM mais rápido.O ( n ⌈ k / 2 ⌉ ) n 7 n 6,99 14k O ( n⌈ k / 2 ⌉) n7 n6,99 14
Observe que o problema -SUM fica "mais fácil" à medida que aumenta: dado um algoritmo aprimorado para -SUM, é bastante fácil obter um algoritmo aprimorado para -SUM: use todos os pares de números em seu dada a instância -SUM, substituindo cada par pela soma dos dois e procure uma soma de números dentre os que são iguais a . Então, um algoritmo para SUM implica um algoritmo para -SUM. Em outras palavras, um limite inferior apertado parak k 2 k O ( n 2 ) n 2 k k 0 O ( n k / 2 - ε ) k O ( n k - 2 ε ) 2 k 2 k kk k k 2 k O ( n2) n 2 k k 0 0 O ( nk / 2 - ε) k O ( nk - 2 ε) 2 k 2 k -SUM é uma suposição mais forte do que um limite inferior apertado para -SUM.k
Outro candidato a um problema difícil é o -Clique. Veja minha resposta -Clique para saber mais sobre isso . Se você puder mostrar (por exemplo) que um algoritmo melhor para o seu problema implica em um algoritmo para -clique, seria necessária uma super descoberta para melhorar seu algoritmo. A complexidade parametrizada fornece muitos exemplos de outros problemas como este: -Clique é difícil para a classe e -SUM é difícil para .O ( log n ) O ( n 2 ) 3 k W \ [ 1 \] k W \ [ 2 \]k O ( logn ) O ( n2) 3 k W\ [ 1\] k W\[2\]
Deixe-me avisá-lo que, embora problemas como esse sejam muito convenientes, problemas como SOMA não estão entre os "mais difíceis" em ; por exemplo, é muito improvável que todos os problemas em pode realmente ser reduzido em tempo linear para SUM. Isso ocorre porque o SOM pode ser resolvido com bits de não-determinismo no tempo linear, portanto, se tudo no tempo quadrático puder ser reduzido para SUM, então e outras conseqüências fantásticas resultarão. Mais sobre esse ponto pode ser encontrado no artigo "Qual a dificuldade dos problemas difíceis ?"T I M E [ n 2 ] T I M E [ n 2 ] 3 3 O ( log n ) 3 P ≠ N P n 2 n 23 TIME[n2] TIME[n2] 3 3 O(logn) 3 P≠NP n2 (Em algum momento, "3SUM-hard" foi chamado de " -hard "; este artigo do SIGACT se queixou corretamente desse nome.)n2
fonte
Acredita-se que o problema de caminhos mais curtos de todos os pares (APSP) requer tempo . Reduzir é uma ótima maneira de argumentar que as melhorias baseadas na Multiplicação Rápida de Matrizes (FMM) são improváveis.Ω⋆(n3)
fonte
Acredita-se que os melhores algoritmos para o problema de degeneração afim no espaço dimensional sejam executados no tempo . O problema é o seguinte: Dados pontos no espaço tridimensional com coordenadas inteiras, quaisquer pontos estão em um hiperplano comum?d O(nd) n d d+1
O problema de degeneração afim é -SUM difícil. Se ligarmos o limite inferior conjecturado para SUM, obteremos um limite inferior de . A conjectura para a complexidade do problema de degeneração afim é muito mais forte para , no entanto.k Ω ( n ⌊ d / 2 ⌋ + 1 ) d ≥ 3(d+1) k Ω(n⌊d/2⌋+1) d≥3
J. Erickson, S. Har-Peled e DM Mount, Sobre o Problema do Mínimo Quadrado Mediano, Geometria Discreta e Computacional, 36, 593-607, 2006. http://www.cs.umd.edu/~mount/Papers /dcg06-lms.pdf
J. Erickson e R. Seidel. Limites inferiores melhores na detecção de degenerescências esféricas e finas. Computação Discreta. Geom., 13: 41–57, 1995. http://compgeom.cs.uiuc.edu/~jeffe/pubs/degen.html
J. Erickson. Novos limites inferiores para problemas convexos do casco em dimensões ímpares. SIAM J. Comput., 28: 1198–1214, 1999. http://compgeom.cs.uiuc.edu/~jeffe/pubs/convex.html
fonte
O problema de Hopcroft é conjecturado para exigir tempo : Dado um conjunto de pontos e um conjunto de linhas no plano, existe algum ponto em alguma linha?n nΘ(n4/3) n n
fonte