Complejidad de la prueba de un valor versus el cálculo de una función

36

En general, sabemos que la complejidad de probar si una función toma un valor particular en una entrada dada es más fácil que evaluar la función en esa entrada. Por ejemplo:

  • Evaluar el permanente de una matriz entera no negativa es # P-hard, pero determinar si dicho permanente es cero o no está en P (coincidencia bipartita)

  • Hay n números reales , de modo que el polinomio tiene las siguientes propiedades (de hecho, la mayoría de los conjuntos de números reales tendrán estas propiedades) . Para la entrada dada , probar si este polinomio es cero toma multiplicaciones y comparaciones de (por el resultado de Ben-Or , ya que el conjunto cero tiene componentes), pero evaluar el polinomio anterior toma al menos pasos, por Paterson-Stockmeyer .n i = 1 ( x - a i )a1,...,ani=1n(xai)nxΘ(logn)nΩ(n)

  • La clasificación requiere pasos de en un árbol de comparación (también pasos de en un árbol de decisión algebraico real, nuevamente por el resultado de Ben-Or), pero probar si una lista está ordenada solo usa comparaciones.Ω ( n log n ) n - 1Ω(nlogn)Ω(nlogn)n1

¿Existen condiciones generales en un polinomio que sean suficientes para implicar que la complejidad (algebraica) de probar si el polinomio es cero o no es equivalente a la complejidad de evaluar el polinomio?

Estoy buscando condiciones que no dependan de conocer de antemano la complejidad de los problemas.

( Aclaración 27/10/2010 ) Para ser claros, el polinomio no es parte de la entrada. Lo que eso significa es que, dada una familia fija de funciones (una para cada tamaño de entrada (longitud de bit o número de entradas)), quiero comparar la complejidad del problema de lenguaje / decisión con la complejidad de evaluar las funciones .{ X : f n ( X ) = 0  donde  n  es el "tamaño" de  X } { f n }{fn} {X:fn(X)=0 where n is the "size" of X} {fn}


Aclaración: estoy preguntando sobre la complejidad asintótica de evaluar / probar familias de polinomios. Por ejemplo, sobre un campo fijo (o anillo, como ) "el permanente" no es un polinomio único, sino una familia infinita donde es el permanente de una matriz sobre ese campo (o anillo). { p e r m n : n 0 } p e r m n n × nZ{permn:n0}permnn×n

Joshua Grochow
fuente
¿La respuesta de su pregunta no depende no solo del polinomio en sí, sino también de su representación?
ilyaraz
@ilyaraz: No estoy seguro de lo que quieres decir. El polinomio no es parte de la entrada.
arnab
Joshua, ¿puedes 'latexizar' la pregunta para una mejor legibilidad?
Suresh Venkat
44
Encontré un artículo de Valiant ( dx.doi.org/10.1016/0020-0190(76)90097-1 ) "Complejidad relativa de verificar y evaluar", que considera esencialmente la misma pregunta pero en la configuración estándar de la máquina de Turing, en lugar de Un entorno algebraico. Él no responde mi pregunta, pero si encuentra esta pregunta interesante, también puede encontrar interesante su artículo.
Joshua Grochow
1
"Usos algorítmicos del teorema de Feferman-Vaught" de Makowski es posiblemente relevante. Define polinomios al sumar sobre estructuras definibles por MSOL en gráficos y muestra que son fáciles de evaluar cuando los gráficos están delimitados por el ancho del árbol
Yaroslav Bulatov

Respuestas:

4

Sobre , la prueba de cero y la evaluación son "casi" lo mismo en el siguiente sentido: suponga que tiene un árbol de decisión que prueba si algún polinomio irreducible es distinto de cero. Estamos trabajando sobre , por lo tanto, solo podemos probar la igualdad, pero no tenemos "<". ¡Esa es la diferencia importante con el segundo ejemplo en la pregunta! Ahora tome la ruta típica, es decir, la ruta tomada por casi todas las entradas (siempre seguimos el " " -branch). Además, tome la ruta típica de todos los elementos en la variedad . Sea el nodo en el que estas dos rutas toman una rama diferente por primera vez. Deje f CV ( f ) v h 1 , , h m V ( f ) V ( f ) v V ( h m ) f ( x ) = 0 h i x h 1h m f g = h 1h m g f f f ( x ) = 0CfCV(f)vh1,,hmsean los polinomios que se prueban a lo largo del prefijo común de las dos rutas. Como está cerrado, todos los elementos que se encuentran en y alcanzan también se encuentran en . Por lo tanto, si , entonces uno de los desaparece en . Aplicamos el Nullstellensatz de Hilbert a y obtenemos para algún polinomio que es coprimo a . En resumen, aunque no estamos calculando , al decidir si , tenemos que calcular para algún coprimoV(f)V(f)vV(hm)f(x)=0hixh1hmfg=h1hmgfff(x)=0gfgg.

Markus Bläser
fuente
Entonces, la complejidad de probar es esencialmente capturada por la complejidad de evaluar . Entonces, dado que es irreducible, la complejidad de evaluar está polinómicamente limitada por la complejidad de evaluar , el grado de y el número de variables. Entonces, si tiene un grado polinómico y probar es lo suficientemente fácil, entonces probar y evaluar son equivalentes. (Sin embargo, si cualquiera de los es grande o si las pruebas son difíciles, digamos que el grado de es muy grande, entonces esto dice muy poco.)f g f f f g f g f f ( x ) = 0 d e g f gf(x)=0 fgfffgfgff(x)=0degfg
Joshua Grochow
No lo entiendo: si puede evaluar , entonces puede probar cero con solo una operación más, es decir, una prueba de igualdad al final. Lo que podría salir mal es que evaluar es más barato que evaluar por alguna razón. (Nota: Evaluar significa evaluar en un punto genérico, es decir, en un punto indeterminado).f g f fffgff
Markus Bläser
Precisamente. Evaluar podría ser más fácil que evaluar . (Sé que evaluar significa evaluar en un punto genérico; realmente no entiendo por qué pensaste que tu último comentario entre paréntesis era necesario, pero eso puede ser diferente al punto.) ¿Qué es exactamente lo que no entiendes? Basado en su último comentario, diría que ambos entendemos la situación y estamos de acuerdo con la comprensión del otro ... Vea también "La complejidad de los factores de polinomios multivariados" de Burgisser, que da la misma conclusión que dije en mi comentario anterior. f ffgff
Joshua Grochow
Conclusión interesante adicional de esta discusión: aunque probar si el permanente de una matriz no negativa es cero o no es fácil, probar si el permanente de una matriz compleja arbitraria es cero es fácil si y solo si evaluar el permanente es fácil.
Joshua Grochow
Lo siento, no entendí tu primer comentario. Todo esta bien.
Markus Bläser
5

"Usos algorítmicos del teorema de Feferman-Vaught" de Makowski es posiblemente relevante. Define polinomios al sumar sobre estructuras definibles por MSOL en gráficos y muestra que son manejables para evaluar cuándo los gráficos están delimitados por el ancho de los árboles.

Esto no dice mucho sobre la diferencia en la complejidad de la prueba / evaluación más allá de ser FPT. Probar un valor significa preguntar si existe una configuración de variables tales que la fórmula MSO2 dada en el gráfico dado se evalúa como verdadera, mientras que la evaluación implica enumerar sobre las asignaciones satisfactorias de la fórmula MSO2. Esto parece estar relacionado con la cuestión de cómo la complejidad de contar SAT se relaciona con la complejidad de SAT.

Editar 10/29 Otro concepto útil podría ser buscar en la Propiedad Uniforme de Punto Difícil. Aparentemente, los polinomios con esta propiedad son fáciles de evaluar en todos los puntos o difíciles de evaluar en casi todos los puntos. Makowski da algunas referencias en las diapositivas 46-52 - http://www.cs.technion.ac.il/admlogic/TR/2009/icla09-slides.pdf

Yaroslav Bulatov
fuente
3

Voy a aventurar la idea de que evaluar un polinomio en para primo fijo (o cualquier extensión de campo finita del mismo, y con los coeficientes restringidos al mismo campo) se ajustará a su criterio.F p pq(x)Fpp

más concretamente, consideremos un polinomio en . Sabemos que en , por lo que si suponemos que cualquier polinomio ya está en una forma reducida cuando se da como entrada, nos queda simplemente considerando uno de: y en consecuencia, evaluar cualquiera de estos polinomios en o toma como máximo 2 operaciones aritméticas. x 2 =x F 2 0,1,x,x+101F2[x]x2=xF20,1,x,x+101

Creo que una declaración similar de "tiempo constante a través de un número fijo de operaciones aritméticas" se aplica más generalmente para donde donde es primo. tenga en cuenta que si no es fijo, esta declaración ya no es válida q= p n pnFqq=pnpn

Carter Tazio Schonwald
fuente
1
Carter: según su razonamiento, que es técnicamente correcto, lo mismo es válido para cualquier conjunto finito de polinomios. Sin embargo, para considerar la complejidad asintótica de cualquier manera significativa, debemos considerar infinitas familias de polinomios. Esto implica trabajar sobre campos finitos pero permitir que el campo (tamaño) varíe o trabajar sobre campos infinitos. Por ejemplo, cuando decimos "lo permanente", de hecho, estamos hablando de la familia infinita , donde es el permanente de una matriz . p e r m n n × n{permn:n0}permnn×n
Joshua Grochow
1
bastante justo, aclaremos la declaración de la pregunta con "polinomios en un campo infinito" en lugar de rechazar un intento de respuesta que señala una aclaración necesaria :) su ejemplo con el permanente no hace que esto sea obvio, porque las matrices aún están por encima de algunas anillo o campo. Además, en el caso de , en realidad no me estoy limitando a considerar solo esos 4 polinomios, sino que uso la relación de equivalencia de para reducir cualquier polinomio de mayor grado a uno de esos cuatro en el tiempo lineal en El grado del polinomio. x 2 =xF2x2=x
Carter Tazio Schonwald
1
Carter: Pensé que estaba claro que estaba preguntando acerca de los asintóticos, pero ahora lo he aclarado. También puede usar polivados multivar donde el número de vars no es fijo. Perdón por el voto negativo, pero no creo que merezca la mitad de la recompensa (+25) por señalar que los conjuntos finitos de polys de 1 var pueden evaluarse con O (1) ops. Sé que en realidad estabas señalando algo menos obvio, pero eso no era relevante para la pregunta: como ya se señaló en los comentarios sobre la Q , el poli no es parte de la entrada. Entonces, en F_2, solo hay que considerar 4 políticas de 1 var (no es necesario usar x ^ 2 = x).
Joshua Grochow
umm, tu aclaración aún está rota, necesitas tener un anillo o campo fijo para las cosas o sus tonterías. permn
Carter Tazio Schonwald
1
Estoy de acuerdo con usted en general, así que arreglé la aclaración. Curiosamente, en el caso de polinomios con coeficientes 0,1, -1 (como perm y det), permitir que el campo varíe no es una tontería total. Uno podría imaginar un resultado como: "Probar si es 0 es tan difícil como evaluar por sobre " (para alguna secuencia específica de poderes primarios, no necesariamente todos de la misma característica). Sin embargo, es cierto que este no sería un resultado tan natural como en un campo fijo. d e t n F p n p ndetndetnFpnpn
Joshua Grochow
3

No estoy seguro si entiendo la pregunta correctamente, pero déjame intentar arrojar algo de luz.

Típicamente, evaluar un polinomio a ciertos valores es más fácil que la prueba de identidad, especialmente cuando la representación del polinomio es a través de un circuito (alguna representación sucinta). Sin embargo, hay muchos algoritmos aleatorios de prueba de identidad ( Schwarz-Zippel es el más directo) que funciona en evaluaciones justas.

En ciertos casos especiales, tenemos pruebas de 'recuadro negro' para pruebas de identidad donde puede probar si un polinomio es cero o no simplemente evaluándolo en un conjunto predefinido de puntos. Un ejemplo simple de esto es si el polinomio es 'disperso' (solo tiene monomios). Para simplificar la exposición, supongamos que el polinomio es multilineal (cada monomio es un producto de distintas variables).nO(1)

Una forma natural de enviar un polinomio multivariado multilineal a univariado es mediante la sustitución . El polinomio resultante es say . Esto podría ser un polinomio de grado exponencial, por supuesto, pero vamos al módulo para un pequeño rango de 's. Ahora un sería "malo" para un par de monomios si y se asignan al mismo módulo monomial . O en otras palabras, divide . Por lo tanto, siempre que no dividai S α i y a i y r - 1 r r y a y b y r - 1 r a - b r i , j S ( a i - a j ) rxiy2iiSαiyaiyr1rryaybyr1rabri,jS(aiaj), esto no sucedería Por lo tanto, es suficiente correr sobre un rango polinómico de 's. Por lo tanto, es suficiente evaluar el polinomio en algunas raíces de las unidades y podemos deducir que el polinomio es cero o no.r

Ha habido más progreso en los algoritmos de prueba de identidad de caja negra. En este momento, la mayoría de ellos se encuentran a 3 circuitos de profundidad restringida (suma de productos de sumas de variables). (FWIW) Algo de esto se menciona con más detalles en los capítulos 3 y 4 de mi tesis de maestría . Y también ha habido nuevas mejoras por parte de Saxena y Seshadri recientemente.

Ramprasad
fuente
A menos que me falte alguna conexión con las pruebas de identidad, creo que puede haber entendido mal. Además del hecho de que los polinomios no son parte de la entrada de mi pregunta --- Estoy bastante interesado en un problema de decisión y un problema de función definido por una familia de polinomios --- No estoy preguntando sobre las pruebas de identidad, pero prueba, dada la entrada , si f ( x ) = 0 . Esto es a priori más fácil que el problema general: dada la entrada x , evaluar f ( x ) . Esperemos que la aclaración que acabo de agregar a la pregunta aclare esto. xf(x)=0xf(x)
Joshua Grochow
Ah! Ya veo ... Gracias por la aclaración; mi respuesta no es demasiado relevante en ese caso.
Ramprasad
1

Cualquier problema #P, o incluso # P / poly, se puede escribir como un polinomio: haga un circuito con compuertas NAND, escríbalos como donde x e y son enteros con valor 0-1, y sume todas las entradas . Esto da un polinomio en Z [ x 1 , . . . , x n ] para entradas de tamaño n . El problema de decisión es probar si esto es 0.1xyxyZ[x1,...,xn]n

Colin McQuillan
fuente
Sí. Esta es una versión un poco más general del ejemplo de lo permanente. Tal problema de decisión está en (o N P / p o l y ). Se cree que # P es significativamente más difícil que N P (ya que es tan difícil como toda la jerarquía polinómica). ¿Conoces una condición general en los problemas de # P que, si se satisface con una función de # P f implica que f no es más difícil que su versión de decisión? NPNP/poly#PNP#P#Pff
Joshua Grochow
Hay una conjetura de que las versiones de conteo natural de problemas NP-completos son siempre # P-completas, pero no conozco ninguna otra relación. Una especie de condición trivial sería que el problema es auto reducible y que f está limitado por un polinomio.
Colin McQuillan