В общем, мы знаем, что сложность проверки того, принимает ли функция определенное значение на данном входе, проще, чем оценка функции на этом входе. Например:
Оценка перманента неотрицательной целочисленной матрицы является # P-сложной, но при этом указывается, является ли такой перманент нулевым или ненулевым в P (двудольное сопоставление)
Существует n действительных чисел , таких что многочлен имеет следующие свойства (в действительности большинство наборов из действительных чисел будут иметь эти свойства) , Для заданного входного значения проверка того, равен ли этот полином нулю, требует умножения и сравнения (по результату Бен-Ор , поскольку в нулевом множестве компонентов), но для оценки приведенного выше полинома требуется как минимум шаги, Патерсон-Стокмейер .
Для сортировки требуются шаги в дереве сравнения (также шаги в реальном алгебраическом дереве решений, опять же по результату Бен-Ор), но при проверке сортировки списка используются только сравнений.
Существуют ли общие условия для полинома, достаточные для того, чтобы подразумевать, что (алгебраическая) сложность проверки, является ли полином нулевым, эквивалентна сложности вычисления полинома?
Я ищу условия, которые не зависят от знания сложности проблем заранее.
( Пояснение 27.10.2010 ) Чтобы было ясно, полином не является частью ввода. Это означает, что, учитывая фиксированное семейство функций (по одной для каждого размера ввода (либо длины битов, или количества входов)), я хочу сравнить сложность проблемы языка / решения со сложностью оценки функций .
Пояснение: я спрашиваю об асимптотической сложности оценки / тестирования семейств полиномов. Например, над фиксированным полем (или кольцом, таким как ) «перманент» - это не один многочлен, а бесконечное семейство где является перманентом n \ times n матрицы над этим полем (или кольцом). { p e r m n : n ≥ 0 } p e r m n n × n
источник
Ответы:
Над тестирование на ноль и вычисление «почти» одинаково в следующем смысле: Предположим, у вас есть дерево решений, которое проверяет, является ли ненулевой неприводимый многочлен ненулевым. Мы работаем над , поэтому мы можем только проверить на равенство, но у нас нет «<». Это важное отличие от второго примера в вопросе! Теперь возьмем типичный путь, т. Е. Путь, по которому идут почти все входные данные (мы всегда следуем ветке " "). Кроме того, возьмем типичный путь всех элементов в многообразии . Пусть будет узлом, в котором эти два пути впервые принимают разные ветви. Пусть f C ≠ V ( f ) v h 1 , … , h m V ( f ) V ( f ) v V ( h m ) f ( x ) = 0 fС е С ≠ В( ф) v час1, ... , чм быть полиномами, которые проверяются по общему префиксу двух путей. Поскольку замкнуто, все элементы, лежащие в и достигающие также лежат в . Следовательно, если , то один из обращается в нуль на . Мы применяем Nullstellensatz Гильберта к и получаем, что для некоторого многочлена который взаимно прост с . Короче говоря, пока мы не вычисляем , при решении, будет ли , мы должны вычислить для некоторого взаимно простогоВ( ф) В( ф) v В( чм) е( х ) = 0 x h 1 ⋯ h m f g = h 1 ⋯ h m g f f f ( x ) = 0чася Икс час1⋯ чм ег= ч1⋯ чм г е е е( х ) = 0 гег г ,
источник
«Алгоритмическое использование теоремы Фефермана – Vaught» Маковского, возможно, имеет значение. Он определяет полиномы путем суммирования по MSOL-определяемым структурам на графах и показывает, что их можно оценить, когда графы ограничены по ширине дерева.
Это не говорит о разнице в сложности тестирования / оценки, помимо того, что FPT. Проверка значения означает, что необходимо задавать вопрос о том, существует ли набор переменных, такой, что данная формула MSO2 на данном графике оценивается как true, тогда как оценка включает перечисление по удовлетворяющим назначениям формулы MSO2. Похоже, это связано с вопросом о том, как сложность подсчета SAT связана со сложностью SAT.
Редактировать 10/29 Еще одной полезной концепцией может быть рассмотрение свойства «Унифицированная сложная точка». Очевидно, что многочлены с этим свойством либо легко оценить во всех точках, либо трудно оценить почти в каждой точке. Маковски дает некоторые ссылки на слайды 46-52 - http://www.cs.technion.ac.il/admlogic/TR/2009/icla09-slides.pdf
источник
Я рискну предположить, что оценка полинома в для фиксированного простого числа (или любого его конечного расширения поля и с коэффициентами, ограниченными одним и тем же полем) будет соответствовать вашему критерию.F p pQ( х ) Fп п
более конкретно, давайте рассмотрим полином из . Мы знаем, что в , поэтому, если мы предположим, что любой многочлен уже находится в сокращенной форме, если задан в качестве входных данных, нам остается просто рассмотреть один из: и соответственно оценка любого из этих многочленов в или занимает не более 2 арифметических операций.F2[ х ] F 2 0 , 1 , x , x + 1 0 1Икс2= х F2 0 , 1 , х , х + 1 0 1
Я полагаю, что подобное утверждение «постоянное время через фиксированное число арифметических операций» применяется в более общем случае для где где простое число. обратите внимание, что если не является фиксированным, это утверждение больше не является действительным q= p n pnFQ Q= рN п N
источник
Я не уверен, правильно ли я понимаю вопрос, но позвольте мне попытаться пролить свет.
Как правило, оценка полинома при определенных значениях проще, чем проверка идентичности, особенно когда представление полинома осуществляется через схему (некоторое сжатое представление). Тем не менее, существует множество рандомизированных алгоритмов тестирования идентичности ( Schwarz-Zippel - самый простой), который работает только на оценках.
В некоторых особых случаях у нас есть тесты «черного ящика» для проверки идентичности, где вы можете проверить, равен ли полином нулю или нет, просто оценив его по заранее определенному набору точек. Простым примером этого является случай, когда многочлен является «разреженным» (просто имеет одночленов). Чтобы упростить изложение, предположим, что многочлен является мультилинейным (каждый одночлен является произведением различных переменных).nO(1)
Естественным способом отправки многомерного полилинейного полинома в одномерный вариант является замена . В результате получается многочлен, скажем, . Конечно, это может быть полином экспоненциальной степени, но давайте перейдем по модулю для небольшого диапазона . Теперь a будет «плохим» для пары мономов, если и отображаются на один и тот же моном по модулю . Или, другими словами, делит . Таким образом, пока не делит Σ я ∈ S α я у я у г - 1 г г у у б у г - 1 г - б г Π я , J ∈ S ( я - J ) гxi↦y2i ∑i∈Sαiyai yr−1 r r ya yb yr−1 r a−b r ∏i,j∈S(ai−aj) этого бы не случилось Следовательно, достаточно пробегать полиномиальный диапазон 's. Таким образом, достаточно оценить многочлен на некоторых корнях единиц, и мы можем выяснить, равен ли он многочлену или нет.r
Был достигнут больший прогресс в алгоритмах проверки идентичности черного ящика. Прямо сейчас большинство из них находятся на ограниченной глубине 3 контура (сумма произведений сумм переменных). (FWIW) Некоторые из них упоминаются более подробно в главах 3 и 4 моей диссертации . И в последнее время Саксена и Сешадри получили дальнейшие улучшения .
источник
Любая проблема #P или даже # P / poly может быть записана как полином: создайте схему из вентилей NAND, запишите их как где и - 0-1-значные целые числа, и суммируйте по всем входным данным. Это дает многочлен в для входных данных размера . Решением проблемы является проверка того, равно ли это 0.й у Z [ х 1 , . , , , х н ] н1−xy x y Z[x1,...,xn] n
источник