Akra–Bazzi Method
   HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
, 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 Divide and rule policy ( la, divide et impera), or divide and conquer, in politics and sociology is gaining and maintaining power divisively. Historically, this strategy was used in many different ways by empires seeking to expand their terr ...
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
s 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 Muhammad ( ar, مُحَمَّد;  570 – 8 June 632 CE) was an Arab religious, social, and political leader and the founder of Islam. According to Islamic doctrine, he was a prophet divinely inspired to preach and confirm the monothe ...
and
Louay Bazzi Luay, Luayy or Louay (Arabic: لُؤَيّ ''lū’ayy'', ), also spelled Loai, Loay or Luai, is an Arabic male given name from the noun ''la’y'' (لَأْي), meaning "Strong, Patient, a Sheild and/or Protector". Notable people with the name inc ...
.


Formulation

The Akra–Bazzi method applies to recurrence formulas of the form :T(x)=g(x) + \sum_^k a_i T(b_i x + h_i(x))\qquad \textx \geq x_0. The conditions for usage are: * sufficient base cases are provided * a_i and b_i are constants for all i * a_i > 0 for all i * 0 < b_i < 1 for all i * \left, g'(x)\ \in O(x^c), where ''c'' is a constant and ''O'' notates
Big O notation Big ''O'' notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. Big O is a member of a family of notations invented by Paul Bachmann, Edmund Lan ...
* \left, h_i(x) \ \in O\left(\frac\right) for all i * x_0 is a constant The asymptotic behavior of T(x) is found by determining the value of p for which \sum_^k a_i b_i^p = 1 and plugging that value into the equation :T(x) \in \Theta \left( x^p\left( 1+\int_1^x \fracdu \right)\right) (see Θ). Intuitively, h_i(x) represents a small perturbation in the index of T. By noting that \lfloor b_i x \rfloor = b_i x + (\lfloor b_i x \rfloor - b_i x) and that the absolute value of \lfloor b_i x \rfloor - b_i x is always between 0 and 1, h_i(x) can be used to ignore the floor function in the index. Similarly, one can also ignore the ceiling function. For example, T(n) = n + T \left(\frac n \right) and T(n) = n + T \left(\left\lfloor \frac n \right\rfloor \right) will, as per the Akra–Bazzi theorem, have the same asymptotic behavior.


Example

Suppose T(n) is defined as 1 for integers 0 \leq n \leq 3 and n^2 + \frac T \left( \left\lfloor \frac n \right\rfloor \right) + T \left( \left\lceil \frac n \right\rceil \right) for integers n > 3. In applying the Akra–Bazzi method, the first step is to find the value of p for which \frac \left(\frac\right)^p + \left(\frac \right)^p = 1. In this example, p=2. Then, using the formula, the asymptotic behavior can be determined as follows: : \begin T(x) & \in \Theta \left( x^p\left( 1+\int_1^x \frac\,du \right)\right) \\ & = \Theta \left( x^2 \left( 1+\int_1^x \frac\,du \right)\right) \\ & = \Theta(x^2(1 + \ln x)) \\ & = \Theta(x^2\log x). \end


Significance

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 T(1) = 0 and :T(n) = T\left(\left\lfloor \frac n \right\rfloor \right) + T\left(\left\lceil \frac n \right\rceil \right) + n - 1 for integers n > 0, and can thus be computed using the Akra–Bazzi method to be \Theta(n \log n).


See also

* Master theorem (analysis of algorithms) * Asymptotic complexity


References


External links


O Método de Akra-Bazzi na Resolução de Equações de Recorrência
{{DEFAULTSORT:Akra-Bazzi Method Asymptotic analysis Theorems in discrete mathematics Recurrence relations Bazzi family