Conhecemos uma sequência infinita de problemas de decisão em que o algoritmo mais eficiente para cada problema ocorre Θ(nk)Θ(nk) hora, onde kk aumenta sem limites?
Suponha, por exemplo, que saberíamos que encontrar um k-clique requer Θ(nk)Θ(nk), essa sequência pode ser {1-clique, 2-clique, 3-clique, ...}. No entanto, talvez haja algoritmos mais eficientes para o k-clique, portanto esta resposta está incorreta.
Pelo Teorema da Hierarquia de Tempo (que inclui "P não diminui para DTIME (nknk) para qualquer fixo kk"), essa sequência deve existir.
Após algumas discussões nos comentários, problemas comuns de PN não são bons candidatos. Se demorar apenasO(n)O(n) hora de verificar um certificado (ou O(nc)O(nc), Onde cc é uma constante independente de kk), implicaria que P≠NPP≠NP
Para o que vale a pena, existem algoritmos mais eficientes para o 3-clique. O quadrado da matriz de adjacência leva a ordem do tempo n-até-o-dois-pontos-algo e informa se existe um caminho de dois entre um determinado par de vértices. Então agora você apenas verifica se algum par adjacente de vértices também tem um caminho de dois entre eles.
A multiplicação rápida de matrizes melhora o expoente em seus algoritmos ingênuos. Por exemplo,3k3k-cliques podem ser encontradas a tempo O(nωk)O(nωk).
Melhores candidatos são os kkProblemas -SUM, cuja complexidade é conjecturada como sendo aproximadamente n⌈k/2⌉n⌈k/2⌉. Foi conjeturado que essa é a complexidade exata, mas agora sabemos que você pode obter fatores subpolinomiais.
@j_random_hacker Medimos a complexidade para kk e aumentando nn.
O Teorema da Hierarquia do Tempo é particularmente não construtivo, de modo que 'extrair' essa sequência da prova é impossível? (Claro, isso provavelmente seria um muito antinatural seqüência de problemas, mas se isso não é o que você quer, então talvez que deve ser especificado)
Você deixa o modelo computacional aberto. Assumirei que a pergunta se refere a máquinas de acesso aleatório (RAMs), como é habitual quando se pede o expoente real no tempo polinomial.
Deixei PkPk ser o conjunto de (codificações de) RAMs MM, de tal modo que MM pára no máximo |M|k|M|k etapas usando no máximo a inicial |M|k|M|kcélulas de memória. Uma RAM universal pode resolverPkPk no O(nk)O(nk).
Por outro lado, PkPk é o problema universal para DTIME(nk)DTIME(nk)(no modelo de RAM e com reduções lineares de tempo). Como um caso especial da versão RAM do teorema da hierarquia de tempo, uma simples diagonalização mostra que todos os algoritmos paraPkPk tem tempo de execução Ω(nk)Ω(nk). Assim, a complexidade dePkPk é Θ(nk)Θ(nk) como solicitado.
O aperto depende fortemente do modelo computacional. A versão da máquina de Turing do teorema da hierarquia de tempo tem umlognlog⁡nGap = Vão. DeixeiP′kPk′ pode ser resolvido em nknk tempo por uma máquina universal de Turing e todos os algoritmos têm tempo de execução Ω(nklogn)Ω(nklog⁡n). Eu suspeito que este é o melhor que se pode fazer.
Em um comentário, você pede mais convencional problemas , como problemas de gráficos ou lógica.
Primeiro, deixe-me mostrar como kk-Clique (como sugerido na resposta) não parece ser um bom candidato. Se pudéssemos provar issokk-Clique requer tempo Ω(nk)Ω(nk) (ou Ω(nf(k))Ω(nf(k)) para alguns ilimitados ff), sugerimos que o Clique não está em P. E, portanto, P é diferente de NP. Não é provável que seja fácil. O mesmo vale para fatias de qualquer outro problema que sabemos estar no NP ou em algumas outras classes, como PSPACE, desconhecidas por serem diferentes de P.
Todo problema pode ser reformulado como um problema gráfico, codificando a entrada como um gráfico. Não sei se você chamaria uma versão gráfica dePkPkconvencional. Eu não chamaria isso de natural.
Quanto à lógica, posso fornecer um exemplo. No entanto, não é uma lógica booleana e existe uma lacuna entre o limite inferior e o superior. O exemplo é baseado no teorema de Immerman-Vardi. DeixeiLLser lógica de primeira ordem estendida por operadores de ponto menos fixo. DeixeiLkLk denotar o fragmento onde apenas kkvariáveis ​​de primeira ordem são permitidas. É permitido reutilizar variáveis, portanto a restrição é que cada sub-fórmula tenha no máximokkvariáveis ​​livres. O problemaMkMk é o problema de verificação de modelo para LkLk, que está na entrada de uma fórmula φ∈Lkφ∈Lk e uma estrutura AA do vocabulário correspondente, a tarefa é decidir se A⊨φA⊨φ, é se φφ é verdade em AA.
MkMk pode ser resolvido a tempo O(n2k+1)O(n2k+1). Por outro lado, por algumas constantescc, M3k+cM3k+c é difícil para DTIME(nk)DTIME(nk) (onde também exigimos um nknkligado ao conteúdo das células da memória). Acreditoc=2c=2é suficiente. A partir da diagonalização, obtemos queM3k+cM3k+c requer tempo Ω(nk)Ω(nk), tão MkMk requer tempo Ω(nk−c3)Ω(nk−c3). O limite não é apertado no sentido deΘ(nk′)Θ(nk′), mas pelo menos temos nΘ(k)nΘ(k).
Estou interessado principalmente em todos os algoritmos (em oposição ao conhecido ). No entanto, eu ficaria feliz com um limite inferior que aumenta sem limites à medida quekk aumenta (em oposição a ΘΘ) Se eu entendi direito, é esse o caso. Seria ótimo ter uma sequência de problemas mais "convencional" (por exemplo, com gráficos ou lógica booleana).