2015-05-03 12 views
5

Ho la formula a (n) = n * a (n-1) +1; un (0) = 0Come ottenere Omega (n)

Come posso ottenere l'Omega, Theta o notazione O da questo senza il teorema o Qualcuno avere un buon sito per comprendere la spiegazione

+1

cosa hai provato? Forse puoi iniziare scrivendo le definizioni di Omega, Theta e O grande - quindi potresti voler scrivere alcuni valori in questa serie per avere un'idea della sua crescita e del suo comportamento - ora hai un'ipotesi? - Torna quando hai fatto e hai ancora problemi con la verifica delle tue ipotesi;) – Carsten

+0

ho annotato tutto a (n) per n = 0 ... 10 e prendo questa formula, ora dovrei scrivere l'Omega (n) ma non so come e non ho trovato una buona spiegazione come posso fare questo – SeeuD1

+0

hai una supposizione di ciò che tuo * Omega * (o meglio, ma quale funzione 'g (n' per il tuo' a (n) = Omega (g (n)) 'potrebbe essere? – Carsten

risposta

5

Il teorema di Master non si applica nemmeno, quindi non essere in grado di usarlo non è una grande limitazione.

Un approccio che funziona qui è di indovinare limiti superiori e inferiori, e quindi provare queste ipotesi per induzione se le ipotesi sono buone.

a(0) = 0 
a(1) = 1 
a(2) = 3 
a(3) = 10 
a(4) = 41 

una ragionevole ipotesi di un limite inferiore è che una (n)> = n! per n> 1. Questo è vero per n = 1. Supponiamo che sia vero per n = k-1.

a(k) = ka(k-1)+1 
    >= k (k-1)! + 1 
    >= k!. 

Quindi, se è vero per n = k-1, allora è vero per n = k, quindi una (n)> = n! per tutti gli interi positivi n e a (n) = Omega (n!).

Un'ipotesi ragionevole per un limite superiore è a (n) < = 2 (n!). Questo è vero per i primi valori, ma risulta essere un po 'scomodo provare l'uso dell'induzione. A volte con prove induttive, è meglio provare qualcosa di più forte. In questo caso, è meglio dimostrare che a (n) < 2 (n!) O che a (n) < = 2 (n!) - 1. Questo è vero per n = 1. Supponiamo che sia vero per n = k-1 per alcuni k-1> = 1. Poi

a(k) = k(a(k-1))+1 
    <= k(2(k-1)!-1)+1 
    = 2(k!) +1-k 
    <= 2(k-1)!-1. 

Quindi, per ogni n> = 1, a (n) < 2 (n!). Dato che abbiamo un limite inferiore e un limite superiore della forma c * (n!), A (n) = Theta (n!).

+1

Ho cancellato la mia risposta perché avevo incasinato un po 'di aritmetica mentale all'inizio, lavorando sulla sequenza sbagliata. La sequenza corretta si è chiusa con 'sum (fattoriale (n)/fattoriale (k) per k nel range (n)) - fattoriale (n) + 1'. – orlp

3

Hai già notato che la vostra formula è molto vicino al fattoriale n!. Ora è possibile esprimere questo risultato in un modo più formale: si può dimostrare, per esempio, che

n! < a(n) < 2*n! (for big enough n) 

Se questo è vero, allora tutti i O, Θ e Ω sono n!.

Credo che si possa provare la disuguaglianza di cui sopra, o qualche variante di essa, usando l'induzione (non l'ho provata però).

2

suggerimento:

Divisione di un (n) per n !, i primi termini sono

a(1)/1! = 1/1! = 1 
a(2)/2! = (2.1+1)/2! = 1 + 1/2! 
a(3)/3! = (3.(2.1+1)+1)/3! = 1 + 1/2! + 1/3! 
a(4)/4! = (4.(3.(2.1+1)+1)+1)/4!= 1 + 1/2! + 1/3! + 1/4! 
... 

Questo stabilisce la staffaggio stretto

n! <= a(n) < (e-1).n! 

e a(n) è in Θ(n!).

+0

puoi spiegare perché stai dividendo un (n) per n! hai appena diviso un (n) con l'Omega (n!)? Perché la tua soluzione è la stessa del mio Prof, ma non so perché dovrei farlo – SeeuD1

+0

Per capire quanto è vicina la funzione a n! Ciò consente di trovare una formula chiusa approssimativa. –

+0

Una volta indovinato che la forma corretta è c * n !, puoi chiedere quale c. Se puoi ottenere costanti limiti superiori e inferiori su a (n)/n !, hai stabilito che a (n) è Theta (n), ma puoi sperare di ottenere la costante esatta, che fornisce questa risposta. –

Problemi correlati