Теорема Акра-Баззи (Mykjybg Gtjg->g[[n)

Перейти к навигации Перейти к поиску

 

В информатике и теории вычислимости метод Акра–Баззи, или теорема Акра–Баззи, используется для исследования асимптотического поведения рекуррентных функций, которые возникают при анализе алгоритмов типа «разделяй и властвуй», где подзадачи имеют существенно разные размеры. Данный метод является обобщением основной теоремы о рекуррентных соотношениях, которая предполагает, что подзадачи на каждом уровне рекурсии имеют одинаковый размер. Теорема названа в честь математиков Мохамада Акры и Луая Баззи.

Формулировка

[править | править код]

Метод Акра–Баззи применяется к рекуррентным формулам вида: [1]

для которых выполнено:

  • ,
  • при малых искомая рекуррента , где обозначает нотацию -большое,
  • и являются константами ,
  • ,
  • ,
  • , где - константа,
  • .

Асимптотическое поведение рекурренты находится путем определения значения для которого и последующей подстановкой этого значения в выражение: [2]

Под здесь имеется в виду одновременное выполнение условий -большое (ограниченность сверху) и (ограниченность снизу).

Отметим, что функции можно рассматривать как небольшие возмущения в аргументах рекурренты . Учитывая, что и что абсолютная величина всегда находится в интервале между 0 и 1, можно использовать добавки для исключения взятия целой части аргумента. К примеру, рекуррентные формулы и будут, согласно теореме Акра–Баззи, иметь одинаковое асимптотическое поведение.

Пусть задаётся системой:

Применим метод Акра-Баззи для поиска асимптотики на , так как все условия теоремы выполнены. Сначала необходимо найти значение , решив уравнение . В данном примере . Далее, используя формулу Акра-Баззи, можно определить асимптотическое поведение следующим образом:

Рассмотрим в качестве примера алгоритм классической сортировки слиянием. На каждом уровне рекурсии функция сортировки вызывает себя дважды на половинных наборах входных данных и выполняет слияние подмассивов, производя в худшем случае сравнение. Таким образом, рекуррентная формула для сортировки слиянием даётся системой: [3]

Применим метод Акра-Баззи для поиска асимптотики на , так как все условия теоремы выполнены. Сначала необходимо найти значение , решив уравнение . В данном примере . Далее, используя формулу Акра-Баззи, можно определить асимптотическое поведение следующим образом:

Метод Акра–Баззи эффективнее большинства других методов определения асимптотического поведения, поскольку он технически удобен и охватывает очень широкий класс задач. В основном данный метод применяется для оценки времени выполнения алгоритмов типа «разделяй и властвуй».

Смотреть также

[править | править код]
  1. 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.
  3. Introduction to algorithms / Thomas H. Cormen. — 3rd ed. — Cambridge, Mass: MIT Press, 2009. — 1292 с. — ISBN 978-0-262-03384-8, 978-0-262-53305-8.

Внешние ссылки

[править | править код]