Você está na página 1de 26

Grafos Computacionais

Conceitos Básicos
Profa. Patrícia Takaki
Conceitos básicos
• Um grafo G consiste de um conjunto V de vértices e um
conjunto E de pares não ordenados de vértices
chamados arestas.
• Um grafo é simbolicamente representado como G = (V,E)
• Neste curso, a menos que especificado em contrário, V e
E são finitos
• A ordem de um grafo corresponde ao número de seus
vértices e é denotado por n

• O tamanho de um grafo corresponde ao número de


suas arestas e é denotado por m

• Se u e v são dois vértices de um grafo e se o par não


ordenado (u,v) é uma aresta denotada por e, nós
dizemos que e é uma aresta incidente a u e a v. Neste
caso, os vértices u e v são ditos adjacentes

• Arestas incidentes em um mesmo nó são chamadas


arestas adjacentes
• Duas ou mais arestas incidentes sobre os mesmos dois
vértices são ditas paralelas ou múltiplas

• Uma aresta cujos dois vértices não são distintos é


conhecida como laço (ou loop)

• Um grafo que possua mais de uma aresta incidente ao


mesmo par de vértices é um multigrafo

• Um grafo simples é um grafo sem arestas paralelas e sem


laços
• Um grafo completo Kn é um grafo com n vértices no qual
existe exatamente uma aresta unindo cada par de vértice

• O grafo K1 com um vértice e nenhuma aresta é chamado


de grafo trivial
• Um grafo dirigido ou grafo orientado ou dígrafo consiste
de um conjunto finito V de vértices e um conjunto A de
pares ordenados de vértices distintos chamados arcos.

• Se um par ordenado (u,v) é um arco a, dissemos que o


arco a é dirigido de u para v.

• Em um dígrafo, o grau de um vértice corresponde ao


número de arestas que saem do vértice (out-degree)
mais o número de arestas que chegam ao vértices (in-
degree)
• O grau de um nó corresponde ao número de arestas
incidentes a ele.

• Cada laço conta como duas arestas.

• O menor grau presente em um grafo G é denotado por σ(G)

• O maior grau presente em um grafo G é denotado por Δ(G)

• Um grafo é k-regular é aquele quando todos os vértices têm


grau k, ou seja, quando σ(G) = Δ(G)
Pesquise provas matemáticas para:

• Teo: A soma total dos graus de todos os vértices de um


grafo é sempre par

• Cor: A soma dos graus dos vértices de grau ímpar é


sempre par
• Um passeio entre os nós i e j é uma sequência
alternada de nós e arestas que começa no nó i e
termina no nó j.

Um exemplo de passeio entre os


nós 1 e 4 do grafo ao lado é
(1,(1,3),3,(2,3),2,(1,2),1,(1,4),4).
• Poderíamos pensar que apenas a ordem dos nós é
importante. Entretanto, podemos ter passeios diferentes
com a mesma sequência de nós.

Por exemplo, no grafo ao


lado temos os seguintes
passeios entre os nós 3 e 4:
(3,d,2,a,4) e
(3,c,2,a,4)
• Um caminho é um passeio que não contém nós repetidos.

Entre os nós 1 e 4 do grafo


ao lado temos os seguintes
caminhos (1,4),(1,2,4),(1,3,2,4).

• O comprimento de um caminho entre os vértices u e v é a


quantidade de arestas presentes no caminho.
• Se existirem mais de um caminho de u a v, então o
comprimento do caminho de u a v será igual ao menor
comprimento dentre todos os caminhos de u a v.
• Um circuito é um passeio fechado, ou seja, o nó de
partida é igual ao nó de chegada.

• Um ciclo é um caminho fechado, isto é , um passeio que


contém exatamente dois nós iguais: o primeiro e o
último.

• Ciclos de comprimento 1 são laços(loops).

• Uma característica interessante de um ciclo é que o


número de arestas pertencentes a ele é igual a número
de vértices.
• Um ciclo é um grafo conexo 2-regular (ou de grau 2).
Grafo conexo
• Um grafo G = (V,E) é conexo quando existe um caminho entre
cada par de V. Caso contrário o grafo é desconexo.
• Um grafo é totalmente desconexo quando não existe
nenhuma aresta.
• A representação gráfica de um grafo desconexo contém no
mínimo dois "pedaços". A figura abaixo ilustra um grafo
desconexo. Cada "pedaço" de um grafo é chamado
componente conexo. O grafo da figura tem 2 componentes
conexos.
Grafo Bipartido
• Um grafo bipartido é um grafo simples no qual o
conjunto de vértices pode ser particionado em dois
conjuntos X e Y tal que cada aresta incide a um vértice
em X e a um vértice em Y e é representado por G = (X,
Y, E)
Grafo Bipartido Completo (Kp,q)
• Um grafo é bipartido completo se todos os vértices de X
são ligados a todos os vértices Y
• (Kp,q) é o grafo bipartido completo onde|X|=p e |Y|=q
Subgrafo
• O grafo H é um subgrafo de G, denotado por
se e
• Se temos ou seja, H é um subgrafo próprio
de G.
• H é um subgrafo gerador de G se V(H)=V(G).
• H é um subgrafo induzido de G por W (conjunto de vértices de
G) se todas as arestas de G incidentes aos vértices de W estão
presentes em H.
Subgrafos
Complemento de Grafo
• O complemento de um grafo simples G=(V,E) é o grafo simples
G=(V,F) no qual existe uma aresta entre dois vértices u e v se e
somente se não existe nenhuma aresta entre u e v em G.
Isomorfismo em grafos
• Dois grafos G1(V1,E1) e G2(V2,E2) são ditos isomorfos
entre si se existe uma correspondência entre os seus
vértices e arestas de tal maneira que a relação de
incidência seja preservada.

• Em outros termos, temos |V1|= |V2| e existe uma


função unívoca f: V1-->V2, tal que (i,j) é elemento de E1
se e somente se (ƒ(i),f(j)) é elemento de E2.
Exemplo de isomorfismo
• Para ver o isomorfismo dos grafos da figura, podemos utilizar
a seguinte função:

f(a) = 1, f(b) = 2, f(c) = 3, f(d) = 8, f(e) = 5, f(f) = 6, f(g) = 7, f(h) = 4.


Isomorfismo
Para ver o isomorfismo dos grafos (a) e (b), utilize a seguinte função:

f(a) = s, f(b) = t, f(c) = u, f(d) = v, f(e) = r, f(f) = m, f(g) = n, f(h) = o, f(i) = p, f(j) = q

Para ver o isomorfismo dos grafos (a) e (c), utilize a seguinte função:

f(a) = 1, f(b) = 10, f(c) = 4, f(d) = 5, f(e) = 6, f(f) = 2, f(g) = 9, f(h) = 3, f(i) = 8, f(j) = 7.
Dificuldade
• Não é sempre fácil determinar se dois grafos são isomorfos.
• Não existe atualmente um algoritmo eficiente para resolver
esse problema.
• Poderíamos tentar todas as permutações possíveis, mas isso daria
um algoritmo de complexidade em O(n!).
• Para que dois grafos sejam isomorfos, no mínimo essas
condições tem que ser respeitadas:
• Os dois têm o mesmo número de vértices.
• Os dois têm o mesmo número de arestas.
• Os dois têm o mesmo número de vértices de grau n, para
qualquer valor n entre 0 e o número de vértices que o grafo
contém.
Isomorfismo
• Note que isso não é suficiente par que sejam isomorfos. Por
exemplo, os grafos da figura abaixo respeitam essas condições
e não são isomorfos.
Isomorfismo

Você também pode gostar