## 5.49. balance_tree

Origin
Constraint

$\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }\left(\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄},\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }\right)$

Arguments
 $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}$ $\mathrm{\pi \pi \pi \pi }$ $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }$ $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi \pi \pi }\left(\mathrm{\pi \pi \pi \pi \pi ‘}-\mathrm{\pi \pi \pi },\mathrm{\pi \pi \pi \pi }-\mathrm{\pi \pi \pi \pi }\right)$
Restrictions
 $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}\beta ₯0$ $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}\beta €\mathrm{\pi \pi \pi ‘}\left(0,|\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }|-2\right)$ $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi }$$\left(\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi },\left[\mathrm{\pi \pi \pi \pi \pi ‘},\mathrm{\pi \pi \pi \pi }\right]\right)$ $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }.\mathrm{\pi \pi \pi \pi \pi ‘}\beta ₯1$ $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }.\mathrm{\pi \pi \pi \pi \pi ‘}\beta €|\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }|$ $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi }$$\left(\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi },\mathrm{\pi \pi \pi \pi \pi ‘}\right)$ $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }.\mathrm{\pi \pi \pi \pi }\beta ₯1$ $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }.\mathrm{\pi \pi \pi \pi }\beta €|\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }|$
Purpose

Consider a digraph $G$ described by the $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }$ collection. Partition $G$ into a set of vertex disjoint trees in such a way that each vertex of $G$ belongs to a single tree. $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}$ is equal to the difference between the number of vertices of the largest tree and the number of vertices of the smallest tree.

Example
 $\left(\begin{array}{c}4,β©\begin{array}{cc}\mathrm{\pi \pi \pi \pi \pi ‘}-1\hfill & \mathrm{\pi \pi \pi \pi }-1,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-2\hfill & \mathrm{\pi \pi \pi \pi }-5,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-3\hfill & \mathrm{\pi \pi \pi \pi }-5,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-4\hfill & \mathrm{\pi \pi \pi \pi }-7,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-5\hfill & \mathrm{\pi \pi \pi \pi }-1,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-6\hfill & \mathrm{\pi \pi \pi \pi }-1,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-7\hfill & \mathrm{\pi \pi \pi \pi }-7,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-8\hfill & \mathrm{\pi \pi \pi \pi }-5\hfill \end{array}βͺ\hfill \end{array}\right)$ $\left(\begin{array}{c}2,β©\begin{array}{cc}\mathrm{\pi \pi \pi \pi \pi ‘}-1\hfill & \mathrm{\pi \pi \pi \pi }-1,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-2\hfill & \mathrm{\pi \pi \pi \pi }-1,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-3\hfill & \mathrm{\pi \pi \pi \pi }-1,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-4\hfill & \mathrm{\pi \pi \pi \pi }-2,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-5\hfill & \mathrm{\pi \pi \pi \pi }-6,\hfill \\ \mathrm{\pi \pi \pi \pi \pi ‘}-6\hfill & \mathrm{\pi \pi \pi \pi }-6\hfill \end{array}βͺ\hfill \end{array}\right)$

In the first example we have two trees involving respectively the set of vertices $\left\{1,2,3,5,6,8\right\}$ and the set $\left\{4,7\right\}$. They are depicted by FigureΒ 5.49.1. Since $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}=6-2=4$ is the difference between the number of vertices of the largest tree (i.e.,Β 6) and the number of vertices of the smallest tree (i.e.,Β 2) the corresponding $\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$ constraint holds.

All solutions

FigureΒ 5.49.2 gives all solutions to the following non ground instance of the $\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$ constraint: $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}=0$, ${S}_{1}\beta \left[1,2\right]$, ${S}_{2}\beta \left[1,2\right]$, ${S}_{3}\beta \left[4,5\right]$, ${S}_{4}\beta \left[2,4\right]$, ${S}_{5}\beta \left[4,5\right]$, ${S}_{6}\beta \left[5,6\right]$, $\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$$\left(\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄},\beta ©1{S}_{1},2{S}_{2},3{S}_{3},4{S}_{4},5{S}_{5},6{S}_{6}\beta ͺ\right)$.

Typical
$|\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }|>2$
Symmetry

Items of $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }$ are permutable.

Arg. properties

Functional dependency: $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}$ determined by $\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }$.

Counting
 Length ($n$) 2 3 4 5 6 7 8 Solutions 3 16 125 1296 16807 262144 4782969

Number of solutions for $\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$: domains $0..n$

Length ($n$)2345678
Total3161251296168072621444782969
 Parameter value

03107762687071176502242193
1-6122602102524249616
2--369031809765432264
3---32096041930219520
4----375013125680456
5-----54432217728
6------941192

Solution count for $\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$: domains $0..n$

related: $\mathrm{\pi \pi \pi \pi \pi \pi \pi }$Β (equivalence classes correspond to vertices in same tree rather than variables assigned to the same value), $\mathrm{\pi \pi \pi \pi }$Β (do not care how many trees but how balanced the trees are).

Keywords
Cond. implications

$\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }\left(\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄},\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }\right)$

Β Β Β  withΒ  $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}>0$

Β Β Β  andΒ Β  $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}\beta €|\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }|$

Β Β implies $\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi \pi \pi \pi }$$\left(\mathrm{\pi ½\pi  \pi ΄\pi ²}:\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄},\mathrm{\pi  \pi ΄\pi ²\pi \pi Ύ\pi \pi }:\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }\right)$.

Arc input(s)

$\mathrm{\pi ½\pi Ύ\pi ³\pi ΄\pi }$

Arc generator
$\mathrm{\pi Ά\pi Ώ\pi Ό\pi \pi \pi Έ}$$\beta ¦\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi \pi \pi }\left(\mathrm{\pi \pi \pi \pi \pi }\mathtt{1},\mathrm{\pi \pi \pi \pi \pi }\mathtt{2}\right)$

Arc arity
Arc constraint(s)
$\mathrm{\pi \pi \pi \pi \pi }\mathtt{1}.\mathrm{\pi \pi \pi \pi }=\mathrm{\pi \pi \pi \pi \pi }\mathtt{2}.\mathrm{\pi \pi \pi \pi \pi ‘}$
Graph property(ies)
 $\beta ’$$\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$$\beta €1$ $\beta ’$$\mathrm{\pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi }$$=\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}$

Graph model

In order to express the binary constraint that links two vertices one has to make explicit the identifier of the vertices. This is why the $\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$ constraint considers objects that have two attributes:

• One fixed attribute $\mathrm{\pi \pi \pi \pi \pi ‘}$ that is the identifier of the vertex,

• One variable attribute $\mathrm{\pi \pi \pi \pi }$ that is the successor of the vertex.

We use the graph property $\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$$\beta €1$ in order to specify the fact that the size of the largest strongly connected component should not exceed one. In fact each root of a tree is a strongly connected component with a single vertex.

PartsΒ (A) andΒ (B) of FigureΒ 5.49.3 respectively show the initial and final graph associated with the first example of the Example slot. Since we use the $\mathrm{\pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi }$ graph property, we show the connected components of the final graph. The constraint holds since all the vertices belong to a tree and since $\mathrm{\pi ±\pi °\pi »\pi °\pi ½\pi ²\pi ΄}$ $=$ $\mathrm{\pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi }$$6-2=4$.