Основная теорема (анализ алгоритмов) - Master theorem (analysis of algorithms)

в анализ алгоритмов, то основная теорема для повторений "разделяй и властвуй" обеспечивает асимптотический анализ (с помощью Обозначение Big O ) за повторяющиеся отношения типов, которые встречаются в анализ из многих разделяй и властвуй алгоритмы. Впервые подход был представлен Джон Бентли, Доротея Хакен, и Джеймс Б. Сакс в 1980 году, где он был описан как «объединяющий метод» для решения таких повторений.[1] Название «основная теорема» было популяризировано в широко используемом учебнике алгоритмов. Введение в алгоритмы к Кормен, Leiserson, Ривест, и Stein.

Не все рекуррентные соотношения можно решить с помощью этой теоремы; его обобщения включают Метод Акра – Бацци.

Вступление

Рассмотрим проблему, которую можно решить с помощью рекурсивный алгоритм например следующие:

процедура p (ввод Икс размера п):    если п <некоторая константа k:        Решать Икс напрямую без рекурсии еще:        Создавать а подзадачи Икс, каждый размером п/б        Процедура вызова п рекурсивно по каждой подзадаче Объедините результаты из подзадач
Дерево решений.

Вышеупомянутый алгоритм рекурсивно делит проблему на ряд подзадач, каждая подзадача имеет размер п/б. Его дерево решений имеет узел для каждого рекурсивного вызова, а потомками этого узла являются другие вызовы, сделанные из этого вызова. Листья дерева являются базовыми случаями рекурсии, подзадачи (размером менее k), которые не рекурсивны. В приведенном выше примере будет а дочерние узлы на каждом нелистовом узле. Каждый узел выполняет объем работы, соответствующий размеру подзадачи. п передается этому экземпляру рекурсивного вызова и задается . Общий объем работы, выполненной всем алгоритмом, - это сумма работы, выполненной всеми узлами в дереве.

Время выполнения алгоритма, такого как 'p' выше на входе размера 'n', обычно обозначается , можно выразить отношение повторения

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

Общая форма

Основная теорема всегда дает асимптотически точные оценки к повторениям из разделяй и властвуй алгоритмы которые разделяют входные данные на более мелкие подзадачи равного размера, рекурсивно решают подзадачи, а затем объединяют решения подзадач, чтобы получить решение исходной проблемы. Время для такого алгоритма может быть выражено путем добавления работы, которую они выполняют на верхнем уровне своей рекурсии (разделение проблем на подзадачи и последующее объединение решений подзадач), вместе со временем, затраченным на рекурсивные вызовы алгоритма. Если обозначает общее время для алгоритма на входе размера , и обозначает количество времени, затрачиваемое на верхний уровень повторения, тогда время может быть выражено отношение повторения который принимает форму:

Здесь размер задачи ввода, - количество подзадач в рекурсии, а - коэффициент, на который уменьшается размер подзадачи при каждом рекурсивном вызове. Теорема ниже также предполагает, что в качестве базового случая для повторения когда меньше какой-то границы , наименьший размер ввода, который приведет к рекурсивному вызову.

Рецидивы этой формы часто удовлетворяют одному из трех следующих режимов, основанных на том, как работа по разделению / рекомбинации проблемы относится к критический показатель . (В таблице ниже используются стандартные нотация большой O.)

ДелоОписаниеСостояние на в связи с , т.е. Оценка основной теоремыУсловные примеры
1Работа по разделению / рекомбинации проблемы затмевается подзадачами.

т.е. дерево рекурсии имеет много листьев

Когда куда

(ограничено сверху полиномом меньшей степени)

... тогда

(Член расщепления не появляется; преобладает рекурсивная древовидная структура.)

Если и , тогда .
2Работа по разделению / воссоединению проблемы сравнима с подзадачами.Когда для

(диапазон ограничен полиномом критического показателя, умноженный на ноль или более, необязательно s)

... тогда

(Граница - это член разбиения, когда журнал увеличивается на одну степень.)

Если и , тогда .

Если и , тогда .

3Работа по разделению / воссоединению проблемы преобладает над подзадачами.

то есть дерево рекурсии имеет большое количество корней.

Когда куда

(ограниченный снизу полиномом большей степени)

... это не обязательно ничего дает. Если к тому же известно, что
для некоторой постоянной и достаточно большой (часто называемый условие регулярности)

тогда в сумме преобладает член разделения :

Если и и выполняется условие регулярности, то .

Полезное расширение Case 2 обрабатывает все значения :[3]

ДелоСостояние на в связи с , т.е. Оценка основной теоремыУсловные примеры
Когда для любого ... тогда

(Граница - это член разбиения, когда журнал увеличивается на одну степень.)

Если и , тогда .
2bКогда за ... тогда

(Граница - это член разделения, где обратное значение журнала заменяется повторяющимся журналом.)

Если и , тогда .
2cКогда для любого ... тогда

(Граница - это член разделения, при котором журнал исчезает.)

Если и , тогда .


Примеры

Пример случая 1

Как видно из приведенной выше формулы:

, так
, куда

Затем мы посмотрим, удовлетворяем ли мы условию случая 1:

.

Из первого случая основной теоремы следует, что

(Этот результат подтверждается точным решением рекуррентного соотношения, которое имеет вид , предполагая ).

Пример случая 2

Как видно из приведенной выше формулы, переменные принимают следующие значения:

куда

Затем мы посмотрим, удовлетворяем ли мы условию случая 2:

, и поэтому,

Итак, это следует из второго случая основной теоремы:

Таким образом, данное рекуррентное соотношение Т(п) был в Θ (п бревно п).

(Этот результат подтверждается точным решением рекуррентного соотношения, которое имеет вид , предполагая .)

Пример случая 3

Как видно из приведенной выше формулы, переменные принимают следующие значения:

, куда

Затем мы посмотрим, удовлетворяем ли мы условию случая 3:

, а значит, да,

Также выполняется условие регулярности:

, выбирая

Итак, это следует из третьего случая основной теоремы:

Таким образом, данное рекуррентное соотношение Т(п) был в Θ (п2), что соответствует ж (п) исходной формулы.

(Этот результат подтверждается точным решением рекуррентного соотношения, которое имеет вид , предполагая .)

Недопустимые уравнения

Следующие уравнения не могут быть решены с помощью основной теоремы:[4]

  • а не является константой; количество подзадач должно быть исправлено
  • неполиномиальная разница между f (n) и (см. ниже; применяется расширенная версия)
  • не может быть меньше одной подзадачи
  • f (n), которое является временем комбинации, не является положительным
  • случай 3, но нарушение регулярности.

Во втором недопустимом примере выше разница между и можно выразить соотношением . Ясно, что для любой постоянной . Следовательно, разница не является полиномиальной, и основная форма основной теоремы не применяется. Расширенная форма (случай 2b) действительно применяется, что дает решение .

Применение к распространенным алгоритмам

АлгоритмПовторяющиеся отношенияВремя выполненияКомментарий
Бинарный поискПрименить случай основной теоремы , куда [5]
Обход двоичного дереваПрименить случай основной теоремы куда [5]
Оптимальный поиск по сортированной матрицеПрименить Теорема Акра – Бацци за и получить
Сортировка слияниемПрименить случай основной теоремы , куда

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

Примечания

  1. ^ Бентли, Джон Луи; Хакен, Доротея; Сакс, Джеймс Б. (Сентябрь 1980 г.), "Общий метод решения повторений" разделяй и властвуй ", Новости ACM SIGACT, 12 (3): 36–44, Дои:10.1145/1008861.1008865
  2. ^ Университет Дьюка, "Big-Oh для рекурсивных функций: отношения рекуррентности", http://www.cs.duke.edu/~ola/ap/recurrence.html
  3. ^ Чи Яп, Реальный элементарный подход к основной повторяемости и обобщениям, Труды 8-й ежегодной конференции по теории и приложениям моделей вычислений (TAMC'11), страницы 14–26, 2011. Интернет-копия.
  4. ^ Массачусетский технологический институт (MIT), "Основная теорема: практические проблемы и решения", https://people.csail.mit.edu/thies/6.046-web/master.pdf
  5. ^ а б Дартмутский колледж, http://www.math.dartmouth.edu/archive/m19w03/public_html/Section5-2.pdf

Рекомендации

Внешняя ссылка