This constraint is largely due to cases where new candidate SMARTS can unintentionally match chemical environments that were matched in other SMARTS and therefore possibly change the mappings throughout the hierarchy. If these constraints are satisfied and X total decreases then the split is accepted and the SMARTS is incorporated into the hierarchy. The typical case, when α = 0, is a split that leads to two sets that have no intersection and X split = -1, e.g. {h1, h2, h3} → {{h1, h2}, {h3}} where h1, h2, and h3 are labels. In this example, the split was able to cleanly separate h3 from h1 and h2. If the split induced the partition {h1, h2, h3} → {{h1, h2}, {h2, h3}}, then X split = -α and will only be accepted if α > 0. Specifying a nonzero α gives the benefit of breaking down the problem into smaller subproblems, but at the cost of complicating the hierarchy and causing multiple SMARTS patterns to map to a single label, i.e. the mapping from the SMARTS patterns S to L is no longer injective. As seen from the example, the problem was reduced from one problem splitting {h1, h2, h3} into the two smaller problems of splitting {h1, h2} and {h2, h3}. This may improve the ability to discriminate between the grouped labels. The chemical environments of h1 are now mutually exclusive to those of h3, and it may be easier to split h1 from {h1, h2} than {h1, h2, h3}. The criterion to merge two parameters together is the constraint described above for splitting. Specifically, any connected (S k , S i ) pair of SMARTS in the hierarchy where X split ≥ 0 causes S k to be removed from the hierarchy. Because of the subset relationship, deleting the specialized S i SMARTS is equivalent to merging (unioning) the SMARTS patterns.