Lably
Skip to content

Graph homomorphism

Structure-preserving correspondence between node-link graphs

  • 17 min read
  • 5 chapters

Related on Lably

Through Mathematics, Graph (discrete mathematics) and Category (mathematics)

Homomorphisms generalize various notions of graph colorings and allow the expression of an important class of constraint satisfaction problems, such as certain scheduling or frequency assignment problems. The fact that homomorphisms can be composed leads to rich algebraic structures: a preorder on graphs, a distributive lattice, and a category (one for undirected graphs and one for directed graphs). The computational complexity of finding a homomorphism between given graphs is prohibitive in general, but a lot is known about special cases that are solvable in polynomial time. Boundaries between tractable and intractable cases have been an active area of research.

Definitions

In this article, unless stated otherwise, graphs are finite, undirected graphs with loops allowed, but multiple edges (parallel edges) disallowed. A graph homomorphism f from a graph G=(V(G),E(G)) to a graph H=(V(H),E(H)), written f : G → H, is a function from V(G) to V(H) that preserves edges. Formally,

(u,v)∈E(G) implies (f(u),f(v))∈E(H), for all pairs of vertices u,v in V(G).

If there exists any homomorphism from G to H, then G is said to be homomorphic to H or H-colorable. This is often denoted as just

G → H .

The above definition is extended to directed graphs. Then, for a homomorphism f : G → H, (f(u),f(v)) is an arc (directed edge) of H whenever (u,v) is an arc of G.

There is an injective homomorphism from G to H (i.e., one that maps distinct vertices in G to distinct vertices in H) if and only if G is isomorphic to a subgraph of H. If a homomorphism f : G → H is a bijection, and its inverse function f −1 is also a graph homomorphism, then f is a graph isomorphism.

Covering maps are a special kind of homomorphisms that mirror the definition and many properties of covering maps in topology. They are defined as surjective homomorphisms (i.e., something maps to each vertex) that are also locally bijective, that is, a bijection on the neighbourhood of each vertex. An example is the bipartite double cover, formed from a graph by splitting each vertex v into v0 and v1 and replacing each edge u,v with edges u0,v1 and v0,u1. The function mapping v0 and v1 in the cover to v in the original graph is a homomorphism and a covering map.

Graph homeomorphism is a different notion, not related directly to homomorphisms. Roughly speaking, it requires injectivity, but allows mapping edges to paths (not just to edges). Graph minors are a still more relaxed notion.

Cores and retracts

Two graphs G and H are homomorphically equivalent if G → H and H → G. The maps are not necessarily surjective nor injective. For instance, the complete bipartite graphs K2,2 and K3,3 are homomorphically equivalent: each map can be defined as taking the left (resp. right) half of the domain graph and mapping to just one vertex in the left (resp. right) half of the image graph.

A retraction is a homomorphism r from a graph G to a subgraph H of G such that r(v) = v for each vertex v of H. In this case the subgraph H is called a retract of G.

A core is a graph with no homomorphism to any proper subgraph. Equivalently, a core can be defined as a graph that does not retract to any proper subgraph. Every graph G is homomorphically equivalent to a unique core (up to isomorphism), called the core of G. Notably, this is not true in general for infinite graphs. However, the same definitions apply to directed graphs and a directed graph is also equivalent to a unique core. Every graph and every directed graph contains its core as a retract and as an induced subgraph.

For example, all complete graphs Kn and all odd cycles (cycle graphs of odd length) are cores. Every 3-colorable graph G that contains a triangle (that is, has the complete graph K3 as a subgraph) is homomorphically equivalent to K3. This is because, on one hand, a 3-coloring of G is the same as a homomorphism G → K3, as explained below. On the other hand, every subgraph of G trivially admits a homomorphism into G, implying K3 → G. This also means that K3 is the core of any such graph G. Similarly, every bipartite graph that has at least one edge is equivalent to K2.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Discrete mathematics