Math 2.0

Computer science Theorem

Akra–Bazzi theorem

Builds on Big O notationRecurrence relation

Statement

Let k≥1k \ge 1, and let a1,…,ak>0a_1, \dots, a_k > 0 and 0<b1,…,bk<10 < b_1, \dots, b_k < 1 be real constants. Let g ⁣:[1,∞)→[0,∞)g \colon [1, \infty) \to [0, \infty) satisfy the polynomial growth condition: there are constants c1,c2>0c_1, c_2 > 0 such that c1g(x)≤g(u)≤c2g(x)c_1 g(x) \le g(u) \le c_2 g(x) for all x≥1x \ge 1, all ii and all u∈[bix,x]u \in [b_i x, x]. Let h1,…,hkh_1, \dots, h_k be real functions with ∣hi(x)∣=O(x/(log⁡x)2)\abs{h_i(x)} = O(x / (\log x)^2), in big O notation. Let x0x_0 be large enough, and let T ⁣:[1,∞)→ℝT \colon [1, \infty) \to \R be positive and bounded above and below by positive constants on [1,x0][1, x_0], and satisfy the recurrence T(x)=g(x)+∑i=1kai T(bix+hi(x))(x>x0).T(x) = g(x) + \sum_{i=1}^{k} a_i\, T\big(b_i x + h_i(x)\big) \qquad (x > x_0). Let pp be the unique real number with ∑i=1kaibip=1\sum_{i=1}^{k} a_i b_i^p = 1. Then T(x)=Θ(xp(1+∫1xg(u)up+1 du)),T(x) = \Theta\left( x^p \left( 1 + \int_1^x \frac{g(u)}{u^{p+1}}\, du \right) \right), where f(x)=Θ(F(x))f(x) = \Theta(F(x)) means that cF(x)≤f(x)≤CF(x)c F(x) \le f(x) \le C F(x) for some constants 0<c≤C0 < c \le C and all large xx.

Remarks

The number pp exists and is unique because s↦∑aibiss \mapsto \sum a_i b_i^s is continuous and strictly decreasing, with limits ∞\infty and 00. The proof is by induction on xx: one guesses the bound with suitable constants and checks that the recurrence preserves it. The growth condition on gg is used to compare gg at bixb_i x and at xx. The perturbations hih_i cover floors and ceilings, such as T(⌈x/2⌉)T(\lceil x/2 \rceil), which appear in real algorithms. Example: for T(x)=T(x/3)+T(2x/3)+xT(x) = T(x/3) + T(2x/3) + x, one has p=1p = 1 since 1/3+2/3=11/3 + 2/3 = 1, and ∫1xu/u2 du=log⁡x\int_1^x u/u^2\, du = \log x, so T(x)=Θ(xlog⁡x)T(x) = \Theta(x \log x). The growth condition on gg is needed. For T(x)=T(x/2)+2xT(x) = T(x/2) + 2^x, one has p=0p = 0, and the formula would give the order 2x/x2^x / x, since ∫1x2uu−1 du\int_1^x 2^u u^{-1}\, du grows like 2x/(xlog⁡2)2^x/(x \log 2); but T(x)≥2xT(x) \ge 2^x. Here g(x)=2xg(x) = 2^x fails the growth condition, as g(x)/g(x/2)=2x/2g(x)/g(x/2) = 2^{x/2} is unbounded.

Going deeper

For a student

The theorem generalizes the master theorem of algorithm analysis, which handles only equal subproblem sizes T(x)=aT(x/b)+g(x)T(x) = a T(x/b) + g(x). Here the pieces may have different sizes bixb_i x, and small perturbations hih_i are allowed. To use it, first solve ∑aibip=1\sum a_i b_i^p = 1 for pp, then compute the integral of g(u)/up+1g(u)/u^{p+1}. If g(x)=xqg(x) = x^q with q<pq < p, the integral stays bounded and T=Θ(xp)T = \Theta(x^p); if q=pq = p, one gets Θ(xplog⁡x)\Theta(x^p \log x); if q>pq > p, one gets Θ(xq)\Theta(x^q). In Mathlib a version is AkraBazziRecurrence.isTheta_asympBound.

Reading path

To understand this page from the ground up, read these 3 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Big O notation concept
  2. Recurrence relation concept
  3. Akra–Bazzi theorem statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Akra%E2%80%93Bazzi_method
About this page
TagVZ1J7KM4QS
URIm2://VZ1J7KM4QS
Kindstatement, theorem
WritingW0 stub
MSC68W40, 39A22
StatusThis copy of the site has no build data. Run m2 status VZ1J7KM4QS.
AboutRecurrence relation
UsesBig O notation, Recurrence relation

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.