Vous êtes sur la page 1sur 123

Aplicaes da Matemtica:

Redes Sociais, Jogos, Engenharia


Fbio Protti
IC/UFF

Instituto de Computao - UFF


Grafo
um conjunto de pontos, chamados vrtices...

Instituto de Computao - UFF


Grafo
um conjunto de pontos, chamados vrtices...

Conectado por um conjunto de linhas,


chamadas arestas.
Instituto de Computao - UFF
Grafo

Instituto de Computao - UFF


Grafo

Instituto de Computao - UFF


Grafo

Instituto de Computao - UFF


Grafo

Instituto de Computao - UFF


Grafo

Instituto de Computao - UFF


Grafo Definio Informal
Abstrao que permite codificar
relacionamentos entre pares de objetos

Instituto de Computao - UFF


Grafos Definio Informal
Abstrao que permite codificar
relacionamentos entre pares de objetos
Que objetos?

Instituto de Computao - UFF


Grafo Definio Informal
Abstrao que permite codificar
relacionamentos entre pares de objetos
Que objetos?
Ex.: Pessoas, cidades, empresas, pases,
pginas web, filmes, etc.

Instituto de Computao - UFF


Grafo Definio Informal
Abstrao que permite codificar
relacionamentos entre pares de objetos
Que objetos?
Ex.: Pessoas, cidades, empresas, pases,
pginas web, filmes, etc.
Que relacionamentos?

Instituto de Computao - UFF


Grafo Definio Informal
Abstrao que permite codificar
relacionamentos entre pares de objetos
Que objetos?
Ex.: Pessoas, cidades, empresas, pases,
pginas web, filmes, etc.
Que relacionamentos?
Ex.: Amizade, conectividade, produo, lngua
falada, etc.

Instituto de Computao - UFF


Grafo Definio Informal

Instituto de Computao - UFF


Grafo Definio Informal

Objetos Vrtices do Grafo

Instituto de Computao - UFF


Grafo Definio Informal

Objetos Vrtices do Grafo

Relacionamentos Arestas do Grafo

Instituto de Computao - UFF


Grafo Definio Informal

Objetos Vrtices do Grafo

Relacionamentos Arestas do Grafo

Exemplos?

Instituto de Computao - UFF


Exemplos de Grafos
Transporte Areo:
Objeto: Cidades
Relacionamento: Vo comercial entre duas
cidades

Instituto de Computao - UFF


Exemplos de Grafos
Transporte Areo:
Objeto: Cidades
Relacionamento: Vo comercial entre duas
cidades Vo entre Sampa e Manaus

Sampa

Cuiab Manaus

BH Rio

Instituto de Computao - UFF


Exemplos de Grafos
Atores e Filmes:
Objeto: Atores
Relacionamento: Atores atuaram e um mesmo
filme

Instituto de Computao - UFF


Exemplos de Grafos
Atores e Filmes:
Objeto: Atores
Relacionamento: Atores atuaram e um mesmo
filme Meu tio matou um cara
Lzaro
Ramos
Wagner Dbora
Moura Secco

Cludia Selton
Abreu Mello

Instituto de Computao - UFF


Exemplos de Grafos
Web:
Objeto: pginas web
Relacionamento: link de uma pgina para outra

Instituto de Computao - UFF


Exemplos de Grafos
Web:
Objeto: pginas web
Relacionamento: link de uma pgina para outra

http://www.uff.br

http://www.capes.gov.br
http://www.ic.uff.br

http://www.centrodeartes.u
ff.br
http://www.ic.uff.br/Docent
es/docentes.php

Instituto de Computao - UFF


Definio Formal
G=(V(G), E(G), G)

Conjunto no vazio Funo que associa


de vrtices cada aresta de G um par
de vrtices de G

Conjunto disjunto de V(G),


chamado arestas

Instituto de Computao - UFF


Exemplo
G=(V(G), E(G), G), onde
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :
G(e1)= (v1, v2), G(e2)= (v2, v3),
G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Exemplo
v2
G=(V(G), E(G), G), onde
v1 v3
V(G) ={v1, v2, v3, v4, v5}
E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
v4
G : v5

G(e1)= (v1, v2), G(e2)= (v2, v3),


G
G(e3)= (v3, v3), G(e4)= (v3, v4),
G(e5)= (v2, v4), G(e6)= (v4, v5),
G(e7)= (v2, v5), G(e8)= (v2, v5)

Instituto de Computao - UFF


Observaes

Grafos so assim chamados por poderem ser


representados graficamente

Instituto de Computao - UFF


Observaes

Grafos so assim chamados por poderem ser


representados graficamente

Existe uma nica maneira de desenhar um


grafo?

Instituto de Computao - UFF


Observaes

Grafos so assim chamados por poderem ser


representados graficamente

Existe uma nica maneira de desenhar um


grafo?

NO!!!
Instituto de Computao - UFF
Um pouco de Histria

A Teoria dos Grafos teve sua origem com o


problema das Pontes de Knisber, em 1735.

Instituto de Computao - UFF


Um pouco de Histria
A cidade de Knigsberg banhada pelo rio Pregel que,
ao atravessar a cidade se ramifica formando uma ilha
(Kneiphof) que est ligada parte restante da cidade
por sete pontes.
Dizia-se que os habitantes da cidade,
nos dias de descanso e sol, tentavam
efetuar um percurso que os obrigasse a passar
por todas as pontes, mas apenas uma vez em cada uma.
Como as suas tentativas foram sempre falhadas, muitos deles
acreditavam que no era possvel encontrar tal percurso.
Ser que tinham razo?

Instituto de Computao - UFF


Um pouco de Histria
possvel andar por toda a cidade de tal
modo que cada ponte seja atravessada
exatamente uma vez?

Instituto de Computao - UFF


Remodelando o problema

Instituto de Computao - UFF


Remodelando o problema

Instituto de Computao - UFF


Remodelando o problema

O problema agora consiste em percorrer todos os arcos,


passando por cada um apenas uma vez, sem
levantar o lpis do papel.

Instituto de Computao - UFF


Remodelando o problema

Um caminho completo com as propriedades


descritas acima de no retraar nenhum
arco chamado de TRAJETRIA de EULER

Instituto de Computao - UFF


O Assassinato de Van Diamond:
O bilionrio Van Diamond acaba de ser assassinado. Sherlock Gomes (um
conhecido detetive que nas horas vagas um estudioso da Teoria de
Grafos) foi chamado para investigar o caso.

O mordomo alega ter visto o jardineiro entrar na sala da piscina (lugar


onde ocorreu o assassinato) e logo em seguida deixar aquela sala pela
mesma porta que havia entrado.

O jardineiro, contudo, afirma que ele no poderia ser a pessoa vista pelo
mordomo, pois ele havia entrado na casa, passado por todas as portas
uma nica vez e, em seguida, deixado a casa.

Sherlock Gomes avaliou a planta da residncia e em poucos minutos


declarou solucionado o caso.

Instituto de Computao - UFF


Planta da Casa

Quem poderia ser o suspeito indicado por Sherlock Gomes?


Qual o raciocnio utilizado pelo detetive para apontar o suspeito?

Instituto de Computao - UFF


Planta da Casa

Quem poderia ser o suspeito indicado por Sherlock Gomes?


Qual o raciocnio utilizado pelo detetive para apontar o suspeito?

Instituto de Computao - UFF


Planta da Casa

Quem poderia ser o suspeito indicado por Sherlock Gomes?


Qual o raciocnio utilizado pelo detetive para apontar o suspeito?

Instituto de Computao - UFF


Planta da Casa

RUA
Quem poderia ser o suspeito indicado por Sherlock Gomes?
Qual o raciocnio utilizado pelo detetive para apontar o suspeito?

Instituto de Computao - UFF


Planta da Casa
2 3 2
2

4
4
5

2 2
2
G possui circuito Euleriano sse todos seus vrtices possuem grau par.

Instituto de Computao - UFF


Poder da Abstrao

Instituto de Computao - UFF


Formando Pares

Instituto de Computao - UFF


Formando Pares

Regra:

Instituto de Computao - UFF


Formando Pares

Regra:
Casal pode sair junto(formar um par) se
existe interesse mtuo

Instituto de Computao - UFF


Formando Pares

Problema 1: Dadas as escolhas dos rapazes e moas,


possvel formar n casais?

Instituto de Computao - UFF


Formando Pares

Problema 1: Dadas as escolhas dos rapazes e moas,


possvel formar n casais?

Problema 2: Qual o nmero mximo de pares que


podem ser formados?

Instituto de Computao - UFF


Formando Pares
Como abstrair o problema usando grafos?
Objeto: Rapazes e Moas
Relacionamento: Interesse mtuo em sair

Instituto de Computao - UFF


Formando Pares
Como abstrair o problema usando grafos?
Objeto: Rapazes e Moas
Relacionamento: Interesse mtuo em sair

Instituto de Computao - UFF


Formando Pares
Como abstrair o problema usando grafos?
Objeto: Rapazes e Moas
Relacionamento: Interesse mtuo em sair

Instituto de Computao - UFF


Alocao de Professores

Regra: Cada professor leciona uma ou mais disciplinas

Instituto de Computao - UFF


Alocao de Professores

Regra: Cada professor leciona uma ou mais disciplinas


Problema 1: Dado o que cada professor pode lecionar,
possvel que todas as disciplinas sejam oferecidas
simultaneamente?

Instituto de Computao - UFF


Alocao de Professores

Regra: Cada professor leciona uma ou mais disciplinas


Problema 1: Dado o que cada professor pode lecionar,
possvel que todas as disciplinas sejam oferecidas
simultaneamente?

Problema 2: Qual o maior nmero de disciplinas que


podem ser oferecidas?
Instituto de Computao - UFF
Alocao de Professores
Mesma Abstrao

Mesmo Algoritmo

Instituto de Computao - UFF


Robustez da Malha Eltrica
Malha eltrica
(distribuio de energia)
Torres e linhas de
transmisso

Problema: Quantas linhas precisam falhar (no


mnimo) para termos um apago?
Apago: desconectar parte do sistema

Instituto de Computao - UFF


Robustez da Malha Eltrica

Instituto de Computao - UFF


Robustez da Malha Eltrica

Instituto de Computao - UFF


Colorindo um Mapa
Mapa de Regies (Estados)
Colorir o mapa:
- regies vizinhas cores diferentes

Problema 1: Colorir o mapa de forma a atender a


restrio
Problema 2: Qual o menor no. de cores necessrias?

Instituto de Computao - UFF


Colorindo um Mapa
Mapa de Regies (Estados)
Colorir o mapa:
- regies vizinhas cores diferentes

Problema 1: Colorir o mapa de forma a atender a


restrio
Problema 2: Qual o menor no. de cores necessrias?

Instituto de Computao - UFF


Colorindo um Mapa
Mapa de Regies (Estados)
Colorir o mapa:
- regies vizinhas cores diferentes

Problema 1: Colorir o mapa de forma a atender a


restrio
Problema 2: Qual o menor no. de cores necessrias?

Instituto de Computao - UFF


Colorindo um Mapa

Instituto de Computao - UFF


Alocao de Frequncias
Rede telefonia celular
Estaes base (torre)
Clulas vizinhas no podem
usar mesma frequncia (interferncia)
Problema 1: Como alocar frequncias s clulas?
Problema 2: Qual o menor nmero de
frequncias necessrias?

Instituto de Computao - UFF


Alocao de Frequncias

Instituto de Computao - UFF


Colorao de Grafos

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Grafos
Exemplo

Instituto de Computao - UFF


Colorao de Mapas
Amrica do Sul

Instituto de Computao - UFF


Colorao de Mapas
Amrica do Sul

Instituto de Computao - UFF


Colorao de Mapas
Amrica do Sul

Instituto de Computao - UFF


Colorao de Mapas
Amrica do Sul

Qual o nmero mximo de cores necessrias para colorir um mapa?

Instituto de Computao - UFF


Grafos Planares
Definio:

Um grafo G dito planar se puder ser


representado graficamente no plano de modo
que suas arestas no se cruzem.

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

K5

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

K5

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

K5

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

K5

Instituto de Computao - UFF


Grafos Planares
O estudo dos grafos planares originou de dois
problemas de recreao envolvendo o grafo
completo K5 e o grafo bipartido K3,3.

K5 K3,3

Instituto de Computao - UFF


Grafos Planares
O primeiro problema foi apresentado por A. F.
Mobius por volta do ano 1840 como segue:

Era um vez um Rei com 5 filhos. Em seu


testamento ele desejou que, aps sua morte,
os seus filhos dividissem seu Reino em 5
provncias de forma que o limite de cada
provncia tivesse uma linha fronteira comum
com cada uma das outras quatro.

Instituto de Computao - UFF


Grafos Planares

Regio
1

Regio 4

Instituto de Computao - UFF


Grafos Planares

Regio
1

Regio
2

Regio 4

Instituto de Computao - UFF


Grafos Planares

Regio
1 Regio
3
Regio
2

Regio 4

Instituto de Computao - UFF


Grafos Planares

Regio
1 Regio
3
Regio
2
R

Regio 4

Instituto de Computao - UFF


Grafos Planares

Regio
1 Regio
3 R
Regio
2
R

Regio 4

Instituto de Computao - UFF


Grafos Planares
Regio 4

Regio
1 Regio
3
Regio
2

Instituto de Computao - UFF


Grafos Planares

Regio 4
Regio
1 Regio
3
Regio
2

Instituto de Computao - UFF


Grafos Planares

Problema: possvel desenhar 5 regies


mutualmente vizinhas no plano.

Instituto de Computao - UFF


Grafos Planares

Depois, o Rei pediu que todos os cinco irmos


unissem as capitais de cada uma de suas
provncias atravs de estradas e que estas no
deveriam se cruzar.

Instituto de Computao - UFF


Grafos Planares

Depois, o Rei pediu que todos os cinco irmos


unissem as capitais de cada uma de suas
provncias atravs de estradas e que estas no
deveriam se cruzar.

Instituto de Computao - UFF


Grafos Planares

Depois, o Rei pediu que todos os cinco irmos


unissem as capitais de cada uma de suas
provncias atravs de estradas e que estas no
deveriam se cruzar.

Instituto de Computao - UFF


Grafos Planares

Depois, o Rei pediu que todos os cinco irmos


unissem as capitais de cada uma de suas
provncias atravs de estradas e que estas no
deveriam se cruzar.

Instituto de Computao - UFF


Grafos Planares

Depois, o Rei pediu que todos os cinco irmos


unissem as capitais de cada uma de suas
provncias atravs de estradas e que estas no
deveriam se cruzar.

Instituto de Computao - UFF


Grafos Planares

Depois, o Rei pediu que todos os cinco irmos


unissem as capitais de cada uma de suas
provncias atravs de estradas e que estas no
deveriam se cruzar.

Instituto de Computao - UFF


Grafos Planares

Problema: K_5 um grafo planar?

Instituto de Computao - UFF


Grafos Planares
A origem do segundo problema
desconhecida mas foi primeiramente
mencionada por H. Dudeney em 1913 da
seguinte forma:

O problema consiste em fornecer gua, gs e


eletricidade a 3 casas sem cruzar seus tubos
.

Instituto de Computao - UFF


Grafos Planares

Instituto de Computao - UFF


Grafos Planares

Instituto de Computao - UFF


Grafos Planares

Instituto de Computao - UFF


Grafos Planares

Instituto de Computao - UFF


Grafos Planares

Instituto de Computao - UFF


Grafos Planares

Problema: Decidir se o grafo K3,3 planar

Instituto de Computao - UFF


Instituto de Computao - UFF
Motivao
Por que estudar grafos?
Importante ferramenta matemtica com
aplicao em diversas reas do conhecimento
Utilizados na definio e/ou resoluo de
problemas
Existem centenas de problemas
computacionais que empregam grafos com
sucesso.

Instituto de Computao - UFF


Slides - Referncias

Vejo vocs no 5. Perodo.

Parte das transparncias foram retiradas do


site do professor Daniel Ratton (COPPE-UFRJ).

Instituto de Computao - UFF