sequência de problemas que levam


7

Conhecemos uma sequência infinita de problemas de decisão em que o algoritmo mais eficiente para cada problema ocorre Θ(nk) hora, onde k aumenta sem limites?

Suponha, por exemplo, que saberíamos que encontrar um k-clique requer Θ(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.

EDITAR:

  • Pelo Teorema da Hierarquia de Tempo (que inclui "P não diminui para DTIME (nk) para qualquer fixo k"), 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) hora de verificar um certificado (ou O(nc), Onde c é uma constante independente de k), implicaria que PNP

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.
David Richerby

A multiplicação rápida de matrizes melhora o expoente em seus algoritmos ingênuos. Por exemplo,3k-cliques podem ser encontradas a tempo O(nωk).
Yuval Filmus

Melhores candidatos são os kProblemas -SUM, cuja complexidade é conjecturada como sendo aproximadamente nk/2. Foi conjeturado que essa é a complexidade exata, mas agora sabemos que você pode obter fatores subpolinomiais.
Yuval Filmus

2
@j_random_hacker Medimos a complexidade para k e aumentando n.
Yuval Filmus

11
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)
lagarto Discrete

Respostas:


3

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 Pk ser o conjunto de (codificações de) RAMs M, de tal modo que M pára no máximo |M|k etapas usando no máximo a inicial |M|kcélulas de memória. Uma RAM universal pode resolverPk no O(nk).

Por outro lado, Pk é o problema universal para 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 paraPk tem tempo de execução Ω(nk). Assim, a complexidade dePk é Θ(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 umlognGap = Vão. DeixeiPk ser o conjunto de (codificações de) máquinas de Turing M, de tal modo que M pára no máximo |M|klognpassos. EntãoPk pode ser resolvido em nk tempo por uma máquina universal de Turing e todos os algoritmos têm tempo de execução Ω(nklogn). Eu suspeito que este é o melhor que se pode fazer.

[EDITAR]

Em um comentário, você pede mais convencional problemas , como problemas de gráficos ou lógica.

Primeiro, deixe-me mostrar como k-Clique (como sugerido na resposta) não parece ser um bom candidato. Se pudéssemos provar issok-Clique requer tempo Ω(nk) (ou Ω(nf(k)) para alguns ilimitados f), 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 dePkconvencional. 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. DeixeiLser lógica de primeira ordem estendida por operadores de ponto menos fixo. DeixeiLk denotar o fragmento onde apenas kvariáveis ​​de primeira ordem são permitidas. É permitido reutilizar variáveis, portanto a restrição é que cada sub-fórmula tenha no máximokvariáveis ​​livres. O problemaMk é o problema de verificação de modelo para Lk, que está na entrada de uma fórmula φLk e uma estrutura A do vocabulário correspondente, a tarefa é decidir se Aφ, é se φ é verdade em A.

Mk pode ser resolvido a tempo O(n2k+1). Por outro lado, por algumas constantesc, M3k+c é difícil para DTIME(nk) (onde também exigimos um nkligado ao conteúdo das células da memória). Acreditoc=2é suficiente. A partir da diagonalização, obtemos queM3k+c requer tempo Ω(nk), tão Mk requer tempo Ω(nkc3). O limite não é apertado no sentido deΘ(nk) para alguns k, mas pelo menos temos 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 quek 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).
Albert Hendriks

11
Parece uma boa resposta (obrigado!) Que pode ser ótima adicionando algumas referências!
Raphael
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.