Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Isomorphism and Homeomorphism of graphs
In graph theory, isomorphism and homomorphism are ways to compare the structure of two graphs. Isomorphism checks whether two graphs are structurally identical, while homomorphism is a more relaxed mapping that preserves adjacency but does not require a one-to-one correspondence.
Isomorphism
Two graphs G and H are called isomorphic (denoted by G ≅ H) if they contain the same number of vertices connected in the same way. Formally, there must exist a bijective function f: V(G) → V(H) such that two vertices are adjacent in G if and only if their images are adjacent in H.
Checking for Non-Isomorphism
It is often easier to check non-isomorphism than isomorphism. If any of the following conditions occur, then two graphs are not isomorphic −
- The number of connected components are different
- Vertex-set cardinalities are different (different number of vertices)
- Edge-set cardinalities are different (different number of edges)
- Degree sequences are different
Example: Isomorphic Graphs
The following two graphs are isomorphic − they have the same number of vertices, edges, and degree sequence ?
Both graphs have 4 vertices, 5 edges, and the same degree sequence (2, 2, 3, 3). The mapping a→1, b→2, c→3, d→4 preserves all adjacency relationships, confirming the graphs are isomorphic despite their different visual layouts.
Although the graphs look different visually, there exists a one-to-one mapping between their vertices that preserves all adjacency relationships, confirming they are isomorphic.
Homomorphism
A homomorphism from a graph G to a graph H is a mapping h: V(G) → V(H) such that −
(x, y) ∈ E(G) → (h(x), h(y)) ∈ E(H)
This mapping does not need to be bijective. It maps adjacent vertices of graph G to adjacent vertices of graph H, but multiple vertices in G may map to the same vertex in H.
Example: Graph Homomorphism
The following diagram shows a homomorphism from graph G (4 vertices) to graph H (3 vertices). Multiple vertices in G can map to the same vertex in H, as long as adjacency is preserved −
Vertices 1 and 2 in G both map to vertex a in H, so this mapping is not bijective (not an isomorphism). However, every edge in G maps to an edge in H, so adjacency is preserved and it is a valid homomorphism.
Properties of Homomorphisms
- A homomorphism is an isomorphism if it is a bijective mapping.
- Homomorphism always preserves edges and connectedness of a graph.
- The composition of homomorphisms is also a homomorphism.
- Determining whether a homomorphism exists from one graph to another is an NP-complete problem.
Isomorphism vs Homomorphism
| Property | Isomorphism | Homomorphism |
|---|---|---|
| Mapping type | Bijective (one-to-one and onto) | Not necessarily bijective |
| Preserves adjacency | Yes (both ways) | Yes (one direction only) |
| Vertex count preserved | Yes | No |
| Edge count preserved | Yes | No |
Conclusion
Isomorphism establishes that two graphs are structurally identical through a bijective mapping, while homomorphism is a more general mapping that only requires adjacent vertices to remain adjacent. Every isomorphism is a homomorphism, but not every homomorphism is an isomorphism.
