Em geral, sabemos que a complexidade de testar se uma função assume um valor específico em uma determinada entrada é mais fácil do que avaliar a função nessa entrada. Por exemplo:
Avaliar a permanente de uma matriz inteira não negativa é # P-difícil, mas dizer se essa permanente é zero ou diferente de zero está em P (correspondência bipartida)
Existem n números reais , de modo que o polinômio ∏ n i = 1 ( x - a i ) tenha as seguintes propriedades (na verdade, a maioria dos conjuntos de n números reais terá essas propriedades). Para uma entrada dada x , testar se esse polinômio é zero leva Θ ( log n ) multiplicações e comparações (pelo resultado de Ben-Or , pois o conjunto de zero tem ncomponentes), mas avaliar o polinômio acima leva pelo menos etapas, dePaterson-Stockmeyer.
A classificação requer etapas em uma árvore de comparação (também Ω ( n log n ) etapas em uma árvore de decisão algébrica real, novamente pelo resultado de Ben-Or), mas testar se uma lista é classificada usa apenas comparações n - 1 .
Existem condições gerais em um polinômio que são suficientes para sugerir que a complexidade (algébrica) de testar se o polinômio é zero ou não é equivalente à complexidade de avaliar o polinômio?
Estou procurando condições que não dependam de conhecer a complexidade dos problemas de antemão.
( Esclarecimento 27/10/2010 ) Para esclarecer, o polinômio não faz parte da entrada. O que isso significa é que, dada uma família fixa de funções (uma para cada tamanho de entrada (comprimento de bit ou número de entradas)), desejo comparar a complexidade do problema de linguagem / decisão { X : f n ( X ) = 0 onde n é o "tamanho" de X } com a complexidade de avaliar as funções { f n } .
Esclarecimento: Estou perguntando sobre a complexidade assintótica de avaliar / testar famílias de polinômios. Por exemplo, em um campo fixo (ou anel, como ) "a permanente" não é um único polinômio, mas uma família infinita { p e r m n : n ≥ 0 } em que p e r m n é a permanente de um n × n matriz sobre que campos (ou anel).