Conceito Básicos da Teoria de Grafos

GRAFO 

Um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:
V - conjunto não vazio: os vértices ou nodos do grafo;
A - conjunto de pares ordenados a=(v,w), v e w ∈ V: as arestas do grafo.
Seja, por exemplo, o grafo G(V,A) dado por:
V = { p | p é uma pessoa }
A = { (v,w) | < v é amigo de w > }
Esta definição representa toda uma família de grafos. Um exemplo de elemento desta família (ver G1) é dado por:
V = { Maria, Pedro, Joana, Luiz }
A = { (Maria, Pedro), (Pedro, Maria), (Joana, Maria), (Maria, Joana), (Pedro, Luiz), (Luiz, Pedro), (Joana, Pedro) , (Pedro, Joana) }
G1:

Neste exemplo estamos considerando que a relação <v é amigo de w> é uma relação simétrica, ou seja, se <v é amigo de w> então <w é amigo de v>. Como conseqüência, as arestas que ligam os vértices não possuem qualquer orientação

DIGRAFO (Grafo Orientado)

Considere, agora, o grafo definido por:
V = { p | p é uma pessoa da família Castro }

A = { (v,w) | < v é pai/mãe de w > }

Um exemplo de deste grafo (ver G2) é:
V = { Emerson, Isadora, Renata, Antonio, Cecília, Alfredo }

A = {(Isadora, Emerson), (Antonio, Renata), (Alfredo, Emerson), (Cecília, Antonio), (Alfredo, Antonio)}

G2:

A relação definida por A não é simétrica pois se <v é pai/mãe de w>, não é o caso de <w é pai/mãe de v>. Há, portanto, uma orientação na relação, com um correspondente efeito na representação gráfica de G.

O grafo acima é dito ser um grafo orientado (ou digrafo), sendo que as conexões entre os vértices são chamadas de arcos.


ORDEM
A ordem de um grafo G é dada pela cardinalidade do conjunto de vértices, ou seja, pelo número de vértices de G. Nos exemplos acima:
  • ordem(G1) = 4
  • ordem(G2) = 6
ADJACÊNCIA
Em um grafo simples (a exemplo de G1) dois vértices v e w são adjacentes (ou vizinhos) se há uma aresta a=(v,w) em G. Está aresta é dita ser incidente a ambos, v e w. É o caso dos vértices Maria e Pedro em G1. No caso do grafo ser dirigido (a exemplo de G2), a adjacência  (vizinhança) é especializada em:

Sucessor: um vértice w é sucessor de v se há um arco que parte de v e chega em w. Em G2, por exemplo, diz-se que Emerson e Antonio são sucessores de Alfredo.

Antecessor: um vértice v é antecessor de w se há um arco que parte de v e chega em w. Em G2, por exemplo, diz-se que Alfredo e Cecília são antecessores de Antonio.

GRAU
O grau de um vértice é dado pelo número de arestas que lhe são incidentes. Em G1, por exemplo:
  • grau(Pedro) = 3
  • grau(Maria) = 2

No caso do grafo ser dirigido (a exemplo de G2), a noção de grau  é especializada em:

Grau de emissão: o grau de emissão de um vértice v corresponde ao número de arcos que partem de v. Em G2, por exemplo:

  • grauDeEmissão(Antonio) = 1
  • grauDeEmissao(Alfredo) = 2
  • grauDeEmissao(Renata) = 0

Grau de recepção: o grau de recepção de um vértice v corresponde ao número de arcos que chegam a v. Em G2, por exemplo:

  • grauDeRecepção(Antonio) = 2
  • grauDeRecepção(Alfredo) = 0
  • grauDeRecepção(Renata) = 1

FONTE
Um vértice v é uma fonte se grauDeRecepção(v) = 0. É o caso dos vértices Isadora, Alfredo e Cecília em G2.

SUMIDOURO

Um vértice v é um sumidouro se grauDeEmissão(v) = 0. É o caso dos vértices Renata e Emerson em G2.
LAÇO
Um laço é uma aresta ou arco do tipo a=(v,v), ou seja, que relaciona um vértice a ele próprio. Em G3 há três ocorrências de laços para um grafo não orientado.

G3:


GRAFO REGULAR
Um grafo é dito ser regular quando todos os seus vértices tem o mesmo grau.

O grafo G4, por exemplo, é dito ser um grafo regular-3 pois todos os seus vértices tem grau 3.

G4:

GRAFO COMPLETO
Um grafo é dito ser completo quando há uma aresta entre cada par de seus vértices. Estes grafos são designados por Kn, onde n é a ordem do grafo.

Um grafo Kn possui o número máximo possível de arestas para um dados n. Ele é, também regular-(n-1) pois todos os seus vértices tem grau n-1.
GRAFO BIPARTIDO
Um grafo é dito ser bipartido quando seu conjunto de vértices V puder ser particionado em dois subconjuntos V1 e V2, tais que toda aresta de G une um vértice de V1 a outro de V2.
Para exemplificar, sejam os conjuntos H={h | h é um homem} e M={m | m é um mulher} e o grafo G(V,A) (ver o exemplo G5) onde:
  • V = H U M
  • A = {(v,w) | (v ∈ H e w ∈ M) ou (v ∈ M e w ∈ H)
    e <v foi namorado de w>}
G5:

O grafo G6 é uma K3,3, ou seja, um grafo bipartido completo que contém duas partições de 3 vértices cada. Ele é completo pois todos os vértices de uma partição estão ligados a todos os vértices da outra partição.
G6:

K3,3

GRAFO ROTULADO
Um grafo G(V,A) é dito ser rotulado em vértices (ou arestas) quando a cada vértice (ou aresta) estiver associado um rótulo. G5 é um exemplo de grafo rotulado.
GRAFO VALORADO
Um grafo  G(V,A) é dito ser valorado quando existe uma ou mais funções relacionando V e/ou A com um conjunto de números.

Para exemplificar (ver o grafo G7), seja G(V,A) onde:

  • V = {v | v é uma cidade com aeroporto}
  • A = {(v,w,t) | <há linha aérea ligando v a w, sendo t o tempo esperado de voo>}
G7:

MULTIGRAFO
Um grafo G(V,A) é dito ser um multigrafo quando existem múltiplas arestas entre pares de vértices de G. No grafo G8, por exemplo, há duas arestas entre os vértices A e C e entre os vértices A e B, caracterizando-o como um multigrafo.
G8:

SUBGRAFO
Um grafo Gs(Vs, As) é dito ser subgrafo de um grafo G(V,A) quando VsV e AsA. O grafo G9, por exemplo, é subgrafo de G8.
G9:

HIPERGRAFO
Um hipergrafo H(V,A) é definido pelo par de conjuntos V e A, onde:
V - conjunto não vazio;
A - uma família e partes não vazias de V.
Seja, por exemplo, o grafo H(V,A) dado por:
V = { x1, x2, x3, x4}
A = { {x1, x2, x4}, {x2, x3, x4}, {x2, x3}}
G10:


CADEIA
Uma cadeia é uma sequência qualquer de arestas adjacentes que ligam dois vértices. O conceito de cadeia vale também para grafos orientados, bastando que se ignore o sentido da orientação dos arcos. A seqüência de vértices (x6, x5, x4, x1) é um exemplo de cadeia em G11.

Uma cadeia é dita ser elementar se não passa duas vezes pelo mesmo vértice.

É dita ser simples se não passa duas vezes pela mesma aresta (arco).

O comprimento de uma cadeia é o número de arestas (arcos) que a compõe.

G11:

CAMINHO
Um caminho é uma cadeia na qual todos os arcos possuem a mesma orientação. Aplica-se, portanto, somente a grafos orientados. A seqüência de vértices (x1, x2, x5, x6, x3) é um exemplo de caminho em G11.
CICLO
Um ciclo é uma cadeia simples e fechada (o vértice inicial é  o mesmo que o vértice final). A seqüência de vértices (x1, x2, x3, x6, x5, x4, x1) é um exemplo de ciclo elementar em G11.
CIRCUITO
Um circuito é um caminho simples e fechado. A seqüência de vértices (x1, x2, x5, x4, x1) é um exemplo de circuito elementar em G11.
FECHO TRANSITIVO
O fecho transitivo direto (ftd) de um vértice v é o conjunto de todos os vértices que podem ser atingidos por algum caminho iniciando em v. O ftd do vértice x5 do grafo G17, por exemplo, é o conjunto: {x1, x2, x3, x4, x5, x6}. Note que o próprio vértice faz parte do ftd já que ele é alcançável partindo-se dele mesmo.

O fecho transitivo inverso (fti) de um vértice v é o conjunto de todos os vértices a partir dos quais se pode atingir v por algum caminho. O fti do vértice x5 do grafo G17, por exemplo, é o conjunto: {x1, x2, x4, x5, x7}. Note que o próprio vértice faz parte do fti já que dele se pode alncançar ele mesmo.


GRAFO CONEXO
Um grafo G(V,A) é dito ser conexo se há pelo menos uma cadeia ligando cada par de vértices deste grafo G.
G12:  
G13:
GRAFO DESCONEXO
Um grafo G(V,A) é dito ser desconexo se há pelo menos um par de vértices que não está ligado por nenhuma cadeia.
G14:
COMPONENTE CONEXA
Um grafo G(V,A) desconexo é formado por pelo menos dois subgrafos conexos, disjuntos em relação aos vértices e maximais em relação à inclusão. Cada um destes subgrafos conexos é disto ser uma componente conexa de G.
G15:
GRAFO FORTEMENTE CONEXO
No caso de grafos orientados, um grafo é dito ser fortemente conexo (f-conexo) se todo par de vértices está ligado por pelo menos um caminho em cada sentido, ou seja, se cada par de vértices participa de um circuito. Isto significa que cada vértice pode ser alcançável partindo-se de qualquer outro vértice do grafo.
G16:
COMPONENTE FORTEMENTE CONEXA
Um grafo G(V,A) que náo é fortemente conexo é formado por pelo menos dois subgrafos fortemente conexos, disjuntos em relação aos vértices e maximais em relação à inclusão. Cada um destes subgrafos é disto ser uma componente fortemente conexa de G, a exemplo dos subgrafos identificados por S1, S2 e S3 em G17.
G17:
VÉRTICE DE CORTE
Um vértice é dito ser um vértice de corte se sua remoção (juntamente com as arestas a ele conectadas) provoca um redução na conexidade do grafo. Os vértices x2 em G13 e G14 são exemplos de vértices de corte.
PONTE
Uma aresta é dita ser um a ponte se sua remoção provoca um redução na conexidade do grafo. As arestas (x1, x2) em G13 e G14 são exemplos de pontes.


BASE
Uma base de um grafo G(V,A) é um subconjunto B ⊆ V, tal que:
  • dois vértices quaisquer de B não são ligados por nenhum caminho;
  • todo vértice não pertencente a B pode ser atingido por um caminho partindo de B.

G18:

ANTI-BASE
Uma anti-base de um grafo G(V,A) é um subconjunto A ⊆ V, tal que:
  • dois vértices quaisquer de A não são ligados por nenhum caminho;
  • de todo vértice não pertencente a A pode ser atingir A por um caminho.
RAIZ
Se a base de um grafo G(V,A) é um conjunto unitário, então esta base é a raiz de G.
G19:
ANTI-RAIZ
Se a anti-base de um grafo G(V,A) é um conjunto unitário, então esta anti-base é a anti-raiz de G.


ÁRVORE
Uma árvore é um grafo conexo sem ciclos.

Seja G(V,A) um grafo com ordem n  2. As propriedades seguintes são equivalentes e suficientes para caracterizar G como uma árvore:

  1. G é conexo e sem ciclos;
  2. G é sem ciclos e tem n-1 arestas;
  3. G é conexo e tem n-1 arestas;
  4. G é sem ciclos e por adição de uma aresta se cria um ciclo e somente um;
  5. G é conexo, mas deixa de sê-lo se uma aresta é suprimida (todas as arestas são pontes);
  6. todo par de vértices de G é unido por uma e somente uma cadeia simples.
G20:
ARBORESCÊNCIA
Uma arborescência é uma árvore que possui uma raiz. Aplica-se, portanto, somente a grafos orientados.
G21:
FLORESTA
Uma floresta é um grafo cujas componentes conexas são árvores.
G22:


GRAFO PLANAR
Um grafo G(V,A) é dito ser planar quando existe alguma forma de se dispor seus vértices em um plano de tal modo que nenhum par de arestas se cruze.

Ao lado aparecem três representações gráficas distintas para uma K4 (grafo completo de ordem 4). Apesar de haver um cruzamento de arestas na primeira das representações gráficas, a K4 é um grafo planar pois admite pelo menos uma representação num plano sem que haja cruzamento de arestas (duas possíveis representações aparecem nas figuras ao lado).

K4:

Já uma K5  e uma K3,3 são exemplos de grafos não planares. Estes dois grafos não admitem representações planares.
K3,3: K5:
COLORAÇÃO
Seja G(V,A) um grafo e C  um conjunto de cores. Uma coloração de G é uma atribuição de alguma cor de C para cada vértice de V, de tal modo que a dois vértices adjacentes sejam atribuídas cores diferentes. Assim sendo, uma coloração de G é uma função f: V C tal que para cada par de vértices (v,w) ∈ A → f(v) ≠ f(w).

Uma k-coloração de G é uma coloração que utiliza um total de k cores. O exemplo ao lado mostra um 4-coloração para o grafo.

NÚMERO CROMÁTICO
Denomina-se número cromático X(G) de um grafo G ao menor número de cores k, para o qual existe uma k-coloração de G. O exemplo ao lado mostra uma 3-coloração para o grafo, que é o número cromático deste grafo.


ISOMORFISMO
Sejam dois grafos G1(V1,A1) e G2(V2,A2). Um isomorfismo de G1 sobre G2 é um mapeamento bijetivo f: V1 V2 tal que (x,y) ∈ A1 se e somente se (f(x),f(y)) ∈ A2, para todo x,y ∈ V1.

Os grafos ao lado são isomorfos pois há a função { (a,2), (b,1), (c,3), (d,4), (e,6), (f,5) } que satisfaz a condição descrita acima.


SCIE (Subconjunto Internamente Estável) (por vezes também conhecido como conjunto independente)
Seja G(V,A) um grafo não orientado. Diz-se que SV é um subconjunto internamente estável se dois vértices quaisquer de S nunca são adjacentes entre si. Para o grafo ao lado, são exemplos de SCIE os conjuntos:
{2, 3}, {1, 4} e {2, 3, 4}

Agora, se dado um SCIE S não existe um outro SCIE S' tal que SS', então S é dito ser um SCIE maximal. Para o grafo ao lado, são exemplos de SCIE maximais os conjuntos:
{2, 3, 4}, {1, 6} e {4, 5}

SCEE (Subconjunto Externamente Estável) (por vezes também conhecido como conjunto absorvente ou conjunto dominante)
Seja G(V,A) um grafo orientado. Diz-se que TV é um subconjunto externamente estável se todo vértice não pertencente a T tiver pelo menos um vértice de T como sucessor.

Agora, se dado um SCEE T não existe um outro SCEE T' tal que T'T, então T é dito ser um SCEE minimal. Para o grafo ao lado, são exemplos de SCEE minimais os conjuntos:
{x2, x4, x6} e {x1, x5, x3}

Este conceito também pode ser aplicado a grafos não orientados, bastando que consideremos que todo vértice exterior a T deva ter como adjacente pelo menos um vértice de T.