# Hackenbush

Hackenbush is a two-player game invented by mathematician John Horton Conway. It may be played on any configuration of line segments connected to one another by their endpoints and to a "ground" line. Other versions of the game use differently colored lines.

## Gameplay

The game starts with the players drawing a "ground" line (conventionally, but not necessarily, a horizontal line at the bottom of the paper or other playing area) and several line segments such that each line segment is connected to the ground, either directly at an endpoint, or indirectly, via a chain of other segments connected by endpoints. Any number of segments may meet at a point and thus there may be multiple paths to ground.
On their turn, a player "cuts" (erases) any line segment of their choice. Every line segment no longer connected to the ground by any path "falls" (i.e., gets erased). According to the normal play convention of combinatorial game theory, the first player who is unable to move loses.
Hackenbush boards can consist of finitely many (in the case of a "finite board") or infinitely many (in the case of an "infinite board") line segments. The existence of an infinite number of line segments does not violate the game theory assumption that the game can be finished in a finite amount of time, provided that there are only finitely many line segments directly "touching" the ground. On an infinite board, based on the layout of the board the game can continue on forever, assuming there are infinitely many points touching the ground.

### Variants

In the original folklore version of Hackenbush, any player is allowed to cut any edge: as this is an impartial game it is comparatively straightforward to give a complete analysis using the Sprague–Grundy theorem. Thus the versions of Hackenbush of interest in combinatorial game theory are more complex partisan games, meaning that the options (moves) available to one player would not necessarily be the ones available to the other player if it were their turn to move given the same position. This is achieved in one of two ways:
* Original Hackenbush: All line segments are the same color and may be cut by either player. This means payoffs are symmetric and each player has the same operations based on position on board (in this case structure of drawing). This is also called Green Hackenbush.
* Blue-Red Hackenbush: Each line segment is colored either red or blue. One player (usually the first, or left, player) is only allowed to cut blue line segments, while the other player (usually the second, or right, player) is only allowed to cut red line segments.
* Blue-Red-Green Hackenbush: Each line segment is colored red, blue, or green. The rules are the same as for Blue-Red Hackenbush, with the additional stipulation that green line segments can be cut by either player.
Blue-Red Hackenbush is merely a special case of Blue-Red-Green Hackenbush, but it is worth noting separately, as its analysis is often much simpler. This is because Blue-Red Hackenbush is a so-called cold game, which means, essentially, that it can never be an advantage to have the first move.

## Analysis

Hackenbush has often been used as an example game for demonstrating the definitions and concepts in combinatorial game theory, beginning with its use in the books On Numbers and Games and Winning Ways for Your Mathematical Plays by some of the founders of the field. In particular Blue-Red Hackenbush can be used to construct surreal numbers: finite Blue-Red Hackenbush boards can construct dyadic rational numbers, while the values of infinite Blue-Red Hackenbush boards account for real numbers, ordinals, and many more general values that are neither. Blue-Red-Green Hackenbush allows for the construction of additional games whose values are not real numbers, such as star and all other nimbers.
Further analysis of the game can be made using graph theory by considering the board as a collection of vertices and edges and examining the paths to each vertex that lies on the ground (which should be considered as a distinguished vertex — it does no harm to identify all the ground points together — rather than as a line on the graph).
In the impartial version of Hackenbush (the one without player specified colors), it can be thought of using nim heaps by breaking the game up into several cases: vertical, convergent, and divergent. Played exclusively with vertical stacks of line segments, also referred to as bamboo stalks, the game directly becomes Nim and can be directly analyzed as such. Divergent segments, or trees, add an additional wrinkle to the game and require use of the colon principle stating that when branches come together at a vertex, one may replace the branches by a non-branching stalk of length equal to their nim sum. This principle changes the representation of the game to the more basic version of the bamboo stalks. The last possible set of graphs that can be made are convergent ones, also known as arbitrarily rooted graphs. By using the fusion principle, we can state that all vertices on any cycle may be fused together without changing the value of the graph. Therefore, any convergent graph can also be interpreted as a simple bamboo stalk graph. By combining all three types of graphs we can add complexity to the game, without ever changing the nim sum of the game, thereby allowing the game to take the strategies of Nim.

## Proof of Colon Principle

The Colon Principle states that when branches come together at a vertex, one may replace the branches by a non-branching stalk of length equal to their nim sum. Consider a fixed but arbitrary graph, G, and select an arbitrary vertex, x, in G. Let H$_1$ and H$_2$ be arbitrary trees (or graphs) that have the same Sprague-Grundy value. Consider the two graphs G$_1$ = G$_x$ : H$_1$ and G$_2$ = G$_x$ : H$_2$, where G$_x$ : H$_i$ represents the graph constructed by attaching the tree H$_i$ to the vertex x of the graph G. The colon principle states that the two graphs G1 and G2 have the same Sprague-Grundy value. Consider the sum of the two games. The claim that G$_1$ and G$_2$ have the same Sprague-Grundy value is equivalent to the claim that the sum of the two games has Sprague-Grundy value 0. In other words, we are to show that the sum G$_1$ + G$_2$ is a P-position. A player is guaranteed to win if they are the second player to move in G$_1$ + G$_2$. If the first player moves by chopping one of the edges in G in one of the games, then the second player chops the same edge in G in the other game. (Such a pair of moves may delete H$_1$ and H$_2$ from the games, but otherwise H$_1$ and H$_2$ are not disturbed.) If the first player moves by chopping an edge in H$_1$ or H$_2$, then the Sprague-Grundy values of H$_1$ and H$_2$ are no longer equal, so that there exists a move in H$_1$ or H$_2$ that keeps the Sprague-Grundy values the same. In this way you will always have a reply to every move he may make. This means you will make the last move and so win.
* An instance in which the game can be reduced using the Colon Principle