Primeiro precisamos esclarecer o que queremos dizer com "isso vale se tivermos uma cadeia infinita?". Nós a interpretamos como uma sequência infinita de funções tal forma que, para todos os , temos . Essa sequência pode não ter uma última função.i f i ( n ) = O ( f i + 1 ( n ) ){fi:N→N∣1≤i}ifi(n)=O(fi+1(n))
Podemos observar o limite das funções na sequência, ou seja, . No entanto, é possível que o limite não exista. E mesmo que exista, talvez não tenhamos . Por exemplo, considere a sequência de funções . Para cada ,
e, portanto, . No entanto,
portanto, .f 1 ( n ) = O ( f ∞ ( n ) ) f i ( n ) = Nf∞(n)=limi→∞fi(n)f1(n)=O(f∞(n)) ifi(n)=Θ(n)fi(n)=O(fi+1(n))f∞(n)=limi→∞fi(n)=0=Θ(1)f1(n)≠O(f∞(fi(n)=niifi(n)=Θ(n)fi(n)=O(fi+1(n))f∞(n)=limi→∞fi(n)=0=Θ(1)f1(n)≠O(f∞(n))
Por outro lado, podemos observar o limite da sequência das classes que não precisa ser igual à classe do limite das funções . Temos , portanto e para todos os . O limite superior contém todos os elementos (funções neste caso) que ocorrem infinitamente com freqüência e o limite inferior contém todos os elementos que ocorrem em todos para algunsO ( f i ) ⊆ O ( f i + 1 ) f j ∈ lim i → ∞ O ( f i ) = lim sup i → ∞ O ( f i ) = lim inf i → ∞ O ( f i ) = ⋃ n ∈ Nfi∈O(fi+1)O(fi)⊆O(fi+1)j O ( f i ) , i ≥ n 0 n 0fj∈limi→∞O(fi)=lim supi→∞O(fi)=lim infi→∞O(fi)=⋃n∈N⋂k>nO(fk)jO(fi),i≥n0n0 (que pode depender do elemento). Como a sequência de classes é monotonicamente crescente, ambas existem e são iguais. Isso justifica o uso de .lim
Existem duas séries: uma de funções (que pode convergir ou não) e uma de conjuntos (onde cada conjunto é um superconjunto do anterior; é por isso que essa série converge - veja a definição de lim inf e lim sup para conjuntos) . A primeira parte responde à pergunta sem a parte , a segunda parte responde a parte negativamente (se for algum tipo de limão). f ∞ f ∞f∞f∞f∞
frafl
E se o número de termos for incontável? :)
SamM 5/13
Usando algumas instruções bem-ordenadas ou você deseja substituir a série por algo mais contínuo? :)
frafl
@ Kaveh Muito obrigado, faz muito sentido agora. Se você pudesse justificar o uso de limites e o que essa coisa de lim significa, então isso completará meu entendimento.
Saadtaame
1
@ saadtaame: Talvez seja porque a pergunta acima ainda não pergunta o que você quer saber? Se bem me lembro, você adicionou por causa de um comentário sugerido. Se você fornecer algum contexto, talvez alguém possa reformular a pergunta novamente. f∞
frafl
5
Sim, é possível ter uma cadeia infinita.
Tenho certeza de que você já conhece alguns exemplos:
Você tem uma cadeia infinita aqui: polinômios de grau crescente. Você pode ir mais longe? Certo! Um exponencial cresce mais rápido (assintoticamente falando) do que qualquer polinômio.
E, é claro, você pode continuar:S ( x ) ⊆ S ( x 2 ) ⊆ ... ⊆ S ( x 42 ) ⊆ ... S ( e x ) O ( E x ) ⊆ O ( x
O(x)⊆O(x2)⊆…⊆O(x42)⊆…
O(x)⊆O(x2)⊆…⊆O(x42)⊆…O(ex)
O(ex)⊆O(xex)⊆O(e2x)⊆O(eex)⊆…
Você também pode construir uma cadeia infinita na outra direção. Se então (aderindo a funções positivas, pois aqui discutimos as assintóticas das funções de complexidade). Então, temos por exemplo:f=O(g)1g=O(1f)
O(x)⊆O(x2)⊆…⊆O(exx2)⊆O(exx)⊆O(ex)
De fato, dada qualquer cadeia de funções , você pode criar uma função que cresça mais rapidamente do que todas elas. (Suponho que são funções de a .) Primeiro, comece com a idéia . Isso pode não funcionar porque o conjunto pode ser ilimitado. Mas, como estamos interessados apenas em crescimento assintótico, basta começar pequeno e crescer progressivamente. Leve o máximo a um número finito de funções.
f1,…,fnf∞fiNR+f∞(x)=max{fn(x)∣n∈N}{fn(x)∣n∈N}
f∞(x)=max{fn(x)∣1≤n≤N}if N≤x<N+1
Em seguida, para qualquer , , pois . Se você deseja uma função que cresça estritamente mais rápida ( ), .NfN∈O(f∞)∀x≥N,f∞(x)≥fN(x)f∞=o(f′∞)f′∞(x)=x⋅(1+f∞(x))
Todas essas respostas (a sua e a outra) se baseiam no pressuposto de que sabemos o que acontece no infinito, eles não são satisfatórios para mim, não sei sobre o OP (por que não devemos ter um grupo fechado com tamanho infinito) ?)
4
@SaeedAmiri Sinto muito, não entendo o seu comentário: o que você quer dizer com “sabemos o que acontece no infinito, eles não são satisfatórios para mim”?
Sim, é possível ter uma cadeia infinita.
Tenho certeza de que você já conhece alguns exemplos: Você tem uma cadeia infinita aqui: polinômios de grau crescente. Você pode ir mais longe? Certo! Um exponencial cresce mais rápido (assintoticamente falando) do que qualquer polinômio. E, é claro, você pode continuar:S ( x ) ⊆ S ( x 2 ) ⊆ ... ⊆ S ( x 42 ) ⊆ ... S ( e x ) O ( E x ) ⊆ O ( x
Você também pode construir uma cadeia infinita na outra direção. Se então (aderindo a funções positivas, pois aqui discutimos as assintóticas das funções de complexidade). Então, temos por exemplo:f=O(g) 1g=O(1f)
De fato, dada qualquer cadeia de funções , você pode criar uma função que cresça mais rapidamente do que todas elas. (Suponho que são funções de a .) Primeiro, comece com a idéia . Isso pode não funcionar porque o conjunto pode ser ilimitado. Mas, como estamos interessados apenas em crescimento assintótico, basta começar pequeno e crescer progressivamente. Leve o máximo a um número finito de funções.f1,…,fn f∞ fi N R+ f∞(x)=max{fn(x)∣n∈N} {fn(x)∣n∈N}
fonte