Skip to content

Graph Properties and Definitions pt3

Here we regroup some definitions which are fundamental to get started on graph theory.

Graph Isomorphism

Let's consider two graphs G1=(V1,E1) and G2=(V2,E2)

An isomorphism is a relation ϕ:V1V2 between the vertices of the first graph and those of the second one

  1. It must be bijective
  2. u,vV1|(u,v)E1(ϕ(u),ϕ(v))E2
    1. The mapping preserves the adjacency between vertices of the same graph
    2. if u1,v1 are connected through an edge, then u2,v2 must be too

We say that " G1 and G2 are isomorphic", or G1G2, if there is an isomorphism between G1 and G2.

Here's an example:

ex isomorphism

So now, let's consider these two graphs: can we find an isomorphism?

python
G1              |   G2
    (1)         |       (a)-(b)-(c)
  /     \       |
(3)     (2)     |

#This is an isomorphism G1 ≃ G2!
# ϕ(1) = a
# ϕ(2) = b
# ϕ(3) = c
G1              |   G2
    (1)         |       (a)-(b)-(c)
  /     \       |
(3)     (2)     |

#This is an isomorphism G1 ≃ G2!
# ϕ(1) = a
# ϕ(2) = b
# ϕ(3) = c

Mind that there is more than one isomorphism

  • To this day, it is an NP-complete problem to verify if two graphs are isomorphic. Nobody has found a solution in polynomial time.

Necessary but not sufficient conditions

From another point of view, it is relatively easy to find out whether two graphs G1,G2 are not isomorphic. Here are some properties that stand true but are not sufficient:

  1. |V1|=|V2|,|E1|=|E2| are necessary (but not sufficient) conditions
  2. ϕ(uV)V2deg(uV)=deg(ϕ(uV))
    1. The isomorphism maps vertices with the same degree
  3. Degree Sequence: given G=(V,E) is a sorted vector of length n=|V|, which means vertices are sorted based on their degrees.
    1. Two graphs are isomorphic if they have the same degree sequences, degseq(G1)=degseq(G2) is a necessary (but not sufficient) condition
  4. CC(G1)=CC(G2)
    1. Same number of connected components
  5. ω(G1)=ω(G2)
    1. Clique number are the same

There are many properties we could list but nothing helped to solve the problem.

Cut

A cut is a pair (S,VS), SV dividing a graph in two partitions of vertices.

  • Given a graph, we can always partition it into two subsets of vertices
  • Given a cut, we can point out the edges crossing it.

cut

Cut respects A

Let:

  • G be a graph G(V,E)
  • AE subset of edges.
  • (S,VS) be a cut (which partitions into two subsets the vertices of the graph G )

The cut (S,VS) is said to respect A, if no edges of A cross the cut.

Light edge

Light edge is defined with respect to a particular cut.

Light edge (u,v)E, is an edge such that:

  • (uSvVS)(uVSvS)
    • The vertices u,v are not in the same subset
  • w(u,v)w(x,y)
    • The edge has the minimum weight out of all the edges crossing the cut

Safe Edge

Let

  • AE be a subset of edges, contained in some MST for G(V,E).
  • (u,v)A be an edge
    • (u,v)E.

The edge (u,v) is a safe edge for A if A(u,v) is contained in some MST too.