Випадкові функції низького ступеня як справжній многочлен


21

Чи існує (розумний) спосіб вибірки рівномірно випадкової булевої функції , ступінь якої як справжній многочлен становить максимум ?df:{0,1}n{0,1}d

EDIT: Нісан і Сегеді показали, що функція ступеня залежить від максимум координат, тому можна вважати, що . Як я бачу, такі проблеми: 1) З одного боку, якщо ми виберемо випадкову булеву функцію на координатах , то її ступінь буде близькою до , набагато вище . 2) З іншого боку, якщо ми обираємо кожен коефіцієнт ступеня не більше випадково, то функція не буде булевою.d 2 d n d 2 d d 2 d d 2 d d ddd2dnd2dd2dd2ddd

Отже, питання полягає в тому, чи існує спосіб вибірки булевої функції низького ступеня, що дозволяє уникнути цих двох проблем?


3
Ви хочете , фактична функція буде обмеженням речового многочлена ступеня до 0-1 входів, або ви хочете, щоб це було , що тоді і тільки тоді для деякого матеріального многочлена від ступінь не більше ? Або щось інше? f ( x ) = 1 p ( x ) > 0 p ddf(x)=1p(x)>0pd
Джошуа Грохов

3
@JoshuaGrochow Я хочу функцію, розширення Фур'є якої має ступінь . Це ваш перший варіант. d
Ігор Шинкар

1
Яка ваша модель? Запис вибіркової функції займає час, або якщо ви хочете вивести розширення Фур'є. Чи є фіксованою постійною? n O ( d ) d2nnO(d)d
MCH

3
Я додав ще кілька деталей у запитання.
Ігор Шинкар

1
@MCH Якщо функція, якщо ступінь (з нульовою вагою вище рівня ), вона не може залежати від більш ніж координат. Це результат завдяки Нісану та Сегеді. Подумайте про особливий випадок . У цьому випадку ми знаємо, що функція залежить від (максимум) 1 координати. d d 2 d d = 1ddd2dd=1
Ігор Шинкар

Відповіді:


11

Ось алгоритм, який б’є тривіальні спроби.

Наступний відомий факт (вправа 1.12 у книзі О'Доннелла): Якщо - булева функція, яка має ступінь як поліном, тоді кожен коефіцієнт Фур'є , - ціле число, кратне . За допомогою Коші-Шварца та Парсевала виходить, що існує не більше ненульових коефіцієнтів Фур'є та .f:{1,1}n{1,1}dfF ( S ) 2 - d 4 d Σ S | Е ( S ) | 2 дf^(S)2d4dS|f^(S)|2d

Це пропонує метод вибірки -

  1. Виберіть випадковий невід'ємні цілі числа для всіх множин розміру не більше , сума яких до .aSS[n]d4d
  2. Нехай .f(x)=SaS2dχS(x)
  3. Перевірте, що булеве. Якщо так, поверніть . Інше, поверніться до .ff1

Зауважимо, що для кожного ступеня многочлена точно один вибір випадкових цілих чисел на етапі 1 генерує поліном . Імовірність отримання певного многочлена ступеня дорівнює Отже, нам потрібно повторити цей процес максимум разів, сподіваючись, перед тим, як зупинити.dffd

1/((nd)+4d4d)=1/O(n/d)d4d.
O(n/d)d4d

Залишилося показати, як виконати крок 3. Можна визначити . Перевірте, що (який слід проводити з допомогою нісан-Szegedy для кожної булевої функції) , а потім оцінити на всі можливі присвоєння змінних в . Це можна зробити в часі . Гур і Тамуз пропонують набагато швидший рандомізований алгоритм для виконання цього завдання, однак, оскільки ця частина не домінує у часовій складності, цього достатньо.A={S:aS0}|A|d2dfA2d2d

В цілому алгоритм виробляє випадкову вибірку многочлена градуса у часі . За припущенням, що часова складність дорівнює .dO(nd)d4dnd2d2O(d24d)

Це не алгоритм відбору поліноміального часу, хоча він набагато швидший, ніж вибіркове цілком випадкова функція (у цьому випадку ймовірність отримання певного ступеня полінома дорівнює ).d1/22n


Приємно! Насправді це дає алгоритм, який whp (wrt ) видає максимально можливу кількість координат, від яких може залежати функція низького ступеня. Просто візьміть щоб бути досить великим, вибірку багатьох функцій, і для кожної функції підраховуйте кількість впливових координат. Виведіть максимум, який ви бачите. n = 10 d 2 ddn=10d2d
Ігор Шинкар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.