1 Introdução à Combinatória Enumerativa: O Princı́pio de In-
clusão-Exclusão
Dados conjuntos finitos X, Y tem-se
|X ∪ Y | = |X| + |Y | − |X ∩ Y |
Do mesmo modo
|X ∪ Y ∪ Z| = |X| + |Y | + |Z| − |X ∩ Y | − |X ∩ Z| − |Y ∩ Z| + |X ∩ Y ∩ Z|
uma vez que os elementos que pertencem a X ∩ Y ∩ Z são somados primeiro
três vezes e depois subtraı́dos de novo três vezes, pelo que é preciso voltar a
somá-los.
Exemplo 1.1 A dedução, feita atrás, da fórmula para o número de funções
f : [k] → [n] sobrejectivas, com n = 3, pode ser reinterpretada à luz destas
observações: se, para cada i ∈ [3], designarmos por Xi o conjunto das funções
f : [k] → [3] que não tomam o valor i, ou seja,
Xi = {f : [k] → [3] : ∀x ∈ [k] f (x) 6= i},
o conjunto das funções f : [k] → [3] sobrejectivas tem 3k −|∪3i=0 Xi | elementos;
mas |Xi | = 2k , uma vez que Xi é o conjunto de todas as funções de [k] num
conjunto de 2 elementos [3]\{i}; além disso, para quaisquer i, j ∈ [3] distintos
|Xi ∩ Xj | = 1; e, neste caso, X0 ∩ X1 ∩ X2 = ∅.
Portanto, pela observação anterior,
|{f : [k] → [3] sobrejectivas }| = 3k − 3 × 2k − 3 × 1 + 0 .
Para generalizar esta abordagem a este e outros problemas temos que re-
sponder à pergunta: dados conjuntos X1 , · · · , Xn como calcular | ∪ni=1 Xi |?
A resposta é dada pelo
1
Teorema 1.2 (Princı́pio de Inclusão-Exclusão) Dados conjuntos X1 , X2 , · · · , Xn
designando por Sj a soma do número de elementos das intersecções de j con-
juntos, ou seja X
Sj = |Xi1 ∩ · · · ∩ Xij |
i1 <···<ij
tem-se
n
[ n
X
Xi = (−1)j−1 Sj
i=1 j=1
Demonstração 1.3 : A demonstração faz-se mostrando que o lado direito
da igualdade conta cada elemento de ∪ni=1 Xi exactamente uma vez.
Suponhamos que x ∈ ∪ni=1 Xi pertence a exactamente k dos conjuntos. Então
x ∈ Xi1 ∩ · · · ∩ Xij se e só se os conjuntos presentes na intersecção per-
tencerem
à famı́lia daqueles k conjuntos. Podemos escolher j desses k de
k
maneiras, logo o lado direito da igualdade conta o elemento x
j
n X k k
X k k X k
(−1)j−1 = (−1)j−1 =− (−1)j
j=1
j j=1
j j=1
j
vezes. Por outro lado, sabemos que
k k
X k X k j
(1 + x)k = xj = 1 + x
j=0
j j=1
j
Fazendo x = −1 obtemos
k
X k
0=1+ (−1)j
j=1
j
donde se conclui o resultado.
2
Nota 1.4 : A ideia de calcular quantas vezes um elemento “é contado” numa
expressão envolvendo números de elementos de conjuntos, pode ser formal-
izada do seguinte modo: dado um conjunto X, um subconjunto Y ⊂ X
identifica-se, como vimos já, com uma função
1 se x ∈ Y
fY : X → {0, 1} fY (x) =
0 se x ∈
/Y
Essas funções podem ser somadas e multiplicadas, tendo-se aliás, como se
verifica facilmente,
fX∩Y = fX × fY , fX∪Y = fX + fY − fX∩Y
A fórmula do Princı́pio de Inclusão-Exclusão pode então ser interpretada
como uma igualdade entre funções
Xn X
f∪Xi = (−1)k−1 fXi1 × · · · × fXik
k=1 i1 <···<ik
Exemplo 1.5 : Calcular o número de funções sobrejectivas f : [k] → [n]. Se
designarmos por Xi , com 1 ≤ i ≤ n, o conjunto de funções cuja imagem não
contém o elemento i, o número que queremos é
nk − | ∪ni=1 Xi |
Ora, para cada i, |Xi | = (n − 1)k , e mais geralmente, dada uma escolha de j
elementos de [n]
|Xi1 ∩ · · · ∩ Xij | = (n − j)k
uma vez que as funções presentes em Xi1 ∩· · ·∩Xij podem tomar quaisquer dos
n −j valores não proibidos e só esses. Como podemos escolher j elementos
n
de maneiras temos, pelo Princı́pio de Inclusão-Exclusão que
j
n
j−1 n
X
n
| ∪i=1 Xi | = (−1) (n − j)k
j=1
j
3
e portanto o número de funções sobrejectivas pedido é
n n n
X n X n X n
nk − (−1)j−1 (n−j)k = nk + (−1)j (n−j)k = (−1)j (n−j)k
j=1
j j=1
j j=0
j
Recorde-se que este número é também igual a n!S(k, n) e portanto obtemos
a fórmula anunciada atrás para os números de Stirling de segunda espécie:
n
1 X j n
S(k, n) = (−1) (n − j)k
n! j=0 j
Exemplo 1.6 : Calcular o número de desarranjos de [n], ou seja o número
de permutações σ : [n] → [n] tais que σ(i) 6= i para todo o i.
Existem n! permutações. Designando por Xi o conjunto das permutações
σ tais que σ(i) = i, calculamos, tal como no exemplo anterior,
n! − | ∪ni=1 Xi |
Dados j elementos i1 , · · · , ij em [n], as permutações em Xi1 ∩ · · · ∩ Xij fixam
aqueles j elementos e reordenam os restantes; temos portanto
|Xi1 ∩ · · · ∩ Xij | = (n − j)!
Logo, pelo Princı́pio de Inclusão-Exclusão
n
X n
| ∪ni=1 Xi | = (−1)j−1 (n − j)!
j=1
j
e o número de desarranjos é
n n
j−1 n j n
X X
n! − (−1) (n − j)! = n! + (−1) (n − j)! =
j=1
j j=1
j
n n
(−1)j
j n
X X
= (−1) (n − j)! = n!
j=0
j j=0
j!
4
Exemplo 1.7 A fórmula da função φ de Euler pode ser obtida por aplicação
deste princı́pio: se n = pt11 · · · ptrr , seja, para cada 1 ≤ i ≤ r,
Xi = {x : 1 ≤ x ≤ n e pi | x};
portanto φ(n) = n − | ∪ri=1 Xi |. Mas |Xi | = pni e, mais geralmente, para
quaisquer i1 , · · · , ij
n
|Xi1 ∩ · · · ∩ Xij | = .
pi1 · · · pij
Pelo Princı́pio de Inclusão -Exclusão
X n X n n
φ(n) = n − + − · · · + (−1)r
p
1≤i≤r i
pp
1≤i<j≤r i j
p1 · · · pr
Mas é fácil ver que esta expressão é igual a
r
Y 1
n 1− .
i=1
p i
Os dois primeiros exemplos são muito simétricos: o número de elementos
numa intersecção de j conjuntos só depende de j e não dos conjuntos em
particular. Isso não é verdade em geral.
Exemplo 1.8 : Quantas palavras de 8 letras se podem escrever, usando ape-
nas vogais, que não contenham a sequência U AU ?
Existem 58 palavras de 8 letras no alfabeto {A, E, I, O, U }; contamos aque-
las em que aparece a sequência U AU , usando o Princı́pio de Inclusão e Ex-
clusão: seja Xi (1 ≤ i ≤ 6) o conjunto das palavras em que U AU aparece a
começar na posição i.
Temos |Xi | = 55 para todo o i; mas a sequência pode ocorrer duas vezes, sem
sobreposição (e deixando portanto duas posições livres)
|X1 ∩ X4 | = |X1 ∩ X5 | = |X1 ∩ X6 | = |X2 ∩ X5 | = |X2 ∩ X6 | = |X3 ∩ X6 | = 52
ou com sobreposição (deixando três posições livres)
|X1 ∩ X3 | = |X2 ∩ X4 | = |X3 ∩ X5 | = |X4 ∩ X6 | = 53
5
Para três ocorrências temos também dois casos:
|X1 ∩ X3 ∩ X6 | = |X1 ∩ X4 ∩ X6 | = 1
enquanto que
|X1 ∩ X3 ∩ X5 | = |X2 ∩ X4 ∩ X6 | = 5
Não pode haver mais do que três ocorrências da sequência U AU . Assim a
resposta final é
58 − 6 × 55 + (6 × 52 + 4 × 53 ) − (2 × 1 + 2 × 5) = 372513
Esta dedução é claramente menos satisfatória do que a que feita noutros
problemas, exactamente porque o número de elementos das intersecções Xi1 ∩
· · · ∩ Xij não depende só de j mas também dos conjuntos considerados em
cada caso.
No problema seguinte vamos usar, num problema ligeiramente diferente, uma
outra forma de aplicação do Princı́pio de Inclusão-Exclusão:
Exemplo 1.9 Quantas sequências de n vogais não contêm o bloco AEIOU?
Seja Xk o conjunto das sequências com exactamente k AEIOU;
Pm
definindo m = b n5 c, queremos | ∪m
k=1 X k | = k=1 |Xk |.
Seja Yj o conjunto de sequências construı́das usando j blocos AEIOU.
Note-se que Yj não conta as sequências que têm pelo menos j blocos AEIOU,
mas o número de maneiras de as construir usando esses blocos como se fossem
letras. Temos
j + n − 5j
|Yj | = 5n−5j
j
k
Em |Yj |, cada sequência de Xk é contada vezes. Logo
j
m m m
X
j−1
X
j−1
X k
(−1) |Yj | = (−1) |Xk | =
j=1 j=1
j
k=j
6
m k Xm
j−1 k
X X
= |Xk | (−1) = |Xk |
j=1
j
k=1 k=1
Ou seja
m m
X X n − 4j n−5j
|Xk | = (−1)j−1 5 .
j=1
j
k=1
Nota 1.10 Podemos aplicar a mesma ideia ao exemplo anterior, desde que
consideremos não apenas blocos UAU mas também UAUAU, etc.
1.1 Exercı́cios
1. Quantas palavras de 10 letras não contêm todas as vogais?
2. Quantas soluções existem de
x1 + x2 + x3 = 100, 0 ≤ xi ≤ 40
3. De quantas maneiras podemos ordenar o conjunto {0, 1, 2, · · · , 9} de
modo a obter pelo menos uma das sequências
1, 2, 3 3, 4, 5 4, 5, 6?
4. De quantas maneiras podemos ordenar o conjunto {0, 1, 2, · · · , 9} de
modo a que nenhum n seja seguido por n + 1?
5. De quantas maneiras podemos distribuir n bolas, todas iguais, a k
pessoas, na condição de cada pessoa receber 3, 4 ou 5 bolas?
6. De quantas maneiras podemos alinhar 3 bolas brancas, 4 bolas azuis e
5 bolas verdes na condição de as bolas de cada cor não ficarem todas juntas?
7
7. De quantas maneiras podemos escolher 7 cartas num baralho de modo
a ficarmos com cartas de todos os naipes?
8. Quantos subconjuntos de 10 letras do alfabeto não contêm duas letras
consecutivas?
9. Quantos inteiros 1 ≤ n ≤ 106 não são de nenhuma das formas m2 , m3 ,
m5 , sabendo que 155 < 106 < 165 ?
10. Quantas soluções existem de
x1 + x2 + x3 + x4 = 30
com a condição
xi ∈ Z, −10 ≤ xi ≤ 20 ?
11. Quantos alinhamentos de seis A, oito B e cinco C é que contêm a
sequência ABBA? .
12. Determinar uma fórmula para o número de maneiras de alinhar 40
bolas brancas e 40 bolas pretas, de modo a que não haja mais do 3 bolas
brancas seguidas.
13. De quantas maneiras podemos sentar n casais numa mesa redonda de
modo a que os homens e as mulheres fiquem intercalados mas nenhum casal
fique lado a lado?
8
1.2 Generalizações
A fórmula do Princı́pio de Inclusão e Exclusão pode ser generalizada:
Proposição 1.11 : Dados conjuntos X1 , X2 , · · · , Xn , designando por Sk a
soma do número de elementos das intersecções de k conjuntos, ou seja
X
Sk = |Xi1 ∩ · · · ∩ Xik |
i1 <···<ik
tem-se que o número de elementos contido em exactamente l dos conjuntos
é dado por
n
k−l k
X
(−1) Sk
l
k=l
e o número de elementos contido em pelo menos l dos conjuntos é dado
por
n
X k − 1
(−1)k−l Sk
l−1
k=l
Demonstração 1.12 : Copiando o raciocı́nio feito para a demonstração do
Princı́pio de Inclusão e Exclusão, considere-se um elemento x contido em
exactamente p dos conjuntos Xi . Vamos ver que a primeira fórmula conta x
uma vez se p = l e zero vezes caso contrário:
Se p < l, x é evidentemente contado zero vezes, pois x não pode pertencer à
intersecção de k > p conjuntos. Se l ≤ p, a fórmula conta x
n X p
X k p k p
(−1)k−l = (−1)k−l
l k l k
k=l k=l
p
vezes, pois há escolhas dos ı́ndices i1 < · · · < ik para as quais x ∈
k
p
Xi1 ∩ · · · ∩ Xik e além disso se k > p temos = 0 (o que corresponde ao
k
9
facto de que, tal como anteriormente,x não pode pertencer à intersecção de
k > p conjuntos). Mas
p X p
X k p p p − l
(−1)k−l = (−1)k−l =
l k l k−l
k=l k=l
X p X p−l 0 se p > l
p p−l p p−l
= (−1)k−l = (−1)j =
l k−l l j=0 j
1 se p = l
k=l
A segunda fórmula pode ser deduzida da anterior: se Cl designa o conjunto
dos elementos contido em pelo menos l dos conjuntos Xi , e Bj o conjunto
dos elementos contido em exactamente j dos conjuntos Xi , temos
n
[
Cl = Bj
j=l
que é uma união disjunta e portanto
n n X
n
X X k k−j
|Cl | = |Bj | = (−1) Sk =
j
j=l j=l k=j
n X
k n k−l
X k X X k X k − 1
= (−1)k−j Sk = Sk (−1)s = k = ln (−1)k−l Sk
j s=0
k − s l − 1
k=l j=l k=l
uma vez que
k−l X k−l X k−l
X
s k s k s k−1 k−1
(−1) = (−1) = (−1) + =
s=0
k − s s=0
s s=0
s s − 1
k−l X k−l
X k − 1 k − 1
= (−1)s + (−1)s =
s=0
s s=0
s − 1
k−l k−l−1
X k − 1 X k − 1 k − 1 k − 1
= (−1)s + (−1)s+1 = + (−1)k−l
s=0
s s=−1
s −1 k−l
10
A secção seguinte é opcional e só se aconselha o seu estudo depois de o
material anterior estar bem compreendido.
1.2.1 Formulação abstracta do Princı́pio de Inclusão - Exclusão
Uma outra forma de considerar o Princı́pio de Inclusão - Exclusão, e que é muitas vezes a
que ocorre num problema de contagem, passa por definir subconjuntos de um conjunto dado
em termos de propriedades: se P for um conjunto de propriedades que os elementos de um
conjunto X possuem ou não, podemos definir, para cada T ⊂ P ,
f (T ) = |{x ∈ X : x satisfaz todas as propriedades t ∈ T }|,
g(T ) = |{x ∈ X : x satisfaz exactamente as propriedades t ∈ T }|.
Nota 1.13 Uma maneira de exprimir estas condições é associar a cada propriedade t ∈ P
a função ηt : X → [2] tal que
1 se x satisfaz a propriedade t
ηt (x) =
0 caso contrário
Então os valores f (T ) e g(T ) definidos acima podem ser dados por
XY XY Y
f (T ) = ηt (x), g(T ) = ηt (x) (1 − ηt (x)).
x∈X t∈T x∈X t∈T t∈T
/
As aplicações do Princı́pio de Inclusão - Exclusão ao cálculo do número de elementos de
uma união [
nXi = X1 ∪ X2 ∪ · · · ∪ Xn
i=1
de subconjuntos de um certo conjunto X interpretam-se aqui da seguinte maneira: temos o
conjunto P de propriedades
S {pi : 1 ≤ i ≤ n}, onde a propriedade pi é pertencer ao conjunto
Xi . Calcular |X \ i=1 nXi | significa calcular g(∅).
A definição destas funções implica que, para qualquer T ⊂ P
X
f (T ) = g(S).
T ⊂S
Por outro lado, para calcular g(T ) em função de valores de f , temos que subtrair a f (T )
o número dos x ∈ X P que satisfazem mais alguma propriedade além das que pertencem a
T ; podemos subtrair S f (S) onde os S são os conjuntos da forma T ∪ {p} para alguma
propriedade p ∈ P \ T , mas nesse caso estamos a subtrair a mais o número dos x que
11
satisfazem pelo menos duas propriedades, além das contidas em T , pelo que temos que
somar, e assim por diante.
Chegamos assim à seguinte formulação mais abstracta do Princı́pio de Inclusão-Exclusão:
dado um conjunto finito P ,designamos por 2P o conjunto das partes de P , ou seja,
2P = {S ⊂ P }.
Teorema 1.14 Dadas duas funções f e g com domı́nio 2P e valores inteiros, tem-se a
equivalência
X X
∀T ⊂ P f (T ) = g(S) ⇔ ∀T ⊂ P g(T ) = (−1)|S|−|T | f (S)
S⊃T S⊃T
Nota 1.15 A hipótese de as funções tomarem valores inteiros é irrelevante. O teorema é
válido para funções com contradomı́nio Q ou R ou C ou outros ainda.
Demonstração 1.16 A implicação ⇒ deduz-se de
!
X X X X X
(−1)|S|−|T | f (S) = (−1)|S|−|T | g(U ) = (−1)|S|−|T | g(U );
S⊃T S⊃T U ⊃S U ⊃T U ⊃S⊃T
mas, se U \ T tem m elementos, podemos escolher
um conjunto S satisfazendo T ⊂ S ⊂ U
m
e com |T | + l elementos (onde 0 ≤ l ≤ m) de maneiras e portanto
l
m
X
|S|−|T |
X m l 0 se m > 0
(−1) = (−1) =
l 1 se m = 0
U ⊃S⊃T l=0
donde se conclui que !
X X
(−1)|S|−|T | g(U ) = g(T )
U ⊃T U ⊃S⊃T
como querı́amos provar.
A implicação ⇐ deduz-se de forma idêntica, notando que a igualdade do lado direito do
enunciado implica que
!
X XX X X
g(S) = (−1)|V |−|S| f (V ) = (−1)|V |−|S| f (V ),
S⊃T S⊃T V ⊃S V ⊃T T ⊂S⊂V
e calculando a soma interior como anteriormente.
Nota 1.17 Podemos também enunciar uma versão simétrica daquela:
12
Teorema 1.18 Dadas duas funções f e g com domı́nio 2P e valores inteiros, tem-se a
equivalência
X X
∀T ⊂ P f (T ) = g(S) ⇔ ∀T ⊂ P g(T ) = (−1)|S|−|T | f (S)
S⊂T S⊂T
A demonstração (que se deixa como exercı́cio) faz-se aplicando a versão original ao par
de funções definidas por
w(T ) = f (P \ T ), z(T ) = g(P \ T ) ∀T ⊂ P.
Vimos que em muitos dos casos os valores f (T ) só dependem da cardinalidade de T , ou
seja, existem inteiros não negativos ai definidos por
|T | = i =⇒ f (T ) = an−i ;
(esta maneira de definir o ı́ndice permite obter uma fórmula mais simples, como veremos já
a seguir).
Nesse caso, o teorema provado acima implica que o mesmo acontece com os valores de g:
existem inteiros não negativos bi tais que
|T | = i =⇒ g(T ) = bn−i
e temos as igualdades (equivalentes)
m m
X m X m
bm = aj , am = (−1)m−k bm ,
j=0
j k=0
k
para todo o 0 ≤ m ≤ n.
Esta dedução fica como exercı́cio.
13