M ATERIAL
EXTRADO DOS LIVROS - TEXTOS I
(R OSEN /KOLMAN )
UFSC/CTC/INE p.
8 - I NTROD .
A NLISE C OMBINATRIA I
8.1) O Princpio do Pombal 8.2) Contagem de Conjuntos 8.3) Arranjos e Combinaes 8.4) Coecientes Binomiais 8.5) Arranjos e Combinaes Generalizados (Contagem de multiconjuntos) 8.6) Princpio da Incluso-Excluso Generalizado
UFSC/CTC/INE p.
C ONTAGEM
Problemas de Contagem aparecem muito em CC Por exemplo: precisamos contar o nro de operaes executadas por um algoritmo para poder avaliar a sua complexidade no tempo
UFSC/CTC/INE p.
C ONTAGEM
Veremos dois princpios bsicos da contagem: a regra da soma (ou: Princpio da Adio) a regra do produto (ou: Princpio da Multiplicao)
UFSC/CTC/INE p.
P RINCPIO DA ADIO
Suponha que uma tarefa pode ser feita em um entre n1 modos possveis ou um entre n2 modos possveis onde nenhum dos n1 modos de fazer a tarefa coincide com nenhum dos n2 modos de fazer a mesma tarefa ento h n1 + n2 modos de realizar a tarefa
UFSC/CTC/INE p.
P RINCPIO DA ADIO
Em termos de conjuntos, temos que: |A B| = |A| + |B|
desde que no haja duas tarefas que possam ser realizadas ao mesmo tempo
UFSC/CTC/INE p.
UFSC/CTC/INE p.
P RINCPIO DA ADIO
Em termos de conjuntos, temos que: o que pode ser estendido para: |A1 A2 . . . Am | = |A1 | + |A2 | + . . . + |Am |
desde que no haja duas tarefas que possam ser realizadas ao mesmo tempo
|A B| = |A| + |B|
UFSC/CTC/INE p.
P RINCPIO DA ADIO
Exemplo 1: Um estudante tem que escolher um projeto em uma de 3 listas. As 3 listas contm 23, 15 e 19 possveis projetos, respectivamente. Quantas possibilidades de projetos h para escolher?
UFSC/CTC/INE p.
P RINCPIO DA ADIO
Exemplo 2: Qual o valor de k aps a execuo do cdigo:
k = 0 for i1 = 1 to n1 k = k + 1 end for i2 = 1 to n2 k = k + 1 end ... for im = 1 to nm k = k + 1 end
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Suponha que um procedimento possa ser subdividido em uma sequncia de duas tarefas, se: h n1 modos de fazer a 1a tarefa e n2 modos de fazer a 2a tarefa depois que a 1a esteja pronta ento: h n1 n2 modos de executar o procedimento
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Em termos de conjuntos, se A e B so conjuntos nitos, temos que: |A B| = |A|.|B|
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Exemplo 1: A ltima parte de um nmero de telefone tem 4 dgitos. Quantos nmeros de 4 dgitos existem?
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Exemplo 1: A ltima parte de um nmero de telefone tem 4 dgitos. Quantos nmeros de 4 dgitos existem? Resposta: podemos imaginar como o total de possibilidades de uma seqncia de 4 etapas de escolha de 1 dgito: 10 10 10 10 = 10000 2
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Exemplo 2: Quantos nmeros de 4 dgitos sem repeties de dgitos existem?
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Exemplo 2: Quantos nmeros de 4 dgitos sem repeties de dgitos existem? Resposta: novamente temos uma seqncia de 4 etapas mas no podemos usar o que j foi usado assim: 10 9 8 7 = 5040 2
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Exemplo 3: Uma empresa com 2 empregados, Lus e Incio, aluga um andar de um prdio com 12 salas. De quantos modos se pode atribuir salas diferentes a estes 2 empregados?
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Exemplo 3: Uma empresa com 2 empregados, Lus e Incio, aluga um andar de um prdio com 12 salas. De quantos modos se pode atribuir salas diferentes a estes 2 empregados? Resposta: tarefa de atribuir salas aos dois consiste de: 1. atribuir sala a Lus: o que pode ser feito de 12 modos 2. ento: atribuir sala a Incio, o que pode ser feito de 11 modos logo, pela regra do produto, existem: 12 11 = 132 opes para isto 2
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
A regra do produto pode ser estendida Suponha que um procedimento consiste na execuo das tarefas T1 , T2 , . . . , Tm em sequncia se: cada tarefa Ti pode ser feita de ni modos, independente de como as anteriores foram feitas, ento: h n1 n2 . . . nm modos de executar o procedimento
(Isto pode ser provado por induo, a partir da regra do produto para 2 tarefas)
UFSC/CTC/INE p. 1
P RINCPIO DA MULTIPLICAO
Em termos de conjuntos: |A1 A2 . . . Am | = |A1 |.|A2 |. . . . .|Am | Relao com a regra do produto:
execuo da tarefa escolher um elemento em |A1 A2 . . . Am |: escolher um elemento em A1 escolher um elemento em A2 ... escolher um elemento em Am
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 4: Quantas strings de 7 bits existem?
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 4: Quantas strings de 7 bits existem? Resposta: cada um dos 7 bits pode ser escolhido de 2 formas (0 ou 1) a regra do produto mostra que existe um total de: 27 = 128 strings diferentes de 7 bits 2
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 5: Quantas placas de carro esto disponveis?
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 5: Quantas placas de carro esto disponveis? Resposta: cada placa uma sequncia de 3 letras e 4 nmeros temos 26 opes para as letras e 10 opes para os nmeros logo, pela regra do produto, temos: 26 26 26 10 10 10 10 = 17576000 placas 2
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 6: Quantas funes injetoras existem, de um conjunto com m elementos para um conjunto com n elementos?
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 6: Quantas funes injetoras existem, de um conjunto com m elementos para um conjunto com n elementos? Resposta:
Nota: quando m > n no existem tais funes
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 6: Quantas funes injetoras existem, de um conjunto com m elementos para um conjunto com n elementos? Resposta:
Nota: quando m > n no existem tais funes Ento seja m n: suponha que os elementos no domnio sejam a1 , a2 , . . . , am temos n modos de escolher f (a1 )
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 6: Quantas funes injetoras existem, de um conjunto com m elementos para um conjunto com n elementos? Resposta:
Nota: quando m > n no existem tais funes Ento seja m n: suponha que os elementos no domnio sejam a1 , a2 , . . . , am temos n modos de escolher f (a1 ) j que a f injetora, restam n 1 modos de escolher f (a2 ) em geral: f (ak ) pode ser escolhido de n k + 1 modos
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 6: Quantas funes injetoras existem, de um conjunto com m elementos para um conjunto com n elementos? Resposta:
Nota: quando m > n no existem tais funes Ento seja m n: suponha que os elementos no domnio sejam a1 , a2 , . . . , am temos n modos de escolher f (a1 ) j que a f injetora, restam n 1 modos de escolher f (a2 ) em geral: f (ak ) pode ser escolhido de n k + 1 modos logo, pela regra do produto, existem: n (n 1) (n 2) (n m + 1) funes deste tipo 2
UFSC/CTC/INE p. 2
P RINCPIO DA MULTIPLICAO
Exemplo 7: Qual o valor de k aps a execuo do cdigo abaixo?
k = 0 for i1 = 1 to n1 for i2 = 1 to n2 . . . for im = 1 to nm k = k + 1
UFSC/CTC/INE p. 3
P RINCPIO DA MULTIPLICAO
Exemplo 7: Qual o valor de k aps a execuo do cdigo abaixo?
k = 0 for i1 = 1 to n1 for i2 = 1 to n2 . . . for im = 1 to nm k = k + 1
Resposta:
Seja Ti a tarefa: passar pelo i-simo loop #-vezes em que o loop aninhado percorrido = #-modos de realizar T1 , . . . , Tm mas: nro de modos de realizar a tarefa Tj nj passa-se pelo j-simo loop uma vez para cada inteiro ij (1 ij nj ) pela regra do produto, o loop aninhado percorrido n1 n2 nm vezes
UFSC/CTC/INE p. 3
A MBOS OS P RINCPIOS
Exemplo: Cada usurio em um dado sistema tem uma senha com 6 a 8 caracteres, onde: cada caracter uma letra maiscula ou um nmero cada senha tem que conter pelo menos 1 nmero ento quantas possibilidades de senhas existem?
UFSC/CTC/INE p. 3
A MBOS OS P RINCPIOS
Exemplo: Cada usurio em um dado sistema tem uma senha com 6 a 8 caracteres, onde: cada caracter uma letra maiscula ou um nmero cada senha tem que conter pelo menos 1 nmero ento quantas possibilidades de senhas existem? Resposta: P6 , P7 , P8 = senhas com 6,7 e 8 caracteres clculo de P6 : strings de letras maisculas e nmeros com 6 caracteres = 366 (incluindo as sem nmero algum) strings de letras maisculas e sem nro algum = 266 logo: P6 = 366 266
UFSC/CTC/INE p. 3
A MBOS OS P RINCPIOS
Exemplo: Cada usurio em um dado sistema tem uma senha com 6 a 8 caracteres, onde: cada caracter uma letra maiscula ou um nmero cada senha tem que conter pelo menos 1 nmero ento quantas possibilidades de senhas existem? Resposta: P6 , P7 , P8 = senhas com 6,7 e 8 caracteres clculo de P6 : strings de letras maisculas e nmeros com 6 caracteres = 366 (incluindo as sem nmero algum) strings de letras maisculas e sem nro algum = 266 logo: P6 = 366 266 de maneira similar: P7 = 367 267 P8 = 368 268 total = P6 + P7 + P8 = 2.684.483.063.360 senhas 2
UFSC/CTC/INE p. 3
UFSC/CTC/INE p. 3
UFSC/CTC/INE p. 3
UFSC/CTC/INE p. 3
UFSC/CTC/INE p. 3
UFSC/CTC/INE p. 3
UFSC/CTC/INE p. 4
UFSC/CTC/INE p. 4
UFSC/CTC/INE p. 4
UFSC/CTC/INE p. 4
UFSC/CTC/INE p. 4
os inteiros positivos divisveis por d so todos os inteiros na forma d.k logo: nro de inteiros positivos n divisveis por d = = nro de inteiros k tais que 0 < d.k n = nro de inteiros k tais que 0 < k n/d
UFSC/CTC/INE p. 4
os inteiros positivos divisveis por d so todos os inteiros na forma d.k logo: nro de inteiros positivos n divisveis por d = = nro de inteiros k tais que 0 < d.k n = nro de inteiros k tais que 0 < k n/d portanto, existem n/d inteiros positivos n que so divisveis por d 2
UFSC/CTC/INE p. 4
UFSC/CTC/INE p. 4
UFSC/CTC/INE p. 4
UFSC/CTC/INE p. 4
= 142 + 90 12 = 220 2
UFSC/CTC/INE p. 5
UFSC/CTC/INE p. 5