Estou trabalhando no livro didático CLRS Algorithms da 3ª edição e no capítulo 3 uma discussão começa sobre a notação assintótica que começa com a notação . Eu entendi a definição inicial de:
Mas então, na próxima página, o texto diz que:
A definição de exige que todo membro seja assintoticamente não-negativo, ou seja, que seja não-negativo sempre que for suficientemente grande. (Uma função assintoticamente positiva é positiva para todos os suficientemente grandes .) Consequentemente, a própria função g (n) deve ser assintoticamente não-negativa, ou então o conjunto está vazio.
Na última parte, sobre como se a função é negativa, o conjunto está vazio e o requisito geral de uma função positiva é meio confuso. Alguém aí pode esclarecer essa definição para mim e o que isso significa, possível com um exemplo, seria muito apreciada.
fonte
Respostas:
Isso é apenas um detalhe técnico. Na análise assintótica, estamos apenas "realmente" interessados em funções positivas como ou . No entanto, se quisermos ser muito formais e gerais, poderemos levar em consideração funções não positivas (e isso pode torná-lo útil, veja abaixo). A definição de afirma que se, a partir de algum ponto, é delimitado de ambos os lados por constantes e, além disso, . (É isso que você obtém se desenrola a definição.) Em particular, se , então, a partir de algum ponto, é não negativo.n3 nlogn Θ f(n)=Θ(g(n)) f(n)/g(n) g(n)≥0 f(n)=Θ(g(n)) g
Aqui está uma definição alternativa de big . Suponha que são funções positivas , ou seja, . Então se existirem constantes positivas modo que . Não sei por que a definição mais complicada é apresentada nos textos introdutórios.Θ f,g:N→N f(n),g(n)>0 f(n)=Θ(g(n)) c1,c2 c1≤f(n)/g(n)≤c2
Quais são as vantagens da definição mais complicada? Ele pode lidar com funções que possuem alguns valores não positivos (deve haver um número finito deles). Por exemplo, essa definição acomoda a instrução (true) . Embora as funções encontradas na prática sejam geralmente positivas, às vezes podem ser encontradas funções negativas: por exemplo, digamos que estamos interessados em alguma função complicada genuína , e a estimamos a partir de baixo por uma função , que é negativa para pequeno .n−10=Θ(2n−30logn) k t n
fonte
"more complicated definition"
? Porque ele usa ?Por que pode estar vazioΘ(g)
Segue diretamente da definição.
A parte importante aqui é esta:f(n)|∃c1>0:0≤c1g(n)
Obviamente, a restrição em (a partir de agora, nem depende de ), afirma que multiplicado por alguma constante positiva deve ser positivo em si (para grandes valores de , implícitos daqui em diante ).f f g c1 n
Obviamente, se não for estritamente positivo, essa restrição impedirá que todas as funções possíveis sejam membros do conjunto .g f Θ(g)
Daqui resulta que esse conjunto estará vazio.
Para todo , é estritamente positivof∈Θ(g) f
Isso também segue diretamente da mesma parte da definição:f(n)|⋯:0≤f(n)
Obviamente, se não for estritamente positivo, a condição não será atendida; portanto, nenhum pode ser contido em .f f Θ(g)
Nota : Não tenho muita certeza do que não está claro para você, porque tudo que você escreveu é "confuso".
fonte