In computer science, the Akra–Bazzi method, or Akra–Bazzi theorem, is used to analyze the asymptotic behavior of the mathematical recurrences that appear in the analysis of divide and conquer algorithms where the sub-problems have substantially different sizes. It is a generalization of the master theorem for divide-and-conquer recurrences, which assumes that the sub-problems have equal size. It is named after mathematicians Mohamad Akra and Louay Bazzi.[1]

Formulation

edit

The Akra–Bazzi method applies to recurrence formulas of the form:[1]

The conditions for usage are:

  • sufficient base cases are provided
  • and are constants for all
  • for all
  • for all
  • , where c is a constant and O notates Big O notation
  • for all
  • is a constant

The asymptotic behavior of is found by determining the value of for which and plugging that value into the equation:[2]

(see Θ). Intuitively, represents a small perturbation in the index of . By noting that and that the absolute value of is always between 0 and 1, can be used to ignore the floor function in the index. Similarly, one can also ignore the ceiling function. For example, and will, as per the Akra–Bazzi theorem, have the same asymptotic behavior.

Example

edit

Suppose is defined as 1 for integers and for integers . In applying the Akra–Bazzi method, the first step is to find the value of for which . In this example, . Then, using the formula, the asymptotic behavior can be determined as follows:[3]

Significance

edit

The Akra–Bazzi method is more useful than most other techniques for determining asymptotic behavior because it covers such a wide variety of cases. Its primary application is the approximation of the running time of many divide-and-conquer algorithms. For example, in the merge sort, the number of comparisons required in the worst case, which is roughly proportional to its runtime, is given recursively as and

for integers , and can thus be computed using the Akra–Bazzi method to be .

See also

edit

References

edit
  1. ^ a b Akra, Mohamad; Bazzi, Louay (May 1998). "On the solution of linear recurrence equations". Computational Optimization and Applications. 10 (2): 195–210. doi:10.1023/A:1018373005182. S2CID 7110614.
  2. ^ "Proof and application on few examples" (PDF).
  3. ^ Cormen, Thomas; Leiserson, Charles; Rivest, Ronald; Stein, Clifford (2009). Introduction to Algorithms. MIT Press. ISBN 978-0262033848.
edit

📚 Artikel Terkait di Wikipedia

Master theorem (analysis of algorithms)

relations can be solved by this theorem; its generalizations include the Akra–Bazzi method. Consider a problem that can be solved using a recursive algorithm

Divide-and-conquer algorithm

Wikimedia Commons has media related to Divide-and-conquer algorithms. Akra–Bazzi method – Method in computer science Decomposable aggregation function – Type of

List of mathematics-based methods

mathematics-based methods. Adams' method (differential equations) Akra–Bazzi method (asymptotic analysis) Bisection method (root finding) Brent's method (root finding)

Outline of combinatorics

Nullstellensatz Incidence algebra Greedy algorithm Divide and conquer algorithm Akra–Bazzi method Dynamic programming Branch and bound Birthday attack, birthday paradox

Median of medians

resulting complexity to O ( n log ⁡ n ) {\displaystyle O(n\log n)} by the Akra–Bazzi method, but it does not prove linearity. Conversely, one may instead group

List of theorems

Lax–Wendroff theorem (numerical analysis) Marsaglia's theorem (number theory) Akra–Bazzi theorem (computer science) Art gallery theorem (geometry) CAP theorem