Seja o pior caso de tempo de execução de um problema na entrada de tamanho . Vamos tornar o problema um pouco estranho, fixando para mas para .
Então, qual é o limite inferior do problema? A maneira como eu entendi é apenas o limite inferior de . Mas sabemos que implica que existe constante , tal que para todos , , o que não é verdade. Assim, parece que só podemos dizer . Mas normalmente, chamaremos o problema de um limite inferior de , certo?
Supondo que , o que significa que existe constante , tal que para todos , . Vamos supor também que um problema tenha tempo de execução . Se pudermos reduzir esse problema para todos os números primos para outro problema (com o mesmo tamanho de entrada), podemos dizer que o tempo de execução do outro problema tem um limite inferior de ?
Respostas:
A definição correta def(n)=Ω(n2) é que existe algum tal que para infinitamente muitos n , f ( n ) ≥ k n 2 . A definição infinitamente frequente de limites inferiores lida com seus problemas e é como os usamos na prática.k>0 n f(n)≥kn2
Fiz um post sobre isso em 2005.
Alguns livros escolares acertam essa definição, outros não.
fonte
fonte
Não sei qual é o mais amplamente usado, mas acredito que conheço o uso mais antigo (de qualquer maneira para a ciência da computação).
No artigo de 1965 de Hartmanis & Stearns "Sobre a complexidade computacional dos algoritmos", o Corollary 2.1 é:
O corolário 2.2 é o inverso do descrito acima e usa o limite supremo, mas ainda possui esses requisitos. Eu acho que, à medida que os algoritmos se tornaram mais complexos com o passar dos anos, é possível que os requisitos tenham sido relaxados.
fonte
Eu acho que devemos distinguir entre duas coisas:
Para funções, quando fixamos uma ordem, a definição de limite inferior / superior segue a mesma. Se a relação de ordem for majoração assintótica (ignorando fatores constantes)
fonte