Professional Documents
Culture Documents
INTRODUO
Muitas situaes no mundo real podem ser descritas por meio de um diagrama formado por pontos e linhas que unem estes pontos.
O objetivo observar se dois ou mais pontos esto conectados e o padro desta conexo.
Partindo desta observao e de propriedades gerais da Teoria dos Grafos, possvel analisar e resolver problemas de interesse.
MOTIVAO
Existenciais: Existe ...? possvel ... ? Construo: Se ... Existe, como pode ser construdo?
Enumerao: Quantos ... existem, podem ser listados? Otimizao: Existem muitos ... qual o melhor?
Existencial: Existe uma trilha que passe por cada uma das pontes apenas uma vez? Construo: Se esta trilha existe, como pode ser construda? Enumerao: Quantas trilhas fechadas existem? Podemos enumerar todas? Otimizao: Que trilhas representam o caminho mais curto?
Quantas cores so necessrias para colorir um mapa de forma que pases vizinhos possuam cores diferentes? sempre possvel colorir com apenas 4 cores
Existencial: Existe um conjunto finito de casos de teste que executa todos os comandos de um programa pelo menos uma vez?
Construo: Como construir este conjunto? Enumerao: Quantos conjuntos existem? Podem ser listados? So finitos? Otimizao: Qual o menor conjunto?
Alteraes em Object podem afetar o comportamento de todas as outras classes! Alteraes em Object, Overlay ou Shape podem levar a ciclos repetitivos de correes.
MOTIVAO
PROBLEMA DA PARTIO DO SOFTWARE
possvel dividir uma tarefa de desenvolvimento de software para que diferentes equipes trabalhem em paralelo e a integrao seja de baixo custo?
HISTRICO
Busca por algoritmos eficientes Larga aplicabilidade: Matemtica, Computao, Comunicao e Otimizao Combinatria
Solues para algoritmos intratveis
GRAFO
V(G) um conjunto de vrtices; E(G) um conjunto de arestas, juntamente com uma funo de incidncia . Se e uma aresta e u e v so vrtices, (e) = {u,v} = uv = vu u e v so adjacentes ou vizinhos e e incidente a u e v. u e v so os terminais de e.
O nmero de vrtices e arestas de um grafo G dado por v(G) e e(G) respectivamente (ordem e tamanho de G).
GRAFO
Exemplo G = (V(G),E(G)):
G definido como:
B
u
w
x
y
D
v
REPRESENTAO GRFICA
No existe uma nica forma correta de desenhar um grafo; a posio relativa e o formato das linhas no tm significado
Um diagrama de um grafo meramente descreve a funo de incidncia comum chamar o diagrama de grafo e seus pontos e linhas de vrtices e arestas respectivamente.
REPRESENTAO GRFICA
REPRESENTAO GRFICA
CE
RN
MA
PI
PE
PB
BA
AL
SE
REPRESENTAO GRFICA
CE
8 MA 10 20 RN
3
PB
12
PI 30
15
PE 20 BA 10
5
20 20
AL 3
SE
REPRESENTAO GRFICA
V(G) = {MA, PI, CE, RN, PB, PE, AL, SE, BA}
E(G) = {MA_PI, PI_CE, PI_PE, PI_BA, CE_PE, CE_PB, CE_RN, PE_PB, RN_PB, PE_BA, PE_AL, BA_AL, BA_SE, AL_SE}
CE
RN
MA
PI
PE
PB
BA
AL
G(MA_PI)= MAPI; G(PI_CE)= PICE; G(PI_PE)= PIPE; G(PI_BA)= PIBA; G(CE_PE)= CEPE; G(CE_PB)= CEPB; G(CE_RN)= CERN;
G(PE_PB)= PEPB; G(RN_PB)= RNPB; G(PE_BA)= PEBA; G(PE_AL)= PEAL; G(BA_AL)= BAAL; G(BA_SE)= BASE; G(AL_SE)= ALSE;
SE
DEFINIES
s x
B
u
w
D
v
DEFINIES
Um grafo finito se seus conjuntos de vrtices e arestas so finitos. O grafo sem vrtices chamado de grafo nulo. Qualquer grafo com apenas um vrtice chamado de trivial. Todos os outros grafos so no-triviais Um grafo simples se no possui loops ou arestas paralelas. A funo de incidncia pode ser ignorada. Por qu?
Um grafo completo um grafo simples em que todo vrtice adjacente a todos os outros vrtices.
Um grafo vazio aquele no qual no existem vrtices adjacentes
Um grafo completo um grafo simples em que todo vrtice adjacente a todos os outros vrtices.
Um grafo vazio aquele no qual no existem vrtices adjacentes
E um K5 ?
Um grafo bipartido (bipartite) se seu conjunto de vrtices pode ser particionado em dois subsets X e Y tal que todas as arestas do grafo tm um terminal em X e outro em Y.
x1 x2 x3
y1
y2
y3
GRAFOS BIPARTIDOS
(a)
(c)
(b)
(d)
GRAFOS BIPARTIDOS
(a)
(c)
(b)
(d)
GRAFOS BIPARTIDOS
(a)
(c)
(b)
(d)
Um caminho (path) um grafo simples cujos vrtices podem ser organizados em uma seqncia linear tal que dois vrtices so adjacentes se um for consecutivo do outro, caso contrrio, no so adjacentes.
Um ciclo (ou circuito, cycle) em trs ou mais vrtices um grafo simples cujos vrtices podem ser organizados em um circuito sequencial. O tamanho de um caminho ou ciclo nmero de arestas correspondentes. Um caminho ou ciclo de tamanho k um k-caminho ou k-ciclo
Exemplo de um 5-caminho?
MA
PI
PE
PB
BA
AL
SE
Exemplo de um 5-caminho?
MA
PI
PE
PB
BA
AL
SE
Exemplo de um 3-ciclo?
Um grafo conectado ou conexo (connected) se, para qualquer partio de seu conjunto de vrtices em 2 conjuntos no-vazios X e Y, existe uma aresta com um terminal em X e um terminal em Y. Caso contrrio, o grafo desconectado.
x w y z
y
z
y z
y
z
REPRESENTAO MATRICIAL
Seja G um grafo, onde V o conjunto de vrtices e E o conjunto de arestas (n o nmero de vrtices e m o nmero de arestas).
A matriz de adjacncia G uma matriz n n onde cada elemento auv representa o nmero de arestas que unem os vrtices u e v e cada loop conta como duas arestas. A matriz de incidncia uma matriz n m onde cada elemento ave representa o nmero de vezes (0, 1 ou 2) que cada vrtice v e aresta e so incidentes.
REPRESENTAO MATRICIAL
s t 2 u 0 v 0 w 0 x 0 y 1 z 0
s x
M=
B
u
B
C D E
1
0 0 0
0
0 0 0
1
1 0 0
0
1 1 0
0
1 1 0
1
0 1 0
0
0 1 0
0
0 1 1
D
v
A A 2 1 0 B C
B 1 0 1
C 0 1 0
D 1 1 2
E 0 0 0
A=
D
E
1
0
1
0
2
0
0
1
1
0
GRAU
O grau de um vrtice v em um grafo G, dG(v), o nmero de arestas de G que so incidentes a v, cada loop contando como duas arestas.
Se G um grafo simples, dG(v) o nmero de vizinhos de v em G.
1 vV d (v) n
GRAU
CE RN
MA
PI
PE
PB
BA
AL
SE
GRAU
CE RN
MA
PI
PE
PB
BA
AL
SE
GRAU
d (v ) 2m
vV
Prova. Na matriz de incidncias, a soma das entradas na linha correspondente a v exatamente d(v). Assim, a soma de todos os graus exatamente a soma de todas as entradas da matriz. Esta soma exatamente igual a 2m, pois a soma de cada coluna da matriz exatamente igual a 2 cada arestas tem 2 terminais. Corolrio. Em qualquer grafo, o nmero de vrtices de grau mpar par.
DEMO PETERSEN
EXERCCIOS
Sugesto: E.1.1, ... E1.7, E1.19 EF 1.25, ..., 1.28 E 1.32, EF 1.33, E 1.41, E1.42 EF 1.57, EF 1.58
ALGORITMOS
Mtodo efetivo, expresso como uma lista finita de passos bemdefinidos, para realizar uma tarefa. Pode ser descrito em diferentes nveis de abstrao, usando diferentes tipos de notao: linguagem natural, pseudocdigo, fluxogramas, linguagens de programao, tabelas de controle ou mquinas abstratas. Descrio de solues computacionais para problemas
ALGORITMOS
A = 20, B = 4 A = 16, B = 4 (linha 60) A = 12, B = 4 (linha 60) A = 8, B = 4 (linha 60) A = 4, B = 4 A = 4, B = 0 (linha 40) Print 4 (linha 80)
http://en.wikipedia.org/wiki/Algorithm