El lema de Schwartz-Zippel (también el lema de DeMillo-Lipton-Schwartz-Sippel ) es un resultado ampliamente utilizado para verificar la igualdad de polinomios , es decir, en el problema de verificar algún polinomio de muchas variables para igualdad idéntica a cero. El lema fue descubierto independientemente por Jack Schwartz [1] , Richard Zippel [2] y Richard DeMillo y Richard Lipton , aunque la versión de DeMillo y Lipton es anterior al resultado de Schwartz y Zippel [3] por un año . Una versión del lema para campos finitos fue probada por Oistin Ore en 1922 [4] .
La entrada del problema es un polinomio en variables sobre el campo . Puede darse en forma de esquema aritmético o como determinante de alguna matriz de polinomios . Por el momento, no se conocen algoritmos subexponenciales deterministas que permitan comprobar que este polinomio es distinto de cero. Sin embargo, existen algoritmos aleatorios conocidos que resuelven este problema en tiempo polinomial. Al analizarlos, generalmente se requiere estimar la probabilidad de que un polinomio distinto de cero sea igual a cero en algún punto elegido al azar. El lema de Schwartz-Zippel se formula de la siguiente manera:
Sea un polinomio de grado distinto de cero sobre el campo . Sea un subconjunto finito y deje que los elementos se elijan de manera uniforme e independiente entre sí. entonces _ |
En el caso de una variable, el lema se sigue directamente del hecho de que un polinomio de grado puede tener como máximo diferentes raíces sobre el campo .
El lema se puede probar en forma general por inducción matemática sobre el número de variables . El caso base se probó anteriormente.
Sea ahora el teorema cierto para todos los polinomios sobre variables. Se puede considerar como un polinomio en , escrito en la forma
.Como no es igual a cero de forma idéntica, existe algún número tal que tampoco es igual a cero. Sea el mayor de tales números. Entonces , ya que el grado no excede .
Que ahora se elija al azar de . Por la hipótesis de inducción, .
Si , entonces tiene un grado (y por lo tanto no es igual a cero de forma idéntica), por lo tanto
.Si designamos un evento como , un evento como y adicional a un evento como , entonces
■La importancia del lema de Schwarz-Sippel y la verificación de la igualdad de polinomios se deriva de los algoritmos que se pueden reducir a este problema.
Dados dos polinomios y , ¿es cierto que
Este problema se puede reducir a comprobar la igualdad de polinomios, ya que basta comprobar que
Por lo tanto, si es posible determinar que
dónde
entonces también es posible determinar si los dos polinomios dados son iguales.
La comparación de dos polinomios se puede utilizar en el análisis de programas ramificados . Un programa de bifurcación de lectura única se puede representar como un polinomio multilineal que evalúa (sobre algún campo) a partir de ceros y unos la misma función booleana que el programa de bifurcación. Por lo tanto, dos programas de bifurcación evalúan la misma función booleana si y solo si los polinomios correspondientes son iguales. Esto significa que verificar la igualdad de las funciones booleanas que se calculan mediante programas de lectura única con bifurcación se puede reducir a verificar la igualdad de polinomios.
Dado un número , ¿es un número primo ?
Manindra Agrawal y Somenath Biswas desarrollaron un algoritmo aleatorio simple utilizando pruebas de igualdad de polinomios para determinar si un número es primo .
Demostraron que todos los números primos (y solo los números primos) satisfacen la siguiente comparación:
Este resultado se deriva del endomorfismo de Frobenius .
Dejar
Entonces si y solo si es un número primo [5] . Sin embargo, dado que puede o no ser un número primo, el método de Schwartz-Zippel no funcionará aquí. Agrawal y Biswas utilizan una técnica más sofisticada que consiste en dividir por un polinomio aleatorio reducido de pequeño grado.
Dado un gráfico de vértices, donde es un número par. ¿Contiene una combinación perfecta ?
El determinante de la matriz de Tutt no es un polinomio idéntico a cero si y solo si el gráfico tiene una coincidencia perfecta. |
Un subconjunto de un conjunto de aristas se denomina coincidencia si cada vértice de incide con como máximo una arista de . Una correspondencia se llama perfecta si cada vértice de incide con exactamente una arista de . La matriz Tatta es una matriz:
dónde
El determinante de la matriz de Tutt (como un polinomio en ) se da como el determinante de esta matriz simétrica oblicua , que es igual al cuadrado del Pfaffiano de la matriz y es distinto de cero idénticamente si y solo si hay una coincidencia perfecta en la gráfica.
Por lo tanto, utilizando la prueba de igualdad de polinomios, se puede verificar si un gráfico arbitrario contiene una coincidencia perfecta.
En el caso especial de un gráfico bipartito balanceado en los vértices, la matriz de Tatta toma la forma de una matriz de bloques
Las primeras filas (y, en consecuencia, las columnas) están indexadas por la primera parte del gráfico bipartito y las últimas filas están indexadas por la segunda parte. En este caso, el Pfaffian (hasta un signo) coincide con el determinante habitual de la matriz de tamaño . La matriz es entonces la matriz de Edmonds del grafo bipartito dado.