Лемма Шварца-Зиппеля — различия между версиями
Alant (обсуждение | вклад) |
Alant (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
== Формулировка == | == Формулировка == | ||
| − | Пусть задан полином <tex> q(x_1, ..., x_n) \not\equiv 0 </tex> степени <tex> d </tex> над полем <tex> F </tex>, а также произвольное множество <tex> S \subset F: |S| < \infty </tex>. Пусть также <tex> \{r_i\}_{i=1}^n </tex> — набор независимых случайных величин, равномерно распределенных в <tex> S </tex>. Тогда <tex> | + | Пусть задан полином <tex> q(x_1, ..., x_n) \not\equiv 0 </tex> степени <tex> d </tex> над полем <tex> F </tex>, а также произвольное множество <tex> S \subset F: |S| < \infty </tex>. Пусть также <tex> \{r_i\}_{i=1}^n </tex> — набор независимых случайных величин, равномерно распределенных в <tex> S </tex>. Тогда <tex> P(q(r_1, ..., r_n) = 0) \leqslant \frac{d}{|S|} </tex>. |
== Доказательство == | == Доказательство == | ||
| Строка 15: | Строка 15: | ||
Так как <tex> q \not\equiv 0 </tex>, хотя бы один полином <tex> q_i \not\equiv 0 </tex>. Пусть <tex> j = \max \{ i \mid q_i \not\equiv 0\} </tex>. | Так как <tex> q \not\equiv 0 </tex>, хотя бы один полином <tex> q_i \not\equiv 0 </tex>. Пусть <tex> j = \max \{ i \mid q_i \not\equiv 0\} </tex>. | ||
По формуле полной вероятности имеем: | По формуле полной вероятности имеем: | ||
| − | <tex> | + | <tex> P(q = 0) = P(q = 0 \mid q_j = 0) P(q_j = 0) + P(q = 0 \mid q_j \ne 0) P(q_j \ne 0) </tex>. |
| − | Заметим, что <tex> q_j </tex> — полином от <tex> n - 1 </tex> переменных, а потому к нему применимо предположение индукции. Кроме того, <tex> \mathrm{deg} \, q_j \le d - j </tex>. Таким образом, <tex> | + | Заметим, что <tex> q_j </tex> — полином от <tex> n - 1 </tex> переменных, а потому к нему применимо предположение индукции. Кроме того, <tex> \mathrm{deg} \, q_j \le d - j </tex>. Таким образом, <tex> P(q = 0 \mid q_j = 0) P(q_j = 0) \leqslant 1 \cdot \frac{d - j}{|S|} </tex>. |
Для получения оценки второго слагаемого зафиксируем некоторый набор <tex> \{x_1, ..., x_{n-1}\} </tex>, для которого <tex> q_j(x_1, ..., x_{n-1}) \ne 0 </tex>. | Для получения оценки второго слагаемого зафиксируем некоторый набор <tex> \{x_1, ..., x_{n-1}\} </tex>, для которого <tex> q_j(x_1, ..., x_{n-1}) \ne 0 </tex>. | ||
Тогда для <tex> q(x_1, ..., x_n) </tex> как для полинома одной переменной степени <tex> j </tex> будет выполнено: | Тогда для <tex> q(x_1, ..., x_n) </tex> как для полинома одной переменной степени <tex> j </tex> будет выполнено: | ||
| − | <tex> | + | <tex> P(q = 0 \mid q_j \ne 0) P(q_j \ne 0) \leqslant \frac{j}{|S|} \cdot 1 </tex>. |
| − | <tex> | + | <tex> P(q = 0) \leqslant \frac{d-j}{|S|} + \frac{j}{|S|} = \frac{d}{|S|} </tex>, что и требовалось доказать. |
== Применение == | == Применение == | ||
| − | С помощью этой леммы можно, например, показать принадлежность задачи проверки эквивалентности двух полиномов классу [[Классы RP и coRP|coRP]] | + | С помощью этой леммы можно, например, показать принадлежность задачи проверки эквивалентности двух полиномов классу [[Классы RP и coRP|coRP]]. |
=== Формулировка задачи === | === Формулировка задачи === | ||
| − | Пусть даны два полинома — <tex> p(x_1, ..., x_n) </tex> и <tex> q(x_1, ..., x_n) </tex>. | + | Пусть даны два полинома — <tex> p(x_1, ..., x_n) </tex> и <tex> q(x_1, ..., x_n) </tex>. Необходимо проверить, верно ли, что <tex> p \equiv q </tex>. |
=== Утверждение === | === Утверждение === | ||
| − | Сформулированная выше задача принадлежит классу <tex> coRP </tex>. | + | Сформулированная выше задача принадлежит классу <tex> \mathrm{coRP} </tex>. |
=== Доказательство === | === Доказательство === | ||
Для доказательства построим такой алгоритм m, что: | Для доказательства построим такой алгоритм m, что: | ||
| − | * <tex> | + | * <tex> P(m(\langle p, q \rangle) = 1 \mid p \equiv q) = 1 </tex> |
| − | * <tex> | + | * <tex> P(m(\langle p, q \rangle) = 0 \mid p \not\equiv q) \geqslant \frac{1}{2} </tex> |
Для этого рассмотрим полином <tex> h = p - q </tex>. Очевидно, что <tex> h \equiv 0 \Leftrightarrow p \equiv q </tex>. Рассмотрим <tex> h </tex> над некоторым полем <tex> F </tex>. Очевидно, что если <tex> h \equiv 0 </tex>, то это будет выполнено и в <tex> F </tex> (обратное, вообще говоря, неверно). Возьмем случайный набор <tex> \{x_1, ..., x_n\} </tex>. По | Для этого рассмотрим полином <tex> h = p - q </tex>. Очевидно, что <tex> h \equiv 0 \Leftrightarrow p \equiv q </tex>. Рассмотрим <tex> h </tex> над некоторым полем <tex> F </tex>. Очевидно, что если <tex> h \equiv 0 </tex>, то это будет выполнено и в <tex> F </tex> (обратное, вообще говоря, неверно). Возьмем случайный набор <tex> \{x_1, ..., x_n\} </tex>. По | ||
| − | доказанной выше лемме <tex> p(h(x_1, ..., x_n) = 0) \leqslant \frac {\mathrm{deg} \, h}{|F|} </tex>. Тогда алгоритм, | + | доказанной выше лемме <tex> p(h(x_1, ..., x_n) = 0) \leqslant \frac {\mathrm{deg} \, h}{|F|} </tex>. Тогда алгоритм, по данным <tex> p </tex> и <tex> q </tex> выдающий <tex> [h(x_1, ..., x_n) = 0] </tex>, удовлетворяет поставленным условиям, лишь только <tex> |F| \geqslant 2 \mathrm{deg} \, h </tex>, что тем более верно, если <tex> |F| \geqslant 2 \max(\mathrm{deg} \, p, \mathrm{deg} \, q) </tex>. |
Версия 22:25, 13 апреля 2010
Содержание
Формулировка
Пусть задан полином степени над полем , а также произвольное множество . Пусть также — набор независимых случайных величин, равномерно распределенных в . Тогда .
Доказательство
Проведем доказательство леммы индукцией по .
База индукции
В случае, когда , утвержение следует из того, что произвольный полином степени над полем имеет не более чем корней.
Индукционный переход
Пусть утверждение верно для всех полиномов степени (и для всех меньших). Разложим по степеням :
Так как , хотя бы один полином . Пусть . По формуле полной вероятности имеем: .
Заметим, что — полином от переменных, а потому к нему применимо предположение индукции. Кроме того, . Таким образом, .
Для получения оценки второго слагаемого зафиксируем некоторый набор , для которого . Тогда для как для полинома одной переменной степени будет выполнено: .
, что и требовалось доказать.
Применение
С помощью этой леммы можно, например, показать принадлежность задачи проверки эквивалентности двух полиномов классу coRP.
Формулировка задачи
Пусть даны два полинома — и . Необходимо проверить, верно ли, что .
Утверждение
Сформулированная выше задача принадлежит классу .
Доказательство
Для доказательства построим такой алгоритм m, что:
Для этого рассмотрим полином . Очевидно, что . Рассмотрим над некоторым полем . Очевидно, что если , то это будет выполнено и в (обратное, вообще говоря, неверно). Возьмем случайный набор . По доказанной выше лемме . Тогда алгоритм, по данным и выдающий , удовлетворяет поставленным условиям, лишь только , что тем более верно, если .