Definição de para funções negativas

7

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:Θ

Θ(g(n))={f(n)|c1,c2>0,n0N:0c1g(n)f(n)c2g(n)  nn0}

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.Θ(g(n))f(n)Θ(g(n))f(n)nnΘ(g(n))

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.Θ(g(n))

Ockham
fonte
O seu problema está coberto pelas respostas a esta pergunta ?
Raphael
11
Não acho que a resposta para esse problema se aplique, mas corrija-me se estiver errado. O problema que você postou está falando pouco o e definições estritas, mas estou apenas interessado em saber por que exige que os membros não negativosΘ
Ockham

Respostas:

7

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.n3nlognΘf(n)=Θ(g(n))f(n)/g(n)g(n)0f(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:NNf(n),g(n)>0f(n)=Θ(g(n))c1,c2c1f(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 .n10=Θ(2n30logn)ktn

Yuval Filmus
fonte
O que exatamente você quer dizer com "more complicated definition"? Porque ele usa ? n0
Phant0m
Note-se que a definição de CLRS como citado pelo OP não fala sobre a relação entre e , e é, de facto, não equivalente (sem algum levantamento). fg
Raphael
@Raphael É um pouco explicado quais casos a definição simplificada não cobre no último parágrafo, mas não exatamente o porquê. Não, pode não falar sobre a proporção, mas é muito fácil ver que essa parte sozinha é equivalente.
Phant0m
@ Rafael, eu discordo. Ambas as definições são equivalentes sob a suposição de que e são positivos (exercício). fg
Yuval Filmus
@YuvalFilmus Se nós estamos falando sobre as mesmas definições, e é um contra-exemplo. Qualquer par de funções para o qual o não existe o quebra. É preciso usar resp. . f(x)=1g(x)=sin(x)limf/glim suplim inf
Raphael
2

Por que pode estar vazioΘ(g)

Segue diretamente da definição.

Θ(g(n))={f(n)|c1,c2>0,n0N:0c1g(n)f(n)c2g(n)  nn0}

A parte importante aqui é esta:f(n)|c1>0:0c1g(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 ).ffgc1n

Obviamente, se não for estritamente positivo, essa restrição impedirá que todas as funções possíveis sejam membros do conjunto .gfΘ(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)|:0f(n)

Obviamente, se não for estritamente positivo, a condição não será atendida; portanto, nenhum pode ser contido em .ffΘ(g)

Nota : Não tenho muita certeza do que não está claro para você, porque tudo que você escreveu é "confuso".

phant0m
fonte