Модель дерева решений
С точки зрения вычислительной сложности модель дерева решений — это модель вычислений , в которой алгоритм рассматривается как дерево решений , то есть последовательность запросов или тестов , которые выполняются адаптивно, поэтому результаты предыдущих тестов могут влиять на тесты, выполняемые следующими. .
Обычно эти тесты имеют небольшое количество результатов (например, вопрос «да-нет ») и могут выполняться быстро (скажем, с единичными вычислительными затратами), поэтому временная сложность алгоритма в наихудшем случае в модели дерева решений соответствует глубину соответствующего дерева решений. Это понятие вычислительной сложности проблемы или алгоритма в модели дерева решений называется сложностью дерева решений или сложностью запроса .
Модели деревьев решений играют важную роль в установлении нижних границ теории сложности для определенных классов вычислительных задач и алгоритмов. Было представлено несколько вариантов моделей дерева решений в зависимости от вычислительной модели и типа алгоритмов запросов, которые разрешено выполнять.
Например, аргумент дерева решений используется, чтобы показать, что сравнения метод предметы должны взять сравнения. Для сортировок сравнения запрос представляет собой сравнение двух элементов. , с двумя исходами (при условии, что все элементы не равны): либо или . В этой модели сортировку сравнения можно выразить в виде дерева решений, поскольку такие алгоритмы сортировки выполняют только эти типы запросов.
Деревья сравнения и нижние границы сортировки
[ редактировать ]Деревья решений часто используются для понимания алгоритмов сортировки и других подобных задач; впервые это сделали Форд и Джонсон. [1]
Например, многие алгоритмы сортировки являются сортировками сравнения , что означает, что они получают информацию только о входной последовательности. посредством локальных сравнений: проверка того, , , или . Если предположить, что элементы, подлежащие сортировке, различны и сопоставимы, это можно перефразировать как вопрос «да» или «нет»: ?
Эти алгоритмы можно смоделировать как двоичные деревья решений, где запросы представляют собой сравнения: внутренний узел соответствует запросу, а дочерние элементы узла соответствуют следующему запросу, когда ответ на вопрос — да или нет. Для конечных узлов выход соответствует перестановке который описывает, как входная последовательность была зашифрована из полностью упорядоченного списка элементов. (Обратная перестановка, , переупорядочивает входную последовательность.)
Можно показать, что сортировка сравнения должна использовать сравнения с помощью простого аргумента: чтобы алгоритм был корректным, он должен иметь возможность выводить все возможные перестановки элементы; в противном случае алгоритм потерпит неудачу для этой конкретной перестановки в качестве входных данных. Таким образом, соответствующее ему дерево решений должно иметь по крайней мере столько же листьев, сколько перестановок: листья. Любое двоичное дерево, имеющее хотя бы листья имеют как минимум глубину , так что это нижняя граница времени выполнения алгоритма сортировки сравнением. В этом случае существование многочисленных алгоритмов сортировки сравнения, имеющих такую временную сложность, таких как сортировка слиянием и пирамидальная сортировка , демонстрирует, что граница точная. [2] : 91
В этом аргументе ничего не говорится о типе запроса, поэтому он фактически доказывает нижнюю границу для любого алгоритма сортировки, который можно смоделировать как двоичное дерево решений. По сути, это перефразирование теоретико-информационного аргумента о том, что правильный алгоритм сортировки должен научиться как минимум биты информации о входной последовательности. В результате это также работает и для рандомизированных деревьев решений.
Другие нижние границы дерева решений основаны на том, что запрос представляет собой сравнение. Например, рассмотрим задачу использования только сравнений для нахождения наименьшего числа среди цифры. Прежде чем можно будет определить наименьшее число, каждое число, кроме наименьшего, должно «проиграть» (сравнить большее) хотя бы в одном сравнении. Итак, потребуется как минимум сравнения, чтобы найти минимум. (Теоретико-информационный аргумент здесь дает только нижнюю границу .) Аналогичный аргумент работает и для общих нижних оценок статистики порядка вычисления . [2] : 214
Линейные и алгебраические деревья решений
[ редактировать ]Линейные деревья решений обобщают приведенные выше деревья решений сравнения для вычисления функций, которые принимают действительные векторы. в качестве ввода. Тесты в линейных деревьях решений представляют собой линейные функции: для конкретного выбора действительных чисел. , выведите знак . (Алгоритмы в этой модели могут зависеть только от знака выходных данных.) Деревья сравнения являются линейными деревьями решений, поскольку сравнение между и соответствует линейной функции . По определению, линейные деревья решений могут определять только функции которого слои можно построить путем объединения и пересечения полупространств.
Алгебраические деревья решений представляют собой обобщение линейных деревьев решений, которые позволяют тестовым функциям быть полиномами степени . Геометрически пространство разделено на полуалгебраические множества (обобщение гиперплоскости).
Эти модели дерева решений, определенные Рабином [3] и Рейнгольд, [4] часто используются для доказательства нижних границ в вычислительной геометрии . [5] Например, Бен-Ор показал, что уникальность элемента (задача вычисления , где равен 0 тогда и только тогда, когда существуют различные координаты такой, что ) требует алгебраического дерева решений глубины . [6] Впервые это было показано для линейных моделей принятия решений Добкиным и Липтоном. [7] Они также показывают нижняя оценка для линейных деревьев решений задачи о рюкзаке, обобщенная Стилом и Яо на алгебраические деревья решений. [8]
Сложности логического дерева решений
[ редактировать ]Для логических деревьев решений задача состоит в том, чтобы вычислить значение n-битной логической функции. для входа . Запросы соответствуют чтению части входных данных, , и выход . Каждый запрос может зависеть от предыдущих запросов. Существует множество типов вычислительных моделей, использующих деревья решений, которые можно рассматривать, допуская множественные понятия сложности, называемые мерами сложности .
Детерминированное дерево решений
[ редактировать ]Если выходные данные дерева решений , для всех говорят, что дерево решений «вычисляет» . Глубина дерева — это максимальное количество запросов, которое может произойти до того, как будет достигнут лист и получен результат. , детерминированного дерева решений сложность — наименьшая глубина среди всех детерминированных деревьев решений, вычисляющих .
Рандомизированное дерево решений
[ редактировать ]Один из способов определить рандомизированное дерево решений — добавить к дереву дополнительные узлы, каждый из которых контролируется вероятностью. . Другое эквивалентное определение — это распределение по детерминированным деревьям решений. На основании этого второго определения сложность рандомизированного дерева определяется как наибольшая глубина среди всех деревьев, поддерживающих базовое распределение. определяется как сложность рандомизированного дерева решений наименьшей глубины, результат которого равен с вероятностью по крайней мере для всех (т.е. с ограниченной двусторонней ошибкой).
известна как сложность рандомизированного дерева решений Монте-Карло , поскольку результат может быть неверным с ограниченной двусторонней ошибкой. Лас - Вегаса Сложность дерева решений измеряет ожидаемую глубину дерева решений, которое должно быть правильным (т. е. иметь нулевую ошибку). Существует также версия с односторонней ограниченной ошибкой, которая обозначается .
Недетерминированное дерево решений
[ редактировать ]Недетерминированная сложность дерева решений функции чаще известна как сложность сертификата этой функции. Он измеряет количество входных битов, которые недетерминированный алгоритм должен будет просмотреть, чтобы с уверенностью оценить функцию.
Формально сложность сертификата в - размер наименьшего подмножества индексов такой, что для всех , если для всех , затем . Сертификат сложности — максимальная сложность сертификата по всем . Аналогичное понятие, когда требуется, чтобы проверяющий был корректен только с вероятностью 2/3, обозначается .
Квантовое дерево решений
[ редактировать ]Сложность квантового дерева решений - это глубина квантового дерева решений наименьшей глубины, которое дает результат с вероятностью по крайней мере для всех . Другое количество, , определяется как глубина квантового дерева решений наименьшей глубины, которое дает результат с вероятностью 1 во всех случаях (т.е. вычисляет точно). и более известны как сложности квантовых запросов , поскольку прямое определение квантового дерева решений более сложное, чем в классическом случае. Подобно рандомизированному случаю, мы определяем и .
Эти понятия обычно ограничиваются понятиями степени и приблизительной степени. Степень , обозначенный , — наименьшая степень любого многочлена удовлетворяющий для всех . степень Примерная , обозначенный , — наименьшая степень любого многочлена удовлетворяющий в любое время и в любое время .
Билс и др. установил, что и . [9]
Отношения между мерами сложности логических функций
[ редактировать ]Из определений непосредственно следует, что для всех -битные логические функции , , и . Поиск наилучших верхних границ в обратном направлении является основной целью в области сложности запросов.
Все эти типы сложности запросов связаны полиномиально. Блюм и Импальяццо, [10] Хартманис и Хемачандра, [11] и Тардос [12] независимо обнаружил, что . Ноам Нисан обнаружил, что сложность рандомизированного дерева решений Монте-Карло также полиномиально связана со сложностью детерминированного дерева решений: . [13] (Нисан также показал, что .) Более тесная связь известна между моделями Монте-Карло и Лас-Вегаса: . [14] Эта связь оптимальна с точностью до полилогарифмических коэффициентов. [15] Что касается сложностей квантового дерева решений, , и эта граница точная. [16] [15] Мидриджанис показал, что , [17] [18] улучшение границы четвертой степени благодаря Билсу и др. [9]
Важно отметить, что эти полиномиальные соотношения справедливы только для полных булевых функций. Для частичных булевых функций , областью определения которых является подмножество , экспоненциальное разделение между и возможно; первый пример такой проблемы был обнаружен Дойчем и Йожа .
Гипотеза о чувствительности
[ редактировать ]Для булевой функции , чувствительность определяется как максимальная чувствительность общий , где чувствительность в количество однобитовых изменений в которые меняют ценность . Чувствительность связана с понятием суммарного влияния анализа булевых функций , которое равно средней чувствительности по всем .
Гипотеза о чувствительности — это гипотеза о том, что чувствительность полиномиально связана со сложностью запроса; то есть существует показатель такой, что для всех , и . С помощью простого рассуждения можно показать, что , поэтому гипотеза конкретно касается поиска нижней границы чувствительности. Поскольку все ранее обсуждавшиеся меры сложности связаны полиномиально, точный тип меры сложности не имеет значения. Однако обычно это формулируется как вопрос связи чувствительности с чувствительностью блока.
Чувствительность блока , обозначенный , определяется как максимальная чувствительность блока общий . Чувствительность блока в это максимальное число непересекающихся подмножеств такая, что для любого из подмножеств , переворачивая кусочки соответствующий меняет значение . [13]
В 2019 году Хао Хуан доказал гипотезу о чувствительности, показав, что . [19] [20]
См. также
[ редактировать ]- Сортировка сравнения
- Дерево решений
- Гипотеза Андераа – Карпа – Розенберга
- Минимальное связующее дерево § Деревья решений
Ссылки
[ редактировать ]- ^ Форд, Лестер Р. младший; Джонсон, Селмер М. (1 мая 1959 г.). «Турнирная задача» . Американский математический ежемесячник . 66 (5): 387–389. дои : 10.1080/00029890.1959.11989306 . ISSN 0002-9890 .
- ^ Jump up to: а б Введение в алгоритмы . Кормен, Томас Х. (Третье изд.). Кембридж, Массачусетс: MIT Press. 2009. ISBN 978-0-262-27083-0 . OCLC 676697295 .
{{cite book}}
: CS1 maint: другие ( ссылка ) - ^ Рабин, Майкл О. (1 декабря 1972 г.). «Доказательство одновременной положительности линейных форм» . Журнал компьютерных и системных наук . 6 (6): 639–650. дои : 10.1016/S0022-0000(72)80034-5 . ISSN 0022-0000 .
- ^ Рейнгольд, Эдвард М. (1 октября 1972 г.). «Об оптимальности некоторых заданных алгоритмов» . Журнал АКМ . 19 (4): 649–659. дои : 10.1145/321724.321730 . ISSN 0004-5411 . S2CID 18605212 .
- ^ Препарата, Франко П. (1985). Вычислительная геометрия: введение . Шамос, Майкл Ян. Нью-Йорк: Springer-Verlag. ISBN 0-387-96131-3 . OCLC 11970840 .
- ^ Бен-Ор, Майкл (1 декабря 1983 г.). «Нижние оценки для деревьев алгебраических вычислений». Материалы пятнадцатого ежегодного симпозиума ACM по теории вычислений - STOC '83 . СТОК '83. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 80–86. дои : 10.1145/800061.808735 . ISBN 978-0-89791-099-6 . S2CID 1499957 .
- ^ Добкин, Дэвид; Липтон, Ричард Дж. (1 июня 1976 г.). «Задачи многомерного поиска» . SIAM Journal по вычислительной технике . 5 (2): 181–186. дои : 10.1137/0205015 . ISSN 0097-5397 .
- ^ Майкл Стил, Дж; Яо, Эндрю С. (1 марта 1982 г.). «Нижние оценки алгебраических деревьев решений» . Журнал алгоритмов . 3 (1): 1–8. дои : 10.1016/0196-6774(82)90002-5 . ISSN 0196-6774 .
- ^ Jump up to: а б Билс, Р.; Бурман, Х.; Умный.; Моска, М.; де Вольф, Р. (2001). «Квантовые нижние границы полиномами». Журнал АКМ . 48 (4): 778–797. arXiv : Quant-ph/9802049 . дои : 10.1145/502090.502097 . S2CID 1078168 .
- ^ Блюм, М.; Импальяццо, Р. (1987). «Общие оракулы и классы оракулов». Материалы 18-й конференции IEEE FOCS . стр. 118–126.
- ^ Хартманис, Дж.; Хемачандра, Л. (1987), «Односторонние функции, устойчивость и неизоморфизм NP-полных наборов», Технический отчет DCS TR86-796, Корнельский университет
- ^ Тардос, Г. (1989). «Сложность запроса, или почему сложно разделить NP А ∩ коНП А от П А случайными оракулами A ?". Combinatorica . 9 (4): 385–392. doi : 10.1007/BF02125350 . S2CID 45372592 .
- ^ Jump up to: а б Нисан, Н. (1989). «КОЛЯСКИ ЭКИПАЖА и деревья решений». Материалы 21-го ACM STOC . стр. 327–335.
- ^ Кулкарни Р. и Таль А. О чувствительности дробного блока. Электронный коллоквиум по сложности вычислений (ECCC). Том. 20. 2013.
- ^ Jump up to: а б Амбайнис, Андрис; Балодис, Каспарс; Беловс, Александрс; Ли, Трой; Санта, Миклош; Смотровс, Юрис (04.09.2017). «Разделение сложности запроса на основе функций указателя» . Журнал АКМ . 64 (5): 32:1–32:24. arXiv : 1506.04719 . дои : 10.1145/3106234 . ISSN 0004-5411 . S2CID 10214557 .
- ^ Ааронсон, Скотт; Бен-Давид, Шалев; Котари, Робин; Рао, Шравас; Таль, Авишай (23 октября 2020 г.). «Степень против приблизительной степени и квантовые последствия теоремы Хуанга о чувствительности». arXiv : 2010.12629 [ квант-ph ].
- ^ Мидриджанис, Гатис (2004), «Точная квантовая сложность запроса для полных логических функций», arXiv : quant-ph/0403168
- ^ Мидриджанис, Гатис (2005), «О сложностях рандомизированных и квантовых запросов», arXiv : quant-ph/0501142
- ^ Хуан, Хао (2019). «Индуцированные подграфы гиперкубов и доказательство гипотезы чувствительности». Анналы математики . 190 (3): 949–955. arXiv : 1907.00847 . дои : 10.4007/анналы.2019.190.3.6 . ISSN 0003-486X . JSTOR 10.4007/анналы.2019.190.3.6 . S2CID 195767594 .
- ^ Кларрайх, Эрика. «Гипотеза десятилетней компьютерной науки решена на двух страницах» . Журнал Кванта . Проверено 26 июля 2019 г.
Опросы
[ редактировать ]- Бурман, Гарри; де Вольф, Рональд (2002), «Меры сложности и сложность дерева решений: обзор» (PDF) , Theoretical Computer Science , 288 (1): 21–43, doi : 10.1016/S0304-3975(01)00144-X