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 )
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
¿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 }
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 × n