ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Discrete Structures
    GE-167
    Progress0 / 67 topics
    Topics
    1. Mathematical Reasoning: Propositional and Predicate Logic2. Propositional Logic: Logical Operators3. Translations Between Symbolic Expressions and Formal English Expression4. Logical Equivalences5. Predicate Logic: Quantifiers6. Nested Quantification7. Equivalences in Predicate Logic8. Translations Between Symbolic Forms and Formal English9. Rules of Inference: Proof Methods and Strategies10. Direct Proof11. Proof by Contraposition12. Proof by Induction13. Proof by Implication14. Existence Proof15. Uniqueness Proofs16. Trivial Proofs17. Vacuous Proofs18. Sets: Notations and Set Operations19. Venn Diagrams20. Countable and Uncountable Sets21. Relations: Equivalence Relations and Partitions22. Partial Orderings23. Recurrence Relations24. Functions: Injective, Surjective, Bijective25. Special Types of Functions26. Function Composition27. Inverse Functions28. Recursive Functions29. Compositions30. Number Theory: Sequences and Series31. Counting: Inclusion and Exclusion Principle32. Pigeonhole Principle33. Permutations and Combinations34. Integers and Divisibility: Division Theorem35. Modular Arithmetic36. LCM and GCD37. Euclidean and Extended Euclidean Method38. Finding Solutions to Congruence39. Primes: Fundamental Theorem of Arithmetic40. Characterizations of Primes41. Mersenne Primes42. Induction: Weak Induction43. Strong Induction44. Recursion and Recurrences: Formulation of Recurrences45. Closed Formulas46. Counting: Product Rule and Sum Rule47. Principle of Inclusion-Exclusion48. Binomial Coefficients49. Pascal's Identity and Pascal’s Triangle50. Binomial Theorem51. Relations: Reflexive, Symmetric, Transitive, and Antisymmetric52. Equivalence Relations and Equivalence Classes53. Partial Orders54. Graph Theory: Terminologies55. Elements of Graph Theory56. Planar Graphs57. Graph Coloring58. Euler Graph59. Hamiltonian Path60. Rooted Trees61. Graph Traversals62. Handshaking Lemma and Corollary63. Special Families of Graphs64. Graph Isomorphism65. Planarity in Graphs66. Eulerian and Hamiltonian Graphs67. Trees in Graph Theory
    GE-167›Graph Isomorphism
    Discrete StructuresTopic 64 of 67

    Graph Isomorphism

    9 minread
    1,469words
    Intermediatelevel

    Graph Isomorphism

    Graph isomorphism is a concept in graph theory that describes when two graphs are structurally identical, meaning there is a one-to-one correspondence between their vertices and edges that preserves adjacency. Two graphs G1=(V1,E1)G_1 = (V_1, E_1)G1​=(V1​,E1​) and G2=(V2,E2)G_2 = (V_2, E_2)G2​=(V2​,E2​) are said to be isomorphic if there is a bijection (a one-to-one and onto mapping) between their vertex sets such that the adjacency relationships are preserved. In other words, if two graphs are isomorphic, you can redraw one to match the other by relabeling the vertices.


    Formal Definition of Graph Isomorphism

    Let G1=(V1,E1)G_1 = (V_1, E_1)G1​=(V1​,E1​) and G2=(V2,E2)G_2 = (V_2, E_2)G2​=(V2​,E2​) be two graphs. G1G_1G1​ and G2G_2G2​ are isomorphic if there exists a bijection f:V1→V2f: V_1 \to V_2f:V1​→V2​ such that for every pair of vertices u,v∈V1u, v \in V_1u,v∈V1​, there is an edge between uuu and vvv in G1G_1G1​ if and only if there is an edge between f(u)f(u)f(u) and f(v)f(v)f(v) in G2G_2G2​. In other words, the adjacency relation is preserved under the mapping fff.

    Mathematically, G1≅G2G_1 \cong G_2G1​≅G2​ means that:

    (u,v)∈E1  ⟺  (f(u),f(v))∈E2(u, v) \in E_1 \iff (f(u), f(v)) \in E_2(u,v)∈E1​⟺(f(u),f(v))∈E2​

    where fff is the isomorphism function between the two vertex sets.


    Key Points to Consider About Graph Isomorphism

    1. Isomorphism Does Not Involve the Labeling of Vertices:

      • The two graphs may look different in terms of their vertex labels, but as long as their structure (edges and connectivity) can be matched through a relabeling, they are isomorphic.
      • For example, two graphs could have the same number of vertices, edges, and the same degree sequence but have different vertex labels. If their structure can be made identical by relabeling, they are isomorphic.
    2. Isomorphic Graphs Have the Same Properties:

      • If two graphs are isomorphic, they share many important properties, such as:
        • The number of vertices and edges.
        • The degree sequence (i.e., the number of edges connected to each vertex).
        • The number of connected components.
        • The number of cycles and other structural features.
    3. Graph Isomorphism vs. Graph Homeomorphism:

      • Homeomorphism refers to graphs that are similar in structure but may allow certain transformations (like adding or removing edges), while isomorphism requires a one-to-one mapping between vertices and edges that preserves connectivity.
    4. Testing Graph Isomorphism:

      • Determining if two graphs are isomorphic is a computationally difficult problem. While checking isomorphism by brute force (checking all possible mappings) is infeasible for large graphs, some specialized algorithms exist for specific types of graphs. In general, the graph isomorphism problem is in NP (nondeterministic polynomial time), but it is not yet known whether it is NP-complete.

    Conditions for Graph Isomorphism

    When checking whether two graphs are isomorphic, you can use the following conditions:

    1. Same Number of Vertices and Edges:

      • If two graphs have different numbers of vertices or edges, they cannot be isomorphic.
    2. Same Degree Sequence:

      • The degree sequence (the list of vertex degrees sorted in non-decreasing order) must be the same for both graphs. If the degree sequences do not match, the graphs are not isomorphic.
    3. Same Number of Connected Components:

      • If one graph is disconnected and the other is connected, they cannot be isomorphic.
    4. Same Graph Invariants:

      • Other invariants like the number of cycles of each length, or the girth (the length of the shortest cycle), must match for the two graphs to be isomorphic.

    Example of Graph Isomorphism

    Consider the two following graphs G1G_1G1​ and G2G_2G2​:

    Graph 1 G1G_1G1​:

       A --- B
       |     |
       C --- D
    

    Graph 2 G2G_2G2​:

       X --- Y
       |     |
       Z --- W
    

    Both graphs have:

    • 4 vertices: A,B,C,DA, B, C, DA,B,C,D in G1G_1G1​, and X,Y,Z,WX, Y, Z, WX,Y,Z,W in G2G_2G2​.
    • 4 edges: (A,B),(B,D),(D,C),(C,A)(A, B), (B, D), (D, C), (C, A)(A,B),(B,D),(D,C),(C,A) in G1G_1G1​, and (X,Y),(Y,W),(W,Z),(Z,X)(X, Y), (Y, W), (W, Z), (Z, X)(X,Y),(Y,W),(W,Z),(Z,X) in G2G_2G2​.
    • The degree sequence for both graphs is [2,2,2,2][2, 2, 2, 2][2,2,2,2], meaning each vertex has degree 2.

    By mapping:

    • A→XA \to XA→X
    • B→YB \to YB→Y
    • C→ZC \to ZC→Z
    • D→WD \to WD→W

    we find that the adjacency relationships are preserved:

    • AAA is adjacent to BBB and CCC, and XXX is adjacent to YYY and ZZZ.
    • BBB is adjacent to AAA and DDD, and YYY is adjacent to XXX and WWW.
    • And similarly for the other vertices.

    Thus, G1G_1G1​ and G2G_2G2​ are isomorphic graphs.


    Graph Isomorphism Algorithms

    There are various algorithms that attempt to solve the graph isomorphism problem. Some of the notable algorithms are:

    1. Brute Force: This involves checking all possible vertex mappings between the two graphs, which is highly inefficient for large graphs.
    2. Nauty and Traces Algorithms: These are among the most efficient algorithms for finding graph isomorphisms. They use sophisticated techniques such as graph canonical forms and group theory to reduce the number of potential mappings to check.
    3. Subgraph Isomorphism: In some cases, you can use the subgraph isomorphism problem (which is NP-complete) as a tool to check for graph isomorphism by attempting to match subgraphs of the two graphs.

    Applications of Graph Isomorphism

    Graph isomorphism is used in various real-world and theoretical applications:

    1. Pattern Recognition: In image analysis and computer vision, recognizing isomorphic subgraphs in images helps in object recognition or scene analysis.
    2. Chemistry: In cheminformatics, graph isomorphism is used to compare molecular structures. The atoms in molecules can be represented as vertices, and the bonds as edges. Isomorphic graphs indicate identical molecular structures.
    3. Network Topology: In computer science and telecommunications, determining whether two network topologies are isomorphic can help in identifying equivalent network configurations.
    4. Circuit Design: In electrical engineering, verifying whether two circuits are isomorphic can help in optimizing and simplifying circuit designs.

    Conclusion

    Graph isomorphism is a key concept in graph theory, where two graphs are considered identical if their structure can be matched through a re-labeling of vertices. While determining if two graphs are isomorphic can be computationally challenging, understanding the underlying properties and conditions that govern isomorphism can help in both theoretical analysis and practical applications across various fields such as chemistry, computer science, and network theory.

    Previous topic 63
    Special Families of Graphs
    Next topic 65
    Planarity in Graphs

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time9 min
      Word count1,469
      Code examples0
      DifficultyIntermediate