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|u≠v ∧ u,v∈V}.
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.