Уклоняющаяся булева функция
В математике уклоняющаяся булева функция (из переменные) — это булева функция , для которой каждый алгоритм дерева решений имеет время работы ровно . Следовательно, каждый алгоритм дерева решений , представляющий функцию, в худшем случае имеет время работы .
Определение
[ редактировать ]Тип алгоритмов, рассматриваемых при определении уклоняющейся булевой функции, представляет собой деревья решений , в которых каждый внутренний узел проверяет значение одной из заданных логических переменных и соответственно разветвляется. Каждый листовой узел дерева определяет значение функции для входных данных, достигающих этого узла. наихудшего случая Сложность дерева решений для данного дерева решений - это количество переменных, проверенных на самом длинном пути от корня к листу дерева. Каждый Функция -переменная имеет алгоритм дерева решений, который точно проверяет переменные на всех входах, используя дерево решений, в котором все узлы на уровне протестировать -я переменная. Функция является уклончивой, если никакое другое дерево решений для той же функции не имеет меньшей сложности. Для уклоняющейся функции любое дерево решений должно иметь хотя бы один вход, ведущий к пути в дереве, по которому проверяются все входные переменные. [1]
Примеры
[ редактировать ]Построить неуклоняющиеся функции тривиально, построив деревья решений, в которых каждая ветвь завершается перед проверкой всех переменных. Например, функция «всегда истина» имеет дерево решений без тестов. В качестве менее тривиального примера, в котором все переменные используются для определения значения функции, рассмотрим функцию трех переменных. , , и который возвращает либо или в зависимости от того, истинно или ложно соответственно. У него есть дерево решений, которое сначала проверяет , а затем проверяет только один из или на каждой ветке.
Если ветвь дерева решений завершается до проверки всех переменных, то она дает значение функции для четного числа комбинаций аргументов: комбинации, где количество переменных и это число, протестированное на этой ветке. Следовательно, если булева функция имеет нечетное количество комбинаций аргументов, для которых она истинна, то она должна быть уклончивой. [1] Например, логические и логические функции или верны для 1 и комбинации аргументов соответственно, оба из которых являются нечетными числами (для ), поэтому они уклончивы.
История
[ редактировать ]Понятие уклоняющей функции было введено в связи с исследованием графовых алгоритмов для графов, определенных в неявной графовой модели, где алгоритм имеет доступ к графу только через подпрограмму проверки смежности вершин. В этом приложении свойство графа можно описать как булеву функцию, входные переменные которой истинны, если между двумя вершинами присутствует ребро, а свойство является уклончивым, если каждый алгоритм должен (на некоторых входных данных) проверять существование каждого потенциального ребра. Ранние работы в этой области доказали, что постоянная доля ребер должна быть проверена на наличие любого нетривиального свойства монотонного графа; здесь «нетривиальный» означает, что функция имеет более одного значения, а «монотонный» означает, что добавление ребер в граф не может изменить значение функции с истинного на ложное. Эти частичные результаты послужили мотивом для формулировки до сих пор недоказанной гипотезы Андераа-Карпа-Розенберга , согласно которой все нетривиальные свойства монотонного графа уклончивы. [1]
Гипотеза Андераа-Карпа-Розенберга вытекает из более общей гипотезы об уклончивости булевых функций: каждая нетривиальная монотонная булева функция, имеющая симметрии, переводящие любую переменную в любую другую переменную, является уклончивой. Эта гипотеза также остается недоказанной, но известно, что она верна для определенных значений , включая высшие державы . [1] [2] Это было названо гипотезой уклончивости . [3]
Ссылки
[ редактировать ]- ^ Jump up to: Перейти обратно: а б с д Ривест, Рональд Л .; Вуйемен, Жан (декабрь 1976 г.), «О распознавании свойств графов по матрицам смежности», Theoretical Computer Science , 3 (3): 371–384, doi : 10.1016/0304-3975(76)90053-0 . В этой ссылке уклончивые свойства называются «исчерпывающими», но упоминается, что слово «уклончивый» вместо этого используется в нескольких других ранее неопубликованных работах.
- ^ Кан, Джефф; Сакс, Майкл ; Стертевант, Дин (декабрь 1984 г.), «Топологический подход к уклончивости», Combinatorica , 4 (4): 297–306, doi : 10.1007/bf02579140
- ^ Кулкарни, Рагхав (сентябрь 2013 г.), «Возврат к жемчужинам сложности дерева решений», ACM SIGACT News , 44 (3): 42–55, doi : 10.1145/2527748.2527763