Tutorials › Graph Theory (Undergraduate) › The Chinese Postman Problem as Edge Duplication

Eulerian Trails and Circuits · Tutorial 82 of 799

The Chinese Postman Problem as Edge Duplication

Learn how to turn a closed edge-covering route into an Euler circuit by duplicating edges, and express the route cost through the added copies.

Intermediate 9 min read

What You'll Learn

  • Define the undirected Chinese postman problem on a connected weighted graph
  • Distinguish original edge cost from the additional cost of repeated traversals
  • Determine how duplicating a path changes the parities of vertex degrees
  • Formulate the minimum route cost using nonnegative integer edge-copy counts
  • Verify a closed route by checking edge coverage, degree parity and total cost

From Street Inspection to an Euler Circuit

A postperson who must traverse every street and return to the starting point needs a closed route that covers every edge. A graph may have vertices of odd degree, so traversing each edge exactly once may not be possible. The central idea of the undirected Chinese postman problem is to allow repeated traversals: take the original graph, add copies of some edges, and seek a closed route that uses every original edge. If the added copies make all vertex degrees even, the resulting connected multigraph has an Euler circuit, which supplies the route.

Throughout, graphs are finite and undirected. The original graph is simple, connected, and has at least one edge. Each edge \(e\) has a strictly positive cost \(c(e)\), such as its length or the time needed to traverse it. When edges are duplicated, each added copy has the same cost as the original edge. Copies are regarded as distinct edges when counting degrees and describing a route.

Definition: A closed edge-covering route in \(G\) is a closed walk that traverses every edge of \(G\) at least once. Its cost is the sum of the costs of all its traversals, with repeated traversals counted repeatedly. The undirected Chinese postman problem is to find a closed edge-covering route of minimum cost.

The route is a walk, not necessarily a trail: it may use an edge more than once. A trail does not repeat edges, while a walk can. If a route repeats an edge, we can represent each extra traversal by an added copy of that edge. The route then traverses each edge of the resulting multigraph exactly once. That is why the problem can be formulated using Euler circuits.

How Duplicating a Path Changes Parity

Degree parity controls whether an undirected graph has an Euler circuit. Duplicating a path gives a direct way to adjust that parity. A path here has no repeated vertices; its edges are added as copies, one copy of each edge on the path.

Lemma: If a path with distinct endpoints \(u\) and \(v\) is duplicated, the degree of each endpoint increases by \(1\), and the degree of each internal vertex increases by \(2\). Consequently, only the parities at \(u\) and \(v\) change.

Proof. The duplicated path adds one new incident edge at each endpoint, so the degree at each endpoint rises by \(1\). Every internal vertex of the path is incident with two of its edges, and receives one copy of each; its degree rises by \(2\). Since adding \(1\) changes parity and adding \(2\) does not, exactly the endpoint parities change. \(\square\)

This also explains the role of the path’s endpoints. If both are odd-degree vertices, duplicating the path makes them even; internal vertices keep their parity. If paths are chosen so that every odd-degree vertex is an endpoint exactly once, all degrees become even. Such paths exist between any chosen pair of vertices because the original graph is connected. The number of odd-degree vertices is even: the sum of all degrees is \(2|E(G)|\), since each edge contributes one to the degree at each of its two ends.

Worked Example: Duplicating a Path

Let \(G\) have vertex set \(V=\{1,2,3,4\}\) and edge set \(E=\{12,23,34\}\). Each edge has cost \(1\). The degrees are \(1,2,2,1\) at vertices \(1,2,3,4\), respectively. Thus \(1\) and \(4\) have odd degree. Duplicate the path \(1,2,3,4\), adding one copy of each of its three edges.

After duplication, the degrees are \(2,4,4,2\): the endpoints each gain \(1\), and the two internal vertices each gain \(2\). Every degree is even. An Euler circuit in the augmented multigraph is the walk \(1,2,3,4,3,2,1\). It traverses each of the three original edges once going forward and its added copy once coming back.

Check: the original cost is \(1+1+1=3\). The added copies cost \(1+1+1=3\), so the route cost is \(3+3=6\). The displayed walk has six traversals and has the same cost, \(1+1+1+1+1+1=6\). It starts and ends at \(1\), and covers all three original edges.

An Exact Edge-Copy Formulation

For each original edge \(e\), let \(z_e\) be the number of extra copies added. The total number of copies of \(e\) in the augmented graph is \(1+z_e\): one original edge plus the added copies. The degree at a vertex \(v\) in that multigraph is therefore \(\deg_G(v)+\sum_{e\ni v}z_e\). To make it even, the added copies incident with \(v\) must have the same parity as \(\deg_G(v)\).

Theorem: For a connected graph \(G\) with strictly positive edge costs, the minimum cost of a closed edge-covering route is \( \displaystyle \sum_{e\in E(G)}c(e) + \min \sum_{e\in E(G)}c(e)z_e, \) where the minimum is over nonnegative integers \(z_e\) satisfying \( \displaystyle \deg_G(v)+\sum_{e\ni v}z_e\equiv 0\pmod 2 \) for every \(v\in V(G)\).

Proof. First take any closed edge-covering route. For each edge \(e\), let \(z_e\) count how many times the route traverses \(e\) beyond its required first traversal. Then \(z_e\) is a nonnegative integer, and the route cost is \(\sum_{e\in E(G)}c(e)+\sum_{e\in E(G)}c(e)z_e\).

Count the route’s traversals as edges in a multigraph, distinguishing repeated traversals as copies. At each vertex, the number of arrivals equals the number of departures because the route is closed. Each arrival and departure uses an incident edge, so the degree in this traversal multigraph is even. That degree is \(\deg_G(v)+\sum_{e\ni v}z_e\). Hence the copy counts of any closed edge-covering route satisfy all the displayed parity conditions. The minimum over those counts is therefore no greater than the cost of any such route after subtracting the fixed original cost.

Conversely, take any nonnegative integer counts \(z_e\) satisfying the parity conditions and form the multigraph with those added copies. Its degrees are all even by the conditions. It is connected because it contains every edge of the connected original graph. By the Euler circuit characterization, a connected multigraph with all degrees even has an Euler circuit. That circuit traverses every original edge and every added copy once, so it gives a closed edge-covering route whose cost is exactly \(\sum_{e\in E(G)}c(e)+\sum_{e\in E(G)}c(e)z_e\).

There is at least one feasible choice of copy counts: pair the even number of odd-degree vertices and duplicate a path between the vertices in each pair. The lemma shows that this changes the parity at each paired endpoint and nowhere else. Finally, a minimum is attained. A feasible choice gives a finite upper bound on the extra cost; since every edge cost is strictly positive, only finitely many nonnegative integer vectors \(z\) can have extra cost at most that bound. The minimum over the feasible vectors within the bound exists, and no vector outside it can improve the cost. The two directions establish the formula. \(\square\)

The formula separates the unavoidable cost of covering the original edges from the extra cost caused by repeated traversals. It characterizes which edge-copy counts are valid, but it does not prescribe how to find the least-cost counts. In particular, the parity conditions alone do not say which paths should be duplicated when there are several odd-degree vertices.

Worked Example: A Graph That Already Has an Euler Circuit

Let \(G\) have vertex set \(V=\{1,2,3,4\}\) and edge set \(E=\{12,23,34,41\}\). Each edge has cost \(2\). Every vertex has degree \(2\), so choosing \(z_e=0\) for every edge satisfies the parity conditions. The route \(1,2,3,4,1\) traverses every edge once and returns to its start.

The original cost is \(2+2+2+2=8\), and the added-copy cost is \(0\). No route can cost less than \(8\), because it must traverse each of the four positive-cost edges at least once. Thus the displayed route is minimum-cost.

Check: the route uses \(12,23,34,41\), each once, so its total is \(4\cdot2=8\). Its return to vertex \(1\) confirms that it is closed; no duplication is needed.

Worked Example: A Valid Route After Duplicating a Path

Let \(G\) have vertex set \(V=\{1,2,3,4,5\}\) and edge set \(E=\{12,23,31,34,45\}\). Give the edges costs \(c(12)=2\), \(c(23)=1\), \(c(31)=2\), \(c(34)=1\), and \(c(45)=3\). The degrees are \(2,2,3,2,1\), so vertices \(3\) and \(5\) are odd. Duplicate the path \(3,4,5\), adding one copy of \(34\) and one copy of \(45\).

The degrees at \(3\) and \(5\) each rise by \(1\), becoming \(4\) and \(2\). The degree at internal vertex \(4\) rises by \(2\), becoming \(4\). Vertices \(1\) and \(2\) remain at degree \(2\). Hence all degrees in the augmented multigraph are even. An Euler circuit is \(1,2,3,4,5,4,3,1\). The two traversals of \(34\) and \(45\) in this route use the original edges once and the added copies once.

Check: the original edge cost is \(2+1+2+1+3=9\). The added copies cost \(1+3=4\), so the route cost is \(9+4=13\). Directly, the route costs \(2+1+1+3+3+1+2=13\). It starts and ends at \(1\), and includes every original edge. This verifies that the duplication produces a valid route; the example does not claim that this choice minimizes the extra cost.

Why the Formulation Matters—and a Common Pitfall

The edge-copy formulation converts a route problem into a degree-parity problem. Once the copies are chosen, the Euler circuit characterization guarantees a way to traverse the augmented edges as one closed route. This separates two questions: which copies make all degrees even, and how to order the resulting edges into a route. The first is the cost-selection problem; the second is supplied by an Euler circuit.

A common mistake is to report only the cost of the duplicated edges as the cost of the postperson’s route. In the path example, the duplicated copies cost \(3\), but the postperson must still traverse the original three edges, which cost \(3\). The route cost is \(3+3=6\), not \(3\). In general, the added-copy cost is only the extra cost above the unavoidable \(\sum_{e\in E(G)}c(e)\).

Another parity error is to say that every vertex on a duplicated path changes parity. The two endpoints gain one incident copy each and do change parity; an internal vertex gains two incident copies and keeps its parity. For instance, duplicating \(1,2,3,4\) in the first example changes the degrees by \(1,2,2,1\), not by \(1,1,1,1\). Checking degree increments this way helps verify that the chosen copies actually produce an Eulerian multigraph.

Check Your Understanding

Use the edge-copy formulation and the parity argument to answer these questions.

  1. In a connected graph, why does duplicating a path between two odd-degree vertices make both endpoints even while leaving internal-vertex parity unchanged?
  2. A path with three edges has cost \(2\) on each edge and is duplicated in full. Find the original cost, the added-copy cost, and the cost of the resulting closed route that traverses every copy once.
  3. State the parity condition on the nonnegative integers \(z_e\) that makes the augmented graph Eulerian.
  4. Why does a connected multigraph with all degrees even yield a closed edge-covering route?
  5. Can a connected graph with all degrees even require any duplicated edges in a minimum-cost route when all edge costs are strictly positive? Justify your answer.