Лемма Шварца — Зиппеля (Lybbg Ofgjeg — {nhhylx)

Перейти к навигации Перейти к поиску

Лемма Шварца — Зиппеля (также лемма Де Милло — Липтона — Шварца — Зиппеля) — результат, широко используемый в проверке равенства многочленов, то есть, в задаче проверки некоторого многочлена многих переменных на тождественное равенство нулю. Лемма была независимо открыта Джеком Шварцем[1], Ричардом Зиппелем[2], а также Ричардом Де Милло и Ричардом Липтоном, хотя версия Де Милло и Липтона появилась на год раньше результата Шварца и Зиппеля[3]. Версия леммы для конечных полей было доказана Ойстином Оре в 1922 году[4].

Входом задачи является многочлен от переменных над полем . Он может быть в задан в виде арифметической схемы или как определитель некоторой матрицы многочленов. На текущий момент нет известных детерминированных субэкспоненциальных алгоритмов, позволяющих проверить, что этот многочлен ненулевой. Однако, есть известные рандомизированные алгоритмы, решающие данную задачу за полиномиальное время. При их анализе обычно требуется оценить вероятность того, что ненулевой многочлен будет равен нулю в некоторой случайным образом выбранной точке. Лемма Шварца — Зиппеля формулируется так:

Пусть — ненулевой многочлен степени над полем . Пусть — конечное подмножество и пусть элементы были выбраны из равномерно и независимо друг от друга. Тогда .

Применения

[править | править код]

Значимость леммы Шварца — Зиппеля и проверки равенства многочленов следует из алгоритмов, которые могут быть сведены к этой задаче.

Сравнение двух многочленов

[править | править код]

Даны два многочлена и , верно ли, что

Данную задачу можно свести к проверке равенства многочленов, так как достаточно проверить, что

Таким образом, если возможно определить, что

где

то также можно определить, равны ли данные два многочлена.

Сравнение двух многочленов может быть использовано в анализе программ с ветвлением. Read-once программа с ветвлением может быть представлена в виде мультилинейного многочлена, который вычисляет (над некоторым полем) на входе из нулей и единиц ту же булеву функцию, что и программа с ветвлением. Таким образом, две программы с ветвлением вычисляют одну и ту же булеву функцию если и только если соответствующие многочлены равны. Значит, проверка равенства булевых функций, которые вычисляются read-once программами с ветвлением может быть сведена к проверке равенства многочленов.

Проверка простоты

[править | править код]

Дано число , является ли простым числом?

Маниндра Аграваль и Соменат Бисвас разработали простой рандомизированный алгоритм, использующий проверки равенства многочленов для определения простоты числа .

Они показали, что все простые числа (и только простые числа) удовлетворяют следующему сравнению:

Указанный результат следует из эндоморфизма Фробениуса.

Пусть

Тогда если и только если является простым числом[5]. Однако так как может как быть, так и не быть простым числом, метод Шварца — Зиппеля здесь работать не будет. Аграваль и Бисвас используют более сложную технику, которая включает в себя деление на случайный приведённый многочлен небольшой степени.

Совершенное паросочетание

[править | править код]

Дан граф на вершинах, где  — чётное число. Содержит ли совершенное паросочетание?

Определитель матрицы Татта не является тождественно нулевым многочленом если и только если в графе есть совершенное паросочетание.


Подмножество множества рёбер называется паросочетанием если каждая вершина из инцидентна не более, чем одному ребру из . Паросочетание называется совершенным если каждая вершина из инцидентна ровно одному ребру из . Матрица Татта это матрица:

где

Определитель матрицы Татта (как многочлен от ) задаётся как определитель этой кососимметричной матрицы, который равен квадрату пфаффиана матрицы и не равен нулю тождественно если и только если в графе есть совершенное паросочетание.

Таким образом, используя проверку равенства многочленов, можно проверить, содержит ли произвольный граф совершенное паросочетание.

В особом случае сбалансированного двудольного графа на вершинах матрица Татта принимает вид блочной матрицы

Первые строк (и, соответственно, столбцов) индексированы первой долей двудольного графа, а последние строк — второй долей. В данном случае пфаффиан (с точностью до знака) совпадает с обычным определителем матрицы размера . Матрица при этом является матрицей Эдмондса данного двудольного графа.

Примечания

[править | править код]
  1. (Schwartz 1980)
  2. (Zippel 1979)
  3. (DeMillo & Lipton 1978)
  4. Ö. Ore, Über höhere Kongruenzen. Norsk Mat. Forenings Skrifter Ser. I (1922), no. 7, 15 pages.
  5. (Agrawal 2003)

Литература

[править | править код]
  • Agrawal, Manindra; Biswas, Somenath. Primality and Identity Testing via Chinese Remaindering (англ.) // Journal of the ACM : journal. — 2003. — Vol. 50, no. 4. — P. 429—443. — doi:10.1145/792538.792540.
  • Berman, Piotr; Karpinski, Marek[англ.]; Larmore, Lawrence L.; Plandowski, Wojciech; Rytter, Wojciech[англ.]. On the Complexity of Pattern Matching for Highly Compressed Two-Dimensional Texts (англ.) // Journal of Computer and System Sciences[англ.] : journal. — 2002. — Vol. 65, no. 2. — P. 332—350. — doi:10.1006/jcss.2002.1852.
  • Grigoriev, Dima; Karpinski, Marek. The matching problem for bipartite graphs with polynomially bounded permanents is in NC (англ.). — 1987. — P. 166—172. — ISBN 978-0-8186-0807-0. — doi:10.1109/SFCS.1987.56.
  • Moshkovitz, Dana (2010). An Alternative Proof of The Schwartz-Zippel Lemma.
  • DeMillo, Richard A.[англ.]; Lipton, Richard J.[англ.]. A probabilistic remark on algebraic program testing (англ.) // Information Processing Letters[англ.] : journal. — 1978. — Vol. 7. — P. 193—195. — doi:10.1016/0020-0190(78)90067-4.
  • Rudich, Steven. Computational Complexity Theory (неопр.) / AMS. — 2004. — Т. 10. — (IAS/Park City Mathematics Series). — ISBN 978-0-8218-2872-4.
  • Schwartz, Jack[англ.]. Fast probabilistic algorithms for verification of polynomial identities (англ.) // Journal of the ACM : journal. — 1980. — October (vol. 27, no. 4). — P. 701—717. — doi:10.1145/322217.322225.
  • Tutte, W.T.[англ.]. The factorization of linear graphs (неопр.) // J. London Math. Soc.. — 1947. — April (т. 22, № 2). — С. 107—111. — doi:10.1112/jlms/s1-22.2.107.
  • Zippel, Richard. Probabilistic algorithms for sparse polynomials (англ.). — 1979. — Vol. 72. — P. 216—226. — ISBN 978-3-540-09519-4. — doi:10.1007/3-540-09519-5_73.
  • Zippel, Richard An Explicit Separation of Relativised Random Polynomial Time and Relativised Deterministic Polynomial Time (ps) (февраль 1989). Дата обращения: 15 июня 2008.
  • Zippel, Richard. Effective Polynomial Computation (неопр.) / Springer[англ.]. — 1993. — Т. 241. — (The Springer International Series in Engineering and Computer Science). — ISBN 978-0-7923-9375-7.