Abstract
Divide-and-conquer dividing by a half recurrences, of the form
appear in many areas of applied mathematics, from the analysis of algorithms to the optimization of phylogenetic balance indices. These equations are usually “solved” by means of a Master Theorem that provides a bound for the growing order of xn, but not the solution’s explicit expression. In this paper we give a finite explicit expression for this solution, in terms of the binary decomposition of n, when the independent term p(n) is a polynomial in ⌈n/2⌉ and ⌊n/2⌋. As an application, we obtain explicit formulas for several sequences of interest in phylogenetics, combinatorics, and computer science, for which no such formulas were known so far: for instance, for the Total Cophenetic index and the rooted Quartet index of the maximally balanced bifurcating phylogenetic trees with n leaves, and the sum of the bitwise AND operator applied to pairs of complementary numbers up to n.
Introduction
Divide-and-conquer dividing by a half recurrences, of the form
| (1) |
appear in many areas of applied mathematics. As evidence, for instance, the On-line Encyclopedia of Integer Sequences (OEIS, https://oeis.org) contains more than 200 integer sequences with the keyword “divide and conquer’, many of which satisfy a recurrence like (1) [1].
The most popular and best studied setting where such recurrences arise is in Computer Science, and more specifically in the analysis of balanced divide and conquer algorithms. This type of algorithms solve a problem by splitting its input into two or more parts of the same size, solving (recursively) the problem on these parts, and finally combining these solutions into a solution for the global instance [2, §2.6–7]. Typical examples of this strategy are the heapsort and mergesort algorithms and several fast integer and matrix multiplication methods. When the input is split into two parts of the same size (up to a unit of difference, when the size of the original input is odd) and both parts contribute equally to the final solution, the algorithm’s running time tn on an instance of size n satisfies a recurrence of the form
where the independent term p(n), called in this context the toll function, represents the cost of combining the solutions of the subproblems into a solution for the original problem.
Our interest in this type of recurrences stems from the study of phylogenetic balance indices. A phylogenetic tree, the standard representation of the joint evolutionary history of a group of extant species (or other Operational Phylogenetic Units, OPU, like genes, languages, or myths), is, from the formal point of view, a leaf-labeled rooted tree. In a phylogenetic tree, its leaves represent the species under study, its internal nodes represent their common ancestors, the root represents the most recent common ancestor of all of them, and the arcs represent direct descendance through mutations [3, 4]. A phylogenetic tree is bifurcating, or fully resolved, when every internal node has two direct descendants, or children.
Biologists use the shape of phylogenetic trees, that is, their raw branching structure, to deduce information on the forces beneath the speciation and extinction processes that have taken place [5]. A popular set of tools used in the analysis of phylogenetic tree shapes are the shape indices [6], and among them the balance indices, which measure the propensity of the direct descendants of any given node in a tree to have the same number of descendant leaves. Many balance indices have been proposed in the literature: see, for instance, [3, 7–15] and the recent survey [16] and the references therein. Let us recall here the four indices that appear below in the Examples section:
The Sackin index S(T) of a tree T [14, 15] is the sum of its leaves’ depths (that is, of the lengths of the paths from the root to the leaves).
The Colless index C(T) of a bifurcating tree T [7] is the sum, over all its internal nodes v, of the absolute value of the difference between the numbers of descendant leaves of the pair of children of v.
The Total Cophenetic index Φ(T) of a tree T [12] is the sum, over all its pairs of internal nodes, of the depth of their lowest common ancestor.
The rooted Quartet index rQI(T) of a bifurcating tree T [17] is the number of its subtrees of 4 leaves that are fully symmetric.
Any sensible balance index should classify, for each number of leaves n, as most unbalanced trees the rooted caterpillars with n leaves Kn —the bifurcating trees such that all their internal nodes have a leaf child— and as most balanced bifurcating trees the maximally balanced trees with n leaves Bn —where, for each internal node, the numbers of descendant leaves of its pair of children differ at most in 1— (cf. Fig 1). The four indices described above satisfy this condition [16].
Fig 1. A rooted caterpillar with 7 leaves (left) and a maximally balanced with 7 leaves (right).
Now, given a balance index I, it is unreasonable to expect it to allow for the direct comparison of the balance of trees with different numbers of leaves. A possible way to circumvent this difficulty is to normalize it to [0, 1] for every number of leaves n by subtracting its minimum value for this number of leaves and dividing by its range of values on the space of trees with n leaves [15, 18]. To perform this normalization for bifurcating trees, it is necessary to know the value of I on the rooted caterpillars Kn and the maximally balanced trees Bn. It turns out that, while computing I(Kn) is usually easy, to compute I(Bn) one is led in most cases to solve a recurrence of the form
with pI(n) a function that, in some sense, measures the contribution of the root to the value of I. For the four aforementioned indices, this independent term is a polynomial in ⌈n/2⌉ and ⌊n/2⌋: for the Sackin index, pS(n) = n = ⌈n/2⌉ + ⌊n/2⌋; for the Colless index, pC(n) = ⌈n/2⌉ − ⌊n/2⌋; for the Total Cophenetic index, ; and for the rooted Quartet index, [16]. At the moment of writing this paper, the values of S(Bn) and C(Bn) were known (see Examples 2 and 3), but not those of Φ(Bn) or rQI(Bn).
In the context of the analysis of algorithms, divide-and-conquer recurrences like (1) and more general ones are “solved” by bounding the growing order of xn using some Master Theorem. The original Master Theorem was obtained by Bentley, Haken, and Saxe [19] and extended in [20, §4.5–6], and since then it has been extended to more general divide-and-conquer recurrences: see, for instance [21–28]. Tipically, a Master Theorem deduces information on the asymptotic behaviour of the solution xn of a divide-and-conquer recurrence from the growing order of the independent term of the recurrence, the number of parts into which the input is divided, which we fix here to 2, and the contribution of each subproblem to the general problem, which we assume here to be equal and constant and represented by the coefficient a. More specifically, for the sequences satisfying the Eq (1) considered in this paper, if d is the degree of the bivariate polinomial p, the Master Theorems says that (cf. [20, Thm. 4.1])
Thus, although “it is easy and fast to use” [25, p. 171], the Master Theorem does not provide an explicit solution of the recurrence, only its order of growth.
Now, in the analysis of algorithms, knowing the growing order of the computational cost of an algorithm on an instance of size n is usually enough. But in other applications, like for instance in order to normalize balance indices as we explained above, an explicit expression for the solution is needed. Many specific divide-and-conquer recurrences are explicitly solved when needed, like for instance the cost of the mergesort algorithm in the worst case, solved as Ex. 34 in [29, Ch. 3], or the homogeneous divide-and-conquer dividing by a half equation (Eq (1) with p = 0), solved in [30, Lem. 21]. But no finite expression for the general solution was known so far. To our knowledge, the only attempt to find an explicit solution of Eq (1) is made by Hwang, Janson and Tsai [31] by proving that, when a = 1 and under very general conditions on the independent term p(n), the solution xn has the form
with P continuous and 1-periodic and F, Q of precise growing orders. The authors also give explicit expressions for P, F, and Q in terms of infinite series expansions, but they are only able to give them in a finite form in a few examples, even for polynomial independent terms.
In this paper we consider the case when a is an arbitrary real number but p(n) is a polynomial in ⌈n/2⌉ and ⌊n/2⌋. In this case, we are able to give a finitary explicit formula for xn in terms of the binary decomposition of n. Our formula avoids the use of infinite series: actually, the indices involved in all sums in our expression for xn have a range bounded from above by ⌊log2(n)⌋ and the degree of the independent term p(n).
The rest of this paper is organized as follows. In the Results section we state our main result and we use it to solve several examples. As a proof of concept, in some of them we obtain formulas that were already known, but we also include several interesting examples for which no explicit formula was known so far. Then we devote a section to outline the proof of our main result; the proofs of the intermediate results are provided in the S1 File. We close the paper with a Conclusions section. We have implemented the formula provided by our main theorem in Python using SymPy, a Python library for symbolic mathematics. This implementation is available at https://github.com/biocom-uib/divide_and_conquer.
Results
Main result
For every , let its binary decomposition be , with , and then, for every i ⩾ 1, let . Notice that M1(n) = n and . In order to simplify the notations, we set q0(n) = 0 and .
Additionally, for every and let
(with the convention, which we use throughout this paper, that 00 = 1). In particular,
For every , let Bm denote the m-th Bernoulli number of the first kind [32]. In particular, B0 = 1, B1 = −1/2, and B2k + 1 = 0 for every k ⩾ 1.
For d = 0, 1, for every , for every , and for every , let
with δm = 0 = 1 if m = 0 and δm = 0 = 0 if m > 0.
For every and for every , let ℓa,t = log2(a) − t and
If a ⩽ 0, then ℓa,t is undefined and δℓ(a, r, t) = 0.
The main result in this paper is the following:
Theorem 1. Let and let be a bivariate polynomial. Then, the solution of the recurrence equation
with initial condition x1 is
with, for every n ⩾ 2,
where δr > 0, t = 0, a ≠ 1 = 1 if r > 0, t = 0, and a ≠ 1, and δr > 0, t = 0, a ≠ 1 = 0 otherwise.
In particular:
- (a) If r = 0,
- (b) If r ⩾ 1 and t = 0:
- (b.1) If a = 1/2,
- (b.2) If a = 1,
- (b.3) If a ∉ {1/2, 1, …, 2r−1}
- (b.4) If a = 2ℓ with ℓ ∈ {1, …, r − 1},
- (c) If r ⩾ 1 and t ⩾ 1:
- (c.1) If a = 1/2,
- (c.2) If a = 1,
- (c.3) If a ∉ {1/2, 1, 2t, …, 2r + t−1},
- (c.4) If a = 2t + ℓ, for some ℓ ∈ {0, …, r − 1},
Examples
In this section we gather several applications of our main theorem. The sequences’ identifiers, when available, refer to the OEIS.
Example 1. When the independent term in the divide-and-conquer recurrence is constant,
with , the solution with initial condition x1 is
In particular, if a = 1,
Example 2. The minimum total Sackin index Sn of a rooted bifurcating tree with n leaves (the binary entropy function: sequence A003314) satisfies the recurrence
with S1 = 0. Then, according to our main theorem,
where
and therefore
in agreement with previously published formulas: cf. [31, 33].
Example 3. The minimum Colless index cn of a rooted bifurcating tree with n leaves (sequence A296062) satisfies the recurrence
with c1 = 0. Therefore, according to our main theorem
Now,
| (2) |
| (3) |
and hence, finally,
as it was proved in [34] by showing by induction that this sequence satisfies the recurrence above.
Example 4. Consider the equation
This recurrence is related to the Takagi curve [35], which plays an important role in different fields such as analysis, combinatorics, and number theory [36]. Since (−1)n = 1 − 2(⌈n/2⌉ − ⌊n/2⌋), its solution with initial condition x1 is
In particular, when x1 = 1,
Consider now the sequence A268289, which we denote by an. Monroe and Job proved in [37] that
Using this expression to compute a2n−1 (and taking into account that s2n = sn and qi(2n) = qi(n) + 1 for i = 1, …, sn) we obtain
That is, xn = a2n−1, which is not self-evident from the definitions of both sequences.
Remark 1. The solution of
and of
for m ⩾ 1, is the same. Therefore, for every m ⩾ 1,
Remark 2. The solution of Eq (1) is 0 exactly when x1 = 0 and p(n) = 0 for every n ⩾ 1. Writing p(n) = P(⌈n/2⌉, ⌊n/2⌋) with , this says that P(m, m) = P(m + 1, m) = 0 for every m ⩾ 1 and hence that the polynomials P(x, x) and P(x, x − 1) are identically 0, that is, P(x, y) = (x − y)(x − y − 1)Q(x, y) for some . So, xn = 0 for every n ⩾ 1 when x1 = 0 and the independent term has the form
with .
Writing the conditions P(x, x) = P(x, x − 1) = 0 are equivalent to the following identities: for every k = 0, …, d,
| (4) |
We deduce that if the coefficients br,t satisfy Eq (4), and only in this case,
This generalizes the identity obtained at the end of the previous remark.
Example 5. The sequence xn = n2 satisfies the equation
with x1 = 1. Therefore,
Now,
and
and therefore
indeed.
Example 6. The Walsh system is a complete orthogonal set of functions that can represent any discrete function in the same sense that trigonometric functions represent any continuous function in Fourier analysis [38]. More specifically, if rn(t) = sgn(sin(2nπt)), , are the Rademacher functions, then the Walsh system is defined as follows: for every t ∈ [0, 1]
Given an orthogonal system of functions defined on [a, b] and satisfying some technical conditions that are satisfied by the Walsh system [39], the Lebesgue constants λn(φ) of φ are defined as
and they are an important characteristic of φ.
The sequence λn ≔ λn(W) of Lebesgue constants of the Walsh system turns out to satisfy the recurrence
with λ1 = 1 [39, 40]. Therefore,
where
Therefore,
in agreement with [39, Eqn. (5.5)], where this formula is obtained through an ad hoc argument.
Remark 3. As R. Stephan points out in [1], the OEIS contains many sequences defined by recurrences of the form
for some real number C and functions P, Q. It is straightforward to check then that the sequence xn ≔ an−1 satisfies, for n ⩾ 2, the recurrence (cf. [31])
If P and Q are polynomials, these sequences are covered by our main theorem.
Example 7. In [41], Stanton, Kocay, and Dirksen introduced the sequence (sequence A005536). This sequence is generated by the first Feigenbaum symbolic sequence, of importance in symbolic dynamics [42]. By the second last entry in the last table of [1] and the last remark, the sequence xn = an−1, for n ⩾ 1, satisfies the recurrence
with x1 = 0. Hwang, Janson, and Tsai used this recurrence to obtain the following expression for xn:
where, for every k ⩾ 1, if ⌊x⌋ is even and if ⌊x⌋ is odd; see [31, Ex 7.1].
Our method produces a simpler expression for xn. Indeed, by our main theorem,
where
and hence
Example 8. The minimum total cophenetic index Φn (see the Introduction for the definition) of a rooted bifurcating tree with n leaves (sequence A174605) satisfies the recurrence
with initial condition Φ1 = 0 [12]. Therefore
where
was already computed in Example 2 and
Therefore
No closed expression had been published so far for this sequence.
Example 9. The maximum rooted quartet index ρn (see again the Introduction for the definition) of a rooted bifurcating tree with n leaves (sequence A300445) satisfies the recurrence
with initial condition ρ1 = 0 [17]. Therefore
where
Therefore,
| (5) |
Now,
and then, substituting these expressions in Eq (5), we finally obtain
This expression can be simplified as follows. Notice that
and
and hence, finally
where notice that . Again, no closed expression was known so far for this sequence, either.
Example 10. Let a1,n, a2,n, and a3,n denote the sequences A006581, A006582, and A006583, respectively. They are defined as
where the bitwise operations AND, XOR, and OR are performed on the binary representations of the numbers. For instance,
To our knowledge, no explicit formulas for these sequences had been published so far. On the other hand, it is clear from the definition that a1,n + a2,n = a3,n, and therefore it is enough to obtain explicit formulas for two of them. We shall focus here on a1,n and a3,n.
By Remark 3, the sequences σi,n = ai,n−1, for i = 1, 3, are the solutions with σ1,1 = σ3,1 = 0 of the recurrences
where
Therefore,
where
and
Therefore, finally,
and
Therefore,
Example 11. Notice that and therefore, since ,
We have checked that our general formula for satisfies this equality when n = 2m with Mathematica.
Proof of the main result
Some notations
1. Throughout this paper we shall use the following notations related to binary decompositions of natural numbers. For every , we shall write its binary decomposition as
if n = 0, we set s0 = 0. With these notations, sn is the binary weight of n, that is, the number of 1’s in the binary representation of n, and, if n ⩾ 1, . In order to simplify the notations, we shall set q0(n) = 0.
Notice that, for every and for every natural number ,
is the binary decomposition of M + p, with , and hence sM + p = sp + sM and
| (6) |
For every and i = 1, …, sn, let
2. For every , let φ0(n) = ⌊n/2⌋ and φ1(n) = ⌈n/2⌉ and, for every m ⩾ 1 and for every sequence bm…b0 ∈ {0, 1}m + 1, let
By Thompson’s Rounding Lemma [43], for every sequence bm…b0 ∈ {0, 1}m + 1,
| (7) |
3. For every , let Bm denote the m-th Bernoulli number of the first kind. Recall that these Bernoulli numbers can be defined, starting with B0 = 1, by means of the recurrence
| (8) |
Let moreover be the Bernoulli polynomial of degree m, defined by
We list below several well-known properties of the Bernoulli numbers and polynomials that we shall use in our proofs, frequently without any further notice. For these and other properties of the Bernoulli numbers and polynomials, see for instance [44, Ch. 23].
| (9) |
| (10) |
| (11) |
In particular,
| (12) |
4. For every , , and , let
The value of T(d, n, 1) is given by Faulhaber’s formula [29, (6.78)]: for every and ,
We shall also use this formula in the following, equivalent way:
| (13) |
The equivalence stems from the fact that if d ⩾ 1, (−1)d Bd + 1 = −Bd + 1, while when d = 0, (−1)d Bd + 1 = B1 = −1/2.
When x ≠ 1, the double sequence T satisfies the recurrence
In particular, when x ≠ 1,
| (14) |
We shall use these double sequences T(d, n, x) in order to unify some notations and proofs, but, as we have already encountered in the statement of our main result, we actually only need to know closed formulas for them when d = 0, 1:
| (15) |
Some technical lemmas
We begin by providing closed formulas for several sums that we shall often encounter in our computations.
Lemma 4. For every , , and :
(a)
(b)
The next lemma is a key step in the obtention of finite explicit expressions for the solutions of the recurrences considered in this paper.
Lemma 5. Let be a double sequence satisfying:
(a) For every , z0,p = 0
- (b) For every l, p > 0,
Then, for every l ⩾ 0 and for every p > 0,
For every , with p < m, and for every given , let
In the last part of our computations we shall use an alternative expression for which we derive now as an application of the last lemma.
We have that by definition, and, by Lemma 4.(b),
| (16) |
The case when l, p > 0 is covered by the next lemma.
Lemma 6. For every , with p < m,
where δp = 0, l > 0 = 1 if p = 0 and l > 0, and δp = 0, l > 0 = 0 otherwise.
Statement of the problem
Let be a bivariate polynomial and , and consider the recurrence equation
| (17) |
Lemma 7. If is the solution of (17) with initial condition , then
is its solution with initial condition x1
Proof. Since , we must prove that satisfies (17). Since already satisfies it, it is enough to check that, for every n ⩾ 2,
The simplest way to do it is by distinguishing two cases; to simplify the notations, we denote in the rest of this proof by q.
- (i) If n ≠ 2q + 1 − 1, then and then
- (ii) If n = 2q + 1 − 1, then ⌈n/2⌉ = 2q and ⌊n/2⌋ = 2q − 1, and then
Remark 8. In particular, if p = 0, the solution of (17) with initial condition x1 is
as it was already proved in [30, Lem. 21].
Therefore, from now on we shall only be concerned with the solution of (17) with initial condition x1 = 0. Now, if, for every such that br,t ≠ 0, we know the solution of the recurrence
| (18) |
with initial condition , then the solution of (17) with initial condition x1 = 0 will be
So, we are finally led to consider, for any , the equation (18). Let be its solution with .
The sequence of differences of consecutive terms
Let , with , and
| (19) |
Notice that
Next result gives an expression for that will be suitable to our purposes. To simplify the notations, in its statement and henceforth, for every , we set
Moreover, we shall let ℓ = log2(a) − t when a > 0, and we shall use the following Kronecker delta:
Proposition 9. For every n ⩾ 2,
Remark 10. When r = t = 0, the formula in the last proposition simply says .
In the expression for given in the last proposition, the term
is different from 0 only when r > 0 and a ∈ {2t, …, 2r + t−1}. When t + ℓ = 0, that is, when a = 1, the sum in it simplifies to
| (20) |
And notice that this sum contributes in this a = 1 case to only when r > 0 and a = 1 ∈ {2t, …, 2r + t−1}, that is, when r > 0 and t = 0. When t + ℓ > 0, and recalling that 2t + ℓ = a, this sum is
| (21) |
| (22) |
where, for every ,
Proof of the main result, up to computing the α’s
For every ,
By Proposition 9 and Eq (19), we have
(by Faulhaber’s Formula (13))
| (23) |
because
Now, in Eq (23) we have that, by Lemma 4,
and, by (9),
Concerning the first term of Eq (23), which only contributes to when r > 0 and a = 2t+ℓ with ℓ ∈ {0, …, r − 1}, by (22) and Lemma 4 this sum can be expressed as
In summary, this proves the following theorem.
Theorem 11. For every n ⩾ 2,
where δr > 0, t = 0, a ≠ 1 = 1 if r > 0, t = 0, and a ≠ 1, and it is 0 otherwise.
It remains to compute the terms
And notice that we only need to compute the α(1,i)’s when r ⩾ 1 and a = 2t+ℓ, for some ℓ ∈ {0, …, r − 1} with t + ℓ > 0. In particular, in the computation of α(1,i) we can assume that a ≠ 1, 1/2, in order to avoid discussing cases that are unrelevant for our main result.
Computation of the α’s
Recall that we are interested in closed formulas for when d = 0 as well as when d = 1 and specific values of a which in particular exclude the cases a = 1, 1/2. Anyway, it is easier to prove a general expression for them.
Proposition 12. For every n ⩾ 1:
with δm = 0 = 1 if m = 0 and δm = 0 = 0 if m > 0.
Remark 13. Notice that the last proposition implies that
and, when a ≠ 1, 1/2,
Discussion and conclusions
Divide-and-conquer dividing by a half recurrences like (1) appear in many areas of applied mathematics, and they are usually “solved” by computing a bound for their growing order with the aid of a Master Theorem. This is usually enough in many applications, like for instance the asymptotic analysis of algorithms, but in other applications it may be necessary, or at least satisfactory, to obtain an explicit solution of the recurrence: for instance, we have mentioned in the introduction the need for such explicit solutions in the context of the normalization of phylogenetic balance indices. In a previous attempt to solve this problem, Hwang, Janson and Tsai [31] gave an explicit solution of Eq (1) when a = 1 and under very general conditions on the independent term, or toll function, p(n), in terms of sums of infinite series. But then, if one does not know how to sum the series, the explicit solution slips away.
In this paper we have restricted ourselves to the case when the toll function is a polynomial in ⌊n/2⌋ and ⌈n/2⌉. In this case, and for an arbitrary coefficient a, we are able to give a finite explicit expression for the solution of (1) in terms only of the binary expansion of n. The existence of such a closed formula is not surprising, but, for instance, it cannot be deduced directly from Hwang, Janson and Tsai solution. An implementation of our solution in Python is available at https://github.com/biocom-uib/divide_and_conquer.
The restriction to a polynomial independent term is a serious limitation for the usefulness of our formula. It remains as future work to use the same approach to obtain explicit solutions for other specific types of toll functions, including for instance terms affected by coefficients (−1)⌊n/2⌋ and (−1)⌈n/2⌉ (we have seen in Example 4 how our approach allows to deal with terms affected by coefficients (−1)n) or rational functions in ⌊n/2⌋ and ⌈n/2⌉. The main obstacle in the derivation of such formulas is the generalization to their setting of the key Lemma 5, used to simplify the sums in Lemma 6. Also it would be interesting to obtain similar explicit solutions when the coefficients of x⌊n/2⌋ and x⌈n/2⌉ are different, and more specifically when one of them is 0. This is done for homogeneous equations in [45, Lem. 4], but the expression provided therein for the solution xn involves sums from 1 to n, and not up to ⌊log2(n)⌋ as those obtained with our techniques.
Supporting information
The file provides the detailed proofs of Lemmas 4–6 and Propositions 9 and 12.
(PDF)
Acknowledgments
We thank G. Valiente for some useful suggestions.
Data Availability
The relevant data are fully available in Github at https://github.com/biocom-uib/divide_and_conquer.
Funding Statement
All authors were partially funded by the Spanish Ministry of Science and Innovation and the European Regional Development Fund through projects PGC2018-096956-B-C43 and PID2021-126114NB-C44 (FEDER/MICINN/AEI). The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.
References
- 1.R. Stephan. Some Divide and Conquer Sequences with (relatively) Simple Ordinary Generating Functions. OEIS (2014), https://oeis.org/somedcgf.html.
- 2. Aho A. V., Hopcroft J. E., Ullman J. D. The design and analysis of computer algorithms. Addison-Wesley Publishing Company; (1974). [Google Scholar]
- 3. Felsenstein J. Inferring Phylogenies. Sinauer Associates; (2004). [Google Scholar]
- 4. Semple C. and Steel M. Phylogenetics. Oxford University Press; (2003). [Google Scholar]
- 5. Futuyma D. J. (Ed. Chair). Executive document: Evolution, science and society: Evolutionary biology and the National Research Agenda. The American Naturalist 158 (2001), S4. [Google Scholar]
- 6. Dehmer M., Emmert-Streib F. (Eds.). Quantitative graph theory. CRC Press; (2014). [Google Scholar]
- 7. Colless D. Review of “Phylogenetics: the theory and practice of phylogenetic systematics”. Systematic Zoology 31 (1982), 100–104. doi: 10.2307/2413420 [DOI] [Google Scholar]
- 8. Fisher M., Liebscher V. On the balance of unrooted trees. Journal of Graph Algorithms and Applications, 25 (2021), 133–150. doi: 10.7155/jgaa.00553 [DOI] [Google Scholar]
- 9. Fusco G., Cronk Q. C. A new method for evaluating the shape of large phylogenies. Journal of Theoretical Biology 175 (1995), 235–243. doi: 10.1006/jtbi.1995.0136 [DOI] [Google Scholar]
- 10. Kirkpatrick M., Slatkin M. Searching for evolutionary patterns in the shape of a phylogenetic tree. Evolution 47 (1993), 1171–1181. doi: 10.1111/j.1558-5646.1993.tb02144.x [DOI] [PubMed] [Google Scholar]
- 11. McKenzie A., Steel M. Distributions of cherries for two models of trees. Mathematical Biosciences 164 (2000), 81–92. doi: 10.1016/S0025-5564(99)00060-7 [DOI] [PubMed] [Google Scholar]
- 12. Mir A., Rosselló F., Rotger L. A new balance index for phylogenetic trees. Mathematical Biosciences, 241 (2013), 125–136. doi: 10.1016/j.mbs.2012.10.005 [DOI] [PubMed] [Google Scholar]
- 13. Mir A., Rotger L., Rosselló F. Sound Colless-like balance indices for multifurcating trees. PLoS ONE 13 (2018), e0203401. doi: 10.1371/journal.pone.0203401 [DOI] [PMC free article] [PubMed] [Google Scholar]
- 14. Sackin M. J. “Good” and “bad” phenograms. Systematic Zoology 21 (1972), 225–226. doi: 10.2307/2412292 [DOI] [Google Scholar]
- 15. Shao K., Sokal R. Tree balance. Systematic Zoology 39 (1990), 266–276. [Google Scholar]
- 16.M. Fischer, L. Herbst, S. Kersting, L. Kühn, K. Wicke. Tree balance indices: a comprehensive survey. arXiv:2109.12281 (2021).
- 17. Coronado T. M., Mir A., Rosselló F., Valiente G. A balance index for phylogenetic trees based on rooted quartets. Journal of Mathematical Biology 79 (2019), 1105–1148. doi: 10.1007/s00285-019-01377-w [DOI] [PubMed] [Google Scholar]
- 18. Stam E. Does imbalance in phylogenies reflect only bias? Evolution 56 (2002), 1292–1295. doi: 10.1111/j.0014-3820.2002.tb01440.x [DOI] [PubMed] [Google Scholar]
- 19. Bentley J. L., Haken D., Saxe J. B. A general method for solving divide-and-conquer recurrences. ACM SIGACT News 12 (1980), 36–44. doi: 10.1145/1008861.1008865 [DOI] [Google Scholar]
- 20. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. Introduction to Algorithms (4th Edition). MIT Press; (2009). [Google Scholar]
- 21. Akra M., Bazzi L. On the solution of linear recurrence equations. Computational Optimization and Applications 10 (1998), 195–210. doi: 10.1023/A:1018373005182 [DOI] [Google Scholar]
- 22. Drmota M., Szpankowski W. A master theorem for discrete divide and conquer recurrences. Journal of the ACM 60 (2013), 1–49. doi: 10.1145/2487241.2487242 [DOI] [Google Scholar]
- 23.M. Guedj. A Simple but Powerful Extension of the Master Theorem for Divide-and-Conquer Sequences. hal-03329411 (2021).
- 24. Kao M. Multiple-size divide-and-conquer recurrences. ACM SIGACT News 28 (1997), 67–69 doi: 10.1145/261342.261350 [DOI] [Google Scholar]
- 25. Roura S. Improved Master Theorems for Divide-and-Conquer Recurrences. Journal of the ACM 48 (2001), 170–205. doi: 10.1145/375827.375837 [DOI] [Google Scholar]
- 26. Verma R. M. A general method and a master theorem for divide-and-conquer recurrences with applications. Journal of Algorithms 16 (1994), 67–79. doi: 10.1006/jagm.1994.1004 [DOI] [Google Scholar]
- 27. Verma R. M. General techniques for analyzing recursive algorithms with applications. SIAM Journal on Computing, 26 (1997), 568–581. doi: 10.1137/S0097539792240583 [DOI] [Google Scholar]
- 28. Wang X., Fu Q. A frame for general divide-and-conquer recurrences. Information Processing Letters 59 (1996), 45–51 doi: 10.1016/0020-0190(96)00076-2 [DOI] [Google Scholar]
- 29. Graham R., Knuth D., Patashnik O. Concrete Mathematics (2nd edition). Addison-Wesley; (1994). [Google Scholar]
- 30. Ellul K., Krawetz B., Shallit J., Wang M. W. Regular expressions: New results and open problems. Journal of Automata, Languages and Combinatorics 9 (2004), 233–256. [Google Scholar]
- 31. Hwang H. K., Janson S., Tsai T. H. Exact and asymptotic solutions of a divide-and-conquer recurrence dividing at half: Theory and applications. ACM Transactions on Algorithms 13 (2017), Article 47. doi: 10.1145/3127585 [DOI] [Google Scholar]
- 32.Bernoulli numbers. Encyclopedia of Mathematics, URL: http://encyclopediaofmath.org/index.php?title=Bernoulli_numbers&oldid=32791.
- 33. Fischer M. Extremal values of the Sackin tree balance index. Annals of Combinatorics 25 (2021), 515–541. doi: 10.1007/s00026-021-00539-2 [DOI] [Google Scholar]
- 34. Coronado T. M., Fischer M., Herbst L., Rosselló F., Wicke K. On the minimum value of the Colless index and the bifurcating trees that achieve it, Journal of Mathematical Biology 80 (2020), 1993–2054. doi: 10.1007/s00285-020-01488-9 [DOI] [PubMed] [Google Scholar]
- 35. Takagi T. A simple example of continuous function without derivative. Tokyo Sugaku Butsurigakkwai Hokoku 1 (1901), F176–F177. [Google Scholar]
- 36. Allaart P. C., Kawamura K. The Takagi function: a survey. Real Analysis Exchange 37 (2012), 1–54. doi: 10.14321/realanalexch.37.1.0001 [DOI] [Google Scholar]
- 37.L. Monroe, V. Job. Computationally inequivalent summations and their parenthetic forms. arXiv:2005.05387 (2020).
- 38. Walsh J. L. A closed set of normal orthogonal functions. American Journal of Mathematics, 45 (1923), 5–24. doi: 10.2307/2387224 [DOI] [Google Scholar]
- 39. Fine N. J. On the Walsh functions. Transactions of the American Mathematical Society 65 (1949), 372–414. doi: 10.1090/S0002-9947-1949-0032833-2 [DOI] [Google Scholar]
- 40. Hwang H. K. Asymptotic expansion for the Lebesgue constants of the Walsh system. Journal of Computational and Applied Mathematics 71 (1996), 237–243. doi: 10.1016/0377-0427(95)00236-7 [DOI] [Google Scholar]
- 41.R. G. Stanton, W. L. Kocay, P. H. Dirksen. Computation of a combinatorial function. Proceedings 5th British Combinatorial Conference, Congressus Numerantium, Vol. 15 (1975), 569–578.
- 42. Karamanos K. From symbolic dynamics to a digital approach. International Journal of Bifurcation and Chaos 11 (2001), 1683–1694. doi: 10.1142/S0218127401002924 [DOI] [Google Scholar]
- 43. Thompson B.C. Solving recurrence relations involving floor and ceiling functions. Electronics Letters, 30 (1994), 1391–1393. doi: 10.1049/el:19940960 [DOI] [Google Scholar]
- 44.M. Abramowitz, I. A. S. Stegun. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables (10th printing). National Bureau of Standards Applied Mathematics Series, 55 (1972).
- 45. Chang K.-N., Tsai S.-C. Exact solution of a minimal recurrence. Information Processing Letters 75 (2000), 61–64. doi: 10.1016/S0020-0190(00)00076-4 [DOI] [Google Scholar]

