Лемма Шварца — Зиппеля
Лемма Шварца — Зиппеля (также лемма Де Милло — Липтона — Шварца — Зиппеля) — результат, широко используемый в проверке равенства многочленов, то есть, в задаче проверки некоторого многочлена многих переменных на тождественное равенство нулю. Лемма была независимо открыта Джеком Шварцем[1], Ричардом Зиппелем[2], а также Ричардом Де Милло и Ричардом Липтоном, хотя версия Де Милло и Липтона появилась на год раньше результата Шварца и Зиппеля[3]. Версия леммы для конечных полей было доказана Ойстином Оре в 1922 году[4].
ЛеммаПравить
Входом задачи является многочлен от переменных над полем . Он может быть в задан в виде арифметической схемы или как определитель некоторой матрицы многочленов. На текущий момент нет известных детерминированных субэкспоненциальных алгоритмов, позволяющих проверить, что этот многочлен ненулевой. Однако, есть известные рандомизированные алгоритмы, решающие данную задачу за полиномиальное время. При их анализе обычно требуется оценить вероятность того, что ненулевой многочлен будет равен нулю в некоторой случайным образом выбранной точке. Лемма Шварца — Зиппеля формулируется так:
|
В случае одной переменной лемма следует напрямую из того, что у многочлена степени может быть не больше различных корней над полем .
Доказать лемму в общем виде можно математической индукцией по количеству переменных . Базовый случай был доказан выше.
Пусть теперь теорема верна для всех многочленов на переменных. Можно рассматривать как многочлен от , записав его в виде
- .
Так как не равен нулю тождественно, существует некоторый номер такой что также не равен нулю. Пусть — наибольший из таких номеров. Тогда , так как степень не превосходит .
Пусть теперь выбраны случайно из . По предположению индукции, .
Если , то имеет степень (и потому не равен нулю тождественно), поэтому
- .
Если обозначить событие как , событие как и дополнительное к событие как , то
ПримененияПравить
Значимость леммы Шварца — Зиппеля и проверки равенства многочленов следует из алгоритмов, которые могут быть сведены к этой задаче.
Сравнение двух многочленовПравить
Даны два многочлена и , верно ли, что
Данную задачу можно свести к проверке равенства многочленов, так как достаточно проверить, что
Таким образом, если возможно определить, что
где
то также можно определить, равны ли данные два многочлена.
Сравнение двух многочленов может быть использовано в анализе программ с ветвлением. Read-once программа с ветвлением может быть представлена в виде мультилинейного многочлена, который вычисляет (над некоторым полем) на входе из нулей и единиц ту же булеву функцию, что и программа с ветвлением. Таким образом, две программы с ветвлением вычисляют одну и ту же булеву функцию если и только если соответствующие многочлены равны. Значит, проверка равенства булевых функций, которые вычисляются read-once программами с ветвлением может быть сведена к проверке равенства многочленов.
Проверка простотыПравить
Дано число , является ли простым числом?
Маниндра Аграваль и Соменат Бисвас разработали простой рандомизированный алгоритм, использующий проверки равенства многочленов для определения простоты числа .
Они показали, что все простые числа (и только простые числа) удовлетворяют следующему сравнению:
Указанный результат следует из эндоморфизма Фробениуса.
Пусть
Тогда если и только если является простым числом[5]. Однако так как может как быть, так и не быть простым числом, метод Шварца — Зиппеля здесь работать не будет. Аграваль и Бисвас используют более сложную технику, которая включает в себя деление на случайный приведённый многочлен небольшой степени.
Совершенное паросочетаниеПравить
Дан граф на вершинах, где — чётное число. Содержит ли совершенное паросочетание?
|
Подмножество множества рёбер называется паросочетанием если каждая вершина из инцидентна не более, чем одному ребру из . Паросочетание называется совершенным если каждая вершина из инцидентна ровно одному ребру из . Матрица Татта это матрица:
где
Определитель матрицы Татта (как многочлен от ) задаётся как определитель этой кососимметричной матрицы, который равен квадрату пфаффиана матрицы и не равен нулю тождественно если и только если в графе есть совершенное паросочетание.
Таким образом, используя проверку равенства многочленов, можно проверить, содержит ли произвольный граф совершенное паросочетание.
В особом случае сбалансированного двудольного графа на вершинах матрица Татта принимает вид блочной матрицы
Первые строк (и, соответственно, столбцов) индексированы первой долей двудольного графа, а последние строк — второй долей. В данном случае пфаффиан (с точностью до знака) совпадает с обычным определителем матрицы размера . Матрица при этом является матрицей Эдмондса данного двудольного графа.
ПримечанияПравить
- ↑ (Schwartz 1980)
- ↑ (Zippel 1979)
- ↑ (DeMillo & Lipton 1978)
- ↑ Ö. Ore, Über höhere Kongruenzen. Norsk Mat. Forenings Skrifter Ser. I (1922), no. 7, 15 pages.
- ↑ (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.