Tutorials › Graph Theory (Undergraduate) › Constructing the Petersen Graph

Subgraphs, Isomorphism and Special Families · Tutorial 40 of 799

Constructing the Petersen Graph

Learn the outer-cycle, inner-star and spoke construction of the Petersen graph, and check its vertex, edge and degree counts.

Beginner 10 min read

What You'll Learn

  • Define the outer and inner vertices of the Petersen graph using indices modulo five
  • List its outer-cycle, inner-star and spoke edges explicitly
  • Verify that the construction has ten distinct vertices and fifteen distinct edges
  • Check directly that every vertex has degree three
  • Recognize why changing the inner-edge rule or counting spokes twice gives an incorrect construction or count

Building the Graph from Two Layers

The Petersen graph is a standard finite simple graph, but its familiar drawings can make the construction harder to read than the definition. We will specify it entirely by its vertices and edges. The construction uses an outer cycle of five vertices, an inner set of five vertices joined in a different cyclic order, and five edges connecting corresponding outer and inner vertices. No picture is needed to determine whether an edge is present.

Throughout, indices belong to \(\{0,1,2,3,4\}\) and are read modulo \(5\). Thus, for example, an index of \(5\) means \(0\), and an index of \(-1\) means \(4\). The symbols \(u_i\) and \(v_i\) name different vertices for every pair of indices: no \(u_i\) is equal to any \(v_j\).

Definition: The Petersen graph \(P\) has vertex set \(V(P)=\{u_0,u_1,u_2,u_3,u_4,v_0,v_1,v_2,v_3,v_4\}\). Its edges are the following three sets:

Outer edges: \(u_0u_1,u_1u_2,u_2u_3,u_3u_4,u_4u_0\).
Inner edges: \(v_0v_2,v_1v_3,v_2v_4,v_3v_0,v_4v_1\).
Spokes: \(u_0v_0,u_1v_1,u_2v_2,u_3v_3,u_4v_4\).

The edge set \(E(P)\) is the union of these three lists. Each edge is undirected.

The outer vertices follow the order \(u_0,u_1,u_2,u_3,u_4,u_0\). The inner vertices follow the order \(v_0,v_2,v_4,v_1,v_3,v_0\), so each inner edge joins indices differing by \(2\) modulo \(5\). The spokes join \(u_i\) to \(v_i\). This difference between the outer and inner index orders is essential: joining \(v_i\) to \(v_{i+1}\) would define a different graph.

When edges are listed using indices, an edge such as \(v_3v_0\) is the same undirected edge as \(v_0v_3\). We count it only once. The three edge types are also visibly separated by their endpoints: an outer edge has two \(u\)-vertices, an inner edge has two \(v\)-vertices, and a spoke has one of each.

Why the Construction Has Ten Vertices and Fifteen Edges

Proposition: The construction above defines a simple graph with order \(|V(P)|=10\) and size \(|E(P)|=15\).

Proof. There are five distinct symbols \(u_0,\ldots,u_4\) and five distinct symbols \(v_0,\ldots,v_4\); the two sets of symbols are disjoint. Therefore the vertex set contains \(5+5=10\) distinct vertices. For the outer list, each edge has different endpoints, and the five consecutive pairs around a cycle of length \(5\) are distinct. The same is true of the inner list: each pair has different endpoints, and the five successive pairs in the order \(v_0,v_2,v_4,v_1,v_3,v_0\) are distinct. Each spoke also has different endpoints, since its endpoints have different letter names, and the five spokes have different index pairs. No outer edge can equal an inner edge or a spoke, because the three types have different combinations of \(u\)- and \(v\)-endpoints. Thus there are no loops or repeated edges, so the graph is simple. The three disjoint edge lists each contain five edges, giving \(|E(P)|=5+5+5=15\). \(\square\)

This count uses the fact that edges are undirected and that the listed types do not overlap. It does not count a spoke once from each endpoint: \(u_iv_i\) is a single edge, not two directed edges. The order and size are properties of this specified graph, not consequences of how a drawing happens to look.

Worked Example: Expand the Modular Edge Rule

Use the modular description to write out the inner edges. The rule is to join \(v_i\) to \(v_{i+2}\) for each \(i\in\{0,1,2,3,4\}\).

Substitute each permitted value of \(i\): for \(i=0\), the edge is \(v_0v_2\); for \(i=1\), it is \(v_1v_3\); for \(i=2\), it is \(v_2v_4\); for \(i=3\), it is \(v_3v_5=v_3v_0\); and for \(i=4\), it is \(v_4v_6=v_4v_1\). Therefore the complete inner edge list is \(v_0v_2,v_1v_3,v_2v_4,v_3v_0,v_4v_1\).

Check: the list has one edge for each of the five indices, and the vertices occur in the cyclic order \(v_0,v_2,v_4,v_1,v_3,v_0\). Each consecutive pair in that order appears once in the list, including the closing pair \(v_3v_0\).

Checking the Degrees Directly

Proposition: Every vertex of \(P\) has degree \(3\).

Proof. Fix an index \(i\) modulo \(5\). From the outer edge rule, \(u_i\) is adjacent to \(u_{i-1}\) and \(u_{i+1}\). It is also adjacent to \(v_i\) by the spoke rule. These are three distinct vertices: the two \(u\)-vertices have different indices because \(i-1\) and \(i+1\) differ by \(2\), which is not \(0\) modulo \(5\), and \(v_i\) is not a \(u\)-vertex. The edge lists contain no other edges incident with \(u_i\), so \(\deg(u_i)=3\). For \(v_i\), the inner rule gives neighbors \(v_{i-2}\) and \(v_{i+2}\), and the spoke gives neighbor \(u_i\). The two inner neighbors are distinct because their indices differ by \(4\), which is not \(0\) modulo \(5\); neither is \(u_i\). There are no other edges incident with \(v_i\). Hence \(\deg(v_i)=3\). Since \(i\) was arbitrary, every vertex has degree \(3\). \(\square\)

This direct check also gives an independent verification of the edge count. The sum of the ten vertex degrees is \(10\cdot3=30\). Every undirected edge contributes \(1\) to the degree of each of its two endpoints, so the degree sum is twice the number of edges. Consequently the number of edges is \(30/2=15\), agreeing with the count from the three edge lists.

Worked Example: Find the Neighbors of Each Type

Determine the neighbors of \(u_3\) and \(v_3\), then verify their degrees. All indices are reduced modulo \(5\).

The outer neighbors of \(u_3\) have indices \(3-1=2\) and \(3+1=4\). Its spoke joins it to \(v_3\). Thus \(N(u_3)=\{u_2,u_4,v_3\}\), and these are three distinct vertices, so \(\deg(u_3)=3\).

The inner neighbors of \(v_3\) have indices \(3-2=1\) and \(3+2=5\equiv0\pmod5\). Its spoke joins it to \(u_3\). Thus \(N(v_3)=\{v_1,v_0,u_3\}\), again three distinct vertices, so \(\deg(v_3)=3\).

Check: \(u_2u_3\) and \(u_3u_4\) are in the outer list, and \(u_3v_3\) is in the spoke list. Also, \(v_1v_3\) and \(v_3v_0\) are in the inner list, and \(u_3v_3\) is the spoke. The neighbor lists therefore agree with the defining edge lists.

Using Different Labels

A graph can be described with different vertex names without changing which vertices are adjacent. An explicit relabeling is useful when comparing the layered definition with an edge list that uses consecutive integers. We give one such list and verify it by applying the same naming rule to all three edge types.

Worked Example: Write the Petersen Graph on Vertices 1 Through 10

Assign \(u_i\) the label \(i+1\) and \(v_i\) the label \(i+6\), where \(i\in\{0,1,2,3,4\}\). Thus \(u_0,u_1,u_2,u_3,u_4\) receive labels \(1,2,3,4,5\), and \(v_0,v_1,v_2,v_3,v_4\) receive labels \(6,7,8,9,10\).

Applying the assignment to the outer edges gives \(12,23,34,45,51\). Applying it to the inner edges gives \(68,79,8\,10,96,10\,7\), conventionally written \(68,79,8\,10,69,7\,10\), since the edge \(96\) is the undirected edge \(69\). Applying it to the spokes gives \(16,27,38,49,5\,10\). Hence the relabeled graph has vertex set \(\{1,2,3,4,5,6,7,8,9,10\}\) and edge set \(\{12,23,34,45,51,68,79,8\,10,69,7\,10,16,27,38,49,5\,10\}\).

The assignment is a bijection: the five \(u\)-vertices map to the five labels from \(1\) through \(5\), and the five \(v\)-vertices map to the five labels from \(6\) through \(10\), with no label repeated. Each edge in the new list is the image of the edge with the corresponding \(u\)- or \(v\)-indices. The list contains \(5+5+5=15\) edges and uses all ten assigned vertex labels.

Check: the neighbors of label \(4\), which represents \(u_3\), are \(3,5,9\). These are precisely the labels for \(u_2,u_4,v_3\). The neighbors of label \(9\), which represents \(v_3\), are \(7,6,4\), the labels for \(v_1,v_0,u_3\). Both vertices have degree \(3\), as in the original construction.

In that edge list, spaces in expressions such as \(8\,10\) separate the two endpoint labels; they do not indicate multiplication. Writing a comma-separated edge set makes the endpoints unambiguous. The relabeling is not a new construction: it is the same graph with new names, and each old edge has exactly one corresponding new edge.

Common Construction and Counting Mistakes

Using the wrong inner step. If the inner rule is changed to \(v_iv_{i+1}\), the inner edges become \(v_0v_1,v_1v_2,v_2v_3,v_3v_4,v_4v_0\), rather than the required list \(v_0v_2,v_1v_3,v_2v_4,v_3v_0,v_4v_1\). Both lists have five edges, so counting alone will not detect the mistake. The correction is to follow the defining step of \(2\) modulo \(5\), not \(1\).

Counting each spoke twice. A common incorrect total is \(5+5+10=20\), on the mistaken assumption that each of the five spokes must be counted once from its \(u\)-endpoint and again from its \(v\)-endpoint. Edges are undirected: the spoke \(u_iv_i\) is one edge with two endpoints. The correct total is \(5+5+5=15\). As a separate check, the ten vertices each have degree \(3\), so the degree sum is \(30\), and dividing by \(2\) gives \(15\) edges.

The edge-list construction is useful because it fixes the graph independently of a drawing, while the degree check provides a second way to verify the count. Together, these checks make it possible to recognize the intended graph even when it is presented with a different layout or different vertex labels.

Check Your Understanding

Use the modular indexing rule and the explicit edge lists to answer each question.

  1. Write the five outer edges and five spokes as explicit lists, including the edge that closes the outer cycle.
  2. For \(i=4\), calculate the two inner neighbors of \(v_i\), reducing both indices modulo \(5\).
  3. Explain why an outer edge cannot be the same undirected edge as a spoke.
  4. Use the degree sum to recover the number of edges, given that the graph has ten vertices and each has degree \(3\).
  5. What incorrect inner edge appears if one uses the step \(i+1\) instead of \(i+2\) when \(i=0\)?