Модель дерева решений

редактировать

Модель вычислительной сложности

В вычислительной сложности модель дерева решений - это модель вычислений, в которой алгоритм рассматривается как в основном дерево решений, т. Е. Последовательность операций ветвления, основанная на сравнении некоторых величин, причем сравнения назначенная расчетная стоимость единицы.

Операции ветвления называются «тестами» или «запросами». В этой настройке рассматриваемый алгоритм можно рассматривать как вычисление логической функции f: {0, 1} n → {0, 1} {\ displaystyle f: \ {0,1 \} ^ {n} \ rightarrow \ {0,1 \}}f: \ {0,1 \} ^ {n} \ rightarrow \ {0,1 \} где входными данными является серия запросов, а выходными данными - окончательное решение. Каждый запрос может зависеть от предыдущих запросов.

Было введено несколько вариантов моделей дерева решений в зависимости от сложности операций, разрешенных при вычислении одного сравнения, и способа ветвления.

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

Содержание
  • 1 Классификация по вычислительной сложности запроса
    • 1.1 Простое дерево решений
    • 1.2 Линейное дерево решений
    • 1.3 Алгебраическое дерево решений
  • 2 Классификация по вычислительной модели запроса
    • 2.1 Детерминированное дерево решений
    • 2.2 Рандомизированное дерево решений
    • 2.3 Недетерминированное дерево решений
    • 2.4 Квантовое дерево решений
  • 3 Взаимосвязь между различными моделями
  • 4 См. Также
  • 5 Ссылки
    • 5.1 Обзоры
Классификация по сложности вычислений запроса

Простое дерево решений

Модель, в которой каждое решение основывается на сравнении двух чисел за постоянное время, называется моделью дерева решений. Он был введен для определения вычислительной сложности сортировки и поиска.

Простейшей иллюстрацией этого метода нижней границы является задача поиска наименьшего числа среди n {\ displaystyle n }n числа, использующие только сравнения. В этом случае модель дерева решений - это двоичное дерево. Алгоритмы для этой проблемы поиска могут привести к n {\ displaystyle n}n различным результатам (поскольку любой из n {\ displaystyle n}n заданных чисел может оказаться быть самым маленьким). Известно, что глубина двоичного дерева с n {\ displaystyle n}n листьями не менее log ⁡ n {\ displaystyle \ log n}\ log n , что дает нижнюю границу Ω (log ⁡ n) {\ displaystyle \ Omega (\ log n)}\ Omega (\ log n) для задачи поиска.

Однако известно, что эта нижняя граница является слабой, поскольку следующий простой аргумент показывает, что требуется как минимум n - 1 {\ displaystyle n-1}n-1 сравнений: Перед может быть определено наименьшее число, каждое число, кроме наименьшего, должно «проиграть» (сравнить большее) хотя бы в одном сравнении.

В тех же строках нижняя граница Ω (n log ⁡ n) { \ displaystyle \ Omega (n \ log n)}\ Omega (n \ log n) для сортировки может быть подтверждено. В этом случае существование множества алгоритмов сравнения-сортировки, имеющих такую ​​временную сложность, таких как mergesort и heapsort, демонстрирует, что граница жесткая.

Линейное дерево решений

Линейные деревья решений, как и простые деревья решений, принимают решение о ветвлении на основе набора значений в качестве входных. В отличие от двоичных деревьев решений, линейные деревья решений имеют три выходных ветви. Линейная функция, которая представляет собой любую функцию вида a 0 + ∑ i = 1 naixi {\ displaystyle a_ {0} + \ sum _ {i = 1} ^ {n} a_ {i} x_ {i} }{\ displaystyle a_ {0} + \ sum _ {i = 1} ^ {n} a_ {i} x_ {i}} для некоторых действительных чисел a 0,…, an {\ displaystyle a_ {0}, \ dots, a_ {n}}{\ displaystyle a_ {0}, \ dots, a_ {n}} проверяется, и принимаются решения о ветвлении в зависимости от знака функции (отрицательный, положительный или 0).

Геометрически f (x) {\ displaystyle f (x)}f (x) определяет гиперплоскость в R . Набор входных значений, достигающих любого конкретного узла, представляет собой пересечение полуплоскостей, определенных узлами.

Алгебраическое дерево решений

Алгебраическое дерево решений - это обобщение линейных деревьев решений, которые позволяют тестовым функциям быть полиномами степени d {\ displaystyle d}d . Геометрически пространство разделено на полуалгебраические множества (обобщение гиперплоскости). Оценить сложность обычно труднее.

Классификация по вычислительной модели запроса

Детерминированное дерево решений

Если результат дерева решений равен f (x) {\ displaystyle f (x)}f (x) , для всех x ∈ {0, 1} n {\ displaystyle x \ in \ {0,1 \} ^ {n}}{\ displaystyle х \ in \ {0,1 \} ^ {n}} дерево решений называется "вычислить" f {\ displaystyle f}f . Глубина дерева - это максимальное количество запросов, которое может произойти до того, как будет достигнут лист и получен результат. D (f) {\ displaystyle D (f)}D (е) , детерминированное дерево решений сложность f {\ displaystyle f}f равна наименьшая глубина среди всех детерминированных деревьев решений, которые вычисляют f {\ displaystyle f}f .

рандомизированное дерево решений

Один из способов определить рандомизированное дерево решений - добавить дополнительные узлы к дереву, каждая из которых контролируется вероятностью pi {\ displaystyle p_ {i}}p_ {i} . Другое эквивалентное определение - определить его как распределение по детерминированным деревьям решений. На основе этого второго определения сложность рандомизированного дерева определяется как наибольшая глубина среди всех деревьев, поддерживающих базовое распределение. R 2 (f) {\ displaystyle R_ {2} (f)}R_ {2} (f) определяется как сложность рандомизированного дерева решений с наименьшей глубиной, результатом которого является f (x) {\ displaystyle f (x)}f (x) с вероятностью не менее 2/3 {\ displaystyle 2/3}2/3 для всех x ∈ {0, 1} n {\ displaystyle x \ in \ {0,1 \} ^ {n}}{\ displaystyle х \ in \ {0,1 \} ^ {n}} (т. е. с ограниченной двусторонней ошибкой).

R 2 (f) {\ displaystyle R_ {2} (f)}R_ {2} (f) известна как Монте-Карло рандомизированная сложность дерева решений, потому что результат может быть неверным с ограниченными двусторонняя ошибка. Лас-Вегас сложность дерева решений R 0 (f) {\ displaystyle R_ {0} (f)}R_ {0} (f) измеряет ожидаемую глубину дерева решений, которое должно быть правильным. (т. е. имеет нулевую ошибку). Существует также версия с односторонней ограниченной ошибкой, которая обозначается R 1 (f) {\ displaystyle R_ {1} (f)}R_ {1} (f) .

Недетерминированное дерево решений

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

Квантовое дерево решений

Сложность квантового дерева решений Q 2 (f) {\ displaystyle Q_ {2} (f)}Q_ {2} (f) - это глубина дерево квантовых решений с наименьшей глубиной, которое дает результат f (x) {\ displaystyle f (x)}f (x) с вероятностью не менее 2/3 {\ displaystyle 2/3}2/3 для всех x ∈ {0, 1} n {\ displaystyle x \ in \ {0,1 \} ^ {n}}x \ in \ {0,1 \} ^ {n} . Другая величина, QE (f) {\ displaystyle Q_ {E} (f)}Q_ {E} (f) , определяется как глубина дерева квантовых решений с наименьшей глубиной, которая дает результат f ( x) {\ displaystyle f (x)}f (x) с вероятностью 1 во всех случаях (т.е. точно вычисляет f {\ displaystyle f}f ). Q 2 (f) {\ displaystyle Q_ {2} (f)}Q_ {2} (f) и QE (f) {\ displaystyle Q_ {E} (f)}Q_ {E} (f) более широко известны как сложности квантовых запросов, потому что прямое определение дерева квантовых решений сложнее, чем в классическом случае. Подобно случайному случаю, мы определяем Q 0 (f) {\ displaystyle Q_ {0} (f)}Q_ {0} (f) и Q 1 (f) {\ displaystyle Q_ {1} ( f)}Q_ {1} (f) .

Взаимосвязь между разными моделями

Из определений сразу следует, что для всех n {\ displaystyle n}n -битных булевых функций f {\ displaystyle f}f , Q 2 (f) ≤ R 2 (f) ≤ R 1 (f) ≤ R 0 (f) ≤ D (f) ≤ n {\ displaystyle Q_ {2} (f) \ leq R_ { 2} (f) \ leq R_ {1} (f) \ leq R_ {0} (f) \ leq D (f) \ leq n}Q_ {2} ( f) \ leq R_ {2} (f) \ leq R_ {1} (f) \ leq R_ {0} (f) \ leq D (f) \ leq n и Q 2 (f) ≤ QE (f) ≤ D (f) ≤ n {\ displaystyle Q_ {2} (f) \ leq Q_ {E} (f) \ leq D (f) \ leq n}Q_ {2} (f) \ leq Q_ {E} (f) \ leq D (f) \ leq n .

Блюм и Импальяццо, Хартманис и Хемачандра, и Тардос независимо обнаружил, что D (f) ≤ R 0 (f) 2 {\ displaystyle D (f) \ leq R_ {0} (f) ^ {2}}D (f) \ leq R_ {0} (f) ^ {2} . Ноам Нисан найдено что сложность рандомизированного дерева решений Монте-Карло также полиномиально связана со сложностью детерминированного дерева решений: D (f) = O (R 2 (f) 3) {\ displaystyle D (f) = O (R_ {2} ( е) ^ {3})}D (f) = O (R_ {2} (f) ^ {3}) . (Нисан также показал, что D (f) = O (R 1 (f) 2) {\ displaystyle D (f) = O (R_ {1} (f) ^ {2})}D (f) = O (R_ {1} (f) ^ {2}) .) Между моделями Монте-Карло и Лас-Вегас известна более тесная взаимосвязь: R 0 (f) = O (R 2 (f) 2 log ⁡ R 2 (f)) {\ displaystyle R_ {0} ( е) = O (R_ {2} (f) ^ {2} \ log R_ {2} (f))}{\ displaystyle R_ {0} (f) = O (R_ {2} (f) ^ {2} \ log R_ {2} (f))} . Это отношение оптимально с точностью до полилогарифмических факторов.

Сложность квантового дерева решений Q 2 (f) {\ displaystyle Q_ {2} (f)}Q_ {2} (f) также полиномиально связана с D (f) {\ displaystyle D (f)}D (е) . Мидриджанис показал, что D (f) = O (QE (f) 3) {\ displaystyle D (f) = O (Q_ {E} (f) ^ {3})}D (f) = O (Q_ {E} (f) ^ {3}) , улучшая граница квартики из-за Beals et al. Beals et al. также показал, что D (f) = O (Q 2 (f) 6) {\ displaystyle D (f) = O (Q_ {2} (f) ^ {6})}D (f) = O (Q_ { 2} (f) ^ {6}) , и это по-прежнему самая известная граница. Однако самый большой известный разрыв между детерминированной и квантовой сложностями запросов только квадратичный. Квадратичный разрыв достигается для функции ИЛИ ; D (ИЛИ n) = n {\ displaystyle D (OR_ {n}) = n}D (OR_ {n}) = n , а Q 2 (OR n) = Θ (n) {\ displaystyle Q_ {2 } (OR_ {n}) = \ Theta ({\ sqrt {n}})}Q_ {2} (OR_ {n}) = \ Theta ({\ sqrt {n}}) .

Важно отметить, что эти полиномиальные отношения действительны только для полных булевых функций. Для частичных логических функций, у которых есть домен подмножества {0, 1} n {\ displaystyle \ {0,1 \} ^ {n}}\ {0,1 \} ^ {n} , экспоненциальное разделение между QE (f) {\ displaystyle Q_ {E} (f)}Q_ {E} (f) и D (f) {\ displaystyle D (f)}D (е) равно возможный; Первый пример такой проблемы был обнаружен Дойч и Йозса.

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

  • D (f) ≤ R 0 (f) 2 {\ Displaystyle D (е) \ leq R_ {0} (f) ^ {2}}D (f) \ leq R_ {0} (f) ^ {2}
  • D (f) ≤ R 1 (f) R 2 (f) {\ displaystyle D (f) \ leq R_ {1} (е) R_ {2} (f)}D (f) \ leq R_ {1} ( f) R_ {2} (f)
  • D (f) ≤ R 2 (f) 3 {\ displaystyle D (f) \ leq R_ {2} (f) ^ {3}}D (f) \ leq R_ {2} (f) ^ {3}
  • R 0 (е) ≤ R 2 (f) 2 журнал ⁡ R 2 (f) {\ displaystyle R_ {0} (f) \ leq R_ {2} (f) ^ {2} \ log R_ {2} (f)}{\ displaystyle R_ {0} (f) \ leq R_ {2} (f) ^ {2} \ log R_ {2} (f)}
  • D (f) ≤ Q 2 (f) 6 {\ displaystyle D (f) \ leq Q_ {2} (f) ^ {6}}D (f) \ leq Q_ {2} (f) ^ {6}
  • D (f) ≤ QE (f) 2 Q 2 (е) 2 {\ displaystyle D (f) \ leq Q_ {E} (f) ^ {2} Q_ {2} (f) ^ {2}}D (f) \ leq Q_ {E} (f) ^ { 2} Q_ {2} (f) ^ {2}
  • D (f) ≤ Q 1 (е) 2 Q 2 (е) 2 {\ Displaystyle D (f) \ leq Q_ {1} (f) ^ {2} Q_ {2} (f) ^ {2}}D (f) \ leq Q_ {1} (f) ^ {2} Q_ {2} (f) ^ { 2}
  • R 0 (f) ≤ Q 1 (е) Q 2 (е) 2 журнал ⁡ N {\ displaystyle R_ {0} (f) \ leq Q_ {1} (f) Q_ {2} (f) ^ {2} \ log N}R_ {0} (f) \ leq Q_ {1} (f) Q_ {2} (f) ^ {2} \ log N
  • D (f) ≤ Q 1 (f) Q 2 (f) 2 {\ displaystyle D (f) \ leq Q_ {1} (f) Q_ {2} (f) ^ {2}}D (f) \ leq Q_ {1} (f) Q_ {2} (f) ^ {2}
См. также
Ссылки

Опросы

Последняя правка сделана 2021-05-17 10:50:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте