Есть ли (разумный) способ выбрать равномерно случайную булеву функцию , степень которой как вещественный полином не превосходит ?
РЕДАКТИРОВАТЬ: Нисан и Сегеди показали, что функция степени зависит не более чем от координат, поэтому мы можем предположить, что . Проблемы, как я вижу, следующие: 1) С одной стороны, если мы выберем случайную булеву функцию для координат , то ее степень будет близка к , намного выше, чем . 2) С другой стороны, если мы выберем каждый коэффициент степени не более случайным образом, то функция не будет булевой.
Таким образом, вопрос заключается в следующем: есть ли способ выборки логической функции низкой степени, которая позволяет избежать этих двух проблем?
randomness
boolean-functions
bounded-degree
Игорь Шинкарь
источник
источник
Ответы:
Вот алгоритм, который побеждает тривиальные попытки.
Следующее является известным фактом (упражнение 1.12 в книге О'Доннелла): еслиf:{−1,1}n→{−1,1} - булева функция, у которой степень ≤d является полиномом, то каждый коэффициент Фурье из f , F ( S ) представляет собой целое число , кратное 2 - d . Используя Коши-Шварца и Парсеваля, получаем, что существует не более 4 d ненулевых коэффициентов Фурье и ∑ S | f^(S) 2−d 4d ∑S|f^(S)|≤2d .
Это предполагает метод выборки -
Обратите внимание, что для каждой степени≤d полинома f точно один выбор случайных целых чисел на шаге 1 сгенерирует полином f . Вероятность получения определенной степени ≤d полинома равна
1/((n≤d)+4d4d)=1/O(n/d)d4d.
Следовательно, нам нужно повторить этот процесс самое большееO(n/d)d4d раз, в ожидании, прежде чем остановиться.
Осталось показать, как выполнить шаг 3. Можно определитьA=⋃{S:aS≠0} . Проверьте это |A|≤d2d (который следует проводить с помощью нисан-Szegedy для каждой булевой функции) , а затем оценить f на все возможные присвоения переменных в A . Это можно сделать вовремя 2d2d . Гур и Тамуз предлагают гораздо более быстрый рандомизированный алгоритм для этой задачи, однако, поскольку эта часть не доминирует во временной сложности, этого достаточно.
В целом алгоритм выдает случайную выборку степени≤d полинома во времени O(nd)d4d . В предположении, чтоn≤d2d временная сложность составляет2O(d24d) .
Это не полиномиальное время выборки алгоритма, хотя он гораздо быстрее , чем выборка совершенно случайная функции (в этом случае вероятность получения степени специфического≤d полином 1/22n ).
источник