Avaliando a multilinearização de um circuito aritmético?

13

Deixe ser um polinómio de multi-variada com coeficientes de mais de um campo . A multilinearização de , denotada por , é o resultado da substituição repetida de cada x_i ^ d por d> 1 por x_i . O resultado é obviamente um polinômio multilinear.p(x1,,xn)Fp x d i d > 1 x ipp^xidd>1xi

Considere o seguinte problema: dado um circuito aritmético C(x1,,xn) sobre F e dados os elementos de campo a1,,an , calcule C^(a1,,an) .

Pergunta: Supondo que a aritmética de campo possa ser feita em tempo unitário, existe um algoritmo de tempo polinomial para isso? Adicionado mais tarde: eu também estaria interessado no caso especial em que C é realmente uma fórmula (um circuito de fan-out 1 ).

Slimton
fonte
1
Por que seria equivalente a calcular a saída de um circuito fechado? O problema que estou enfrentando é que o circuito pode ter caminhos separados de uma entrada para vários nós de multiplicação internos, e avaliar cada um desses nós de multiplicação internos exigiria a substituição de por em um caminho e por no outro. Em um circuito com um número exponencial de caminhos, parece que há um número exponencial de casos para resolver. x i a i 1xixiai1
#
2
@ Kaveh: Eu não entendo. Veja o circuito . Se você apenas substituir o nó de entrada por um nó com o valor de e avaliar de forma padrão você acaba voltando em vez de . Modelo de computação: tempo polinomial apenas normal em máquinas de Turing. Pense no campo como sendo para concretude, se desejar. x a a 2 a Z / 3 Z(xx)xaa2aZ/3Z
slimton
2
@ Kaveh: Eu não entendo como esse algoritmo implica o que você diz, mas isso de fato contradiz uma hipótese comum na complexidade dos circuitos aritméticos: que o Permanent não possui circuitos aritméticos de tamanho poli (sobre campos diferentes de F_2). Considere o polinômio . A parte multilinear desse polinômio tem a propriedade de que sua parte de maior grau ( ) é apenas . Se houver um pequeno circuito aritmético computando , então pode-se mostrar que existe um pequeno circuito aritmético computando . q = 2 n R = Y 1 Y 2y n P e r ( x 11 , ... , x n n ) q rp=i(jxijyj)q=2nr=y1y2ynPer(x11,,xnn)qr
Srikanth
1
@Srikanth: Eu não vi seu comentário antes de postar minha resposta (que acabou sendo a mesma construção que você deu em seu comentário). Desde então, excluí minha resposta e você deve postar seu comentário como resposta.
13139 Joshua Grochow
2
@ Josué: Eu não adicionei meu comentário como resposta, pois não entendo por que a construção da Kaveh funciona. Vejo que o circuito aritmético calcula um polinômio que concorda com a multilinearização em todas as entradas, mas não tenho certeza se calcula formalmente a multilinearização do polinômio fornecido (veja meus comentários após a resposta de Kaveh). Minha construção (e a sua) pressupõe que a multilinearização seja computada formalmente.
Srikanth

Respostas:

12

No caso de o campo tamanho de pelo menos , acho que esse problema é difícil. Mais especificamente, acho que se o acima pode ser resolvido com eficiência para desse tamanho, o CNF-SAT possui algoritmos aleatórios eficientes. Digamos que recebemos uma fórmula CNF . Pode-se facilmente criar um circuito aritmético que calcula uma `` aritmetização '' de , onde o polinômio concorda com a fórmula nas entradas - . Considere a multilinearização de . Observe que2 N F φ C p φ p φ 0 1 q p q p φ { 0 , 1 } nF2nFφCpφpφ01qpqconcorda com portanto, em .pφ{0,1}n

Eu afirmo que é diferente de zero se for satisfatório. Claramente, se , então não pode ser satisfeito. Por outro lado, pode-se mostrar que qualquer polinômio multilinear diferente de zero não pode desaparecer em todos os . Isso implica que um diferente de zero (e, portanto, o correspondente ) não desaparece em alguma entrada em .φ q = 0 φ { 0 , 1 } n q φ { 0 , 1 } nqφq=0φ{0,1}nqφ{0,1}n

Portanto, verificar a satisfação de é equivalente a verificar se é diferente de zero. Digamos, agora, que poderíamos avaliar em um campo grandeq q q Fφqq . Então, usando o Lema de Schwartz-Zippel, poderíamos testar a identidadeusando um algoritmo aleatório eficiente e verificar se é o polinômio zero (o tamanho deé usado para limitar o erro no Lema de Schwartz-Zippel).FqF

Srikanth
fonte
Parece-me que F é um campo fixo porque não há nada na entrada que especifique F. Observe também que a pergunta assume que as operações de campo levam tempo unitário.
Kaveh
Obrigado Srikanth. Como Kaveh adivinhou, eu estava realmente interessado no caso de campo finito fixo, mas essa resposta que você deu me ajuda a entender um pouco melhor a pergunta.
#
3

Suponha que exista um algoritmo polytime que forneceu e a calculou o resultado da multi-linearização de C em a . (wlog, assumirei que a saída b será um vetor de números binários p- bits b i é k se b i , k for um.)C(x)F(x)aCabpbikbi,k

Desde , existe um circuito booleano polysize que dada a codificação do circuito aritmético e os valores para as variáveis calcula a multi-linearização do circuito aritmético nas entradas. Vamos chamar esse circuito M .PP/polyM

Seja um circuito aritmético arbitrário. Corrija as variáveis ​​do circuito booleano M que descrevem o circuito aritmético, para que tenhamos um circuito booleano que calcula a multi-linearização de C em determinadas entradas.CMC

Nós podemos transformar este circuito para um circuito aritmético sobre notando que x p - 1 é 1 para todos os valores, mas 0 de maneira que primeiro levantar todas as entradas para a alimentação p - 1 . Substituir cada f g portão por multiplicação f . g , cada f g portão por f + g - f . g e cada ¬ f gate por 1 - f .Fpxp110p1fgf.gfgf+gf.g¬f1f

Pela suposição que fizemos acima sobre o formato da saída, podemos transformar a saída de binária em valores acima de . Tome a saída para b i e combine-os para obter 0 k p - 1 k b i , k .Fpbi0kp1kbi,k

Também podemos converter a entrada fornecida como valores acima de para a forma binária, pois existem polinômios passando por qualquer número finito de pontos. Por exemplo, se estamos trabalhando no mod 3 , considere os polinômios 2 x ( x + 1 ) e 2 x ( x + 2 ) que fornecem o primeiro e o segundo bits da entrada x F 3 .Fpmod32x(x+1)2x(x+2)xF3

Combinando estes temos um circuito aritmético sobre computar a multi-linearização de C com tamanho polynomail no tamanho de C .FpCC

Kaveh
fonte
2
Não está claro para mim por que o circuito aritmético que você descreveu calcula a multilinearização de , ou mesmo um polinômio multilinear. Eu só consigo ver que o circuito aritmético calcula algum polinômio que concorda com a multilinearização de C nas entradas 0 - 1 . CC01
Srikanth
@ Krikanth: a versão aritmética do circuito booleano (com algumas entradas fixas) calcula a versão multilinear de C , não precisa ser multilinear. Em seguida, o único problema é que a entrada / saída estão em binário não os valores superiores a F p , então eu só preciso para corrigir a codificação para entrada / saída de binário para originais valores de entrada e saída. O circuito resultante é um circuito aritmético que obtém os valores para variáveis ​​de C , codifica-os em binário, calcula o valor da multilinearização de C sobre essas entradas e gera a resposta em binário e depois converte-os novamente em F p . MCFpCCFp
Kaveh
[continuou] O resultado é um circuito aritmético com as mesmas variáveis que tem, e com os mesmos resultados, e é computar o multilinearization de C . CC
Kaveh
2
@ Kaveh: Você assumiu que a entrada para o circuito booleano é da mesma forma que a saída de M ? De qualquer forma, ainda não estou convencido. É perfeitamente possível que um circuito aritmético calcule um polinômio f que concorda com um polinômio g em todas as entradas do campo e ainda assim f g . Por exemplo, o polinômio x p concorda com x em todas as entradas e, no entanto, elas não são iguais a polinômios. Como você sabe que o circuito M não está simplesmente computando um polinômio não multilinear que concorda com a multilinearização de C em todas as entradas?MMfgfgxpxMC
Srikanth
@ Krikanth: descrevi a forma de entrada e saída na minha resposta. A entrada para está em binário, a saída de M está na forma declarada acima. Eu não disse que é multilinear, eu só disse que ele calcula a multilinearization do C . MMC
Kaveh