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

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

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

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

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

Значение
Метод Акра–Баззи эффективнее большинства других методов определения асимптотического поведения, поскольку он технически удобен и охватывает очень широкий класс задач. В основном данный метод применяется для оценки времени выполнения алгоритмов типа «разделяй и властвуй».
См. также
Ссылки
- ↑ Akra, Mohamad; Bazzi, Louay (Май 1998). On the solution of linear recurrence equations. Computational Optimization and Applications. 10 (2): 195—210. doi:10.1023/A:1018373005182. S2CID 7110614.
- ↑ Proof and application on few examples .
- ↑ 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.
Внешние ссылки