Sie sind auf Seite 1von 121

Uma Breve Introduo sobre

Aplicaes de Grafos
Fbio Protti
IC/UFF

Instituto de Computao - UFF

Grafo
formado por um conjunto de pontos, chamados vrtices...

Instituto de Computao - UFF

Grafo
formado por um conjunto de pontos, chamados vrtices...

...conectados 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:
cidades

Vo

comercial

entre

duas

Instituto de Computao - UFF

Exemplos de Grafos
Transporte Areo:
Objeto: Cidades
Relacionamento:
cidades

Vo

comercial

entre

duas

Vo entre SP e Manaus
SP

Cuiab

Manaus

BH

Rio

Instituto de Computao - UFF

Exemplos de Grafos
Atores e Filmes:
Objeto: Atores
Relacionamento: Atores atuaram em 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
Moura

Dbora
Secco
Cludia
Abreu

Selton
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.ic.uff.br

http://www.capes.gov.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
de vrtices

Funo que associa


cada aresta de G a um par
de vrtices de G

Conjunto disjunto de V(G),


Formado por 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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

V(G) ={v1, v2, v3, v4, v5}


E(G)={e1, e2, e3, e4, e5, e6, e7 , e8}
G :

v1

v3

v4

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

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)

v1

v3

v4

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 Knigsberg, 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 sempre falhavam, 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 todas as arestas,


passando por cada uma 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 nenhuma
aresta chamado de TRILHA de EULER

Instituto de Computao - UFF

O Assassinato de Van Diamond


O bilionrio Van Diamond acaba de ser assassinado. 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.

O detetive avaliou a planta da residncia e em poucos minutos declarou


solucionado o caso.

Instituto de Computao - UFF

Planta da Casa

Quem poderia ser o assassino indicado pelo detetive?


Qual o raciocnio utilizado pelo detetive para apontar o suspeito?
Instituto de Computao - UFF

Planta da Casa

Quem poderia ser o assassino indicado pelo detetive?


Qual o raciocnio utilizado pelo detetive para apontar o suspeito?
Instituto de Computao - UFF

Planta da Casa

Quem poderia ser o assassino indicado pelo detetive?


Qual o raciocnio utilizado pelo detetive para apontar o suspeito?
Instituto de Computao - UFF

Planta da Casa

RUA

Quem poderia ser o assassino indicado pelo detetive?


Qual o raciocnio utilizado pelo detetive para apontar o suspeito?
Instituto de Computao - UFF

Planta da Casa
2

4
5

2
G possui trilha de Euler sse todos seus vrtices possuem grau par.
Instituto de Computao - UFF

Poder da Abstrao

Instituto de Computao - UFF

Formando Pares

es

Instituto de Computao - UFF

Formando Pares

es

Regra:

Instituto de Computao - UFF

Formando Pares

es

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


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


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

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
2

Regio
3

Regio 4

Instituto de Computao - UFF

Grafos Planares
Regio
1
Regio
2
R

Regio
3

Regio 4

Instituto de Computao - UFF

Grafos Planares
Regio
1
Regio
2
R

Regio
3 R

Regio 4

Instituto de Computao - UFF

Grafos Planares
Regio 4
Regio
1
Regio
2

Regio
3

Instituto de Computao - UFF

Grafos Planares
Regio 4
Regio
1
Regio
2

Regio
3

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

Das könnte Ihnen auch gefallen