Akra-Bazzi theorem

from Wikipedia, the free encyclopedia

In computer science , the Akra-Bazzi theorem , or the Akra-Bazzi method , is used to determine the asymptotic behavior of solutions to mathematical recursion equations that occur in the asymptotic analysis of divide-and-conquer algorithms in particular . It was published in 1998 and is a generalization of the master theorem that can only be applied to divide-and-conquer algorithms whose sub-problems are of the same size.

Mathematical formulation

The recursion equation is given

    For

for a function so that the following conditions are met:

  • There are enough base cases so that the equation can be solved uniquely;
  • and are constant for all i , with and ;
  • , where c is a constant and O denotes the Landau symbol ;
  • for all i ;
  • is a constant.

Then for the asymptotic behavior of T ( x ) the estimate in the theta notation applies

with so that

A small perturbation of T's argument is intuitive . Because and because is always between 0 and 1 , the Gaussian brackets ("floor function") in the argument can be ignored. Similarly, one can argue for the irrelevance of the rounding function ("ceiling function") for the asymptotic behavior of T. For example, and according to the Akra-Bazzi theorem have the same asymptotic behavior.

Examples

Merge sort

For the merge sort , the required number T ( n ) of comparisons, which is approximately proportional to its running time, is given by the recursion equation

with the base case . Thus the Akra-Bazzi theorem can be applied, which with and k = 2 ,, initially p = 1 and thus the asymptotic behavior

results.

Divide-and-conquer with unequal sub-problems

Be defined as one for and for . According to the Akra-Bazzi method, the first step is to calculate the value of p such that . This results in p = 2. In the second step, the asymptotic behavior is calculated using the formula:

meaning

The Akra-Bazzi theorem encompasses a very broad class of recursion equations and generalizes theorems that were previously known to determine asymptotic behavior. It is mainly used to consider the complexity of recursive algorithms, especially divide-and-conquer algorithms.

swell

  • Mohamad Akra, Louay Bazzi: On the solution of linear recurrence equations. Computational Optimization and Applications 10 (2), 1998, pp. 195-210.