~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 6845A64776B1FBFD1BA0046287D8924A__1715294940 ✰
Заголовок документа оригинал.:
✰ Master theorem (analysis of algorithms) - Wikipedia ✰
Заголовок документа перевод.:
✰ Основная теорема (анализ алгоритмов) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Master_theorem_(analysis_of_algorithms) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/68/4a/6845a64776b1fbfd1ba0046287d8924a.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/68/4a/6845a64776b1fbfd1ba0046287d8924a__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 18:41:15 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 May 2024, at 01:49 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Основная теорема (анализ алгоритмов) — Википедия Jump to content

Основная теорема (анализ алгоритмов)

Из Википедии, бесплатной энциклопедии

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

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

Введение [ править ]

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

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

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

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

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

Общая форма [ править ]

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

Здесь размер входной проблемы, количество подзадач в рекурсии, а — коэффициент, на который уменьшается размер подзадачи при каждом рекурсивном вызове (b>1). Крайне важно, и не должно зависеть от . В приведенной ниже теореме также предполагается, что в качестве базового случая повторения когда меньше некоторой границы , наименьший входной размер, который приведет к рекурсивному вызову.

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

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

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

Когда где

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

... затем

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

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

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

... затем

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

Если и , затем .

Если и , затем .

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

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

Когда где

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

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

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

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

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

Случай Состояние включено в связи с , то есть Основная теорема связана Примеры обозначений
Когда для любого ... затем

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

Если и , затем .
Когда для ... затем

(Граница — это член разделения, где обратный логарифм заменяется итерированным логарифмом.)

Если и , затем .
Когда для любого ... затем

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

Если и , затем .

Примеры [ править ]

Пример случая 1 [ править ]

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

, так
, где

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

.

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

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

Пример случая 2 [ править ]

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

где

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

, и, следовательно, c и равны

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

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

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

Пример случая 3 [ править ]

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

, где

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

, и, следовательно, да,

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

, выбирая

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

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

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

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

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

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

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

Приложение к общим алгоритмам [ править ]

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

См. также [ править ]

Примечания [ править ]

  1. ^ Бентли, Джон Луис ; Хакен, Доротея ; Сакс, Джеймс Б. (сентябрь 1980 г.), «Общий метод решения повторяющихся задач по принципу «разделяй и властвуй»» , ACM SIGACT News , 12 (3): 36–44, doi : 10.1145/1008861.1008865 , S2CID   40642274 , заархивировано из оригинала 22 сентября 2017 г.
  2. ^ Университет Дьюка, «Большое спасибо за рекурсивные функции: рекуррентные отношения», 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

Ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 6845A64776B1FBFD1BA0046287D8924A__1715294940
URL1:https://en.wikipedia.org/wiki/Master_theorem_(analysis_of_algorithms)
Заголовок, (Title) документа по адресу, URL1:
Master theorem (analysis of algorithms) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)