Complexidade de teste de valor versus computação de uma função


36

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 na1,...,ani=1n(xai)nxΘ(logn)ncomponentes), mas avaliar o polinômio acima leva pelo menos etapas, dePaterson-Stockmeyer.Ω(n)

  • 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 .Ω(nlogn)Ω(nlogn)n1

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 } .{fn} {X:fn(X)=0 where n is the "size" of X} {fn}


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).Z{permn:n0}permnn×n


A resposta à sua pergunta não depende não apenas do polinômio em si, mas também de sua representação?
Ilyaraz 17/08

@ilyaraz: Não sei o que você quer dizer. O polinômio não faz parte da entrada.
arnab

Joshua, você pode 'latexizar' a questão para melhor legibilidade?
Suresh Venkat

4
Encontrei um artigo da Valiant ( dx.doi.org/10.1016/0020-0190(76)90097-1 ) "Complexidade relativa da verificação e avaliação", que considera essencialmente a mesma pergunta, mas na configuração padrão da máquina de Turing, em vez de um cenário algébrico. Ele não responde à minha pergunta, mas se você achou essa pergunta interessante, também pode achar o artigo dele interessante.
Joshua Grochow 29/08/10

1
Os "usos algorítmicos do teorema de Feferman-Vaught" de Makowski são possivelmente relevantes. Ele define polinômios pela soma sobre as estruturas MSOL-definíveis com gráficos e mostra que eles são fáceis de avaliar quando os gráficos são árvore de largura delimitada
Yaroslav Bulatov

Respostas:


4

Em , teste para zero e avaliação são "quase" iguais no seguinte sentido: Suponha que você tenha uma árvore de decisão que teste se algum polinômio irredutível f é diferente de zero. Estamos trabalhando em C , portanto, só podemos testar a igualdade, mas não temos "<". Essa é a diferença importante para o segundo exemplo da questão! Agora siga o caminho típico, ou seja, o caminho seguido por quase todas as entradas (sempre seguimos a ramificação " "). Além disso, siga o caminho típico de todos os elementos da variedade V ( f ) . Seja v o nó no qual esses dois caminhos assumem uma ramificação diferente pela primeira vez. Let h 1 ,CfCV(f)v são os polinômios testados ao longo do prefixo comum dos dois caminhos. Como V ( f ) está fechado, todos os elementos que estão em V ( f ) e atingem v também estão em V ( h m ) . Assim, se f ( x ) = 0 , então um dos h i desaparece em x . Aplicamos a Nullstellensatz de Hilbert a h 1h m e obtemos que f g =h1,,hmV(f)V(f)vV(hm)f(x)=0hixh1hm para algum polinômio g que é coprime para f . Em suma, enquanto não estamos computando f , ao decidir se f ( x ) = 0 , temos que computar f g para algum coprime g .fg=h1hmgfff(x)=0fgg


Portanto, a complexidade do teste é capturada essencialmente pela complexidade da avaliação de f g . Então, como f é irredutível, a complexidade da avaliação de f é polinomialmente limitada pela complexidade da avaliação de f g , o grau de f g e o número de variáveis. Portanto, se f possui grau polinomial e o teste f ( x ) = 0 é suficientemente fácil, o teste e a avaliação são equivalentes. (No entanto, se d e g ff(x)=0 fgfffgfgff(x)=0degfé grande ou se o teste é difícil - diz o grau de é muito grande -, então isso diz muito pouco).g
Joshua Grochow

Não entendi: se você pode avaliar , pode testar o zero com apenas mais uma operação, a saber, um teste de igualdade no final. O que poderia dar errado é que avaliar f g é mais barato do que avaliar f por algum motivo. (Nota: Avaliando f meios avaliando em um ponto genérico, isto é, a um indeterminado.)ffgff
Markus Bläser

Precisamente. Avaliar pode ser mais fácil do que avaliar f . (Eu sei que avaliar f significa avaliar em um ponto genérico; eu realmente não entendo por que você pensou que sua última observação entre parênteses era necessária, mas isso pode estar além do ponto.) O que é exatamente isso que você não entende? Com base no seu último comentário, eu diria que nós dois entendemos a situação e concordamos com o entendimento uns dos outros ... Veja também "A complexidade dos fatores dos polinômios multivariados" de Burgisser, que dá a mesma conclusão que afirmei no meu comentário anterior. fgff
Joshua Grochow

Conclusão interessante adicional desta discussão: embora testar se a permanente de uma matriz não negativa é zero ou não é fácil, testar se a permanente de uma matriz complexa arbitrária é zero é fácil se e somente se avaliar a permanente é fácil.
precisa saber é o seguinte

Desculpe, eu não entendi seu primeiro comentário. Tudo está bem.
Markus Bläser 8/03/2013

5

Os "usos algorítmicos do teorema de Feferman-Vaught" de Makowski são possivelmente relevantes. Ele define polinômios somando estruturas definidas pelo MSOL em gráficos e mostra que elas são tratáveis ​​para avaliar quando os gráficos são delimitados pela largura da árvore.

Isso não diz muito sobre a diferença na complexidade dos testes / avaliações, além de ser o FPT. Testar um valor significa perguntar se existe uma configuração de variáveis ​​que a fórmula do MSO2 dada no gráfico determinado seja verdadeira, enquanto a avaliação envolve enumerar atribuições que satisfaçam a fórmula do MSO2. Isso parece estar relacionado à questão de como a complexidade da contagem do SAT se relaciona à complexidade do SAT.

Editar 10/29 Outro conceito útil pode ser procurar a propriedade Uniform Difficult Point. Aparentemente, os polinômios com essa propriedade são fáceis de avaliar em todos os pontos ou difíceis de avaliar em quase todos os pontos. Makowski fornece algumas referências nos slides 46-52 - http://www.cs.technion.ac.il/admlogic/TR/2009/icla09-slides.pdf


3

Vou arriscar a ideia de que a avaliação de um polinômio em F p para o primeiro-fixo p (ou qualquer extensão campo finito dos mesmos, e com os coeficientes restritas ao mesmo campo) se encaixam no seu critério.q(x)Fpp

mais concretamente, vamos considerar um polinômio em . Sabemos que x 2 = x em F 2 , portanto, se assumirmos que qualquer polinômio já está em uma forma reduzida quando fornecida como uma entrada, resta apenas considerar um dos seguintes itens: 0 , 1 , x , x + 1 e avaliar adequadamente qualquer um desses polinômios em 0 ou 1 realiza no máximo 2 operações aritméticas.F2[x]x2=xF20,1,x,x+101

Acredito que uma declaração similar de "tempo constante via número fixo de operações aritméticas" se aplica mais geralmente a onde q = p n onde p é primo. Observe que, se n não for corrigido, essa instrução não será mais válidaFqq=pnpn


1
Carter: pelo seu raciocínio, que é tecnicamente correto, o mesmo vale para qualquer conjunto finito de polinômios. No entanto, para considerarmos a complexidade assintótica de qualquer maneira significativa, devemos considerar famílias infinitas de polinômios. Isso implica trabalhar em campos finitos, mas permitir que o campo (tamanho) varie, ou trabalhar em campos infinitos. Por exemplo, quando eu digo "o permanente" na verdade estamos falando sobre a família infinita , onde p e r m n é o permanente de um n × n matriz.{permn:n0}permnn×n
Joshua Grochow

1
F2x2=x

1
Carter: Eu pensei que estava claro que estava perguntando sobre assintóticos, mas agora esclareci. Você também pode usar polivares multivariados onde o número de vars não é fixo. Desculpe pelo voto negativo, mas acho que você não merece metade da recompensa (+25) por apontar que conjuntos finitos de polis 1-var podem ser avaliados com O (1) ops. Eu sei que você estava realmente apontando algo menos óbvio, mas isso não foi relevante para a pergunta: como já apontado nos comentários sobre o Q , o poli não faz parte da entrada. Portanto, em F_2 existem apenas 4 polis 1-var a serem considerados (usar x ^ 2 = x é desnecessário).
Joshua Grochow 29/08/10

permn

1
detndetnFpnpn

3

Não sei se entendi a pergunta corretamente, mas deixe-me tentar esclarecer um pouco.

Normalmente, avaliar um polinômio em determinados valores é mais fácil do que o teste de identidade, especialmente quando a representação do polinômio é por meio de um circuito (alguma representação sucinta). No entanto, existem muitos algoritmos de teste de identidade randomizados (o Schwarz-Zippel é o mais direto) que funciona apenas em avaliações.

nO(1)

xiy2iiSαiyaiyr1rryaybyr1rabri,jS(aiaj)r

Houve mais progressos nos algoritmos de teste de identidade de caixa preta. No momento, a maioria fica em circuitos restritos de profundidade 3 (soma dos produtos das somas das variáveis). (FWIW) Parte disso é mencionada em mais detalhes nos capítulos 3 e 4 da minha tese de mestrado . E houve outras melhorias por Saxena e Seshadri recentemente também.


xf(x)=0xf(x)

Ah! Entendo ... Obrigado pelo esclarecimento; minha resposta não é muito relevante nesse caso.
Ramprasad

1

1xyxyZ[x1,...,xn]n


NPNP/poly#PNP#P#Pff

Há uma conjectura de que as versões naturais de contagem dos problemas de NP-completos são sempre # P-completas, mas não conheço nenhum outro relacionamento. Uma espécie de condição trivial seria que o problema é auto-redutível ef é delimitado por um polinômio.
Colin McQuillan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.