Teoria dos Grafos e Análise Combinatória Apresentação da disciplina e revisão de Matemática Discreta Rodrigo Machado rma@inf.ufrgs.br Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre, Brasil http://www.inf.ufrgs.br
2/45 Conteúdo Apresentação da disciplina Revisão de matemática discreta
3/45 Conteúdo Apresentação da disciplina Revisão de matemática discreta
4/45 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
5/45 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.
6/45 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é Plínio Santos et al.
7/45 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). Em caso de dúvidas/sugestões/críticas: entrem em contato!!!
8/45 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 possível implementação (grafos)
9/45 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 em X anos? 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? Como calcular eficientemente a distância mínima entre duas cidades?
10/45 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
11/45 Sobre a avaliação Atividades de avaliação: M 1 = Prova 1 (análise combinatória) M 2 = 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 = (M 1 + M 2 )/2 Aprovação: frequência ( 75%) + nota mínima (M 6).
12/45 Sobre o conceito final Frequência menor que 75%: FF Frequencia maior que 75%, com média M: M < 6 D 6 M < 7.5 C 7.5 M < 9 B 9 M A
13/45 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ção R. 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ção MR utilizando a mesma fórmula anterior. Se MR for 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.
14/45 Conteúdo Apresentação da disciplina Revisão de matemática discreta
15/45 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} Conjunto vazio: ou {}. Importante: note que { }
16/45 Operações sobre conjuntos x A (pertinência): Relaciona um elemento x a um conjunto A, sendo válida se x pertencer a A. 4 N {4} N A B (continência): Relaciona um conjunto A a um conjunto B, sendo válida se todo elemento de A for também elemento de B. 4 N {4} N N Z {1, 2, 3, 4}
17/45 Operações sobre conjuntos (cont.) A B (união): Conjunto contendo todos os elementos que ocorrem em A ou em B. {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 em A ou em B, diferenciando ocorrências do mesmo elemento em cada conjunto de origem. Intuição: introdução de anotações nos elementos para diferenciar origem. {1, 2, 3} {5} = {1 1, 2 1, 3 1, 5 2 } {a, b} {a} = {a 1, b 1, a 2 }
18/45 Operações sobre conjuntos (cont.) A B (interseção): Conjunto contendo todos os elementos que ocorrem em A e em B. {1, 2, 3} {5} = {a, b} {a} = {a} A B (conjunto dos pares): Conjunto de todos os pares ordenados (a, b), onde a A e b B. A = {a, b} B = {1, 2} A B = { (a, 1), (a, 2), (b, 1), (b, 2) }
19/45 Operações sobre conjuntos (cont.) P(A) ou 2 A (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), onde A = {1, 2} e B = {x, y}.
20/45 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 = { 1 2, 1, 0, 1 2, 1,...} Irracionais I = { 2, 2, 3, π, e,...} Reais R = Q I = { π, 1, 0, 1, 2, 1 2, e, 2,...}
21/45 Relações Uma relação binária R A B é uma associação entre elementos de um conjunto A e elementos de um conjunto B. Exemplo: A = {a, b} B = {1, 2} R = { (a, 1), (a, 2), (b, 2) } a 1 R : b 2
22/45 Relações: propriedades Uma relação R U U pode ser (para todo a, b, c U) reflexiva: ara transitiva: arb brc arc simétrica: arb bra anti-simétrica: arb bra a = b total: para todo a existe b tal que arb sobrejetora: para todo b existe a tal que arb funcional: arb arc b = c injetora: arc brc a = b
23/45 Relações: tipos importantes função parcial (funcional) Ex: (x x 1) N N função (funcional e total) Ex: (x x + 1) N N ordem parcial (reflexiva, transitiva e anti-simétrica) Ex: ( ) N N equivalência (reflexiva, transitiva e simétrica) Ex: ( ) N N onde x y sss (x e y pares) ou (x e y ímpares)
24/45 Funções Uma função f : A B é um mapeamento de elementos de A para elementos de B A é o domínio (ou origem) de f. Escrito dom(f). B é o contradomínio (ou destino) de f. Escrito cod(f). O conjunto de todos os elementos de B aos quais algum a A está associado é chamado de imagem de f. Escrito img(f). a 1 b 2 c 3 4 A f B dom(f) = {a, b, c} cod(f) = {1, 2, 3, 4} img(f) = {1, 2}
25/45 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 que f é indefinida para o elemento c. Utiliza-se f : A B para denotar que f é parcial e f : A B para denotar que f é totalmente definida. Funções totais são casos especiais de funções parciais.
26/45 Composição de funções parciais Considere f : A B e g : B C. a 1 x b 2 y c 3 z A f B g C A função g f : A C é denominada a composição de f e g, onde g f(x) = g(f(x)). a b c x y z A g f C
27/45 Cardinalidade Cardinalidade = tamanho de um conjunto. X, #(X) ou n(x) denotam a cardinalidade de X. Exemplo: = 0 {7} = 1 {a, b, {c, d}} = 3 N = infinito contável R = infinito incontável Nesta disciplina: essencialmente conjuntos finitos.
28/45 Cardinalidade e funções totais Uma função total f : A B pode ser Injetora: x y f(x) f(y) Exemplo: a 1 b 2 3 Sobrejetora: cod(f) = img(f) Exemplo: a 1 b 2 c Bijetora: injetora e sobrejetora Exemplo: a 1 b 2 c 3 Nota: A B Nota: A B Nota: A = B Dois conjuntos A e B possuem a mesma cardinalidade sss existe uma função bijetora f : A B.
29/45 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 P(A) ou 2 A = 2 A
30/45 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 = x 1 + x 2 + x 3 + x 4 + x 5 i=1 faixa de valores em conjuntos: seja A = {1, 3, 7} i A x i i = x1 1 + x3 3 + x7 7 faixa de valores como soluções para certas equações/inequações: i,j N,1 i<j 4 i j = 1 2 + 1 3 + 1 4 + 2 3 + 2 4 + 3 4
31/45 Produtório Produtório: maneira compacta de descrever produtos que possuam padrão de formação. Exemplo: i N,i<12 e i é primo i 2 = 2 2 3 2 5 2 7 2 11 2 Nota: Somatório 0-ário = 0 (elemento neutro da adição). Produtório 0-ário = 1 (elemento neutro da multiplicação)
32/45 Multiconjuntos Coleções de elementos Sem ordem Com possível repetição (finita) Notação: B = d, a, b, d, c, a, d Um multiconjunto B de elementos tirados de um conjunto X é uma função do tipo X N + que associa um número finito de ocorrências para cada elemento de X Exemplo: B : {a, b, c, d} N +, onde B = {a 2, b 1, c 1, d 3} Nota: um multiconjunto m onde img(m) = {1} representa um conjunto!
33/45 Multiconjuntos: cardinalidade A cardinalidade de um multiconjunto é o número de elementos que este possui, contando repetições. Exemplo: se A = a, a, a, b, b, c, d, então A = 7 Como A é uma função do tipo {a, b, c, d} N +, onde a 3, b 2, c 1, d 1 temos que A = 3 + 2 + 1 + 1. Definição: seja A um multiconjunto do tipo X N +. Então A = x X A(x)
34/45 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,... Uma n-tupla sobre um conjunto U é um elemento do produto n {}}{ U U U Nota: apesar de multiplicação de conjuntos não ser concretamente associativa, isto é, U (U U) (U U) U, há uma bijeção entre os elementos das duas multiplicações (a, (b, c)) ((a, b), c), portanto a ordem das multiplicações é habitualmente ignorada.
35/45 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 a, b, a Conjunto {a, b, c} Exercício: dados os elementos a, 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)
36/45 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) ou n! Definição: Exemplo: n! = { 1 se n = 0 1 i n i se n > 0 5! = 1 2 3 4 5 = 120
37/45 Sequência de Fibonacci A sequência de Fibonacci é famosa por possuir relação com diversos processos naturais. Definição: F 1 = 1 F 2 = 1 F n = F n 1 + F n 2 para n > 2 Primeiros termos: n F n 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21..
38/45 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 : N e succ : N N Listas: empty : Lista(A) e cons : A Lista(A) Lista(A)
39/45 Indução matemática (cont.) Para provar que propriedade P vale para todos os elementos de um conjunto A, devemos demonstrar que: 1. P vale no caso base (para os naturais, 0) 2. supondo que P valha para um elemento qualquer n (hipótese indutiva), deve continuar valendo após aplicarmos um construtor sobre n (para os naturais, succ(n)). Em outras palavras, a propriedade é preservada pela construção dos elementos de A.
40/45 Indução matemática: exemplo Exemplo: prove por indução que a seguinte igualdade vale para todo n N + : Nota: 1 = 1 1 + 3 = 4 1 + 3 + 5 = 9 1 + 3 + 5 + 7 = 16 n 2i 1 = n 2 i=1
41/45 Indução matemática forte Na indução matemática, justificamos a validade de um propriedade P para n a partir da hipótese que P vale para n 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).
42/45 Indução matemática forte (cont.) Ao utilizarmos a indução matemática forte: provamos que P vale para o caso base (0 para N) provamos que P vale para n N a partir da hipótese indutiva que P vale para todo k N tal que k < n. Nota: indução matemática (fraca) e indução matemática forte são princípios equivalentes.
43/45 Indução matemática forte: exemplo Exemplo: Demonstre que, para todo n N +, ( ) 7 n F n < 4 Nota: n F n ( 74 ) 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...
44/45 Indução matemática: exercício 1 Exercício: Demonstre que, para todo n N +, F n = 1 5 (φ n φ n ) onde e φ = 1 + 5 2 φ = 1 5 2
45/45 Indução matemática: exercício 2 Exercício: Considere a seguinte definição de S m Demonstre que, para todo m N +, S m = m i 2 i=1 S m = 1 m(m + 1)(2m + 1) 6