Existe algum problema não trivial na teoria dos algoritmos seriais com um limite inferior polinomial não trivial de

8

Na teoria dos algoritmos distribuídos, existem problemas com limites inferiores, como Ω(n2), que são "grandes" (ou seja, maiores que Ω(nregistron)) e não trivial. Gostaria de saber se existem problemas com limites semelhantes na teoria do algoritmo serial, quero dizer de ordem muito maior queΩ(nregistron).

Com trivial, quero dizer "obtido apenas considerando que devemos ler toda a entrada" e da mesma forma.

Immanuel Weihnachten
fonte
Você está solicitando limites inferiores para problemas ou limites inferiores para algoritmos específicos?
A.Schulz
@ A.Schulz Estou pedindo limites mais baixos para problemas.
Immanuel Weihnachten
@RealzSlaw, certo, eu editei a pergunta, agora com a suposição padrão de que né o tamanho da entrada; Eu também especificou que com centralizadas eu quis dizer "serial", como eu lernt aqui en.wikipedia.org/wiki/Algorithm#By_implementation
Immanuel Weihnachten
Curiosamente, não encontramos muita atenção dada a essas classes - como foi feito com o problema de classificação. A multiplicação de matrizes éΩ(n2). O problema do caminho mais curto éΩ(n2)- que você provavelmente já conhece. Mas existe uma classe para esses algoritmos? Eu realmente não sei. A semelhança entre esses problemas é que todas as entradas (entre asn) terá que executar uma ação com todas as outras entradas. Essa ação é pelo menosΩ(1).
AJed
@RealzSlaw: Eu concordo com você. Faltavam alguns detalhes na minha resposta. Mas você entende o que eu quero dizer.
AJed

Respostas:

10

Existem tais problemas pelo teorema da hierarquia do tempo. Basta pegar qualquer problema que esteja completo para uma classe de grande complexidade. Por exemplo, considere um problema completo paraExpTEume. Esse problema seráΩ(nc) para todos cN.

No entanto, observe também que, para problemas em NP, não há limites inferiores de tempo forte no modelo de fita múltipla e a existência de algoritmos de tempo lineares para SAT é consistente com o estado atual do conhecimento. (No modelo TM de fita única, não é difícil mostrar que muitos problemas, como os palíndromos, exigemΩ(n2) tempo, mas esses limites inferiores dependem essencialmente dos detalhes do modelo TM de fita única.)

Kaveh
fonte
3

Alguns problemas simples que têm limites mais baixos que o tamanho de suas entradas são algoritmos com tamanhos de saída maiores que seus tamanhos de entrada.

Alguns exemplos:

  • O problema de listar todas as soluções para 3-SAT, ou similarmente, o problema de listar todos os ciclos hamiltonianos . Esses problemas têm um número exponencial de soluções no pior caso. Assim, eles têm um limite inferior deΩ(cn),c>1. Curiosamente, no entanto, o próprio problema 3-SAT não possui um conhecimento super-linear (maior queΩ(n)) limites! Isso significa que não sabemos se é mais difícil do que linear!
  • Você pode até criar novos algoritmos como este: "preenchendo um gráfico", isto é, dado G=V,E, Onde E=e n=|V|, o algoritmo emitirá um gráfico G=V,E, Onde E={u,v|uv  u,vV}.

Além disso, você poderá compor um problema que tenha Ω(n2)de tamanho médio, com um problema que leva Ω(n2) como entrada e saídas Ω(n) ou mesmo Ω(1)de tamanho médio (por exemplo, algo que conta o número de saídas) para obter um problema que leva Ω(n)de tamanho normal e saídas Ω(n)de tamanho médio e, no entanto, possui um tempo de execução maior que Ω(n). No entanto, pode ser muito difícil provar (que não há atalho para obter a resposta em menos tempo).


Outra maneira pela qual alguns problemas têm limites inferiores é restringir o modelo de computação.

Embora o limite inferior do tipo de comparação não exceda Ω(nlogn), Acho que vale a pena discutir. A classificação por comparação também é um problema com um limite inferior maior que o tamanho da entrada, mas o limite inferior não excedeΩ(nlogn), e em . No entanto, enquanto eu pesquisava isso, encontrei a seguinte pergunta no excesso de matemática: limites super-lineares de complexidade de tempo super-lineares para qualquer problema natural no NP . Outros exemplos listados na resposta estão bem abaixoΩ(nlogn). Penso que o essencial é que, se você restringir o modelo de computação, poderá obter limites mais baixos para problemas para os quais, de outra forma, não os temos. E se você não restringir o modelo de computação, é muito difícil provar limites mais baixos em problemas.

Realz Slaw
fonte
Há algo que eu não entendo. Multiplicação longa pode ser feita com menos de O (n ^ 2), de acordo com a wikipedia? Portanto,Ω(n2)é n para um limite inferior.
AJed
A multiplicação de matrizes pode ser feita com O(n2.8)e esse limite foi aprimorado. No entanto, um limite inferior natural éΩ(n2).
AJed
1
O @AJed não é um limite inferior para o problema , mas é um limite inferior para o algoritmo .
Realz Slaw
E agora ele editou sua pergunta para abordar "problema" em vez de algoritmo.
Realz Slaw
1
@RealzSlaw Peço desculpas por não ter sido suficientemente preciso no texto da minha pergunta no início.
Immanuel Weihnachten