Modelos Gráficos

A parte anterior trouxe as diferentes ferramentas de raciocínio, revisão e solução de problemas. Nesta parte, estudaremos as estruturas discretas que formam a base da formulação de muitos problemas da vida real.

As duas estruturas discretas que iremos cobrir são gráficos e árvores. Um gráfico é um conjunto de pontos, chamados de nós ou vértices, que são interconectados por um conjunto de linhas chamadas de arestas. O estudo de gráficos, ougraph theory é uma parte importante de uma série de disciplinas nas áreas de matemática, engenharia e ciência da computação.

O que é um gráfico?

Definition - Um gráfico (denotado como $ G = (V, E) $) consiste em um conjunto não vazio de vértices ou nós V e um conjunto de arestas E.

Example - Vamos considerar que um gráfico é $ G = (V, E) $ onde $ V = \ lbrace a, b, c, d \ rbrace $ e $ E = \ lbrace \ lbrace a, b \ rbrace, \ lbrace a , c \ rbrace, \ lbrace b, c \ rbrace, \ lbrace c, d \ rbrace \ rbrace $

Degree of a Vertex - O grau de um vértice V de um grafo G (denotado por deg (V)) é o número de arestas incidentes com o vértice V.

Vértice Grau Par ou ímpar
uma 2 até
b 2 até
c 3 ímpar
d 1 ímpar

Even and Odd Vertex - Se o grau de um vértice é par, o vértice é chamado de vértice par e se o grau de um vértice é ímpar, o vértice é chamado de vértice ímpar.

Degree of a Graph- O grau de um gráfico é o maior grau de vértice desse gráfico. Para o gráfico acima, o grau do gráfico é 3.

The Handshaking Lemma - Em um gráfico, a soma de todos os graus de todos os vértices é igual a duas vezes o número de arestas.

Tipos de gráficos

Existem diferentes tipos de gráficos, que aprenderemos na seção seguinte.

Gráfico Nulo

Um gráfico nulo não possui arestas. O gráfico nulo de $ n $ vértices é denotado por $ N_n $

Gráfico Simples

Um gráfico é chamado de gráfico simples / gráfico estrito se o gráfico não for direcionado e não contiver nenhum loop ou arestas múltiplas.

Multi-gráfico

Se em um gráfico várias arestas entre o mesmo conjunto de vértices forem permitidas, ele é chamado de Multigraph. Em outras palavras, é um gráfico com pelo menos um loop ou arestas múltiplas.

Gráfico direcionado e não direcionado

Um gráfico $ G = (V, E) $ é chamado de gráfico direcionado se o conjunto de arestas for feito de um par de vértices ordenado e um gráfico é chamado de não direcionado se o conjunto de arestas for feito de um par de vértices não ordenado.

Gráfico conectado e desconectado

Um gráfico é conectado se quaisquer dois vértices do gráfico estiverem conectados por um caminho; enquanto um gráfico é desconectado se pelo menos dois vértices do gráfico não estiverem conectados por um caminho. Se um gráfico G é desconectado, então cada subgráfico conectado máximo de $ G $ é chamado de um componente conectado do gráfico $ G $.

Gráfico Regular

Um gráfico é regular se todos os vértices do gráfico tiverem o mesmo grau. Em um grafo regular G de grau $ r $, o grau de cada vértice de $ G $ é r.

Gráfico Completo

Um gráfico é chamado de gráfico completo se cada par de dois vértices são unidos por exatamente uma aresta. O gráfico completo com n vértices é denotado por $ K_n $

Gráfico de Ciclo

Se um gráfico consiste em um único ciclo, é denominado gráfico de ciclo. O gráfico do ciclo com n vértices é denotado por $ C_n $

Gráfico Bipartido

Se o conjunto de vértices de um grafo G pode ser dividido em dois conjuntos disjuntos, $ V_1 $ e $ V_2 $, de tal forma que cada aresta do grafo une um vértice em $ V_1 $ a um vértice em $ V_2 $, e não há arestas em G que conectem dois vértices em $ V_1 $ ou dois vértices em $ V_2 $, então o grafo $ G $ é chamado de grafo bipartido.

Gráfico Bipartido Completo

Um grafo bipartido completo é um grafo bipartido no qual cada vértice do primeiro conjunto é unido a cada vértice do segundo conjunto. O gráfico bipartido completo é denotado por $ K_ {x, y} $ onde o gráfico $ G $ contém $ x $ vértices no primeiro conjunto e $ y $ vértices no segundo conjunto.

Representação de Gráficos

Existem basicamente duas maneiras de representar um gráfico -

  • Matriz de adjacência
  • Lista de Adjacência

Matriz de adjacência

Uma Matriz de Adjacência $ A [V] [V] $ é um array 2D de tamanho $ V \ times V $ onde $ V $ é o número de vértices em um gráfico não direcionado. Se houver uma borda entre $ V_x $ a $ V_y $ então o valor de $ A [V_x] [V_y] = 1 $ e $ A [V_y] [V_x] = 1 $, caso contrário, o valor será zero. E para um gráfico direcionado, se houver uma borda entre $ V_x $ a $ V_y $, então o valor de $ A [V_x] [V_y] = 1 $, caso contrário, o valor será zero.

Adjacency Matrix of an Undirected Graph

Vamos considerar o seguinte grafo não direcionado e construir a matriz de adjacência -

A matriz de adjacência do gráfico não direcionado acima será -

a

b

c

d

a

0

1

1

0

b

1

0

1

0

c

1

1

0

1

d

0

0

1

0

Adjacency Matrix of a Directed Graph

Vamos considerar o seguinte grafo direcionado e construir sua matriz de adjacência -

A matriz de adjacência do gráfico direcionado acima será -

a

b

c

d

a

0

1

1

0

b

0

0

1

0

c

0

0

0

1

d

0

0

0

0

Lista de Adjacência

Na lista de adjacência, um array $ (A [V]) $ de listas encadeadas é usado para representar o grafo G com $ V $ número de vértices. Uma entrada $ A [V_x] $ representa a lista encadeada de vértices adjacentes ao vértice $ Vx-th ​​$. A lista de adjacências do grafo não direcionado é mostrada na figura abaixo -

Gráfico plano vs. não plano

Planar graph- Um gráfico $ G $ é chamado de gráfico planar se puder ser desenhado em um plano sem nenhuma aresta cruzada. Se desenharmos um gráfico no plano sem cruzamento de arestas, isso é chamado de embutir o gráfico no plano.

Non-planar graph - Um gráfico não é plano se não puder ser desenhado em um plano sem o cruzamento das bordas do gráfico.

Isomorfismo

Se dois gráficos G e H contêm o mesmo número de vértices conectados da mesma maneira, eles são chamados de gráficos isomórficos (denotados por $ G \ cong H $).

É mais fácil verificar o não isomorfismo do que o isomorfismo. Se qualquer uma das seguintes condições ocorrer, então dois gráficos não são isomórficos -

  • O número de componentes conectados é diferente
  • Cardinalidades definidas por vértices são diferentes
  • Cardinalidades definidas pela borda são diferentes
  • As sequências de graus são diferentes

Exemplo

Os gráficos a seguir são isomórficos -

Homomorfismo

Um homomorfismo de um gráfico $ G $ para um gráfico $ H $ é um mapeamento (pode não ser um mapeamento bijetivo) $ h: G \ rightarrow H $ tal que - $ (x, y) \ in E (G) \ rightarrow (h (x), h (y)) \ em E (H) $. Ele mapeia vértices adjacentes do gráfico $ G $ aos vértices adjacentes do gráfico $ H $.

Propriedades dos homomorfismos

  • Um homomorfismo é um isomorfismo se for um mapeamento bijetivo.

  • O homomorfismo sempre preserva as arestas e a conexão de um gráfico.

  • As composições de homomorfismos também são homomorfismos.

  • Saber se existe algum grafo homomórfico de outro grafo é um problema NPcompleto.

Gráficos de Euler

Um gráfico conectado $ G $ é chamado de gráfico de Euler, se houver uma trilha fechada que inclui todas as arestas do gráfico $ G $. Um caminho de Euler é um caminho que usa cada aresta de um gráfico exatamente uma vez. Um caminho de Euler começa e termina em vértices diferentes.

Um circuito de Euler é um circuito que usa cada aresta de um gráfico exatamente uma vez. Um circuito de Euler sempre começa e termina no mesmo vértice. Um grafo conectado $ G $ é um grafo de Euler se e somente se todos os vértices de $ G $ forem de grau par, e um grafo conectado $ G $ é euleriano se e somente se seu conjunto de arestas puder ser decomposto em ciclos.

O gráfico acima é um gráfico de Euler como $ “a \: 1 \: b \: 2 \: c \: 3 \: d \: 4 \: e \: 5 \: c \: 6 \: f \: 7 \: g ”$ cobre todas as arestas do gráfico.

Gráficos Hamiltonianos

Um grafo conectado $ G $ é chamado de grafo hamiltoniano se houver um ciclo que inclui todos os vértices de $ G $ e o ciclo é chamado de ciclo hamiltoniano. O passeio hamiltoniano no gráfico $ G $ é um passeio que passa por cada vértice exatamente uma vez.

Se $ G $ é um gráfico simples com n vértices, onde $ n \ geq 3 $ Se $ deg (v) \ geq \ frac {n} {2} $ para cada vértice $ v $, então o gráfico $ G $ é Gráfico hamiltoniano. Isso é chamadoDirac's Theorem.

Se $ G $ é um gráfico simples com $ n $ vértices, onde $ n \ geq 2 $ if $ deg (x) + deg (y) \ geq n $ para cada par de vértices não adjacentes x e y, então o o gráfico $ G $ é o gráfico hamiltoniano. Isso é chamadoOre's theorem.