Existem problemas de “O (1) -completo”?

9

Muitas classes de complexidade têm problemas "completos". Existem problemas completos para a classe de complexidade dos problemas que podem ser resolvidos no tempo ?O(1)

Uma complicação é que essa classe depende do modelo de computação; um problema pode ser solucionado no tempo em um modelo razoável de computação, mas não em outro, dado que "razoável" normalmente significa equivalência de tempo polinomial com uma máquina de Turing. No entanto, ainda poderia ser elaborado para modelos razoáveis ​​específicos.O(1)

Eu acho que faz mais sentido olhar para reduções de muitos um em tempo constante. No entanto, também estou aberto a examinar outras reduções sensatas, se houver literatura sobre elas.

Existe algo assim, ou foi estudado, para algum modelo de computação?

Mike Battaglia
fonte

Respostas:

3

Como a leitura da entrada é necessária para quase todos os problemas, precisamos de pelo menos tempo para quase todos os problemas, em que n é o tamanho da entrada. Portanto, você pode pensar na classe de problemas de tempo linear, que já está definida.Ω(n)n

No entanto, ainda não conhecemos nenhum problema completo com ou O ( n 2 ) . O campo da complexidade refinada tem alguns resultados novos nessa área, mas as classes são baseadas em problemas (por exemplo, o APSP é equivalente a Radius, Negative Triangle, ...).O(n)O(n2)

Mohemnist
fonte
Não tenho certeza se isso responde à pergunta. Muitos problemas requerem tempo, mas nem todos - ainda existem alguns problemas que podem ser resolvidos no tempo O ( 1 ) -, portanto, parece que a pergunta feita permanece relevante. Ω(n)O(1)
DW
11
Isso também pressupõe que a entrada deve ser lida sequencialmente e não há indireção, portanto essa seria uma daquelas instâncias em que o modelo realmente importa. (Eu estou querendo saber se eu deveria insistir em engano e, possivelmente, a aleatoriedade no meu post original, caso contrário, você topar com um monte de obstáculos triviais como este)
Mike Battaglia
Problema para decidir se algo é dado como entrada leva tempo . Todos os outros problemas que levam tempo constante são limitados a versões constantes de outros problemas. O(1)
rus9384
O que você quer dizer com "versões constantes delimitadas de outros problemas" exatamente?
Mike Battaglia
@ MikeBattaglia, por exemplo, se a máquina de Turing parar depois de executar 100 etapas.
rus9384
2

Eu acho que para problemas , todos os idiomas estão completos em "reduções de tempo constante", exceto L = Σ e L = O(1)L=ΣL=

Suponha-se que e L 0 , L Σ *L,LO(1)L0,LΣ

Seja xYL,xNL

Esta é uma redução de tempo constante de para L :LL

  • dado resolva L em O ( 1 ) tempoxLO(1)
  • se , produza x Y , caso contrário, gera x NxLxYxN

Então está completo para O ( 1 ) (... redução preguiçosa, resultado preguiçoso :-)).LO(1)

Vor
fonte
11
Em geral, a dureza para uma classe não é significativamente definida para reduções tão poderosas quanto a própria C , exatamente pelo motivo que você declarou. Para ter uma definição significativa de TIME ( O ( 1 ) ), precisamos de reduções mais fracas que o tempo constante. Eu não sei o que esses poderiam ser. CCO(1)
Pontus
@ Pontus: eu concordo; e definitivamente não é tão interessante ... a menos que nós estamos vivendo em um :-D universo discreto e finito
Vor
... poderíamos usar reduções de etapas ( k fixas), mas neste caso não há problemas completos ... ou adicionar uma restrição entre o tamanho da TM e o número de etapas constantes (por exemplo, se o tamanho da ( determinista / não-determinístico) TM é N então somente n / 2 passos são permitidos) ...kknn/2
Vor
Sim, talvez algo interessante possa (ou tenha sido) inventado. Qual é a MT na sua última sugestão?
Pontus
@Vor E a largura constante de tempo fixo em algum modelo paralelo?
l4m2 18/12/19