Análise Combinatória - Inf

Propaganda
Análise Combinatória
Rodrigo Machado
[email protected]
Instituto de Informática
Universidade Federal do Rio Grande do Sul
Porto Alegre, Brasil
http://www.inf.ufrgs.br
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
2/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
3/168
Problemas de contagem
Contagem: determinar o número de elementos de uma determinada coleção
sem precisar necessariamente enumerá-la.
Exemplos de problemas que envolvem contagem:
• Quantos números inteiros pares existem entre 0 e 100? Considere os limites
na contagem.
• Você precisa construir todas as funções totais f : A → A, onde
A = {1, 2, . . . , 8}. Quanto de memória você precisa alocar?
A seguir, veremos alguns princípios de contagem a partir dos quais as fórmulas
para contagem de diversos tipos de objetos matemáticos serão derivadas.
4/168
Princípio aditivo
Sejam A e B conjuntos finitos.
Princípio aditivo: Se A ∩ B = ∅, então |A ∪ B| = |A| + |B|.
Aplicável quando escolhemos elementos do conjunto A OU do conjunto B,
exclusivamente.
Exemplo: Suponha que tenham entrado em cartaz 3 filmes e 2 peças de teatro
e que Carlos tenha dinheiro para assistir a apenas 1 evento. Quantos são os
programas que Carlos pode fazer no sábado?
5/168
Princípio multiplicativo
Sejam A e B conjuntos finitos.
Princípio multiplicativo: |A × B| = |A| × |B|.
Aplicável quando escolhemos elementos do conjunto A E do conjunto B,
simultaneamente.
Exemplo: Suponha que tenham entrado em cartaz 3 filmes e 2 peças de
teatro. Se Carlos tem dinheiro para assistir a um filme e a uma peça de teatro,
quantos programas ele pode fazer no sábado?
6/168
Princípio aditivo e multiplicativo: exercícios
Exercício:
1. Dados 5 livros diferentes de matemática, 7 livros diferentes de física, 10
livros diferentes de química, de quantas maneiras podemos escolher 2 livros
de forma que eles não sejam da mesma matéria?
2. De quantas maneiras 2 pessoas podem estacionar seus carros numa
garagem com 6 vagas?
3. Quantos números naturais de três algarismos distintos (na base 10)
existem?
4. De quantas maneiras podemos escolher 1 consoante e 1 vogal de um
alfabeto formado por 18 consoantes e 5 vogais?
5. De quantas maneiras podemos escolher 2 consoantes diferentes dentre um
conjunto de 8 consoantes?
6. Quantas diagonais possui um polígono regular de n lados?
7/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
8/168
Permutações
Sejam a1 , a2 , . . . , an elementos distintos de uma coleção A.
Definição: uma permutação de elementos de A é uma n-tupla
(b1 , b2 , . . . , bn )
tal que exista uma bijeção f : {1, . . . , n} → {1, . . . , n} onde ai = bf(i)
Uma permutação representa um ordenamento de todos os elementos da
coleção A.
Nota: é importante para contagem de permutações que todos os elementos da
coleção A sejam distintos.
9/168
Permutações: contagem
Exemplo: todas as permutações do conjunto {a,b,c}:
(a,b,c) (a,c,b) (b,a,c) (b,c,a) (c,a,b) (c,b,a)
Pergunta: quantas permutações distintas existem para sequências com n
elementos?
Resposta: n × (n – 1) × (n – 2) × . . . × 1 = n!
Definição: Pn representa o número de permutações de um conjunto com n
elementos.
Pn = n!
10/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
11/168
Arranjos
Definição: um arranjo é uma tupla de k elementos distintos retirados de uma
coleção com n elementos.
Exemplo: todos os arranjos de tamanho 2 do conjunto {1, 2, 3}.
(1,2)
(1,3)
(2,1)
(2,3)
(3,1)
(3,2)
Nota: note que ordem é importante: (1,2) 6= (2,1)
12/168
Arranjos: contagem
Definição: Akn representa o número de arranjos de tamanho k
cujos elementos são extraídos de uma coleção de tamanho n.
Akn
k
}|
z
{
= n × (n – 1) × · · · × (n – k + 1)
=
n!
(n – k)!
Nota: perceba que Ann = Pn = n!
13/168
Arranjos: exercícios
Exercício:
1. Quantas são as palavras de 4 letras que não repetem letras, considerando o
alfabeto convencional (de A a Z, 26 letras)?
2. Uma empresa precisa preencher 8 vagas de trabalho distintas. Houve 5
pessoas interessadas em ocupar um cargo qualquer dentre os 8. De quantas
formas distintas podemos alocar as pessoas interessadas para vagas nessa
empresa?
3. Quantas funções injetoras existem do conjunto {a, b, c} para o conjunto
{1, 2, 3, 4, 5, 6, 7, 8}?
14/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
15/168
Combinações
Definição: uma combinação é um subconjunto de k elementos tomados de
uma coleção de n elementos distintos.
Exemplo: seja A = {1, 2, 3, 4, 5}.
Todas as combinações de 3 elementos tirados de A:
{3,4,5}
{2,3,5}
{1,4,5}
{1,3,4}
{1,2,4}
{2,4,5}
{2,3,4}
{1,3,5}
{1,2,5}
{1,2,3}
Nota: combinações não são ordenadas! {1,4,2} = {2,4,1}
16/168
Combinações: contagem
Considere k, n ∈ {0, 1, 2, . . .}.
Definição: Ckn representa o número de combinações de tamanho k extraídas de
uma coleção de n elementos distintos.
Ckn = 0
Ckn =
n!
(n – k)! k!
quando k > n
quando k ≤ n
Outra notação para contagem de combinações :
n
Ckn =
(lê-se “n escolhe k”)
k
Nota: atenção com a ordem dos índices!
17/168
Combinações: exercícios
Exercício:
1. De quantas maneiras podemos arrumar em fila 5 sinais ‘-’ e 7 sinais ‘|’ ?
2. Considere uma grade de 5 linhas e 7 colunas. Considere que estamos no
cantos superior esquerdo da grade. De quantas formas distintas podemos
alcançar o canto inferior direito, supondo que somente movimentos para
baixo e para a direita são possíveis?
3. Em um jogo do tipo loteria, existem 25 números ao total, dos quais 5 são
sorteados semanalmente. Uma aposta consiste da escolha de 5 números, e
o jogador ganha somente se acertar exatamente os números sorteados.
Qual a chance de alguém ser sorteado se fizer quatro apostas distintas?
18/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
19/168
Coeficientes de potências de binômios
Observe os coeficientes das seguintes potências de um binômio (a + b):
(a + b)0
(a + b)1
(a + b)2
(a + b)3
..
.
=
=
=
=
..
.
1 × a0 b0
1 × a0 b1 + 1 × a1 b0
1 × a0 b2 + 2 × a1 b1 + 1 × a2 b0
1 × a0 b3 + 3 × a1 b2 + 3 × a2 b1 + 1 × a3 b0
..
.
Notamos que o coeficiente de um termo ai bj , na expansão de uma
multiplicação (a + b)n corresponde à ni .
Intuição: o coeficiente na frente de ai bj conta o número de formas distintas
de enumerar i letras a e j letras b, pois é obtido do agrupamento de todas as
tuplas de tamanho (i + j) com exatos i a’s e j b’s.
20/168
Teorema binomial
Teorema: para n ∈ N temos:
n
(a + b) =
n X
n
i=0
i
ai bn–i
Nota: esse teorema relaciona potências de polinômios com contagem de
combinações. Tal relação será melhor explorada quando estudarmos funções
geradoras.
Demonstração: por indução sobre n ∈ N.
21/168
Teorema binomial: comentário sobre 00
Nota: a fim de garantir que o teorema binomial seja válido para todos os valores reais
de a e b, vamos assumir que
00 = 1
Contudo, essa identidade é controversa: em outras áreas da matemática (como
cálculo) 00 é considerada uma forma indefinida.
Para quem se interessar, há boas explicações e referências sobre esse tópico nos links
abaixo (em inglês)
• http:
//www.askamathematician.com/2010/12/q-what-does-00-zero-raised-to-the-zeroth-power-
• http://mathforum.org/dr.math/faq/faq.0.to.0.power.html
• http://math.stackexchange.com/questions/11150/zero-to-the-zero-power-is-00-1
22/168
Teorema binomial: consequências
Corolário: podemos obter o resultado de
expansão de (x + 1)n
(x + 1)n =
n
i
“lendo” o coeficiente de xi na
n X
n
i=0
i
xi
23/168
Teorema binomial: consequências (2)
Corolário: o resultado da expressão
n
n
n
n n
–
+
– · · · + (–1)
0
1
2
n
é sempre 0 (para n ≥ 1):
n X
n
i=0
i
(–1)i = 0
24/168
Teorema binomial: exercícios
Exercício:
1. Calcular o quarto termo da expansão de (1 + x)8
2. Calcular o sexto termo da expansão de (x – 5y)10
25/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
26/168
Triângulo de Pascal
O triângulo
de Pascal é uma matriz infinita onde cada elemento an,k corresponde a
Ckn = nk
n\k
0
1
2
3
4
5
6
7
..
.
0
1
1
1
1
1
1
1
1
..
.
1
2
3
4
5
6
7
···
1
2
3
4
5
6
7
..
.
1
3
6
10
15
21
..
.
1
4
10
20
35
..
.
1
5
15
35
..
.
1
6
21
..
.
1
7
..
.
1
..
.
..
.
Obs: espaços em branco contêm o valor 0.
27/168
Propriedades de combinações
Os números construídos pela expressão nk possuem diversas identidades, que
podem ser visualizadas sobre o triângulo de Pascal.
1. Combinação
complementar:
n
n
=
k
n–k
n\k
0
1
2
3
4
5
..
.
0
1
1
1
1
1
1
..
.
1
2
3
4
5
···
1
2
3
4
5
..
.
1
3
6
10
..
.
1
4 1
10 5
.. ..
. .
1
..
.
..
.
28/168
Propriedades de combinações (2)
2. Relação de Stifel:
n\k
0
1
2
3
4
5
..
.
n+1
k+1
n
n
+
k+1
k
0
1
1
1
1
1
1
..
.
1
2
4
5
···
1
2
3
4
5
..
.
1
3 1
6 4 1
10 10 5
..
.. ..
.
. .
1
..
.
..
=
3
.
29/168
Propriedades de combinações (3)
3. Soma horizontal:
n X
n
k
k=0
n\k
0
1
2
3
4
5
..
.
0
1
1
1
1
1
1
..
.
= 2n
1
2
4
5
···
1
2
3
4
5
..
.
1
3 1
6 4 1
10 10 5
..
.. ..
.
. .
1
..
.
..
3
.
30/168
Propriedades de combinações (4)
4. Soma vertical:
k+x
X
n=k
n\k
0
1
2
3
4
5
..
.
0
1
1
1
1
1
1
..
.
n
k+x+1
=
k
k+1
1
2
4
5
···
1
2
3
4
5
..
.
1
3 1
6 4 1
10 10 5
..
.. ..
.
. .
1
..
.
..
3
.
31/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
32/168
Regra da subtração
Lembre que A \ B = {x | x ∈ A ∧ x ∈
/ B}.
Regra da subtração: Sejam A e B conjuntos finitos tal que B ⊆ A. Então
|A \ B| = |A| – |B|
Demonstração:
1. (A \ B) ∩ B = ∅
2. |(A \ B) ∩ B| = |∅|
3. |A \ B| + |B| – |(A \ B) ∪ B| = 0
4. |A \ B| + |B| – |A ∪ B| = 0
5. |A \ B| + |B| – |A| = 0
(pois B ⊆ A)
6. |A \ B| = |A| – |B|
33/168
Regra da subtração: exemplo
A regra da subtração é útil quando é mais fácil contar o complemento de um
conjunto do que o conjunto em si.
Exemplo: Considere um baralho normal
• quatro naipes: ♠, ♦, ♣, ♥
• valores: A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K
Pergunta: Quantas mãos (conjuntos) de 5 cartas contém alguma figura (cartas
de valor J, Q ou K)?
Resposta: A contagem direta é difícil, porém podemos calcular o número de mãos
sem figuras e subtrair do total de mãos existentes:
52
5
–
52 – 12
5
= 2598960 – 658008 = 1940952
34/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
35/168
Regra do quociente
Seja A um conjunto finito e seja R uma relação de equivalência sobre A onde
cada classe de equivalência contém exatamente r elementos.
Denotemos A/R o conjunto de todas as classes de equivalência de R em A
(subconjuntos maximais de elementos R-equivalentes em A).
Regra do quociente:
|A/R| =
|A|
r
36/168
Regra do quociente: exemplo
A regra do quociente é útil quando é possível caracterizar o objeto de interesse
da contagem como uma classe de equivalência sobre elementos de outro
conjunto (mais fácil de ser contado).
Exemplo: Considere A sendo o conjunto de todos os arranjos de tamanho k
contendo elementos do conjunto N, onde |N| = n.
Defina que dois arranjos (a1 , a2 , . . . , ak ) e (b1 , b2 , . . . bk ) são R-equivalentes
sss um for uma permutação do outro.
Note que cada classe de equivalência corresponde a uma k-combinação. Como
n!
|A| = (n–k)!
e cada classe de equivalência possui k! elementos,
|A/R| =
|A|
k!
⇔
n
=
k
n!
(n–k)!
k!
=
n!
(n – k)!k!
37/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
38/168
Distribuição de elementos idênticos
Problema: contar de quantas formas podemos distribuir m elementos idênticos em r
caixas enumeradas x1 , . . . , xr .
Variações:
• cada caixa deve conter 1 ou mais elementos
• cada caixa deve conter 0 ou mais elementos
• quantidades mínimas distintas para as caixas
Equivale a contar soluções (em números naturais) da equação
x1 + . . . + xr = m
sujeito às restrições de cada caso.
39/168
Distribuição: solução em inteiros positivos
Variação 1: conte soluções em naturais para
x1 + . . . + xr = m
que não deixem nenhuma caixa vazia (xi > 0 para todo 1 ≤ i ≤ r)
Para realizar essa contagem, podemos considerar a inserção de r – 1 separadores
idênticos | entre pontos da representação unitária de m.
Exemplo: m = 5, r = 3.
x1
•␣ • ␣ • ␣ • ␣•
=⇒
x2
x3
z}|{ z}|{ z}|{
•␣• | •␣• |
•
Solução:
Cr–1
m–1 =
m–1
r–1
40/168
Distribuição: solução em inteiros positivos
Exercício:
Encontre o número de soluções em inteiros positivos da seguinte equação:
x1 + x2 + x3 + x4 = 11
41/168
Distribuição: solução em inteiros não-negativos
Variação 2: conte soluções em naturais para
x1 + . . . + xr = m
permitindo caixas vazias (xi ≥ 0 para todo 1 ≤ i ≤ r)
Para realizar essa contagem, podemos escolher posições para r – 1 símbolos | na
string composta de m + (r – 1) símbolos | ou •.
Exemplo: m = 5, r = 4.
posição:
símbolo
1
•
2
•
3
|
4
|
5
•
6
•
7
|
8
•
⇐⇒
x1 = 2
x3 = 2
x2 = 0
x4 = 1
Solução:
Cr–1
m+r–1
=
m+r–1
r–1
=
m+r–1
m
42/168
Distribuição: solução em inteiros não-negativos
Exercício:
Encontre o número de soluções em inteiros não-negativos da equação
x1 + x2 + x3 = 10
43/168
Distribuição: caixas com conteúdo mínimo
Variação 3: conte soluções em naturais para
x1 + . . . + xr = m
mantendo um número mínimo de elementos em certas caixas (xi ≥ ni para todo
1 ≤ i ≤ r e ni fixos)
Exemplo: de quantas formas podemos distribuir 10 elementos idênticos em 3 caixas
enumeradas, cada uma contendo no mínimo 2 elementos? (n1 , n2 , n3 = 2)
Equivale a remover do total de elementos a quantidade obrigatória em cada caixa, e
distribuir os demais (verificando soluções em inteiros não-negativos).
Solução: particionamento em inteiros não-negativos da equação
x1 + . . . + xr = m –
r
X
ni
i=1
44/168
Distribuição: caixas com conteúdo mínimo
Exercício:
Encontrar o número de soluções em inteiros positivos maiores que 3 da equação
x1 + x2 + x3 = 17
Em outras palavras: determinar o número de soluções inteiras de
x1 + x2 + x3 = 17, onde xi > 3 para i ∈ {1, 2, 3}.
45/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
46/168
Combinações com repetição
Seja A um conjunto finito, onde |A| = n.
Definição: uma k-combinação com (possível) repetição de A é um multiconjunto
de tamanho k onde todos os elementos pertencem a A.
A contagem de k-combinações com repetição é equivalente a contar as soluções
não-negativas para a seguinte equação:
x1 + x2 + · · · + xn = k
Notação: denotamos por CRkn o número de k-combinações com repetição sobre um
conjunto A de tamanho n.
CRkn = Cn–1
k+n–1 =
k+n–1
n–1
=
k+n–1
k
47/168
Combinações com repetição: exercícios
1. De quantos modos podemos comprar 4 refrigerantes em um bar que vende
2 tipos de refrigerante?
2. De quantos modos diferentes podemos distribuir 10 bombons idênticos em
4 caixas diferentes?
3. Dispondo de 4 cores diferentes, de quantas maneiras distintas podemos
pintar 5 objetos idênticos? (Cada objeto deve ser pintado com uma única
cor)
48/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
49/168
Arranjos com repetição
Seja A um conjunto finito, onde |A| = n.
Definição: um k-arranjo com (possível) repetição é uma k-tupla formada
com elementos de A.
Como temos n possibilidades para cada posição, certamente teremos nk tuplas
distintas.
k
z
}|
{
n × n × · · · × n = nk
Notação: denotamos ARkn o número de k-arranjos com repetição sobre um
conjunto A de tamanho n.
ARkn = nk
50/168
Arranjos com repetição: exercícios
1. Qual o total de placas de carro que podem ser construídas constando de 7
símbolos, sendo os 3 primeiros contituídos por letras e os 4 últimos por
dígitos?
2. Quantas funções totais existem entre os conjuntos A = {1, 2, 3} e
B = {α, β, γ, δ}?
51/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
52/168
Permutações circulares
Pergunta: de quantas maneiras 4 crianças podem dar as mãos para brincar de
roda?
A seguinte fórmula conta o número de permutações circulares a partir de um
conjunto de tamanho n.
(PC)n =
n!
= (n – 1)!
n
Resposta: no caso de 4 crianças, temos 3! = 6 formas distintas de formar uma
roda.
53/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
54/168
Permutações com repetição
Pergunta: quantos anagramas existem para a palavra ABACATE ?
Note que há menos de 7! anagramas, pois algumas trocas de letras não geram
palavras distintas (primeira letra com a quinta, por exemplo).
Uma estratégia é distinguir as letras repetidas com índices:
A1 B A2 C A3 T E
Após, podemos definir uma relação de equivalência determinando que duas palavras
são equivalentes sss uma for obtida a partir da outra por uma permutação das letras
repetidas.
No caso de ABACATE, há 3! formas de enumerar os A’s, o que leva a 6 palavras por
classe de equivalência. Pela regra do quociente o número de anagramas de abacate é
igual a 7!
3! .
55/168
Permutações com repetição
Note que cada permutação com repetição consiste de uma forma de enumerar um
multiconjunto de tamanho n.
A seguinte fórmula conta o número de permutações com repetição de um
multiconjunto de tamanho n,
PR(n; r1 , r2 , . . . , rk ) =
n
r1 , r2 , . . . , rk
=
n!
r1 ! × r2 ! × · · · × rk !
onde r1 , r2 , . . . , rk correspondem às repetições de cada uma das letras da palavra.
Nota: se k1 + k2 = n, então
n
k1 , k2
=
n
k1
=
n
k2
56/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
57/168
Teorema multinomial
Considere a expansão de potências de trinômios.
Exemplo:
(a + b + c)n = ???
58/168
Teorema multinomial (2)
O que vimos para trinômios pode ser generalizado para multinômios.
Teorema:
n
(x1 + · · · + xm ) =
X
r1 +···+rm =n
n
xr1 · · · xrmm
r1 , . . . , rm 1
59/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
60/168
Princípio da inclusão e exclusão
Considere as seguintes contagens da união de conjuntos:
2 conjuntos:
|A ∪ B| = |A| + |B| – |A ∩ B|
3 conjuntos:
|A ∪ B ∪ C| = + |A| + |B| + |C|
– |A ∩ B| – |A ∩ C| – |B ∩ C|
+ |A ∩ B ∩ C|
61/168
Princípio da inclusão e exclusão (cont.)
Princípio da inclusão e exclusão: O número de elementos da união de n conjuntos
finitos A1 , . . . , An é dado por:
|A1 ∪ A2 ∪ . . . ∪ An | =
+
X
|Ai |
1≤i≤n
–
X
|Ai ∩ Aj |
1≤i<j≤n
+
X
|Ai ∩ Aj ∩ Ak |
1≤i<j<k≤n
–
X
|Ai ∩ Aj ∩ Ak ∩ Al |
1≤i<j<k<l≤n
..
.
(–1)n–1 |A1 ∩ A2 ∩ . . . ∩ An |
62/168
Princípio da inclusão e exclusão: exemplo
Pergunta: Quantas são as permutações das letras da palavras BRASIL em que o B
ocupa o primeiro lugar, ou o R o segundo lugar, ou o A o terceiro lugar?
Podemos começar contando os seguintes conjuntos separadamente:
• PB = conjunto de permutações que mantém B na 1ł posição
• PR = conjunto de permutações que mantém R na 2ł posição
• PA = conjunto de permutações que mantém A na 3ł posição
A solução consiste de |PB ∪ PR ∪ PA |. Contudo, nesse cálculo não podemos aplicar o
princípio aditivo, pois PB , PR e PA não são disjuntos. Exemplo:
BLARSI ∈ PB
e
BLARSI ∈ PA
63/168
Princípio da inclusão e exclusão: exemplo (cont.)
Portanto, necessitamos do princípio da inclusão e exclusão, que diz:
|PB ∪ PR ∪ PA | = + |PB | + |PR | + |PA |
– |PB ∩ PR | – |PB ∩ PA | – |PR ∩ PA |
+ |PB ∩ PR ∩ PA |
Note que:
• |PB | = |PR | = |PA | = 5!
• |PB ∩ PR | = |PB ∩ PA | = |PR ∩ PA | = 4!
• |PB ∩ PR ∩ PA | = 3!
Resposta: O número de permutações de BRASIL que mantém ou B, ou R ou A na
posição original é
|PB ∪ PR ∪ PA | = 3 × 5! – 3 × 4! + 3! = 294
64/168
Princípio da inclusão e exclusão: exercícios
Exercício:
1. Quantos inteiros entre 1 e 3600, inclusive, são divisíveis por 3, 5 ou 7?
2. Considere um baralho normal (quatro naipes, treze valores de Ás a K).
Quantas mãos (conjuntos) de 9 cartas contém 4 cartas do mesmo valor?
65/168
Contagem de funções sobrejetoras
Pergunta: Quantas funções sobrejetoras existem entre dois conjuntos finitos A e B?
Consideramos dois casos:
• se |A| < |B|: 0 funções sobrejetoras
• se |A| ≥ |B|: vamos contar todas as funções cuja imagem é igual ao
contradomínio.
Suponha |B| = n e B = {b1 , b2 , . . . , bn }.
Notação: Denotamos E1 o conjunto de todas as funções do tipo A → B que não
mapeiam nenhum elemento de A para b1 (ou seja, funções que “erram” b1 ).
Definimos da mesma forma Ei para 1 ≤ i ≤ n.
66/168
Contagem de funções sobrejetoras (2)
As funções sobrejetoras são aquelas que não “erram” nenhum elemento do
contradomínio. Portanto, pela regra da subtração:
|funções sobrejetoras| = |funções| - |funções que “erram” algum b ∈ B|
Ou seja:
n|A| – |E1 ∪ E2 ∪ . . . ∪ En |
Por inclusão e exclusão:
=
n|A| –
(
+ |E1 | + |E2 | + . . . + |En |
– |E1 ∩ E2 | – |E1 ∩ E3 | – · · · – |En–1 ∩ En |
+ |E1 ∩ E2 ∩ E3 | + · · · + |En–2 ∩ En–1 ∩ En |
..
.
(–1)n–1 |E1 ∩ E2 ∩ · · · ∩ En |
)
67/168
Contagem de funções sobrejetoras (3)
Absorvendo a negação:
=
n|A|
– |E1 | – |E2 | – . . . – |En |
+ |E1 ∩ E2 | + |E1 ∩ E3 | + · · · + |En–1 ∩ En |
– |E1 ∩ E2 ∩ E3 | – · · · – |En–2 ∩ En–1 ∩ En |
..
.
(–1)n |E1 ∩ E2 ∩ · · · ∩ En |
Cardinalidade das interseções:
• |E1 | = (n – 1)|A|
• |E1 ∩ E2 | = (n – 2)|A|
(nro de funções do tipo A → (B – {b1 }))
(nro de funções do tipo A → (B – {b1 , b2 }))
• e assim sucessivamente . . .
Note também que |Eb1 | = |Eb2 | = · · · |Ebn |. O mesmo vale para as demais
interseções, isto é os tamanhos dos conjuntos na mesma linha são iguais.
68/168
Contagem de funções sobrejetoras (4)
Logo (lembrando que n = |B|):
Número de termos por linha:
n
1
• Interseções de 1 conjunto:
=
• Interseções de 2 conjuntos:
..
.
n
2
• Interseções de n conjuntos:
n
n
+ (–1)0 n0 (n – 0)|A|
+ (–1)1 n1 (n – 1)|A|
+ (–1)2 n2 (n – 2)|A|
..
.
+ (–1)n nn (n – n)|A|
Resposta: O número de funções sobrejetoras entre A e B é:
|B|
X
i=0
(–1)i
|B|
(|B| – i)|A|
i
69/168
Função φ de Euler
Definição: A função φ de Euler associa o inteiro positivo n ao número de inteiros
positivos menores que n e que são primos em relação a n.
Em outras palavras, φ(n) é a cardinalidade do conjunto
{x | 1 ≤ x < n ∧ MDC(x, n) = 1}.
Teorema: (fórmula fechada para φ)
φ(m) = m 1 –
1
p1
1–
1
p2
··· 1 –
1
pr
α2
αr
1
onde m = pα
1 × p2 × · · · × pr é a decomposição de m em fatores primos.
Exercício:
1. Calcular φ(m) para m = 2100
70/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
71/168
Permutações caóticas
Definição: Permutações caóticas (ou desarranjos) são as permutações que não
deixam nenhuma letra na sua posição original.
Teorema: o número de permutações caóticas de uma palavra sem letras repetidas de
tamanho n (denotado Dn ) é dado pela seguinte fórmula:
Dn = n! 1 –
1
1
1
1
+
–
+ . . . + (–1)n
1!
2! 3!
n!
=
n
X
(–1)i
i=0
n!
i!
Teorema: para todo inteiro n > 2, temos
n! 1
Dn – <
e
2
Exercício:
1. De quantas formas distintas podemos realizar um sorteio de amigo secreto entre
10 pessoas de forma que ninguém tire o próprio nome no sorteio?
72/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
73/168
Princípio dos escaninhos
Princípio dos escaninhos: Sejam n e k inteiros positivos onde n > k.
Suponha a distribuição de n envelopes idênticos em k escaninhos.
Logo, haverá no mínimo um escaninho contendo dois ou mais envelopes.
Nota: também é conhecido como
• princípio das gavetas de Dirichlet
• princípio da casa dos pombos (pidgeonhole principle)
74/168
Princípio dos escaninhos: exemplos
Exemplo:
1. Dado um conjunto de 13 pessoas (ou mais), pelo menos duas aniversariam
no mesmo mês.
2. Dado um conjunto de 32 pessoas (ou mais), pelo menos duas aniversariam
no mesmo dia do mês.
3. Dado um conjunto de 367 pessoas (ou mais), pelo menos duas
aniversariam no mesmo dia do ano.
75/168
Princípio dos escaninhos: caráter existencial
Pode-se notar que o princípio dos escaninhos é de natureza distinta dos demais
princípios de contagem.
Ele essencialmente não conta elementos, nem especifica qual gaveta
apresenta repetição. Ele simplemente garante a existência de tal gaveta.
Essa garantia de existência é tipicamente utilizada como fato auxiliar em
provas de propriedades mais interessantes.
Além disso, o princípio dos escaninhos ajuda a determinar quantidades
mínimas em certos parâmetros para a garantia de ocorrência de certos eventos.
76/168
Princípio dos escaninhos: exercícios
Exercício:
1. Em uma gaveta há 12 meias brancas e 12 meias pretas. Quantas meias
devemos retirar ao acaso para termos certeza de obter um par de meias de
cores diferentes? E de mesma cor?
2. Mostre que em um conjunto de n pessoas há sempre duas pessoas que
conhecem exatamente o mesmo número de outras pessoas do conjunto.
Suponha que a relação “conhecer” é simétrica (se a conhece b então b
conhece a) e irreflexiva (a não conhece a).
77/168
Princípio dos escaninhos: exemplo
Exemplo: Mostrar que na sequência infinita de números
a = 7, 77, 777, 7777, 77777, 777777, . . .
há ao menos um número que é múltiplo de 2003.
Demonstração: Vamos provar algo mais forte: que existe um múltiplo de 2003
dentre os primeiros 2004 números de a.
Vamos chamar a1 , a2 , . . . , a2004 os 2004 primeiros elementos de a.
Para cada ai (1 ≤ i ≤ 2004), calculamos o resto da divisão inteira
ri = ai % 2003.
Note que o valor de cada ri varia de 0 a 2002, e existem 2004 restos.
78/168
Princípio dos escaninhos: exemplo (2)
Logo, pelo princípio dos escaninhos, há dois índices distintos i e j entre 1 e
2004 tal que ri = rj .
Portanto, há valores na sequência a com o mesmo resto na divisão por 2003.
Vamos chamá-los ai e aj , considerando i < j.
ai = ki ∗ 2003 + ri
aj = kj ∗ 2003 + rj
Considere agora a subtração aj – ai :
aj – ai = (kj ∗ 2003 + rj ) – (ki ∗ 2003 + ri) = (kj – ki ) ∗ 2003
O que garante que aj – ai é múltiplo de 2003.
79/168
Princípio dos escaninhos: exemplo (3)
Note que, se observarmos a forma de aj – ai , temos o seguinte:
j
aj
=
z
}|
{
77 · · · 777777 · · · 7
–ai
=
z }| {
– 77777 · · · 7
=
z }| { z
}|
{
77 · · · 7 × 100000 · · · 0
i
aj–i
aj – ai
10i
Portanto, sabemos que aj–i × 10i é múltiplo de 2003.
Também sabemos que 2003 é primo em relação a 10i .
Portanto, só resta que aj–i é múltiplo de 2003. Note também que
1 ≤ (j – i) ≤ 2004.
80/168
Princípio dos escaninhos generalizado
Princípio dos escaninhos generalizado: Se k escaninhos são ocupados por
x × k + 1 envelopes, então ao menos um escaninho deverá conter pelo menos
x + 1 envelopes.
Reformulando:
Teorema: Se colocarmos n envelopes em k escaninhos , então pelo menos um
escaninho deverá conter no mínimo
n–1
+1
k
envelopes.
81/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
82/168
Princípios de contagem: revisão
Princípio aditivo:
se A ∩ B = ∅ então
|A ∪ B| = |A| + |B|
Regra da subtração: (derivada do
princípio aditivo)
se B ⊆ A então |A – B| = |A| – |B|
Princípio multiplicativo:
|A × B| = |A| × |B|
Regra do quociente: (derivada do
princípio multiplicativo)
se R é uma relação de equivalência sobre
A onde toda classe de equivalência tem
|A|
tamanho r, então |A/R| = r
83/168
Princípios de contagem: revisão (cont)
Princípio da inclusão/exclusão:
|A1 ∪ A2 ∪ . . . ∪ An | =
+
X
|Ai |
1≤i≤n
–
X
|Ai ∩ Aj |
1≤i<j≤n
+
X
|Ai ∩ Aj ∩ Ak |
1≤i<j<k≤n
..
.
(–1)n–1 |A1 ∩ A2 ∩ . . . ∩ An |
Princípio dos escaninhos:
se n objetos são colocados em k escaninhos e n > k, há ao menos um escaninho
contendo mais de um envelope.
84/168
Resumo de arranjos e combinações
Contagem de estruturas construídas a partir de um conjunto com n elementos.
sem reposição
onde
n!
(n–k)!
com reposição
k-tuplas
Akn =
ARkn = nk
k-conjuntos
Ckn =
n
k
Ckn =
k-multiconjuntos
Ckn =
n
k
CRkn =
n
k
k+n–1
k
n
n!
=
k
(n – k)!k!
85/168
Resumo de permutações
Permutações simples: formas distintas de enumerar um conjunto de
tamanho n.
Pn = n!
Permutações com repetição: formas distintas de enumerar um
multiconjunto de tamanho n, sendo r1 , . . . , rn as repetições de símbolo.
n
n!
PR(n; r1 , r2 , . . . , rn ) =
=
r1 , r2 , . . . , rn
r1 !r2 ! · · · rn !
86/168
Resumo de permutações (2)
Permutações circulares: formas de dispor circularmente os elementos de um
conjunto de tamanho n.
(PC)n = (n – 1)!
Permutações caóticas: formas de embaralhar uma sequência de valores
distintos sem que nenhum valor acabe na sua posição original.
1
1
1
n!
n 1
Dn = n! 1 –
+
–
+ . . . + (–1)
≈
1! 2! 3!
n!
e
87/168
Resumo de contagem de funções
Sejam A e B conjuntos finitos, onde |A| = a e |B| = b.
Número de funções f : A → B:
ba
Número de funções bijetoras f : A → B (considerando a = b):
b!
Número de funções injetoras f : A → B (considerando a ≤ b):
b!
(b–a)!
Número de funções sobrejetoras f : A → B (considerando a ≥ b):
b
X
i=0
(–1)i
b
(b – i)a
i
88/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
89/168
Sequências
Definição: uma sequência (an ) é uma lista infinita de números reais.
(an ) = (a0 , a1 , a2 , . . .)
Exemplo:
(an ) = (0, 1, 2, 3, 4, 5, 6, . . .)
(bn ) = (1, 1, 1, 1, 1, 1, . . .)
(cn ) = (0, 1, 0, –1, 0, 1, 0, –1, 0, 1, . . .)
Notação: sempre consideraremos que sequências começam no índice zero
(primeiro elemento é a0 ).
90/168
Sequências (cont.)
Notação: usamos (an ) = expressão para descrever uma sequência de números
com base em sua estrutura:
Exemplo:
(an ) = n2
(an ) = (0, 1, 4, 9, 16, 25, . . .)
(bn ) = 1
(
(bn ) = (1, 1, 1, 1, 1, . . .)
(cn ) =
0
(–1)bn/2c
se n par
se n ímpar
(cn ) = (0, 1, 0, –1, 0, 1, 0, –1, . . .)
91/168
Séries de potências
Definição: uma série de potências é uma série infinita da forma
a0 + a1 x + a2 x2 + a3 x3 + . . .
onde todos ai (para i ∈ N) são números reais e x é uma variável.
Nota: qualquer polinômio finito pode ser visto como uma série de potências
tendo sempre 0 como coeficiente a partir de um certo índice.
92/168
Séries de potências: soma
Definição: a soma de duas séries de potências é realizada por componentes:
a0
+
a1 x
+
b0
+
b1 x
(a0 + b0 ) + (a1 + b1 )x
+
a2 x2
+
b2 x2
+ (a2 + b2 )x2
+
+
+
···
···
···
93/168
Séries de potências: multiplicação
Definição: a multiplicação de duas séries A e B é dada pela soma de todas
as possíveis multiplicações de termos de A e termos de B.
a0
× b0
a 0 b0
+
a1 x
+
b1 x
+ (a1 b0 + a0 b1 )x
+
a2 x2
+
b2 x2
+ (a0 b2 + a1 b1 + a2 b0 )x2
+
+
+
···
···
···
Nota: note que, para calcular o coeficiente xn de A × B precisamos calcular a
soma todos os termos com potência xn .
94/168
Funções geradoras ordinárias
Definição: dizemos que a série de potências
A = a 0 + a1 x + a 2 x 2 + a3 x 3 + . . .
é a função geradora ordinária da sequência
(a0 , a1 , a2 , a3 , . . .)
Intuição: representar uma sequência de números através de uma única expressão.
Nota: as potências da variável x ( no caso, x0 , x1 , x2 , . . .) servem essencialmente para
separar os valores da sequência.
Importante: podemos recuperar o n-ésimo elementos da sequência (an ) através do
coeficiente da potência xn em A.
Notação: Vamos usar A ⇔ (an ) para indicar que A é a função geradora da sequência
(an ).
95/168
Funções geradoras ordinárias (motivação)
A principal motivação de representarmos sequências através de funções
geradoras ordinárias é que essa transformação permite a manipulação
algébrica da informação contida na sequência.
Veremos dois usos fundamentais para funções geradoras nesta disciplina
• obter fórmulas fechadas para resoluções de problemas combinatórios
• resolver relações de recorrência
Contudo, antes de partirmos para as aplicações, será necessário aprender como
manipular adequadamente as funções geradoras.
A seguir, construiremos um repertório de resultados que serão essenciais na
resolução de problemas usando f.g.o.
96/168
Identidades básicas (1)
Teorema:
1 + x + x2 + x3 + · · · =
1
1–x
Demonstração: assuma
1 + x + x2 + · · · = f(x)
e multiplique ambos os lados da equação por (1 – x).
Nota: normalmente no estudo de séries nos preocupamos com questões de
convergência, isto é, a faixa de valores para as quais o limite das somas parciais
é um número real. No caso acima, se x > 1 a série não converge. Nesta
disciplina, contudo, não estaremos avaliando x, portanto conscientemente não
nos preocuparemos em calcular intervalos de convergência.
97/168
Identidades básicas (2)
Teorema:
1 + cx + c2 x2 + c3 x3 + · · · =
1
1 – cx
98/168
Identidades básicas (3)
Teorema:
2
3
c + cx + cx + cx + · · · = c
1
1–x
99/168
Identidades básicas (4)
Teorema:
1+x+
x2
x3
x4
+
+
+ · · · = ex
2!
3!
4!
100/168
Identidades básicas (5)
Teorema:
1 + 0x + 1x2 + 0x3 + 1x4 + 0x5 + 1x6 + · · · =
1
1 – x2
101/168
Identidades básicas (6)
Teorema:
1 + 0x + 0x2 + 1x3 + 0x4 + 0x5 + 1x6 + · · · =
1
1 – x3
102/168
Identidades básicas (7)
Teorema:
1 + xc + x2c + x3c + · · · =
1
1 – xc
103/168
Identidades básicas (8)
Considere
A(x) = a0 + a1 x + a2 x2 + a3 x3 + · · · ⇔ (a0 , a1 , a2 , a3 , . . .)
Teorema:
xA(x) ⇔ (0, a0 , a1 , a2 , a3 , a4 , . . .)
x2 A(x) ⇔ (0, 0, a0 , a1 , a2 , a3 , a4 , . . .)
x3 A(x) ⇔ (0, 0, 0, a0 , a1 , a2 , a3 , a4 . . .)
..
.
Intuição: multiplicar a f.g.o por xk tem o efeito de um deslocamento à direita
na sequência codificada, preenchendo as primeiras k posições com 0.
104/168
Identidades básicas (9)
Considere A(x) = a0 + a1 x + a2 x2 + · · · ⇔ (a0 , a1 , a2 , . . .)
Teorema: (derivação)
∞
X
d
A(x) = 0a0 + 1a1 + 2a2 x + 3a3 x2 + · · · =
i · ai xi–1
dx
i=1
⇔ (1a1 , 2a2 , 3a3 , . . . )
Intuição: multiplica pelo índice, depois executa um deslocamento à esquerda.
105/168
Identidades básicas (10)
Considere A(x) = a0 + a1 x + a2 x2 + · · · ⇔ (a0 , a1 , a2 , . . .)
Teorema:
x
d
A(x)
dx
= 0a0 x + 1a1 x + 2a2 x2 + 3a3 x3 + · · ·
⇔ (0a0 , 1a1 , 2a2 , 3a3 , 4a4 , . . .)
Intuição: multiplica pelo índice, apaga o termo a0 .
106/168
Identidades básicas (11)
Considere A(x) = a0 + a1 x + a2 x2 + · · · ⇔ (a0 , a1 , a2 , . . .)
Teorema: (integração)
Z
A(x)dx = c +
∞
X
ai xi+1
i=0
i+1
Intuição: deslocamento à direita (preenchendo com c a primeira posição) e
divide pelo índice novo (para índice maior que 0).
107/168
Identidades básicas (12)
Considere
A(x) = a0 + a1 x + a2 x2 + · · · ⇔ (a0 , a1 , a2 , . . .)
e
B(x) = b0 + b1 x + b2 x2 + · · · ⇔ (b0 , b1 , b2 , . . .)
Teorema:
A(x)B(x) =
∞
X

j
X

j=0

ai bj–i  xj
i=0
⇔ ( a0 b0 ,
a0 b1 + a1 b0 ,
a0 b2 + a1 b1 + a2 b0 ,
. . .)
108/168
Identidades básicas (13)
Considere A(x) = a0 + a1 x + a2 x2 + · · · ⇔ (a0 , a1 , a2 , . . .)
Teorema:
1
1–x
A(x) = a0 + (a0 + a1 )x + (a0 + a1 + a2 )x2 + · · ·
⇔ ( a0 ,
a0 + a 1 ,
a0 + a 1 + a 2 ,
. . .)
Intuição: soma dos valores até o índice em questão.
109/168
Funções geradoras: exercícios I
5.1 Encontrar a função geradora ordinária f(x) na qual o coeficiente ar de xr é
o número de soluções inteiras positivas de x1 + x2 + x3 = r, onde
{9, 10, 11, 12, 13, 14, 15}, 2 ≤ xi ≤ 4 para i = 1, 2, 5 ≤ x3 ≤ 7.
5.2 Achar a função geradora ordinária f(x) na qual o coeficiente ar de xr é o
número de soluções inteiras não-negativas da equação 2x + 3y + 7z = r.
5.3 Encontrar a função geradora para a sequência (ar ) = (0, 0, 1, 1, 1, 1, . . .).
5.4 Encontrar a sequência cuja função geradora é dada por
g(x) =
1
1 – x2
5.5 Encontrar a função geradora para a sequência
1 1 1 1
(ar ) = 1, , , , , . . .
1! 2! 3! 4!
110/168
Funções geradoras: exercícios II
5.6 Encontrar a sequência cuja função geradora ordinária é x2 + x3 + ex .
5.7 Encontrar a função geradora ordinária para a sequência
r
2
(ar ) =
r!
5.8 Qual o coeficiente de x23 na expansão de (1 + x5 + x9 )6 ?
111/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
112/168
Potências de séries: exemplo 1
Expressão original:
(1 + ax)(1 + bx)(1 + cx)
Expansão:
1 + (a + b + c)x + (ab + bc + ac)x2 + abcx3
Significado:
Cálculo de todos os subconjuntos de {a, b, c}, separados por tamanho de conjunto i
(coeficiente de xi ).
Substituindo a, b e c por 1:
(1 + x)3 = 1 + (1 + 1 + 1)x + (1 + 1 + 1)x2 + 1x3
= 1 + 3x + 3x2 + x3
113/168
Potências de séries: exemplo 2
Expressão original:
(1 + ax + a2 x2 )(1 + bx)(1 + cx)
Expansão:
1 + (a + b + c)x + (a2 + ab + bc + ac)x2 + (abc + a2 c + a2 b)x3 + (a2 bc)x4
Significado:
Cálculo de todos os sub-multiconjuntos de Ha, a, b, cI, separados por tamanho de
multiconjunto i (coeficiente de xi ).
Note que a pode ocorrer até duas vezes, enquanto que b e c somente uma única vez.
Substituindo a, b e c por 1:
(1 + x + x2 )(1 + x)2 = 1 + 3x + 4x2 + 3x3 + x4
114/168
Potências de séries: exemplo 3
Expressão original: (infinita)
(1 + ax + a2 x2 + · · · )(1 + bx + b2 x2 + · · · )(1 + cx + c2 x2 + · · · )
Expansão: (infinita)
1 + (a + b + c)x + (a2 + b2 + c2 + ab + bc + ac)x2 +
(abc + a2 b + a2 c + b2 a + b2 c + c2 a + c2 b + a3 + b3 + c3 )x3 + · · ·
Significado:
Cálculo de todas as combinações com reposição sobre o alfabeto {a, b, c}, separados
por tamanho de multiconjunto i (coeficiente de xi ).
Substituindo a, b e c por 1:
(1 + x + x2 + x3 + · · · )3 = 1 + 3x + 6x2 + 10x3 + · · ·
115/168
Potências de séries e contagem
Lembre que
1
1–x
= 1 + x + x2 + x3 + · · ·
Podemos representar a contagem de combinações de tamanho k sobre um alfabeto
de tamanho n descobrindo o coeficiente de xk na expansão de
• (1 + x)n (sem reposição)
•
1 n
1–x
(com reposição)
Note que casos intermediários entre reposição irrestrita e inexistência de reposição
podem ser uniformemente modelados.
Notação: escrevemos [xi ]f(x) para denotar o coeficiente de xi na expansão em
série de potências de f(x).
116/168
Potências de séries e contagem: exemplo
Contagem de combinações simples de tamanho k sobre alfabeto de tamanho n:
k
n
[x ](1 + x) =
n
k
(teorema binomial)
Contagem de combinações com reposição de tamanho k sobre alfabeto de tamanho n:
[xk ]
1
1–x
n
=
k+n–1
k
(demonstração a seguir . . . )
Contagem de multiconjuntos de tamanho k sobre alfabeto {a, b, c, d} (com
reposição) onde 2 ≤ a ≤ 5, 0 ≤ b ≤ 3, e qualquer número de repetições de cs e ds:
1
[x ] (x + x + x + x )(1 + x + x + x )
1–x
k
2
3
4
5
2
3
2 117/168
Funções geradoras: cálculo de coeficientes
Normalmente quando usamos funções geradoras, a parte de modelagem das
restrições do problema é fácil.
Exemplo: obter uma expressão no formato [xk ]f(x)
Contudo, efetivamente calcular uma fórmula para o coeficiente de xk na expansão de
f(x) pode ser um processo trabalhoso. Existem duas estratégias principais:
• Calcular a expansão de f(x) em séries de MacLaurin (envolve calcular derivadas).
• Descrever f(x) como uma combinação de funções cuja expansão em séries de
potência é conhecida.
118/168
Série de MacLaurin
A seguinte identidade permite extrair os coeficientes da sequência codificada
por uma função f(x) infinitamente diferenciável:
Definição: (Série de MacLaurin)
f(x) = f(0) + f 0 (0)x + f 00 (0)
x2
x3
x4
+ f 000 (0) + f 0000 (0) + · · ·
2!
3!
4!
Este resultado não será provado nesta disciplina. Contudo, podemos nos
convencer da sua validade derivando os dois lados da igualdade e comparando
as expressões resultantes.
119/168
Notação binomial generalizada
Vamos utilizar a expansão em série de MacLaurin para generalizar o teorema
binomial.
Inicialmente redefinimos
u
k
para u ∈ R e k ∈ N.
Definição:
(
u
k
=
u(u–1)(u–2)···(u–k+1)
k!
1
Esta definição permite determinar
números negativos.
u
k
se k > 0
se k = 0
para qualquer valor real u, inclusive frações e
Exemplo:
–5, 5
3
=
–5, 5 × –6, 5 × –7, 5
= –268, 125
3!
120/168
Notação binomial generalizada (2)
A seguinte identidade é útil quando temos “alfabeto de tamanho negativo”.
Teorema:
–u
k
=
k+u–1
(–1)k
k
Demonstração:
k
–u
k
z
}|
{
(–u)(–u – 1) . . . (–u – k + 1)
=
k!
(definição)
k
z
}|
{
(u)(u + 1) . . . (u + k – 1) ·(–1)k
=
k!
u+k–1
=
(–1)k
k
(fatorando (-1)’s)
(definição)
121/168
Teorema binomial generalizado
Considere u ∈ R.
Teorema:
(1 + x)u =
∞ X
u
i=0
i
xi
Demonstração: calculamos a série de MacLaurin de (1 + x)u .
(1 + x)u
=
(1 + x)u +
x=0
d
(1 + x)u x +
dx
x=0
d2
(1 + x)u dx2
x=0
x2
2!
+ ···
122/168
Teorema binomial generalizado (2)
Calculando os coeficientes da série:
• (1 + x)u •
•
(1 + 0)u
=
=
1
x=0
u
d
dx (1 + x) u(1 + x)u–1 |x=0
=
x=0
d2
(1 + x)u dx2
=
u
u(u – 1)(1 + x)u–2 |x=0
=
x=0
=
u(u – 1) . . .
Portanto:
(1 + x)u
= 1 + ux + u(u – 1)
=
u
0
+
u
x+
1
x2
x3
+ u(u – 1)(u – 2) + · · ·
2!
3!
u 2
x + ···
2
=
∞ X
u
i=0
i
xi
123/168
Exemplo de cálculo de coeficientes
Exemplo: Vamos mostrar a derivação de
[xk ]
1
1–x
n
=
k + n – 1
k
utilizando o teorema binomial generalizado.
Rescrevendo a expressão:
1
1–x
n
= (1 – x)–n
Utilizando a substituição y = –x
= (1 + y)–n
124/168
Exemplo de cálculo de coeficientes (2)
(1 + y)–n
=
∞
X
–n i
y
i
(teorema binomial generalizado)
i + n – 1
(–1)i yi · · ·
i
(alfabeto negativo)
i + n – 1
(–1)i (–1)i xi
i
(substituição y = –x)
i + n – 1 i
x
i
(simplificando (–1)2i = 1)
i=0
=
∞
X
i=0
=
∞
X
i=0
=
∞
X
i=0
125/168
Exemplo de cálculo de coeficientes (3)
Portanto:
[xk ]
=
k
[x ]
1
1–x
n
∞ X
i+n–1
i
i=0
=
k+n–1
k
x
!
i
126/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
127/168
Potências de séries e contagem de tuplas
Vimos que problemas envolvendo combinações podem ser representados
através da descoberta de coeficientes em potências de séries (consequência do
teorema binomial):
n X
n i
n
(x + 1) =
x
i
i=0
Nesses problemas, assumimos que a ordem dos elementos não é relevante,
isto é, contamos multiconjuntos.
Contudo, não há a mesma equivalência para problemas de contagem
envolvendo tuplas ou arranjos (tuplas sem repetição):
??? =
n
X
i=0
n!
xi
(n – i)!
128/168
Potências de séries e contagem de tuplas (cont.)
Considerando que a relação entre o número de combinações e o número de
arranjos de tamanho k é conhecida, isto é,
n
n!
n!
k!
= k!
=
k
(n – k)!k!
(n – k)!
poderíamos estabelecer uma correlação entre potências de séries e contagem
de arranjos se mudarmos a codificação de séries.
(x + 1)n
=
n
X
i=0
n! xi
(n – i)! i!
129/168
Funções geradoras exponenciais
Definição: dada uma sequência de números
(a0 , a1 , a2 , . . .)
a sua respectiva função geradora exponencial (f.g.e) é a série
a0
x0
x1
x2
x3
+ a1 + a2 + a 3 + · · ·
0!
1!
2!
3!
Nota: a designação exponencial vem do fato que
ex = (1 + x +
x2
x3
+
+ · · · ) ⇔ (1, 1, 1, 1, . . .)
2!
3!
Importante: os fatos anteriormente provados valem somente para f.g.o! É
preciso desenvolver novos resultados para trabalhar com f.g.e.
130/168
Funções geradoras exponenciais: identidades
Teorema:
x
e =
x2
x3
1+x+
+
+ ···
2!
3!
⇔ (1, 1, 1, . . .)
Teorema:
ax
e
a2 x2
a3 x3
= 1 + ax +
+
+ · · · ⇔ (1, a, a2 , a3 , . . .)
2!
3!
Teorema:
1
=
ex
1–x+
x2 x3
–
+ ···
2! 3!
⇔ (1, –1, 1, –1, . . .)
131/168
Funções geradoras exponenciais: identidades (2)
Teorema:
ex + e–x
=
2
1+
x2
x4
x6
+
+
+ ···
2!
4!
6!
⇔ (1, 0, 1, 0, . . .)
Intuição: seleciona as posições pares da sequência.
Teorema:
ex – e–x
=
2
x3
x4
x+
+
+ ···
3!
5!
⇔ (0, 1, 0, 1, 0, . . .)
Intuição: seleciona as posições ímpares da sequência.
132/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
133/168
Funções geradoras exponenciais e contagem
Apesar de ser uma codificação de sequências diferente de f.g.o, a forma de
resolver problemas de contagem usando f.g.e é a mesma. O que muda é
codificação do problema (em f.g.e) e a leitura do resultado:
• f.g.o ⇒ contagem de multiconjuntos
• f.g.e ⇒ contagem de tuplas
Nota: nunca esqueça que o fatorial no denominador faz parte da construção da
f.g.e, e não deve ser lido como parte do coeficiente.
Exemplo: como 2x3 =
3! 2x 3 ,
3!
temos
x3
(1 + 4x + 2x3 + 5x5 ) = 3! × 2 = 12
3!
134/168
Funções geradoras exponenciais: exemplo 1
Expressão original:
(1 + ax)(1 + bx)(1 + cx) = 1 + (a + b + c)x + (ab + bc + ac)x2 + abcx3
(o caso sem reposição possui a mesma codificação como f.g.o e f.g.e)
Substituindo a, b e c por 1:
(1 + x)3 = 1 + (1 + 1 + 1)x + (1 + 1 + 1)x2 + 1x3
= (1 + 3x + 3x2 + x3 )
Leitura:
x2
(1 + 3x + 3x2 + x3 ) = 6
2!
Significado: número de arranjos (tuplas construídas sem reposição) de
tamanho 2 sobre o alfabeto {a, b, c}.
135/168
Funções geradoras exponenciais: exemplo 2
Expressão original:
x0
x1
x2
x3
+a
+ a2
+ a3
+ ···) ×
0!
1!
2!
3!
x0
x1
x2
x3
(1
+b
+ b2
+ b3
+ ···)
0!
1!
2!
3!
(1
136/168
Funções geradoras exponenciais: exemplo 2
Expressão original:
x0
x1
x2
x3
+a
+ a2
+ a3
+ ···) ×
0!
1!
2!
3!
x0
x1
x2
x3
(1
+b
+ b2
+ b3
+ ···)
0!
1!
2!
3!
(1
Expandindo . . .
1+
1b
a1
+
0!1!
1!0!
x1 +
1b2
ab
a2 1
+
+
0!2!
1!1!
2!0!
x2 +
1b3
ab2
a2 b
a3 1
+
+
+
0!3!
1!2!
2!1!
3!0!
x3 + · · ·
136/168
Funções geradoras exponenciais: exemplo 2
Expressão original:
x0
x1
x2
x3
+a
+ a2
+ a3
+ ···) ×
0!
1!
2!
3!
x0
x1
x2
x3
(1
+b
+ b2
+ b3
+ ···)
0!
1!
2!
3!
(1
. . . multiplicando cada linha i > 0 por 1 (na forma
i!
)
i!
...
1+
1!
1b
a1
+
0!1!
1!0!
x1
+
1!
1b2
ab
a2 1
+
+
0!2!
1!1!
2!0!
1b3
ab2
a2 b
a3 1
+
+
+
0!3!
1!2!
2!1!
3!0!
2!
3!
x2
+
2!
x3
+ ···
3!
136/168
Funções geradoras exponenciais: exemplo 2
Expressão original:
x0
x1
x2
x3
+a
+ a2
+ a3
+ ···) ×
0!
1!
2!
3!
x0
x1
x2
x3
(1
+b
+ b2
+ b3
+ ···)
0!
1!
2!
3!
(1
. . . e reescrevendo:
1+
1!
1!
x1
b+
a
+
0!1!
1!0!
1!
2! 2
2!
2! 2 x2
b +
ab +
a
+
0!2!
1!1!
2!0!
2!
3! 3
3!
3! 2
3! 3 x3
b +
ab2 +
a b+
a
+ ···
0!3!
1!2!
2!1!
3!0!
3!
k
Intuição: o coeficiente de xk! consiste de todos os k-multiconjuntos sobre o alfabeto {a, b},
cada um multiplicado pela respectiva quantidade de permutações. Substituindo a e b por 1,
contamos todas as k-tuplas.
136/168
Funções geradoras exponenciais e contagem
Contagem de arranjos de tamanho k sobre alfabeto de tamanho n:
xk
n
(1 + x)n = k!
k!
k
=
n!
(n – k)!
Contagem de tuplas (arranjos com reposição) de tamanho k sobre alfabeto de
tamanho n:
k
x
(ex )n = nk
k!
Contagem de tuplas de tamanho k sobre o alfabeto {a, b, c} onde 0 ≤ a ≤ 3,
1 ≤ b ≤ 2 e c pode ocorrer indefinidamente:
xk
k!
1+x+
x2
x3
+
2!
3!
x+
x2
2!
ex
137/168
Funções geradoras exponenciais: exemplo 3
Exemplo: Quantas tuplas de tamanho k existem sobre o alfabeto {a, b, c} possuindo
um número par de a’s?
Codificação do problema usando f.g.e:
xk
k!
1+
x2
x4
+
+ ···
2!
4!
e2x
Usando o fato que
x2
x4
1+
+
+ ···
2!
4!
Temos
xk
k!
ex + e–x 2x
e
2
=
xk
k!
=
ex + e–x
2
(3k + 1)
1 3x
(e + ex ) =
2
2
138/168
Funções geradoras exponenciais: exemplo 4
Exemplo: Derivação da fórmula de contagem de funções sobrejetoras de A para B utilizando
f.g.e, onde |A| = a e |B| = b.
Equivale a contar as tuplas de tamanho a onde cada símbolo de B ocorre ao menos uma vez:
h
xa
(ex – 1)b
a!
i
Simplificação:
Leitura:
h ai
x
a!
x b
((–1) + e )
b
=
X b
i
i (b–i)x
(–1) e
b
X
=
X b
i
(–1)
X
i
i=0
=
=
(b – i)
j
x
j!
[expansão e
(b–i)x
]
i
i
b
a
(b – i)
i
i=0
(–1)
i
j
b
jx
(b – i)
i
j!
[internaliza (–1)
(–1)
i
j
b
jx
(b – i)
i
j!
[troca ordem das somas]
b
]
i
j=0
∞
b
X
X
j=0
j
j=0
b
∞
X
X
i=0
(–1)
∞
b
=
[teor. binom.]
i=0
b
x
(e – 1)
i=0
139/168
Funções geradoras: resumo do método
Resolução de problemas de contagem de multiconjuntos de tamanho k:
1. Modele o problema e suas restrições através de uma f.g.o f(x) (função
geradora ordinária)
2. Simplifique a f.g.o para facilitar a leitura de coeficientes (expansão em
série, transformá-la em uma soma de f.g.o’s conhecidas, etc...)
h i
3. Leia o coeficiente de xk (na nossa notação, xk f(x))
140/168
Funções geradoras: resumo do método (2)
Resolução de problemas de contagem de tuplas de tamanho k:
1. Modele o problema e suas restrições através de uma f.g.e f(x) (função
geradora exponencial)
2. Simplifique f(x) para facilitar a leitura de coeficientes (expansão em série,
transformá-la em uma soma de f.g.e’s conhecidas, etc...)
h ki
k
3. Leia o coeficiente de xk! (na nossa notação, xk! f(x))
141/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
142/168
Relações de recorrência
Em matemática, o mais comum é definirmos novas funções através da
composição de funções pré-existentes. Ex:
√
f(x) = x + x3
Contudo, certas funções podem ter uma definição simples reutilizando
resultados de sua própria aplicação sobre outros valores. Ex:
0! = 1
n! = n × (n – 1)!
Fib(0) = 0
Fib(1) = 1
Fib(n) = Fib(n – 1) + Fib(n – 2)
neste caso, dizemos que as definições são recorrentes, i.e. estabelecem uma
relação de recorrência entre as saídas da função.
143/168
Relações de recorrência (cont.)
Apesar de Fib(n) possuir uma definição simples, precisamos calcular todos os
999 valores anteriores para descobrir o valor de Fib(1000).
Nesse caso (valores grandes) seria interessante obter uma definição
não-recorrente para Fib(n).
Encontrar uma definição não-recorrente para uma função definida de forma
recorrente é resolver a recorrência.
Nesta disciplina, veremos como
• obter relações de recorrência a partir da descrição de um problema
• resolver recorrências
Nota: lembre que sequências numéricas contendo elementos do conjunto X
podem ser vistas como funções do tipo N → X.
144/168
Relações de recorrência: exemplo 1
A Torre de Hanoi
Neste jogo, inventado pelo matemático francês Édouard Lucas em 1883, há três eixos
(esquerda, centro, direita) e um número n de discos de tamanhos distintos. O
objetivo é passar os n discos (colocados em ordem ascendente de tamanho, de cima
para baixo) do eixo à esquerda para o eixo à direita na mesma ordem, efetuando o
menor número de movimentos. Somente um disco pode ser mudado de eixo a cada
movimento, e ele não pode ser colocado em cima de um disco menor. Qual o número
mínimo de passos para a resolução de uma instância do jogo contendo n discos?
Applet Java para simulação do jogo:
http://www.mazeworks.com/hanoi/index.htm
Recorrência: (contagem do número mínimo de passos)
H(0) = 0
H(n) = 2H(n – 1) + 1
145/168
Relações de recorrência: exemplo 2
Cálculo do tamanho de uma população de sapos
A população de sapos de um lago quadruplica a cada ano. No primeiro dia de
cada ano, 100 sapos são removidos do lago e transferidos para outro local.
Assumindo que inicialmente havia 50 sapos no lago, quantos sapos o lago terá
em n anos? Suponha que os sapos não morrem e que não haja migração.
Recorrência:
S(0) = 50
S(n) = 4 ∗ S(n – 1) – 100
para n > 0
146/168
Relações de recorrência: exemplo 3
Cálculo do tamanho de uma população de coelhos
Suponha que um casal de coelhos recém-nascidos é colocado numa ilha, e que
eles não produzem descendentes até completarem dois meses de idade. Uma
vez atingida esta idade, cada casal de coelhos produz exatamente um outro
casal de coelhos por mês. Qual seria a população de coelhos na ilha após nove
meses, supondo que nenhum dos coelhos tenha morrido e que não haja
migração neste período?
Recorrência:
F(0) =0
F(1) =1
(casal)
F(n) =F(n – 1) + F(n – 2)
para n > 1
147/168
Resolução de recorrências
Vimos três problemas e suas respectivas recorrências:
A Torre de Hanoi
H(0) = 0
H(n) = 2H(n – 1) + 1
para n > 0
Cálculo do tamanho de uma população de sapos
S(0) = 50
S(n) = 4 ∗ S(n – 1) – 100
para n > 0
Cálculo do tamanho de uma população de coelhos (Fibonacci)
Fib(0) =0
Fib(1) =1
Fib(n) =Fib(n – 1) + Fib(n – 2)
para n > 1
148/168
Resolução de recorrências (2)
Veremos agora como solucionar recorrências.
Nesta disciplina, dois métodos:
• hipótese e confirmação
• resolução através de funções geradoras ordinárias
Nota: o livro menciona outros métodos além dos vistos acima, mas não vamos
focar neles.
149/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
150/168
Método da hipótese e confirmação
Considere a sequência de valores H(n), contada a
partir de n = 0
H(0) = 0
H(n) = 2H(n – 1) + 1
Para chegarmos a uma hipótese, precisamos
identificar algum padrão de formação na sequência
de números.
Observando os valores à direita, podemos detectar
um padrão: aparentemente H(n) é sempre o número
anterior a 2n .
n H(n)
0
0
1
1
2
3
3
7
4
15
5
31
6
63
7 127
8 255
..
..
.
.
Hipótese: H(n) = 2n – 1
151/168
Método da hipótese e confirmação (2)
Podemos verificar manualmente se a hipótese funciona
para os primeiros valores da tabela:
H(0) = 0
20 – 1 = 0
H(n) = 2H(n – 1) + 1
21 – 1 = 1
22 – 1 = 3 . . .
Contudo, para termos certeza da validade da hipótese, é
necessário provar que ela é válida.
Para recorrências, o método de prova mais recomendado
é indução matemática, visto que as bases e os passos de
indução estão explicitamente descritos.
n
0
1
2
3
4
5
6
7
8
..
.
H(n)
0
1
3
7
15
31
63
127
255
..
.
152/168
Método da hipótese e confirmação (3)
Teorema: H(n) = 2n – 1
H(0) = 0
Demonstração:
H(n) = 2H(n – 1) + 1
• Base: H(0) = 20 – 1
1. 20 – 1 = 0
• Passo indutivo:
Se H(n) = 2n – 1 então H(n + 1) = 2n+1 – 1.
1. H(n + 1) = 2H(n) + 1
n
2. H(n + 1) = 2(2 – 1) + 1
3. H(n + 1) = (2
4. H(n + 1) = 2
n+1
n+1
– 2) + 1
–1
(Def.)
(H.I.)
n
0
1
2
3
4
5
6
7
8
..
.
H(n)
0
1
3
7
15
31
63
127
255
..
.
153/168
Método da hipótese e confirmação (4)
Também é útil na identificação de padrões a expansão de H(n) para certos valores
pequenos de n. O padrão pode emergir da simplificação da expressão final.
Exemplo: para n = 4
H(4) = 2H(3) + 1
(Def. Recorrente)
= 2(2H(2) + 1) + 1
(Def. Recorrente)
= 2(2(2H(1) + 1) + 1) + 1
(Def. Recorrente)
= 2(2(2(2H(0) + 1) + 1) + 1) + 1
(Def. Recorrente)
= 2(2(2(2 · 0 + 1) + 1) + 1) + 1
(Base)
= 4(2(2 · 0 + 1) + 1) + 2 + 1
(Distribui 2)
= 8(2 · 0 + 1) + 4 + 2 + 1
(Distribui 4)
= 16 · 0 + 8 + 4 + 2 + 1
(Distribui 8)
= 8+4+2+1
(Remove 0)
=
3
X
2i = 24 – 1 = 15
i=0
154/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
155/168
Resolução de recorrências com f.g.o
O método anterior de resolução exige que tenhamos
uma hipótese correta de trabalho, o que nem sempre
pode ser formulada considerando o padrão da
sequência de números:
Exemplo:
Fib(0) =0
Fib(1) =1
Fib(n) =Fib(n – 1) + Fib(n – 2)
para n > 1
n Fib(n)
0
0
1
1
2
1
3
2
4
3
5
5
6
8
7
13
8
21
..
..
.
.
Nesses casos, veremos como resolver recorrências
calculando a função geradora ordinária da sequência
de números (an ) = F(n)
156/168
Resolução de recorrências com f.g.o
Para ilustrar o método, vamos utilizar a recorrência já resolvida H(n).
H0 = 0
Hn = 2Hn–1 + 1
para n > 0
Vamos chamar de H a f.g.o da sequência (H0 , H1 , H2 , . . .). Estamos interessados
inicialmente em uma definição para H.
Considere as seguintes f.g.o’s:
x
H
2xH
1
1–x
=
=
=
H0
0
0
+
+
+
H1 x
2H0 x
1x
+
+
+
H2 x 2
2H1 x2
1x2
+
+
+
H3 x 3
2H2 x3
1x3
+
+
+
···
···
···
Por construção, a equação abaixo representa exatamente as restrições da recorrência
sobre H:
x
H = 2xH +
1–x
157/168
Resolução de recorrências com f.g.o (2)
Resolvendo:
H = 2xH +
x
1–x
x
1–x
x
(1 – 2x)H =
1–x
H – 2xH =
H=
x
(1 – x)(1 – 2x)
Note que obtivemos uma expressão fechada para a f.g.o da sequência de números
(H0 , H1 , H2 , . . .)
x
H=
(1 – x)(1 – 2x)
Portanto, descobrir uma fórmula explícita para Hn equivale a descobrir o coeficiente de xn
na expansão de H:
x
Hn = [xn ]
(1 – x)(1 – 2x)
158/168
Resolução de recorrências com f.g.o (3)
Habitualmente, a parte mais complexa da resolução de recorrências utilizando f.g.o é
o cálculo de coeficientes.
Se pudermos transformar a f.g.o em uma soma de f.g.o’s cujos coeficientes são
conhecidos, a resolução se torna fácil.
No nosso exemplo, através de manipulação algébrica (frações parciais) podemos fazer
a seguinte transformação
x
1
1
=
–
(1 – x)(1 – 2x)
1 – 2x 1 – x
e, portanto,
Hn = [xn ]
1
1
–
1 – 2x 1 – x
= 2n – 1
Nota: a discussão sobre os detalhes da transformação algébrica utilizada acima será
vista quando apresentarmos a resolução de Fibonacci.
159/168
Resolução de recorrências com f.g.o: exercício
Exercício: resolva a seguinte recorrência utilizando o método das funções
geradoras ordinárias:
Cálculo do tamanho de uma população de sapos
S(0) = 50
S(n) = 4 ∗ S(n – 1) – 100
para n > 0
160/168
Conteúdo
Princípios aditivo e multiplicativo
Permutações
Arranjos
Combinações
Teorema binomial
Triângulo de Pascal
Regra da subtração
Regra do quociente
Distribuição de elementos idênticos
Combinações com repetição
Arranjos com repetição
Permutações circulares
Permutações com repetição
Teorema multinomial
Princípio da inclusão e exclusão
Permutações caóticas
Princípio dos escaninhos
Revisão dos princípios de contagem
Funções geradoras ordinárias
F.g.o.’s e contagem de multiconjuntos
Funções geradoras exponenciais
F.g.e.’s e contagem de tuplas
Relações de recorrência
Recorrências: hipótese e confirmação
Recorrências: funções geradoras
Recorrências: fórmula para Fibonacci
161/168
Resolução de recorrências com f.g.o: Fibonacci
A seguir vamos considerar a descoberta da f.g.o para Fibonacci, e falaremos sobre as
técnicas de manipulação algébrica para simplificar a f.g.o obtida.
F0 = 0
F1 = 1
Fn = Fn–1 + Fn–2
para n > 1
Modelando a recorrência com f.g.o’s:
F
xF
x2 F
x
=
=
=
=
F0
0
0
0
+
+
+
+
F1 x
F0 x
0x
1x
+
+
+
+
F2 x 2
F1 x 2
F0 x 2
0x2
+
+
+
+
F3 x 3
F2 x 3
F1 x 3
0x3
F=
x
1 – x – x2
Logo:
F = xF + x2 F + x
=⇒
+
+
+
+
···
···
···
···
162/168
Fibonacci: constantes φ e φ
As constantes φ e φ aparecem ao longo da resolução da recorrência de
Fibonacci.
√
• φ = 1+2 5 (proporção áurea), ≈ 1.6180 . . .
√
• φ = 1–2 5 , ≈ –0.6180 . . .
As seguintes identidades são válidas para φ e φ:
1–φ=φ
φ(–1) = –φ
φ2 = 1 + φ
1–φ=φ
φ(–1) = –φ
φ2 = 1 + φ
163/168
Resolução da recorrência de Fibonacci
Visão geral sobre as simplificações necessárias:
1. Fatoração do polinômio no denominador
x
–x2 – x + 1
=⇒
x
(–1)(x + φ)(x + φ)
2. Separação por frações parciais:
–x
(x + φ)(x + φ)
3. Formatação como
–φ
√
5
(x + φ)
=⇒
–φ
√
5
(x + φ)
+
φ
√
5
(x + φ)
1
1–ax :
+
φ
√
5
(x + φ)
=⇒
–1
1
1
1
√
+√
(1
–
φx)
(1
–
φx)
5
5
164/168
Resolução da recorrência de Fibonacci
1. Fatoração do polinômio no denominador
Inicialmente precisamos fatorar o polinômio no denominador. Isso pode ser feito
utilizando o seguinte resultado matemático.
Teorema fundamental da álgebra:
Seja p(x) = c0 + c1 x + c2 x2 + c3 x3 + · · · + cn xn um polinômio de grau n sobre a
variável x, com coeficientes complexos c0 , c1 , . . . , cn .
Há exatamente n raízes complexas r1 , r2 , . . . , rn para p(x), sendo que p(x) pode
ser fatorado como
p(x) = cn (x – r1 )(x – r2 )(x – r3 ) · · · (x – rn )
Nota: as raízes r1 , r2 , . . . , rn não são necessariamente distintas, podendo haver
repetição.
165/168
Resolução da recorrência de Fibonacci
2. Separação em frações parciais
Objetivo: obter D e E tal que
a
D
E
=
+
b×c
b
c
onde a, b, c são polinômios lineares em x, e b 6= c.
Método:
a = cD + bE
assuma igualdade e multiplique
ambos os lados por b × c
a|x=rc = bE|x=rc
zere c substituindo x pela raiz de c
e calcule E
a|x=rb = cD|x=rb
zere b substituindo x pela raiz de b
e calcule D
Nota: se b = c, utilizamos o teorema binomial generalizado.
166/168
Resolução da recorrência de Fibonacci
3. Formatação para leitura de coeficientes
Objetivo: transformar
1
x–r
1
numa instância de c 1–ax
.
Método: multiplique a parte de cima e de baixo da fração por
1
×
x–r
1
–r
1
–r
=
1
–r
1
–r x + 1
=
1
–r
1
1
×
–r
1 – 1r x
167/168
Resolução da recorrência de Fibonacci
4. Expansão em séries
–1
1
1
1
F= √
+√
5 (1 – φx)
5 (1 – φx)
–1
F= √
5
F=
∞
X
i=0
5. Leitura do coeficiente:
∞
X
i=0
!
i i
φx
1
+√
5
∞
X
!
i i
φx
i=0
1
√ (φi – φi )xi
5
1
[xi ]F = √ (φi – φi )
5
168/168
Download