Teoria dos Grafos e Análise Combinatória
Apresentação da disciplina e revisão de Matemática DiscretaRodrigo Machado rma@inf.ufrgs.br Instituto de Informática
Universidade Federal do Rio Grande do Sul Porto Alegre, Brasil
Conteúdo
Apresentação da disciplina
Conteúdo
Apresentação da disciplina
Sobre a disciplina
INF05512 – Teoria dos Grafos e Análise Combinatória
Sobre o que trata: • matemática discreta
• resolução de problemas de contagem e enumeração • grafos e resolução de problemas envolvendo grafos
Sobre o conteúdo
A disciplina possui duas etapas bem caracterizadas: inicia com análise
combinatória e conclui com teoria dos grafos.
Cronograma aproximado:
• ±4 semanas: princípios de contagem e aplicações.
• ±4 semanas: funções geradoras e resolução de recorrências. • ±4 semanas: grafos simples e problemas associados.
• ±4 semanas: grafos valorados e problemas associados, planaridade e coloração de grafos simples.
Sobre a bibliografia
Análise combinatória
• Introdução à Análise Combinatória (José Plínio O. Santos, Margarida P. Mello, Idani T. C. Murari)
• Enumerative Combinatorics (Richard Stanley)
• Enumerative Combinatorics (Charalambos A. Charalambides) • A Walk Through Combinatorics: An
Introduction to Enumeration and Graph
Theory (Miklós Bóna)
Teoria dos Grafos
• Introduction to Graph Theory (Douglas B. West)
• Introduction to Graph Theory (Richard J. Trudeau)
• Graph Theory (Frank Harary) • Grafos: Teoria, Modelos, Algoritmos
(Paulo Oswaldo Boaventura Netto) Nota: os exercícios numerados apresentados nestes slides referem-se aos exemplos desenvolvidos no livro Introdução à Análise Combinatória, de José
Sobre o professor
Rodrigo Machado
• Interesses: programação funcional, reescrita algébrica de grafos, lógica e semântica de programas.
• Página pessoal: http://www.inf.ufrgs.br/∼rma
Contato:
• Pessoalmente: sala 217, prédio 72 (a caminho das impressoras)
• Por email: rma@inf.ufrgs.br
• Via Moodle: ele envia automaticamente um email para mim, e fica registrado (forma preferencial).
Sobre a metodologia
O que está na súmula:
• 60 h teóricas (em sala de aula)
• 0 h práticas (em laboratório). Nota: na verdade serão várias horas bem práticas resolvendo exercícios extra-classe.
É uma disciplina matemática: o que significa
• assistir passivamente: não adianta muito para absorver o conteúdo.
• melhor forma de estudar = mão na massa (resolver problemas).
• vamos ver uma série de tipos de problemas e técnicas de resolução.
• listas de exercício
Sobre a metodologia (2)
Exemplos de problemas que aprenderemos a resolver:
• De quantas formas podemos distribuir 10 bolas idênticas entre 4 caixas numeradas de forma que cada caixa não esteja vazia?
• Qual o número mínimo de pessoas que precisamos ter em um grupo para garantir que ao menos 3 delas façam aniversário no mesmo dia da semana?
• Quantos anagramas distintos possui a palavra ASSASSINOS?
• 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á após 20 anos? Há uma fórmula que nos diga o número de sapos emXanos?
• Considerando o mapa rodoviário de uma dada localidade:
◦ Como verificar eficientemente se exista um trajeto que passe exatamente uma vez por cada trecho de rodovia?
Sobre a metodologia (3)
Plataforma de acompanhamento do curso: Moodle da UFRGS (não é o do INF).
http://moodle.ufrgs.br
Acesso pelo usuário e senha institucionais (Cartão UFRGS)
Toda a comunicação oficial do professor com a turma se dará através do Moodle! Ex:
• marcação e possível troca de data de prova • disponibilização de slides e listas de exercício • determinação de trabalhos práticos
Sobre a avaliação
Atividades de avaliação:
• M1 = Prova 1 (análise combinatória)
• M2 = Prova 2 (teoria dos grafos, peso 0.8) + Trabalhos (peso 0.2) Ao longo do semestre serão definidos o número total de trabalhos (tipicamente 2) e o seu respectivo tipo (lista de exercício e/ou implementação).
Cálculo da média final:
M = (M1+ M2)/2
Sobre o conceito final
Frequência menor que 75%: FF
Frequencia maior que 75%, com médiaM:
M < 6 D
6 ≤ M < 7.5 C 7.5 ≤ M < 9 B
Sobre a recuperação
Se o aluno tiver frequência mínima porém não tiver nota mínima, estará habilitado à um exame de recuperaçãoR.
Sobre o exame:
• versa sobre todo o conteúdo do semestre
• a nota do exame é utilizada para substituir a menor nota entre prova 1 e prova 2, sendo recalculada uma média de recuperaçãoMRutilizando a mesma fórmula anterior.
SeMRfor maior que 6, o aluno estará aprovado.
Alunos que queiram realizar exame para aumento de conceito deverão manifestar interesse até 48h da realização do mesmo.
Conteúdo
Apresentação da disciplina
Conjuntos
• Coleções de elementos ◦ Sem ordem ◦ Sem repetição
• Descritos por extensão ou compreensão:
◦ Extensão: Enumeração dos elementos entre chaves
{4, 5} {a, b, c} {}
◦ Compreensão: Propriedade que caracteriza os elementos
Ex.: Conjunto dos números inteiros maiores que 42 {x | x ∈ Z ∧ x > 42}
Operações sobre conjuntos
• x ∈ A(pertinência): Relaciona um elementox a um conjuntoA, sendo válida sex pertencer aA.
4 ∈ N {4} 6∈ N
• A ⊆ B(continência): Relaciona um conjuntoAa um conjuntoB, sendo válida se todo elemento deA for também elemento de B.
4 6⊆ N {4} ⊆ N
Operações sobre conjuntos (cont.)
• A ∪ B(união): Conjunto contendo todos os elementos que ocorrem emA ou emB.
{1, 2, 3} ∪ {5} = {1, 2, 3, 5} {a, b} ∪ {a} = {a, b}
• A ] B(união disjunta): Conjunto contendo todos os elementos que ocorrem emAou emB, diferenciando ocorrências do mesmo elemento em cada conjunto de origem. Intuição: introdução de anotações nos elementos para diferenciar origem.
Operações sobre conjuntos (cont.)
• A ∩ B(interseção): Conjunto contendo todos os elementos que ocorrem emAe emB.
{1, 2, 3} ∩ {5} = ∅ {a, b} ∩ {a} = {a}
• A × B(conjunto dos pares): Conjunto de todos os pares ordenados (a, b), ondea ∈ Aeb ∈ B.
A = {a, b} B = {1, 2}
Operações sobre conjuntos (cont.)
•
P
(A)ou2A (conjunto potência): Conjunto de todos os subconjuntos de A.P
({a, b}) = { {}, {a}, {b}, {a, b} }Exercício:Escreva o conjunto potência
P
(A × B), ondeA = {1, 2} e B = {x, y}.Principais conjuntos numéricos
Naturais N = {0, 1, 2, 3, 4, . . .} Naturais positivos N+= {1, 2, 3, 4, . . .} Inteiros Z = {. . . – 3, –2, –1, 0, 1, 2, 3, . . . , } Racionais (frações) Q = {–12, –1, 0,12, 1, . . .} Irracionais I = {–√2,√2,√3, π, e, . . .} Reais R = Q ∪ I = {–π, –1, 0, 1,√2,12, e, 2, . . .}Relações
• Uma relação bináriaR ⊆ A × Bé uma associação entre elementos de um conjuntoAe elementos de um conjunto B.
Exemplo:
A = {a, b} B = {1, 2} R = { (a, 1), (a, 2), (b, 2) }
R :
a 1
Relações: propriedades
Uma relaçãoR ⊆ U × Upode ser (para todoa, b, c ∈ U) • reflexiva: aRa
• transitiva: aRb ∧ bRc ⇒ aRc • simétrica: aRb ⇒ bRa
• anti-simétrica: aRb ∧ bRa ⇒ a = b • total: para todoaexistebtal queaRb • sobrejetora: para todobexisteatal queaRb • funcional: aRb ∧ aRc ⇒ b = c
Relações: tipos importantes
• função parcial (funcional) Ex: (x 7→ x – 1) ⊆ N × N • função (funcional e total) Ex: (x 7→ x + 1) ⊆ N × N
• ordem parcial (reflexiva, transitiva e anti-simétrica) Ex: (≤) ⊆ N × N
• equivalência (reflexiva, transitiva e simétrica)
Funções
• Uma funçãof : A → B é um mapeamento de elementos deApara elementos deB
◦ Aé o domínio (ou origem) def. Escritodom(f).
◦ Bé o contradomínio (ou destino) def. Escritocod(f).
◦ O conjunto de todos os elementos deBaos quais alguma ∈ Aestá associado é chamado de imagem def. Escritoimg(f).
a 1 b 2 c 3 4 dom(f) = {a, b, c} cod(f) = {1, 2, 3, 4} img(f) = {1, 2}
Funções parciais
• Funções parciais são aquelas onde é possível (mas não necessário) que um elemento do domínio não tenha associação no contradomínio.
Exemplo:
a 1
b 2
c 3
• f(c) = ⊥denota quef é indefinida para o elementoc.
• Utiliza-sef : A * Bpara denotar que f é parcial ef : A → B para denotar quefé totalmente definida.
Composição de funções parciais
• Consideref : A → Beg : B → C. a 1 x b 2 y c 3 z A f B g C• A funçãog ◦ f : A → Cé denominada a composição def eg, onde g ◦ f(x) = g(f(x)).
a x
b y
Cardinalidade
• Cardinalidade = tamanho de um conjunto. • |X|,#(X) oun(X)denotam a cardinalidade deX. • Exemplo: |∅| = 0 |{7}| = 1 |{a, b, {c, d}}| = 3 |N| = infinito contável |R| = infinito incontável
Cardinalidade e funções totais
Uma função totalf : A → Bpode ser Injetora: x 6= y ⇒ f(x) 6= f(y) Exemplo: a 1 b 2 3 Nota:|A| ≤ |B| Sobrejetora: cod(f) = img(f) Exemplo: a 1 b 2 c Nota:|A| ≥ |B| Bijetora: injetora e sobrejetora Exemplo: a 1 b 2 c 3 Nota:|A| = |B| Dois conjuntosAeBpossuem a mesma cardinalidade sss existe uma função
Cardinalidade e operações de conjuntos
Cardinalidade do resultado de operações sobre conjuntos finitos: |A ∪ B| = |A| + |B| – |A ∩ B|
|A ] B| = |A| + |B|
|A ∩ B| = |A| + |B| – |A ∪ B| |A × B| = |A| × |B|
Somatório
Somatório: maneira compacta de descrever somas de termos que possuam um padrão de formação.
• faixa de valores em inteiros: 5 X
i=1
xi = x1+ x2+ x3+ x4+ x5
• faixa de valores em conjuntos: sejaA = {1, 3, 7} X i∈A xi i = x1 1 + x3 3 + x7 7
Produtório
Produtório: maneira compacta de descrever produtos que possuam padrão de
formação. Exemplo: Y i∈N,i<12 e i é primo i2 = 22× 32× 52× 72× 112 Nota:
• Somatório 0-ário = 0 (elemento neutro da adição). • Produtório 0-ário = 1 (elemento neutro da multiplicação)
Multiconjuntos
• Coleções de elementos ◦ Sem ordem
◦ Com possível repetição (finita) • Notação:B =Hd, a, b, d, c, a, dI
• Um multiconjuntoBde elementos tirados de um conjuntoXé uma função do tipoX → N+que associa um número finito de ocorrências para cada elemento deX
Exemplo:B : {a, b, c, d} → N+, ondeB = {a 7→ 2, b 7→ 1, c 7→ 1, d 7→ 3}
Multiconjuntos: cardinalidade
A cardinalidade de um multiconjunto é o número de elementos que este possui, contando repetições.
Exemplo:se A =Ha, a, a, b, b, c, dI, então|A| = 7 ComoAé uma função do tipo{a, b, c, d} → N+, onde a 7→ 3, b 7→ 2, c 7→ 1, d 7→ 1temos que|A| = 3 + 2 + 1 + 1. Definição:sejaAum multiconjunto do tipoX → N+. Então
|A| =X x∈X
Tuplas ou sequências
• Coleções de elementos ◦ Finitas
◦ Com ordem
◦ Com possível repetição
◦ Generalização do produto cartesiano (pares ordenados)
• Notação:(): tupla vazia,(a): produto unário,(a, b): dupla, (a, b, c): tripla, (a, b, c, d): quádrupla, . . .
• Uman-tupla sobre um conjuntoU é um elemento do produto n
z }| {
U × U × · · · × U
Coleções de elementos
Conjuntos vs Multiconjuntos vs Tuplas
Ordem\Repetição Sim Não
Sim Tupla(a, b, a) Tupla(a, b, c)
Não Multiconjunto Ha, b, aI Conjunto{a, b, c} Exercício:dados os elementosa, b,c, gere todas as coleções abaixo:
1. conjuntos com no máximo 3 elementos 2. multiconjuntos com no máximo 3 elementos 3. pares (com repetição e sem repetição) 4. triplas (com repetição e sem repetição)
Função fatorial
A função fatorial: N → N ocorre frequentemente na resolução de problemas de análise combinatória. Notação:fact(n)oun! Definição: n! = ( 1 se n = 0 Q 1≤i≤ni se n > 0 Exemplo: 5! = 1 × 2 × 3 × 4 × 5 = 120
Sequência de Fibonacci
A sequência de Fibonacci é famosa por possuir relação com diversos processos naturais. Definição: F1 = 1 F2 = 1 Fn= Fn–1+ Fn–2 para n > 2 Primeiros termos: n Fn 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21 .. . ...
Indução matemática
Indução matemática é uma importante técnica de prova de propriedades satisfeitas por todos os elementos de um conjunto infinito.
Aplicável quando os elementos do conjunto são construídos de forma indutiva, como por exemplo:
• Números naturais: 0 : Ne
succ : N → N
• Listas:
empty : Lista(A)e
Indução matemática (cont.)
• Para provar que propriedadePvale para todos os elementos de um conjuntoA, devemos demonstrar que:
1. Pvale no caso base (para os naturais, 0)
2. supondo quePvalha para um elemento qualquern(hipótese indutiva), deve continuar valendo após aplicarmos um construtor sobren(para os naturais, succ(n)).
Em outras palavras, a propriedade é preservada pela construção dos elementos deA.
Indução matemática: exemplo
Exemplo:prove por indução que a seguinte igualdade vale para todon ∈ N+: n X i=1 2i – 1 = n2 Nota: 1 = 1 1 + 3 = 4 1 + 3 + 5 = 9 1 + 3 + 5 + 7 = 16 · · ·
Indução matemática forte
Na indução matemática, justificamos a validade de um propriedadePparana partir da hipótese quePvale paran – 1.
Algumas estruturas (como árvores binárias) podem ter construção mais complexa e que não necessariamente referenciar o elemento imediatamente inferior.
Exemplo:construção de árvore com 8 folhas baseada em duas árvores de 4 folhas.
Para provar propriedades de tais estruturas, utilizamos uma descrição alternativa do princípio da indução matemática (chamado de indução forte).
Indução matemática forte (cont.)
Ao utilizarmos a indução matemática forte:
• provamos quePvale para o caso base (0paraN)
• provamos quePvale paran ∈ Na partir da hipótese indutiva quePvale para todok ∈ Ntal que k < n.
Nota:indução matemática (fraca) e indução matemática forte são princípios equivalentes.
Indução matemática forte: exemplo
Exemplo:Demonstre que, para todon ∈ N+, Fn< 7 4 n Nota: n Fn 7 4 n 1 1 1, 75 2 1 3, 06 3 2 5, 35 4 3 9, 37 5 5 16, 41 6 8 28, 72 7 13 50, 26 .. . ... ...
Indução matemática: exercício 1
Exercício:
Demonstre que, para todon ∈ N+, Fn= √1 5(φ n– φn) onde φ = 1 +√5 2 e φ = 1 –√5 2
Indução matemática: exercício 2
Exercício:
Considere a seguinte definição deSm
Sm= m X
i=1 i2
Demonstre que, para todom ∈ N+, Sm= 1