What is Chordal Graphs?

Last Updated : 23 Jul, 2025

Chordal graphs, also known as triangulated graphs, are a class of undirected graphs characterized by the absence of "induced cycles" of length greater than three. This means that in a chordal graph, any cycle of four or more vertices must have an additional edge (chord) connecting two non-consecutive vertices within the cycle. This property makes chordal graphs simpler to work with in several computational and theoretical settings.

A chordal graph is a special type of undirected simple graph. A graph is chordal if and only if every induced cycle of length 4 or more is such that any two non-adjacent vertices of the cycle are connected as a chord or edge. That chord is not part of the graph cycle. A graph cycle without a chord is called a "graph hole" or "chordless cycle."

Chordal Graph

A chord divides a cycle into two parts. If at least one of the cycles is not a cycle, then it has another chord.

Graph hole/Chord less cycle

Subclasses of Chordal Graphs 

There are several important subclasses of graphs, and all have their own properties and applications. Some of the most important are mentioned below.

Complete Graph 

A complete graph is a chordal graph, in which every vertex is connected to adjacent vertices. Every vertex has the same degree. A complete graph is a superset of a chordal graph. because every induced subgraph of a graph is also a chordal graph.

Complete graph

Interval Graph 

An interval graph is a chordal graph that can be represented by a set of intervals on a line such that two intervals have an intersection if and only if the corresponding vertices in the graph are adjacent.

Interval Graph

Block Graph 

A block graph is a chordal graph where every block (maximal 2 connected subgraphs) is a complete graph.

Clique-Sum Graph 

A clique-sum graph is a chordal graph that can be constructed by sequences of operations called clique-sum. where two graphs are merged by identifying a common clique.

Clique-Sum Graph 

Perfect Elimination Graph  

A Perfect Elimination Graph is a chordal graph in which each induced subgraph has a perfect elimination ordering, which is an ordering of vertices in which every vertex is adjacent to every later vertex in the ordering that is also a neighbor of the vertex. 

Perfect elimination ordering -- (B,A,C,D)

Strongly Chordal Graph  

A strongly chordal graph is a chordal graph in which every induced subgraph has a perfect elimination ordering. That is, there exists an ordering of the vertices such that, for each vertex, its neighbors that come later in the ordering form a clique.

Untitled
Strongly Chordal Graph

Properties of Chordal Graphs

Some of the properties of Chordal graph are:

  • Perfect Elimination Ordering (PEO): Chordal graphs have a perfect elimination ordering: a sequence of vertices such that, for every vertex v, v and its neighbors that appear later in the sequence form a clique (a complete subgraph).
    • This ordering can be constructed in O(∣V∣ + ∣E∣) time, where V and E are the vertices and edges of the graph, respectively.
  • Subgraph Properties: Any induced subgraph of a chordal graph is also chordal.
  • Existence of Cliques: Every maximal clique in a chordal graph can be discovered using its perfect elimination ordering.
  • Treewidth and Chordality: A graph is chordal if and only if it has a tree decomposition where every bag (subsets of vertices in the decomposition) is a clique in the graph.
  • Simplicial Vertices: A vertex is simplicial if its neighborhood forms a clique. In a chordal graph, there’s always at least one simplicial vertex, which is useful for algorithms that rely on iterative elimination, like certain matrix factorization techniques.

Characterization of Chordal Graphs

Chordal graphs can be characterized in several ways:

  • Cycle-Free Characterization: A graph is chordal if and only if every cycle of four or more vertices has a chord.
  • PEO Characterization: A graph is chordal if and only if it has a Perfect Elimination Ordering.
  • Clique Tree Characterization: The maximal cliques of a chordal graph can be arranged in a clique tree, where the intersection of any two cliques is contained in all cliques on the path between them.

Solved Examples of Chordal Graphs

Example 1: Checking if a Graph is Chordal

Problem: Determine if the following graph is chordal. Vertices: {A, B, C, D, E} Edges: {(A, B), (A, C), (B, C), (B, D), (C, D), (C, E), (D, E)}

Solution:

List all cycles in the graph.

Cycle 1: A-B-C-A (triangle, no need to check further)

Cycle 2: B-C-D-B (triangle, no need to check further)

Cycle 3: C-D-E-C (triangle, no need to check further)

Cycle 4: A-B-C-D-A (has length 4)

Checking if there is a chord in the cycle of length 4.

In cycle A-B-C-D-A, the chord is B-D.

Since all cycles of length 4 or more have chords, the graph is chordal.

Example 2: Constructing a Chordal Graph

Problem: Add edges to the following graph to make it chordal. Vertices: {A, B, C, D, E} Edges: {(A, B), (B, C), (C, D), (D, E)}

Solution:

Identify cycles of length 4 or more.

Cycle 1: A-B-C-D-E-A (length 5)

Add edges to create chords in the cycle.

Adding edge A-C breaks the cycle A-B-C-D-E-A into two cycles: A-B-C-A and A-C-D-E-A.

The modified graph is now chordal.

Example 3: Perfect Elimination Ordering

Problem: Find a perfect elimination ordering for the following graph. Vertices: {A, B, C, D} Edges: {(A, B), (A, C), (B, C), (B, D)}

Solution:

Select a vertex with the least number of neighbors.

Vertex A has two neighbors (B, C).

Remove vertex A and its edges, and select the next vertex with the least number of neighbors.

Remove A. The remaining graph has vertices {B, C, D} with edges {(B, C), (B, D)}.

Continue this process.

Remove C. The remaining graph has vertices {B, D} with edge {(B, D)}.

Remove D. The remaining graph has vertex {B}.

The perfect elimination ordering is (A, C, D, B).

Chordal Graphs: Practice Problems

Problem 1: Determine if the following graph is chordal. Vertices: {A, B, C, D, E} Edges: {(A, B), (B, C), (C, D), (D, E), (E, A)}

Problem 2: Add edges to make the following graph chordal. Vertices: {A, B, C, D} Edges: {(A, B), (B, C), (C, D)}

Problem 3: Find a perfect elimination ordering for the following graph. Vertices: {A, B, C, D, E} Edges: {(A, B), (A, C), (A, D), (B, C), (B, D), (C, D), (C, E)}

Problem 4: Verify if the given graph is chordal. Vertices: {A, B, C, D, E, F} Edges: {(A, B), (A, C), (B, C), (B, D), (C, D), (D, E), (E, F)}

Problem 5: Add edges to make the following graph chordal. Vertices: {A, B, C, D, E, F} Edges: {(A, B), (B, C), (C, D), (D, E), (E, F), (F, A)}

Problem 6: Find a perfect elimination ordering for the following graph. Vertices: {A, B, C, D, E} Edges: {(A, B), (A, D), (B, C), (C, D), (D, E)}

Problem 7: What is Chordal Graphs? Determine if the following graph is chordal. Vertices: {A, B, C, D} Edges: {(A, B), (B, C), (C, D), (A, D)}

Problem 8: Add edges to make the following graph chordal. Vertices: {A, B, C, D, E} Edges: {(A, B), (B, C), (C, D), (D, E), (A, E)}

Problem 9: Find a perfect elimination ordering for the following graph. Vertices: {A, B, C, D, E, F} Edges: {(A, B), (A, C), (B, C), (C, D), (D, E), (E, F)}

Problem 10: Verify if the given graph is chordal. Vertices: {A, B, C, D, E} Edges: {(A, B), (B, C), (C, D), (D, E), (E, A), (A, C)}

Related Articles

Comment