Download - Md LE6 Solucao

Transcript
Page 1: Md LE6 Solucao

Lista de Exercícios 6: SoluçõesFunções

UFMG/ICEx/DCC DCC111 – Matemática Discreta

Ciências Exatas & Engenharias 1o Semestre de 2014

Conceitos

1. Determine e justifique se a seguinte afirmação é verdadeira ou não para todas as funções f de um conjuntoX para um conjunto Y : para todos sub-conjuntos A e B de X, se A ⊆ B, então f(A) ⊆ f(B).

Resposta:A afirmação é verdadeira. Prova: Seja f uma função de X para Y e suponha A ⊆ X, B ⊆ X e A ⊆ B.Seja y ∈ f(A). [Devemos mostrar que y ∈ f(B)]. Pela definição de imagem de um conjunto, y = f(x) paraalgum x ∈ A. Como A ⊆ B, x ∈ B e, assim, y = f(x) para algum x ∈ B. Consequentemente, y ∈ f(B) [oque devia ser mostrado].

2. Determine e justifique se a seguinte afirmação é verdadeira ou não, para todas as funções f de um conjuntoX para um conjunto Y : para todos sub-conjuntos A e B de X, f(A ∩B) = f(A) ∩ f(B).

Resposta:A afirmação é falsa. Prova [por contra-exemplo]: Seja X = 1, 2, 3 e seja Y = a, b. A função f : X → Yé definida pelos seguintes pares ordenados:

(1, a), (2, b), (3, b).

Seja A = 1, 2 e seja B = 1, 3. Temos que f(A) = a, b = f(B) e, assim f(A) ∩ f(B) = a, b. Masf(A ∩B) = f(1) = a 6= a, b. Assim, f(A ∩B) 6= f(A) ∩ f(B).

3. A definição de função injetiva ou um-para-um pode ser dada de duas formas:

∀x1, x2 ∈ X, se f(x1) = f(x2) então x1 = x2

e∀x1, x2 ∈ X, se x1 6= x2 então f(x1) 6= f(x2)

Porque estas duas definições são logicamente equivalentes?

Resposta:A segunda definição é a forma contrapositiva da primeira.

Sequência como função

4. Apresente uma função definida no conjunto dos inteiros não negativos que construa a seqüência abaixo:

1,−13,

15,−1

7,

19,− 1

11, . . .

Resposta:Seja Z∗ = 0 ∪ Z+. A seqüência pode ser construída pela função f : Z∗ → R definida como:

f(n) =(−1)n

2n+ 1,

para todos os inteiros não negativos n.

Autômato finito

5. Determine qual é a linguagem aceita pelo autômato A1 = (I, S, s0, F,N), onde

I = 0, 1.

1

Page 2: Md LE6 Solucao

S = s0, s1, s2.F = s2.N = (s0, 0, s1), (s0, 1, s0), (s1, 0, s2), (s1, 1, s0), (s2, 0, s2), (s2, 1, s0).

Resposta:O diagrama desse autômato pode ser representado por:

A linguagem aceita por este autômato é o conjunto de todos os strings de 0’s e 1’s que terminam com 00,i.e. (0∗1∗)∗00.

6. Projete um autômato finito com alfabeto de entrada 0, 1 que aceita o conjunto de todos strings queterminam com três 1’s.

Resposta:O diagrama desse autômato pode ser representado por:

7. Um string de 0’s e 1’s é dito ter paridade par se contém uma quantidade par de 1’s e é dito ter paridadeímpar se contém uma quantidade ímpar de 1’s. Projete um autômato finito com alfabeto de entrada 0, 1que aceita o conjunto de todos strings que têm paridade par.

Resposta:O diagrama desse autômato pode ser representado por:

Observe que A′ aceita todos os strings que têm uma quantidade par de 1’s. Apesar de A ser mais complicado,também reconhece os mesmos strings. Assim os dois autômatos são equivalentes, apesar de A′ ter menosestados que A.

8. Seja o autômato AParidadePar = (I, S, s0, Q,N) da questão anterior (exercício 7). É possível achar um stringw que quando aplicado à função de estado final N∗(s, w) temos que ∀s ∈ S. se N∗(si, w) = N∗(sj , w) entãoi = j, onde si ∈ S e sj ∈ S.

2

Page 3: Md LE6 Solucao

Resposta:Sim para o autômato A′. Prova: o string w = 1 quando aplicado ao estado s′0 vai para o estado s′1 e se foraplicado ao estado s′1 vai para o estado s′0, que são os dois únicos estados de A′.

O mesmo raciocínio vale para o autômato A.

9. Projete um autômato finito com alfabeto de entrada 0, 1 que aceita o conjunto de todos strings quecomeçam com o prefixo 01.

Resposta:O diagrama desse autômato pode ser representado por:

Princípio da casa de pombo

10. Seja S = 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. Suponha que seis inteiros sejam escolhidos de S. Existem dois inteiroscuja soma é 15? Justifique sua resposta.

Resposta:Sim. Seja Y o conjunto de todos os pares de inteiros de S que somam 15. Existem cinco elementos emY , ou seja, Y = 3, 12, 4, 11, 5, 10, 6, 9, 7, 8, e cada inteiro de S ocorre em exatamente um par.Seja X o conjunto de seis inteiros escolhidos de S e considere a função de X para Y definida pela regra:P (x) = o par para o qual x pertence. Como X tem seis elementos e Y tem cinco elementos e 6 > 5, entãopelo princípio da casa de pombo, P não é uma função injetiva. Assim, P (x1) = P (x2) para alguns inteirosx1 e x2 em X com x1 6= x2. Isto significa que x1 e x2 são inteiros distintos no mesmo pair, o que implicax1 + x2 = 15.

11. Quantos inteiros devem ser escolhidos aleatoriamente para se ter certeza que pelo menos dois deles têm omesmo resto quando divididos por 7? Justifique sua resposta.

Resposta:Qualquer número inteiro quando dividido por 7 pode deixar como resto 0, 1, 2, 3, 4, 5, 6. Assim, podem serescolhidos sete números que deixam um resto diferente. Ao se pegar um oitavo número, teremos pelo menosdois números que deixam o mesmo resto.

12. Mostre que para qualquer conjunto de 13 números escolhidos no intervalo [2, 40], existem pelo menos doisinteiros com um divisor comum maior que 1.

Resposta:Seja A o conjunto de 13 números escolhidos e seja B o conjunto de todos os números primos no intervalo[2, 40], ou seja, B = 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37. Para cada x em A, seja F (x) o menor númeroprimo que divide x. Como A tem 13 elementos e B tem 12 elementos, pelo princípio da casa de pombo,F não é uma função injetiva. Assim, F (x1) = F (x2) para algum x1 6= x2 em A. Pela definição de F , istosignifica que o menor número primo que divide x1 é igual ao menor número primo que divide x2. Assim,dois números em A, x1 e x2, tem um divisor comum maior que 1.

13. Suponha um grupo de 40 pessoas, todas na faixa de 17 a 34 anos. Você quer fazer uma aposta que o grupopossui pelo menos x pessoas com a mesma idade. Qual é o maior valor de x que você pode apostar comcerteza para vencer a aposta?

Resposta:No intervalo de 17 a 34, temos 18 anos. Como 40 > 18 × 2, pelo princípio da casa de pombo existem pelomenos x = 3 pessoas da mesma idade. Como 18× 3 > 40, não é possível garantir que mais que três pessoastêm a mesma idade. Assim, x deve ser 3.

3

Page 4: Md LE6 Solucao

14. Um grupo de 15 executivos usará os serviços de cinco assistentes. Cada executivo tem exatamente um assis-tente e nenhum assistente trabalha para mais de quatro executivos. Mostre que pelo menos três assistentestrabalham para três ou mais executivos.Resposta:Seja k o número de assistentes que trabalham para três ou mais executivos. Como nenhum assistente trabalhapara mais que quatro executivos, estes assistentes trabalham para no máximo 4k executivos. Cada um dosoutros 5−k assistentes trabalham para no máximo dois executivos. Assim, estes assistentes trabalham parano máximo 2(5 − k) = 10 − 2k executivos. Assim, o número máximo de executivos que têm assistentes é4k+(10−2k) = 10+2k. Neste caso, temos 15 executivos com assistentes, ou seja, 15 ≤ 10+2k, or k ≥ 5/2.Como k é um número inteiro temos que k ≥ 3. Assim, pelo menos três assistentes trabalham para três oumais executivos.

15. Uma rede de computadores é formada por seis computadores. Cada computador é diretamente conectadoa zero ou mais computadores. Mostre que existem pelo menos dois computadores na rede que possuem omesmo número de conexões, ou seja, estão conectados diretamente ao mesmo número de outros computa-dores.Resposta:Cada computador pode estar conectado a zero, um, dois, etc., até cinco computadores, já que existemseis computadores. No entanto, podemos observar que simultaneamente não podemos ter um computadorconectado a nenhum outro (zero conexões) e um outro conectado a cinco computadores (todos os outros). (Seum computador não está conectado a nenhum computador então nenhum outro computador está conectadoa todos os cinco; e se um computador está conectado a todos os cinco então nenhum computador está semconexão.) Assim, temos cinco possibilidades para o número de conexões e seis computadores. Pelo princípioda casa de pombo, temos pelo menos dois computadores que possuem o mesmo número de conexões.

16. Dezenove pessoas têm o primeiro nome Zeca, Wally e Linda, o segundo nome Lucas e Davi, e o último nomeYu, Zamora e Santos. Mostre que pelo menos duas pessoas têm os mesmos três nomes.Resposta:O número total de combinações de nomes diferentes é dado por

3︸ ︷︷ ︸# possibilidades parao primeiro nome

× 2︸ ︷︷ ︸# possibilidades parao segundo nome

× 3︸ ︷︷ ︸# possibilidades parao terceiro nome

= 18

Como existem 19 pessoas e 18 possibilidades de nomes diferentes, pelo princípio da casa de pombo existempelo menos duas pessoas que têm os mesmos três nomes.

17. Sejam cinco pontos distintos no plano, todos com coordenadas inteiras. Mostre que algum par de pontos temum ponto intermediário que também tem coordenadas inteiras. (O ponto intermediário é obtido tomandoas médias das coordenadas x e y.)Resposta:A coordenada x de cada ponto é um número par ou ímpar. O mesmo vale para a coordenada y. Setomarmos dois pontos quaisquer, temos quatro possibilidades diferentes de tipos de coordenadas para essespontos. Como existem cinco pontos e quatro possibilidades temos que pelo menos dois pontos pi = (xi, yi)e pj = (xj , yj) têm:– Ambos xi e xj pares ou ambos xi e xj ímpares, e– Ambos yi e yj pares ou ambos yi e yj ímpares.

Assim, xi + xj é par e yi + yj também é par e, consequentemente, o ponto intermediário (xi+xj2 ,yi+yj

2 )também tem coordenadas inteiras.

Função de complexidade

18. Sejam as seguintes funções:

g1 = n1

logn g2 = ln lnn g3 = (lnn)2 g4 = n

g5 = 2logn g6 = n log n g7 = log(n!) g8 = n2

g9 = 4logn g10 = ( 32 )n g11 = 2n g12 = en

4

Page 5: Md LE6 Solucao

e os seguintes fatos (a > 0, b > 0, c > 0, n ∈ R):

log n = log2n lnn = logen

a = blogba logc(ab) = logca+ logcb

logban = nlogba logba = logcalogcb

logba = 1logab

alogbn = nlogba

n1

logn = nlogn2 = 2 2logn = n

4logn = 22 logn = 2logn2= n2 n! ∼ (ne )n

log(n!) = Θ(n log n)

Mostre para cada par de funções gi e gi+1 para 1 ≤ i ≤ 11 se gi é O ou Θ de gi+1.

Resposta:Algumas simplificações:

g1 = n1

logn = nlogn 2 = 2g5 = 2logn = n

g7 = log(n!) = Θ(n log n)

g9 = 4logn = (22)logn = 2logn2= n2

Logo, baseado nas simplificações acima, o seguinte crescimento assintótico pode ser definido:

g1 = O(g2)g2 = O(g3)g3 = O(g4)g4 = Θ(g5)g5 = O(g6)g6 = Θ(g7)g7 = O(g8)g8 = Θ(g9)g9 = O(g10)g10 = O(g11)g11 = O(g12)

19. A seguinte hierarquia de funções pode ser definida do ponto de vista assintótico:

1 ≺ log log n ≺ log n ≺ nε ≺ nc ≺ nlogn ≺ cn ≺ nn ≺ ccn

Indique, para cada par de expressões (A,B) na tabela abaixo, se a função A é O, o,Ω, ω ou Θ da função B.Assuma que k ≥ 1 e 0 < ε < 1 < c são constantes. Sua resposta deve ser da forma sim ou não.

Nota: logk n ≡ log log . . .︸ ︷︷ ︸k

n. Na letra (v), m é um número inteiro positivo.

5

Page 6: Md LE6 Solucao

A B O o Ω ω Θ

(i) logkn nε

(ii) nk cn

(iii)√n nsinn

(iv) 2n 2n/2

(v) nlogm mlogn

(vi) log(n!) log(nn)

Resposta:

A B O o Ω ω Θ

(i) logkn nε S S N N N

(ii) nk cn S S N N N

(iii)√n nsinn N N N N N

(iv) 2n 2n/2 N N S S N

(v) nlogm mlogn S N S N S

(vi) log(n!) log(nn) S N S N S

Comentários:

(i) Direto da hierarquia: logkn ≺ nε. Logo logkn não pode ser Ω, ω ou Θ de nε. Lembre que se f(n) =Θ(g(n)) então f(n) = Ω(g(n)) e f(n) = O(g(n)).

(ii) Direto da hierarquia: nk ≺ cn. Mesma explicação de (i).

(iii)√n = n

12 e nsinn = nα, onde α é um valor no intervalo [−1, 1]. Logo,

√n não é O, o,Ω, ω ou Θ de

nsinn.

(iv) 2n ?= 2n/2. Se esta afirmativa é verdadeira então

2n ≤ c.2n/2 ⇒ c ≥ 2n/2

Quando n cresce não existe nenhuma constante c que seja maior que 2n/2. Logo, 2n 6= O(2n/2). Comoconsequência disso, também não será nem o nem Θ. No entanto, existe uma constante c tal quec.2n/2 ≤ 2n. Por exemplo, c = 1 e n ≥ 2. Logo, 2n = Ω(2n/2). Para saber se também é ω bastaverificar se o seguinte limite é verdadeiro:

limn→∞

2n/2

2n?= 0

Pode-se verificar que este limite é de fato 0, ou seja, limn→∞2n/2

2n = limn→∞1

2n/2= 0.

(v) Seja b, (b ≥ 2) a base do logaritmo usada neste exercício. Seja logn b = c. Então,

nlogbm = nlogn mlogn b = n

1c . lognm = nlognm

1/c= m

1c

Da mesma forma,mlogb n = m

1logn b = m

1c

Ou seja, independente da base do logaritmo, nlogm = mlogn. Logo, nlogm é O, Ω e Θ de mlogn.Consequentemente, não pode ser nem o nem ω.

(vi) log(n!) = Θ(n log n) e log(nn) = n log n. Logo, log(n!) é O, Ω e Θ de log(nn). Da mesma forma, nãopode ser nem o nem ω.

6

Page 7: Md LE6 Solucao

20. Usando a definição formal de Θ prove que 6n3 6= Θ(n2).

Resposta:Suponha que não, ou seja, suponha que 6n3 = Θ(n2). Assim, pela definição formal da notação Θ, existemconstantes positivas c1, c2 e n0 tais que

0 ≤ c1g(n) ≤ f(n) ≤ c2g(n)

para todo n ≥ n0. Neste caso, temos que f(n) = 6n3, g(n) = n2 e

c1n2 ≤ 6n3 ≤ c2n2.

Ao dividirmos cada termo dessa inequação por n2, temos:

c1 ≤ 6n ≤ c2.

Não existem constantes positivas c2 > 0 e n0 tais que 6n ≤ c2 para todo n ≥ n0. Assim, a suposição originalque é verdadeira, ou seja, 6n3 6= Θ(n2).

21. O que significa um algoritmo ser O(2) ou O(5)?

Resposta:Significa que independentemente do tamanho da entrada n, o tempo de execução do algoritmo será constante.Observe que se f(n) = O(k) para uma função constante k, temos que:

f(n) ≤ c · k.

Se a constante k é 1 ou 2 ou 5 isso é indiferente pois a função f(n) sempre será limitada por uma constantec vezes uma outra constante k.

22. Use o Teorema Mestre para resolver a seguinte equação de recorrência: T (n) = 4T (n2 ) + n.

Resposta:Para saber se o Teorema Mestre pode ser aplicado ou não, temos que ter as constantes a ≥ 1 e b > 1 e afunção f(n) assintoticamente positiva. Temos a = 4, b = 2, f(n) = n e as três condições são satisfeitas.

Deve-se analisar se a equação de recorrência cai em um dos três casos previstos do teorema ou não. Paraisso, devemos comparar a função f(n) com a função nlogb a, ou seja:

f(n) : nlogb a

n : nlog2 4

n : n2.

A função nlogb a domina a função f(n) por um fator polinomial n1. Assim, o caso 1 do Teorema Mestre seaplica e temos que T (n) = Θ(n2).

23. Use o Teorema Mestre para resolver a seguinte equação de recorrência: T (n) = 4T (n2 ) + n2.

Resposta:Para saber se o Teorema Mestre pode ser aplicado ou não, temos que ter as constantes a ≥ 1 e b > 1 e afunção f(n) assintoticamente positiva. Temos a = 4, b = 2, f(n) = n2 e as três condições são satisfeitas.

Deve-se analisar se a equação de recorrência cai em um dos três casos previstos do teorema ou não. Paraisso, devemos comparar a função f(n) com a função nlogb a, ou seja:

f(n) : nlogb a

n2 : nlog2 4

n2 : n2.

As duas funções f(n) e nlogb a têm a mesma taxa de crescimento. Assim, o caso 2 do Teorema Mestre seaplica e temos que T (n) = Θ(n2 log n).

7

Page 8: Md LE6 Solucao

24. Use o Teorema Mestre para resolver a seguinte equação de recorrência: T (n) = 4T (n2 ) + n3.

Resposta:Para saber se o Teorema Mestre pode ser aplicado ou não, temos que ter as constantes a ≥ 1 e b > 1 e afunção f(n) assintoticamente positiva. Temos a = 4, b = 2, f(n) = n3 e as três condições são satisfeitas.Deve-se analisar se a equação de recorrência cai em um dos três casos previstos do teorema ou não. Paraisso, devemos comparar a função f(n) com a função nlogb a, ou seja:

f(n) : nlogb a

n3 : nlog2 4

n3 : n2.

A função f(n) domina a função nlogb a por um fator polinomial n1. Assim, o caso 3 do Teorema Mestrepode ser aplicado se a condição de “regularidade” for satisfeita, ou seja, af(nb ) ≤ cf(n) para uma constantec < 1.

af(nb ) ≤ cf(n)

4(n2 )3 ≤ cn3

4n3

8 ≤ cn3

12n

3 ≤ cn3.

A inequação é satisfeita para c = 12 . Portanto, o caso 3 do Teorema Mestre se aplica e T (n) = Θ(n3).

25. O tempo de execução de um algoritmo A é descrito pela recorrência

T (n) = 7T (n2 ) + n2.

Um outro algoritmo A′ tem um tempo de execução descrito pela recorrência

T ′(n) = aT ′(n4 ) + n2.

Qual é o maior valor inteiro de a tal que A′ é assintoticamente mais rápido que A?Resposta:Para o algoritmo A′ ser assintoticamente mais rápido que A, T ′(n) deve ter uma taxa de crescimento menorque T (n). Vamos avaliar se o Teorema Mestre pode ser utilizado para a obtenção dos valores de T ′(n) eT (n).Vamos resolver T (n) = 7T (n2 ) + n2. Temos a = 7, b = 2, f(n) = n2. Devemos comparar a função f(n) coma função nlogb a, ou seja:

f(n) : nlogb a

n2 : nlog2 7

n2 : n2,807...

A função nlogb a domina a função f(n) por um fator polinomial aproximado de n0,807. Assim, de fatopodemos aplicar o caso 1 do Teorema Mestre e temos que T (n) = Θ(n2,807).Vamos resolver T ′(n) = aT (n4 ) + n2. Temos a = a, b = 4, f(n) = n2. Devemos comparar a função f(n) coma função nlogb a, ou seja:

f(n) : nlogb a

n2 : nlog4 a

Para A′ ser assintoticamente mais rápido que A, devemos ter o expoente log4 a menor que log2 7 (os doisexpoentes da função nlogb a para a resolução de T ′ e T , respectivamente), ou seja,

log4 a < log2 7log2 a

log2 4< log2 7

log2 a < 2 log2 7log2 a < log2 49

8

Page 9: Md LE6 Solucao

Assim, a constante a = 48 é o maior inteiro menor que 49.Vamos resolver T ′(n) = 48T (n4 ) + n2. Temos a = 48, b = 4, f(n) = n2. Devemos comparar a função f(n)com a função nlogb a, ou seja:

f(n) : nlogb a

n2 : nlog4 48

n2 : n2,792...

Novamente temos que a função nlogb a domina a função f(n) por um fator polinomial aproximado de n0,792.Assim, de fato podemos aplicar o caso 1 do Teorema Mestre e temos que T ′(n) = Θ(n2,792).Finalmente podemos afirmar que o algoritmo A′, que é Θ(n2,792), é assintoticamente mais rápido que oalgoritmo A, que é Θ(n2,807).

Observações: Para os exercícios 26 a 70 considere que:

(a) todas as variáveis e constantes são inteiras e positivas, a menos que sejam explicitamente identificadasde outra forma;

(b) as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vista de crescimento assintótico;

(c) p(n) =∑gi=0 ain

i é um polinômio de grau g, as constantes ai (1 ≤ i ≤ g) reais, sendo ag 6= 0, e k umaconstante.

Para cada afirmação nos exercícios 26 a 70, diga se é verdadeira ou falsa, provando ou fornecendo um contra-exemplo:

26. Se k ≥ g, então p(n) = O(nk).Resposta:A afirmação é verdadeira.Temos que f(n) = O(g(n)) se existirem constantes positivas c e n0, tais que f(n) ≤ cg(n) para todo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

agng + ag−1n

g−1 + . . .+ a0 ≤ cnk

para todo n ≥ n0.Se dividirmos a inequação por nk temos:

agnk−g

+ag−1

nk−g−1+ . . .+

a0

nk≤ c.

À medida que n cresce, cada termo (fração) do lado esquerdo da inequação fica menor. Assim, é possívelachar constantes c e n0 que satisfazem a inequação acima.

27. Se k ≤ g, então p(n) = Ω(nk).Resposta:A afirmação é verdadeira.Temos que f(n) = Ω(g(n)) se existirem constantes positivas c e n0, tais que cg(n) ≤ f(n) para todo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

cnk ≤ agng + ag−1ng−1 + . . .+ a0

para todo n ≥ n0.Se dividirmos a inequação por nk temos:

c ≤ agng−k + ag−1ng−k−1 + . . .+ a0n

−k.

À medida que n cresce, cada termo (fração) do lado direito da inequação fica menor mas positivo. Assim,é possível achar constantes c e n0 que satisfazem a inequação acima.

9

Page 10: Md LE6 Solucao

28. Se k = g, então p(n) = Θ(nk).Resposta:A afirmação é verdadeira.Temos que f(n) = Θ(g(n)) se existirem constantes positivas c1, c2 e n0, tais que c1g(n) ≤ f(n) ≤ c2g(n)para todo n ≥ n0.Vamos supor que existem constantes positivas c1, c2 e n0, tais que

c1nk ≤ agng + ag−1n

g−1 + . . .+ a0 ≤ c2nk

para todo n ≥ n0.Se dividirmos a inequação por nk temos:

c1 ≤ ag +ag−1

n+ . . .+

a0

nk≤ c2.

Conhecendo os coeficientes do polinômio, é possível determinar constantes positivas n0, c1 e c2 que satisfazema inequação acima.

29. Se k > g, então p(n) = o(nk).Resposta:A afirmação é verdadeira.Temos que f(n) = o(g(n)) se para todas constantes positivas c e n0, tais que f(n) < cg(n) para todo n ≥ n0.Vamos supor que para todas constantes positivas c e n0

agng + ag−1n

g−1 + . . .+ a0 < cnk

para todo n ≥ n0.Se tomarmos o limite de

limn→∞

agng + ag−1n

g−1 + . . .+ a0

nk= 0

para todas as constantes c > 0 e n0 > 1.

30. Se k < g, então p(n) = ω(nk).Resposta:A afirmação é verdadeira.Temos que f(n) = ω(g(n)) se para todas constantes positivas c e n0, tais que cg(n) < f(n) para todo n ≥ n0.Vamos supor que para todas constantes positivas c e n0

cnk < agng + ag−1n

g−1 + . . .+ a0

para todo n ≥ n0.Se tomarmos o limite de

limn→∞

nk

agng + ag−1ng−1 + . . .+ a0=∞

para todas as constantes c > 0 e n0 > 1.

31. Se k ≥ g, então p(n) = O(ng).Resposta:A afirmação é verdadeira.Neste caso, a constante k não tem nenhuma relação com a expressão p(n) = O(ng) já que

agng + ag−1n

g−1 + . . .+ a0 ≤ cng.

Se dividirmos a inequação por ng temos:

ag +ag−1

n+ . . .+

a0

ng≤ c.

À medida que n cresce, cada termo (fração) do lado esquerdo da inequação fica menor. Assim, é possívelachar constantes c e n0 que satisfazem a inequação acima. De fato, a função ng é um limite assintóticosuperior firme para a função p(n).

10

Page 11: Md LE6 Solucao

32. Se k ≤ g, então p(n) = Ω(ng).

Resposta:A afirmação é verdadeira.

Neste caso, a constante k não tem nenhuma relação com a expressão p(n) = Ω(ng) já que

cng ≤ agng + ag−1ng−1 + . . .+ a0.

Se dividirmos a inequação por ng temos:

c ≤ ag +ag−1

n+ . . .+

a0

ng.

À medida que n cresce, cada termo (fração) do lado direito da inequação fica menor mas positivo. Assim,é possível achar constantes c e n0 que satisfazem a inequação acima. De fato, a função ng é um limiteassintótico inferior firme para a função p(n).

33. Se k = g, então p(n) = Θ(ng).

Resposta:A afirmação é verdadeira.

Neste caso, a constante k não tem nenhuma relação com a expressão p(n) = Θ(ng) já que

c1ng ≤ agng + ag−1n

g−1 + . . .+ a0 ≤ c2ng.

Se dividirmos a inequação por ng temos:

c1 ≤ ag +ag−1

n+ . . .+

a0

ng≤ c2.

Conhecendo os coeficientes do polinômio, é possível determinar constantes positivas n0, c1 e c2 que satisfazema inequação acima.

34. Se k > g, então p(n) = o(ng).

Resposta:A afirmação é falsa.

Neste caso, a constante k não tem nenhuma relação com a expressão p(n) = o(ng). Assim, temos que:

agng + ag−1n

g−1 + . . .+ a0 < cng.

Se dividirmos a inequação por ng temos:

ag +ag−1

n+ . . .+

a0

ng< c.

Não existem constantes c > 0 e n0, tais que para todo n ≥ n0, a inequação acima seja verdadeira. Comomostrado no exercício 31, a função ng é um limite assintótico superior firme para a função p(n). Assim, nãopodemos ter p(n) = o(ng).

35. Se k < g, então p(n) = ω(ng).

Resposta:A afirmação é falsa.

Neste caso, a constante k não tem nenhuma relação com a expressão p(n) = ω(ng). Assim, temos que:

cng < agng + ag−1n

g−1 + . . .+ a0.

Se dividirmos a inequação por ng temos:

ag +ag−1

n+ . . .+

a0

ng< c.

Não existem constantes c > 0 e n0, tais que para todo n ≥ n0, a inequação acima seja verdadeira. Comomostrado no exercício 32, a função ng é um limite assintótico inferior firme para a função p(n). Assim, nãopodemos ter p(n) = ω(ng).

11

Page 12: Md LE6 Solucao

36. f(n) = O(g(n)) implica em g(n) = O(f(n)).

Resposta:A afirmação é falsa.

Seja f(n) = n e g(n) = n2. Sabemos que f(n) = O(g(n)), i.e., n = O(n2) mas g(n) 6= O(g(n)), i.e.,n2 6= O(n).

Se f(n) = O(g(n)) então g(n) = Ω(f(n)). Em outras palavras, se a função g(n) é um limite superiorassintótico para f(n) então a função f(n) é um limite inferior assintótico para g(n).

37. É possível achar funções f(n) e g(n) tais que f(n) = Θ(g(n)).

Resposta:A afirmação é falsa.

De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.

Suponha que seja possível achar funções f(n) e g(n) tais que f(n) = Θ(g(n)). Portanto, f(n) = O(g(n)) ef(n) = Ω(g(n)), pela definição da notação assintótica Θ. Como f(n) ≺ g(n), tem-se que f(n) = O(g(n)) ef(n) 6= Ω(g(n)). Assim, não é possível achar funções f(n) e g(n) tais que f(n) = Θ(g(n)).

38. f(n) + g(n) = Ω(f(n)).

Resposta:A afirmação é verdadeira.

De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.

Temos que f(n) + g(n) = Ω(f(n)) se existirem constantes positivas c e n0, tais que cf(n) ≤ f(n) + g(n)para todo n ≥ n0.

Vamos supor que existem constantes positivas c e n0, tais que

cf(n) ≤ f(n) + g(n)

para todo n ≥ n0.

Ao dividirmos cada termo dessa inequação por f(n), temos:

c ≤ 1 +g(n)f(n)

.

Dado que f(n) ≺ g(n), é possível definir n0 tal que para todo n ≥ n0,g(n)f(n) > 1. Assim, para c = 1 a

inequação é satisfeita.

39. f(n) + g(n) = Θ(f(n)).

Resposta:A afirmação é falsa.

De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.

Temos que f(n)+g(n) = Θ(f(n)) se existirem constantes positivas c1, c2 e n0, tais que c1f(n) ≤ f(n)+g(n) ≤c2f(n) para todo n ≥ n0.

Vamos supor que existem constantes positivas c1, c2 e n0, tais que

c1f(n) ≤ f(n) + g(n) ≤ c2f(n)

para todo n ≥ n0.

Ao dividirmos cada termo dessa inequação por f(n), temos:

c1 ≤ 1 +g(n)f(n)

≤ c2.

Dado que f(n) ≺ g(n), não existe c2 tal que 1+ g(n)f(n) ≤ c2 para todo n ≥ n0. Assim, f(n)+g(n) 6= Θ(f(n)).

12

Page 13: Md LE6 Solucao

40. f(n) + g(n) = O(f(n)).Resposta:A afirmação é falsa.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que f(n) + g(n) = O(f(n)) se existirem constantes positivas c e n0, tais que f(n) + g(n) ≤ cf(n)para todo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

f(n) + g(n) ≤ cf(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por f(n), temos:

1 +g(n)f(n)

≤ c.

Dado que f(n) ≺ g(n), não existe c tal que 1 + g(n)f(n) ≤ c para todo n ≥ n0. Assim, f(n) + g(n) 6= O(f(n)).

41. f(n) + g(n) = Ω(g(n)).Resposta:A afirmação é verdadeira.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que f(n)+g(n) = Ω(g(n)) se existirem constantes positivas c e n0, tais que cg(n) ≤ f(n)+g(n) paratodo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

cg(n) ≤ f(n) + g(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por g(n), temos:

c ≤ f(n)g(n)

+ 1.

Dado que f(n) ≺ g(n), é possível escolher c = 1 que satisfaz a inequação. Assim, f(n) + g(n) = Ω(g(n)).

42. f(n) + g(n) = Θ(g(n)).Resposta:A afirmação é verdadeira.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que f(n)+g(n) = Θ(g(n)) se existirem constantes positivas c1, c2 e n0, tais que c1g(n) ≤ f(n)+g(n) ≤c2g(n) para todo n ≥ n0.Vamos supor que existem constantes positivas c1, c2 e n0, tais que

c1g(n) ≤ f(n) + g(n) ≤ c2g(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por g(n), temos:

c1 ≤f(n)g(n)

+ 1 ≤ c2.

Dado que f(n) ≺ g(n), para n suficientemente grande temos que f(n)g(n) < 1. Assim, existe c2 tal que

f(n)g(n) + 1 ≤ c2 para todo n ≥ n0. Consequentemente, f(n) + g(n) = Θ(g(n)).

13

Page 14: Md LE6 Solucao

43. f(n) + g(n) = O(g(n)).Resposta:A afirmação é verdadeira.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que f(n) + g(n) = O(g(n)) se existirem constantes positivas c e n0, tais que f(n) + g(n) ≤ cg(n)para todo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

f(n) + g(n) ≤ cg(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por g(n), temos:

f(n)g(n)

+ 1 ≤ c.

Dado que f(n) ≺ g(n), para n suficientemente grande temos que f(n)g(n) < 1. Assim, existe c tal que f(n)

g(n) +1 ≤ cpara todo n ≥ n0. Consequentemente, f(n) + g(n) = O(g(n)).

44. f(n) = Ω((f(n))2).Resposta:A afirmação é falsa.Temos que f(n) = Ω((f(n))2) se existirem constantes positivas c e n0, tais que c(f(n))2 ≤ f(n) para todon ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

c(f(n))2 ≤ f(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por f(n), temos:

cf(n) ≤ 1.

Veja que f(n) é uma função positiva. Mais ainda, podemos ter que quando n cresce o valor de f(n)também cresce (e.g., uma função exponencial). Assim, não é possível escolher uma constante c que quandomultiplicada por f(n), para todo n ≥ n0, termos um valor maior ou igual a 1. Assim, f(n) 6= Ω((f(n))2).

45. f(n) = Θ((f(n))2).Resposta:A afirmação é falsa.Sabemos que se a(n) = Θ(b(n)) então a(n) = Ω(b(n)) e a(n) = O(b(n)). De acordo com o exercício 44,temos f(n) 6= Ω((f(n))2). Consequentemente, f(n) 6= Θ((f(n))2).

46. f(n) = O((f(n))2).Resposta:A afirmação é verdadeira.Temos que f(n) = O((f(n))2) se existirem constantes positivas c e n0, tais que f(n) ≤ c(f(n))2 para todon ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

f(n) ≤ c(f(n))2

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por f(n), temos:

1 ≤ cf(n).

Veja que f(n) é uma função positiva. Assim, para toda constante c positiva a inequação é verdadeira.Consequentemente, f(n) = O((f(n))2)

14

Page 15: Md LE6 Solucao

47. g(n) = Ω(f(n)).Resposta:A afirmação é verdadeira.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que g(n) = Ω(f(n)) se existirem constantes positivas c e n0, tais que cf(n) ≤ g(n) para todo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

cf(n) ≤ g(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por f(n), temos:

c ≤ g(n)f(n)

.

Dado que f(n) ≺ g(n), é possível escolher c = 1 que satisfaz a inequação. Assim, g(n) = Ω(f(n)).

48. g(n) = Θ(f(n)).Resposta:A afirmação é falsa.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que g(n) = Θ(f(n)) se existirem constantes positivas c1, c2 e n0, tais que c1f(n) ≤ g(n) ≤ c2f(n)para todo n ≥ n0.Vamos supor que existem constantes positivas c1, c2 e n0, tais que

c1f(n) ≤ g(n) ≤ c2f(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por f(n), temos:

c1 ≤g(n)f(n)

≤ c2.

Dado que f(n) ≺ g(n), para n suficientemente grande temos que g(n)f(n) > 1. Assim, não existe c2 tal que

g(n)f(n) ≤ c2 para todo n ≥ n0. Consequentemente, g(n) 6= Θ(f(n)).

49. g(n) = O(f(n)).Resposta:A afirmação é falsa.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que g(n) = O(f(n)) se existirem constantes positivas c e n0, tais que g(n) ≤ cf(n) para todo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

g(n) ≤ cf(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por f(n), temos:

g(n)f(n)

≤ c.

Dado que f(n) ≺ g(n), para n suficientemente grande temos que g(n)f(n) > 1. Assim, não existe c tal que

g(n)f(n) ≤ c para todo n ≥ n0. Consequentemente, g(n) 6= O(f(n)).

15

Page 16: Md LE6 Solucao

50. g(n) = Ω( g(n)2 ).

Resposta:A afirmação é verdadeira.Temos que g(n) = Ω( g(n)

2 ) se existirem constantes positivas c e n0, tais que cg(n)

2 ≤ g(n) para todo n ≥ n0.Vamos supor que existem constantes positivas c e n0, tais que

cg(n)

2≤ g(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por g(n) e multiplicarmos, temos:

c ≤ 2.

Assim, g(n) = Ω( g(n)2 ).

51. g(n) = Θ( g(n)2 ).

Resposta:A afirmação é verdadeira.Temos que g(n) = Θ( g(n)

2 ) se existirem constantes positivas c1, c2 e n0, tais que c1g(n)

2 ≤ g(n) ≤ c2g(n)

2para todo n ≥ n0.Vamos supor que existem constantes positivas c1, c2 e n0, tais que

c1g(n)

2≤ g(n) ≤ c2

g(n)2

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por g(n) e multiplicarmos por 2, temos:

c1 ≤ 2 ≤ c2.

Assim, g(n) = Θ( g(n)2 ).

52. g(n) = O( g(n)2 ).

Resposta:A afirmação é verdadeira.Sabemos que se a(n) = Θ(b(n)) então a(n) = Ω(b(n)) e a(n) = O(b(n)). De acordo com o exercício 51,temos g(n) = Θ( g(n)

2 ). Consequentemente, g(n) = O( g(n)2 ).

53. f(n) = ω(g(n)).Resposta:A afirmação é falsa.De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.Temos que f(n) = ω(g(n)) se para todas constantes positivas c e n0, tais que cg(n) < f(n) para todo n ≥ n0.Vamos supor que para todas constantes positivas c e n0

cg(n) < f(n)

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por f(n), temos:

cg(n)f(n)

≤ 1.

A fração g(n)f(n) é estritamente positiva. Assim, não é possível achar nenhuma constante c que multiplicada

por g(n)f(n) seja sempre menor ou igual a 1 quando n cresce. Consequentemente, f(n) 6= Ω(g(n)).

16

Page 17: Md LE6 Solucao

54. f(n) = ω( g(n)2 ).

Resposta:A afirmação é falsa.

De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.

Temos que f(n) = ω( g(n)2 ) se para todas constantes positivas c e n0, tais que c

g(n)2 < f(n) para todo n ≥ n0.

Vamos supor que para todas constantes positivas c e n0

cg(n)

2< f(n)

para todo n ≥ n0.

Ao dividirmos cada termo dessa inequação por f(n) e multiplicarmos por 2, temos:

cg(n)f(n)

≤ 2.

A fração g(n)f(n) é estritamente positiva. Assim, não é possível achar nenhuma constante c que multiplicada

por g(n)f(n) seja sempre menor ou igual a 2 quando n cresce. Consequentemente, f(n) 6= Ω( g(n)

2 ).

55. f(n) = o(g(n)).

Resposta:A afirmação é verdadeira.

De acordo com a observação (b) acima, as funções f(n) e g(n) são positivas e f(n) ≺ g(n) do ponto de vistade crescimento assintótico.

Temos que f(n) = o(g(n)) se para todas constantes positivas c e n0, f(n) < cg(n) para todo n ≥ n0.

Vamos supor que para todas constantes positivas c e n0

f(n) < cg(n)

para todo n ≥ n0.

Ao dividirmos cada termo dessa inequação por g(n), temos:

f(n)g(n)

≤ 1.

A fração f(n)g(n) é estritamente positiva e sempre menor que 1 já que f(n) ≺ g(n). Assim, f(n) = o(g(n)).

56. n2 + 1010100n+ 123 = O(n).

Resposta:A afirmação é falsa.

Para essa afirmação ser verdadeira, de acordo a definição da notação assintótica O, devem existir constantespositivas c e n0, tais que

n2 + 1010100n+ 123 ≤ cn

para todo n ≥ n0.

Ao dividirmos cada termo dessa inequação por n, temos:

n+ 1010100+

123n≤ c.

Não existe constante positiva c que seja limitada pelo termo da esquerda da inequação à medida que ncresce. Assim, n2 + 1010100

n+ 123 6= O(n).

17

Page 18: Md LE6 Solucao

57. 1 + 2 + 3 + . . .+ n = n2 + Ω(n).

Resposta:A afirmação é verdadeira.

Sabe-se que

1 + 2 + 3 + . . .+ n =n(n+ 1)

2=n2 + n

2=n2

2+n

2= n2 − n2

2+n

2= n2 + (−n

2

2+n

2).

Seja h(n) = −n2

2 + n2 . A afirmação será verdadeira se h(n) ∈ Ω(n), i.e., se h(n) = Ω(n).

Pela definição da notação assintótica Ω, h(n) = Ω(n) se existirem constantes positivas c e n0 tais quecn ≤ |h(n)| para todo n ≥ n0.

Vamos supor que existem constantes positivas c e n0 tais que

cn ≤ |h(n)|

para todo n ≥ n0, ou seja,

cn ≤∣∣∣∣− n2

2+n

2

∣∣∣∣.Ao dividirmos cada termo dessa inequação por n, temos:

c ≤∣∣∣∣− n

2+

12

∣∣∣∣.Para n0 = 2 e c = 1

2 a inequação é satisfeita. Assim, 1 + 2 + 3 + . . .+ n = n2 + Ω(n).

58. 1 + 2 + 3 + . . .+ n = n2 + Θ(1).

Resposta:A afirmação é falsa.

Sabe-se que

1 + 2 + 3 + . . .+ n =n(n+ 1)

2=n2 + n

2=n2

2+n

2= n2 − n2

2+n

2= n2 + (−n

2

2+n

2).

Seja h(n) = −n2

2 + n2 . A afirmação será verdadeira se h(n) ∈ Θ(1), i.e., se h(n) = Θ(1).

Pela definição da notação assintótica Θ, h(n) = Θ(1) se existirem constantes positivas c1, c2 e n0 tais quec1 · 1 ≤ |h(n)| ≤ c2 · 1 para todo n ≥ n0, ou seja, se

c1 ≤∣∣∣∣− n2

2+n

2

∣∣∣∣ ≤ c2.No entanto, não existe constante c2 que sempre limite a expressão | − n2

2 + n2 |. Assim, 1 + 2 + 3 + . . .+ n 6=

n2 + Θ(1).

59. 1 + 2 + 3 + . . .+ n = n2 +O(n).

Resposta:A afirmação é falsa.

Sabe-se que

1 + 2 + 3 + . . .+ n =n(n+ 1)

2=n2 + n

2=n2

2+n

2= n2 − n2

2+n

2= n2 + (−n

2

2+n

2).

Seja h(n) = −n2

2 + n2 . A afirmação será verdadeira se h(n) ∈ O(n), i.e., se h(n) = O(n).

Pela definição da notação assintótica O, h(n) = O(n) se existirem constantes positivas c e n0 tais que|h(n)| ≤ cn para todo n ≥ n0.

18

Page 19: Md LE6 Solucao

Vamos supor que existem constantes positivas c e n0 tais que∣∣∣∣− n2

2+n

2

∣∣∣∣ ≤ cnpara todo n ≥ n0.Ao dividirmos cada termo dessa inequação por n, temos∣∣∣∣− n

2+

12

∣∣∣∣ ≤ c.No entanto, não existe constante c que sempre limite a expressão | − n

2 + 12 |. Assim, 1 + 2 + 3 + . . .+ n 6=

n2 +O(n).

60.(n2

)= O(n2).

Resposta:A afirmação é verdadeira.Tem-se que (

n2

)=

n!2!(n− 2)!

=n(n− 1)(n− 2)!

2(n− 2)!=n(n− 1)

2=n2 − n

2.

Pela definição da notação assintótica O, n2−n2 = O(n2) se existirem constantes positivas c e n0 tais que

n2−n2 ≤ cn2 para todo n ≥ n0.

Vamos supor que existem constantes positivas c e n0 tais que

n2 − n2

≤ cn2

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por n2, temos

12− 1

2n≤ c.

Para n0 = 1 e c = 12 , a inequação é satisfeita. Assim,

(n2

)= O(n2).

61.(n3

)= O(n3).

Resposta:A afirmação é verdadeira.Tem-se que (

n3

)=

n!3!(n− 3)!

=n(n− 1)(n− 2)(n− 3)!

6(n− 3)!=n(n− 1)(n− 2)

6=n3 − 3n2 + 2n

6.

Pela definição da notação assintótica O, n3−3n2+2n6 = O(n3) se existirem constantes positivas c e n0 tais

que n3−3n2+2n6 ≤ cn3 para todo n ≥ n0.

Vamos supor que existem constantes positivas c e n0 tais que

n3 − 3n2 + 2n6

≤ cn3

para todo n ≥ n0.Ao dividirmos cada termo dessa inequação por n3, temos

16− 1

2n+

13n2≤ c.

Para n0 = 1 e c = 16 , a inequação é satisfeita. Assim,

(n3

)= O(n3).

19

Page 20: Md LE6 Solucao

62. Seja Ω(n2 log n) = X, onde X representa o conjunto de funções que satisfaz a notação Ω para a funçãon2 log n. O conjunto n1.5 log n, ne log n, n2 lnn, log log n, n2, n2.5 ⊂ X?, onde e é a constante de Euler e lné o logaritmo na base e.

Resposta:A afirmação é falsa.

O conjunto X possui funções que têm uma taxa de crescimento pelo menos da ordem de n2 log n.

Ao examinarmos cada elemento desse conjunto, temos:

n1.5 log n 6∈ X [função com taxa de crescimento menor que n2 log n]ne log n ∈ X

n2 lnn ∈ X

log log n 6∈ X [função com taxa de crescimento menor que n2 log n]n2 ∈ X

n2.5 ∈ X

63. Seja Θ(1) = X, onde X representa o conjunto de funções que satisfaz a notação Θ para a função 1. Oconjunto π, nlogπ 1, e, 2bπ/4cn ⊂ X?, onde e é a constante de Euler.

Resposta:A afirmação é verdadeira.

O conjunto X possui funções que têm uma taxa de crescimento exatamente constante.

Ao examinarmos cada elemento desse conjunto, temos:

π ∈ X

nlogπ 1 = n0 = 1 ∈ X

e ∈ X

2bπ/4cn = 20·4 = 1 ∈ X

64. Seja O(ne) = X, onde X representa o conjunto de funções que satisfaz a notação O para a função ne. Oconjunto n2, n log n2, n

π2 log n2, 1

ne ⊂ X?, onde e é a constante de Euler.

Resposta:A afirmação é verdadeira.

O conjunto X possui funções que têm uma taxa de crescimento no máximo da ordem de ne.

Ao examinarmos cada elemento desse conjunto, temos:

n2 ∈ X

n log n2 ∈ X

nπ2 log n2 ≈ n1,67 log n2 ∈ X

1ne

∈ X

65. Seja ω(n) = X, onde X representa o conjunto de funções que satisfaz a notação ω para a função n.O conjunto n1.5 log n, ne log n, n2 lnn, log log n, n2, n1.1 ⊂ X?, onde e é a constante de Euler e ln é ologaritmo na base e.

Resposta:A afirmação é falsa.

O conjunto X possui funções que têm uma taxa de crescimento estritamente maior que da ordem de n.

20

Page 21: Md LE6 Solucao

Ao examinarmos cada elemento desse conjunto, temos:

n1.5 log n ∈ X

ne log n ∈ X

n2 lnn ∈ X

log log n 6∈ X [função com taxa de crescimento menor que n]n2 ∈ X

n1.1 ∈ X

66. Seja o(ne) = X, onde X representa o conjunto de funções que satisfaz a notação o para a função ne. Oconjunto n2, n log n2, n

π2 log n2, 1

ne ⊂ X?, onde e é a constante de Euler.Resposta:A afirmação é verdadeira.O conjunto X possui funções que têm uma taxa de crescimento estritamente menor que da ordem de ne.Ao examinarmos cada elemento desse conjunto, temos:

n2 ∈ X

n log n2 ∈ X

nπ2 log n2 ≈ n1,67 log n2 ∈ X

1ne

∈ X

67. A derivada de h(n) = n2 é h′(n) = 2n. A derivada de l(n) = 4n2 + 2n é l′(n) = 8n+ 2. Como 2n < 8n+ 2,∀n ≥ 0, h(n) cresce mais lentamente que l(n) e, portanto, h(n) = O(l(n)).Resposta:A afirmação é verdadeira.A função h(n) cresce mais lentamente que a função l(n). Assim, a função l(n) é um limite superior assintóticopara h(n).

68. O Teorema Mestre pode ser sempre aplicado para resolver qualquer equação de recorrência que tenha aforma geral

T (n) = pq T (np ) + n,

onde p e q são constantes inteiras positivas maiores que 1.Resposta:A afirmação é verdadeira.Tem-se:

a = pq

b = pf(n) = n

Para saber se o Teorema Mestre pode ser aplicado ou não, temos que ter as constantes a ≥ 1 e b > 1 e afunção f(n) assintoticamente positiva. Estas três condições são satisfeitas (a > 1 e b > 1, já que p > 1 eq > 1).Deve-se analisar se a equação de recorrência cai em um dos três casos previstos do teorema ou não. Paraisso, devemos comparar a função f(n) com a função nlogb a, ou seja:

f(n) : nlogb a

n : nlogp pq

n : nq logp p

n : nq.

Como q é uma constante inteira positiva maior que 1, a função nlogb a domina a função f(n) por um fatorpolinomial nq−1. Assim, o caso 1 do Teorema Mestre se aplica e temos que T (n) = Θ(nq).

21

Page 22: Md LE6 Solucao

69. O Teorema Mestre pode ser sempre aplicado para resolver qualquer equação de recorrência que tenha aforma geral

T (n) = T (pnq ) + k,

onde p, q e k são constantes inteiras positivas maiores que 1 e q > p.Resposta:A afirmação é verdadeira.Tem-se:

a = 1b = q

p

f(n) = k

Para saber se o Teorema Mestre pode ser aplicado ou não, temos que ter as constantes a ≥ 1 e b > 1 e afunção f(n) assintoticamente positiva. Estas três condições são satisfeitas (a = 1 e b > 1, já que q > p).Deve-se analisar se a equação de recorrência cai em um dos três casos previstos do teorema ou não. Paraisso, devemos comparar a função f(n) com a função nlogb a, ou seja:

f(n) : nlogb a

k : nlog q

p1

k : n0

k : 1.

Temos duas funções constantes. Assim, o caso 2 do Teorema Mestre se aplica e temos que T (n) = Θ(logn).

70. O Teorema Mestre pode ser sempre aplicado para resolver qualquer equação de recorrência que tenha aforma geral

T (n) = p T (nq ) + n log n,

onde p e q são constantes inteiras positivas, sendo p < q e p ≥ 2.Resposta:A afirmação é verdadeira.Tem-se:

a = pb = q

f(n) = n log n

Para saber se o Teorema Mestre pode ser aplicado ou não, temos que ter as constantes a ≥ 1 e b > 1 e afunção f(n) assintoticamente positiva. Estas três condições são satisfeitas (a > 1 e b > 1, já que p ≥ 2 e2 ≤ p < q).Deve-se analisar se a equação de recorrência cai em um dos três casos previstos do teorema ou não. Paraisso, devemos comparar a função f(n) com a função nlogb a, ou seja:

f(n) : nlogb a

n log n : nlogq p

n log n : nr.

O expoente logq p será um número real r no intervalo entre 0 e 1, já que a base q é maior que p. Assim,a função f(n) = n log n domina a função nlogb a (nr) por um fator polinomial n1−r. O caso 3 do TeoremaMestre pode ser aplicado se a condição de “regularidade” for satisfeita, ou seja, af(nb ) ≤ cf(n) para umaconstante c < 1:

af(nb ) ≤ cf(n)

p(nq log nq ) ≤ cn log n

pqn log n

q ≤ cn log n

A inequação é satisfeita para c = pq , c < 1, ou seja,

pqn log n

q ≤ pqn log n.

Portanto, o caso 3 do Teorema Mestre se aplica e T (n) = Θ(n log n).

22

Page 23: Md LE6 Solucao

Modelagem usando funções de recorrência

71. Qual é o número máximo de regiões Ln determinado por n retas no plano? Lembre-se que um plano semnenhuma reta tem uma região, com uma reta tem duas regiões e com duas retas têm quatro regiões, conformeilustrado abaixo.

41 2 1 L = 2

1 1

2

12

3

L =

4

0 L =

Resposta:

L0 = 1L1 = 2L2 = 4L3 = 7... =

...Ln = Ln−1 + n

Com três retas, o número máximo de regiões é sete. Observe que se traçarmos a terceira reta sobre ainterseção das duas anteriores teremos seis regiões. Assim, quando acrescentamos a n-ésima reta, criamosmais n regiões que são obtidas com a interseção com as n− 1 retas já existentes.

1 2 74L = 2L = 3

1 1

2

12

34

12

3

4

7 5

L =

6

0 L = 1

A fórmula fechada para Ln pode ser obtida facilmente a partir da observação que Ln vale a soma de 0 a nmais 1, ou seja,

Ln =n∑i=0

i+ 1 =n(n+ 1)

2+ 1.

Prova (por indução matemática):

Passo base. P (n0) = P (0). Para n = 0 temos que L0 = 0(0+1)2 + 1 = 1, que é o valor presente na equação

de recorrência.

Passo indutivo. Se a fórmula é verdadeira para n = k então deve ser verdadeira para n = k + 1, i.e.,P (k)→ P (k + 1).– Suponha que a fórmula seja verdadeira para n = k, i.e.,

P (k) : Lk =k(k + 1)

2+ 1.

para algum inteiro k ≥ 1. [hipótese indutiva]

23

Page 24: Md LE6 Solucao

– Deve-se mostrar que

P (k + 1) : Lk+1 =(k + 1)(k + 2)

2+ 1.

Sabe-se que

Lk+1 = Lk + k [Pela definição da equação de recorrência]

= k(k+1)2 + 1 + k [Pela hipótese indutiva]

= k2+3k+12 + 1

= (k+1)(k+2)2 + 1 [O que devia ser provado]

72. O problema da Torre de Hanoi com requisito de adjacência. Sejam discos de tamanhos diferentes e trêsvaretas, como ilustrado abaixo com oito discos. O jogo começa com o conjunto de discos empilhados emtamanho decrescente na vareta A.

O objetivo é transferir toda a torre da vareta A para a vareta C, movendo um disco de cada vez para umavareta adjacente e nunca movendo um disco maior sobre um menor. Quantos movimentos são necessáriospara mover n discos da vareta A para a vareta C? Observe que a vareta A é adjacente a B que é adjacentea C. No entanto, a vareta A não é adjacente à vareta C.

Resposta:Na resolução deste problema, vamos identificar os discos como Di, onde i varia de 1 a n, sendo o disco dotopo o D1 e o mais no fundo da pilha o Dn. A tabela abaixo mostra como deve ser feito o movimento dediscos entre as varetas A, B e C, para o caso de um, dois, três e n discos.

Discos Movimentos1 2 D1: A → B; D1: B → C2 8 D1: A → B; D1: B → C;

D2: A → B;D1: C → B; D1: B → A;D2: B → C;D1: A → B; D1: B → C

3 26 D1 e D2: A → C com custo T (2);D3: A → B;D1 e D2: C → A com custo T (2);D3: B → C;D1 e D2: A → C com custo T (2)

......

n 3T (n− 1) + 2 D1 a Dn−1: A→ C com custo T (n−1);Dn: A → B;D1 a Dn−1: C→ A com custo T (n−1);Dn: B → C;D1 a Dn−1: A→ C com custo T (n−1)

Pelo visto acima, a quantidade de movimentos de discos para o problema da Torre de Hanoi com a restriçãode movimentos adjacentes entre varetas é

T (0) = 0T (n) = 3T (n− 1) + 2, para n > 0.

24

Page 25: Md LE6 Solucao

Essa estratégia fica evidente, dada a restrição de movimentação dos discos: deve-se mover os n − 1 discosdo topo para a vareta destino; depois mover o disco do fundo da pilha (Dn) para a vareta do meio; depoismover os n−1 discos da vareta C para a vareta A com o objetivo de mover o disco Dn para a vareta destino;e, finalmente, mover os n− 1 discos da vareta Apara a vareta C sobre o disco Dn.

Para pequenos valores de n temos:

Discos Movimentos

0 01 22 8 = 3·2 + 2 = 2(31 + 30)

3 26 = 32·2 + 3·2 + 2 = 2(32 + 31 + 30)

4 80 = 33·2 + 32·2 + 3·2 + 2 = 2(33 + 32 + 31 + 30)...

...

Esta recorrência pode ser expressa por

T (n) = 2n−1∑i=0

3i

= 2 · 3n − 12

= 3n − 1.

Prova (por indução matemática):

Passo base. P (n0) = P (0). Para n = 0 temos que T (0) = 30 − 1 = 0, que é o valor presente na equação derecorrência.

Passo indutivo. Se a fórmula é verdadeira para n = k então deve ser verdadeira para n = k + 1, i.e.,P (k)→ P (k + 1).– Suponha que a fórmula seja verdadeira para n = k, i.e.,

P (k) : T (k) = 3k − 1.

para algum inteiro k ≥ 1. [hipótese indutiva]

– Deve-se mostrar queP (k + 1) : T (k + 1) = 3k+1 − 1.

Sabe-se que

T (k + 1) = 3T (k) + 2 [Pela definição da equação de recorrência]

= 3(3k − 1) + 2 [Pela hipótese indutiva]

= 3k+1 − 1 [O que devia ser provado]

25