# Valutare la multilinearizzazione di un circuito aritmetico?

13

Let un polinomio multivariata con coefficienti su un campo . La multilinearization di , indicato con , è il risultato di sostituire ripetutamente ogni con per . Il risultato è ovviamente un polinomio multilineare.p(x1,,xn)$p(x_1,\ldots,x_n)$F$F$p$p$p^$\hat{p}$xdi$x_i^d$d>1$d > 1$xi$x_i$

Si consideri il seguente problema: dato un circuito aritmetico su e dato campo elementi , calcolare .C(x1,,xn)$C(x_1,\ldots,x_n)$F$F$a1,,an$a_1,\ldots,a_n$C^(a1,,an)$\hat{C}(a_1,\ldots,a_n)$

Domanda: Supponendo che l'aritmetica di campo possa essere eseguita in unità di tempo, esiste un algoritmo del tempo polinomiale per questo? Aggiunto in seguito: sarei anche interessato al caso speciale in cui è in realtà una formula (un circuito di fan-out ).C$C$1$1$

1
Perché sarebbe equivalente al calcolo dell'uscita di un circuito chiuso? Il problema che sto affrontando è che il circuito può avere percorsi disgiunti da un input a diversi nodi di moltiplicazione interni e la valutazione di ciascuno di quei nodi di moltiplicazione interna richiederebbe la sostituzione di con in un percorso e di nell'altro . In un circuito con un numero esponenziale di percorsi, sembra che ci sia un numero esponenziale di casi di cui occuparsi. xi$x_i$xi$x_i$ai$a_i$1$1$
slimton,

2
@Kaveh: non capisco. Guarda il circuito . Se si sostituisce semplicemente il nodo di input con un nodo con valore e si valuta nel modo standard si finisce per restituire anziché . Modello di calcolo: solo tempo polinomiale normale su macchine di Turing. Pensa al campo come per concretezza, se vuoi. (xx)$(x * x)$x$x$a$a$a2$a^2$a$a$Z/3Z$Z/3Z$
slimton,

2
@Kaveh: Non capisco come un tale algoritmo implichi ciò che dici, ma ciò contraddice in effetti un'ipotesi comune nella complessità del circuito aritmetico: che il Permanente non ha circuiti aritmetici polivalenti (su campi diversi da F_2). Considera il polinomio . La parte multilinea di questo polinomio ha la proprietà che la sua parte di grado più alto ( ) è solo p=i(jxijyj)$p=\prod_i(\sum_j x_{ij} y_j)$q$q$=2n$=2n$ . Se esiste un piccolo circuito aritmetico che calcola , allora si può dimostrare che esiste un piccolo circuito aritmetico che calcola . r=y1y2ynPer(x11,,xnn)$r = y_1y_2\cdots y_n Per(x_{11},\ldots,x_{nn})$q$q$r$r$
Srikanth,

1
@Srikanth: non ho visto il tuo commento prima di pubblicare la mia risposta (che si è rivelata la stessa costruzione che hai dato nel tuo commento). Da allora ho cancellato la mia risposta e dovresti pubblicare il tuo commento come risposta.
Joshua Grochow,

2
@Joshua: Non ho aggiunto il mio commento come risposta poiché non capisco perché i lavori di costruzione di Kaveh. Vedo che il circuito aritmetico calcola un polinomio che concorda con la multilinearizzazione su tutti gli input, ma non sono sicuro che calcoli formalmente la multilinearizzazione del polinomio dato (vedi i miei commenti dopo la risposta di Kaveh). La mia costruzione (e la tua) presuppone che la multilinearizzazione sia calcolata formalmente.
Srikanth,

Risposte:

12

Nel caso in cui il campo abbia una dimensione di almeno , penso che questo problema sia difficile. Più specificamente, penso che se quanto sopra può essere risolto in modo efficiente per così grande, allora CNF-SAT ha algoritmi randomizzati efficienti. Supponiamo che ci venga data una formula CNF . Si può facilmente creare un circuito aritmetico che calcola una  aritmetizzazione '' di , in cui il polinomio concorda con la formula su - ingressi. Si consideri che la multilinearizzazione accordo con e quindi F$F$2n$2n$F$F$φ$\varphi$C$C$p$p$φ$\varphi$p$p$φ$\varphi$0$0$1$1$q$q$ di . Si noti che p$p$q$q$p$p$φ$\varphi$ su .{0,1}n$\{0,1\}^n$

Dichiaro che è diverso da zero se è soddisfacente. Chiaramente, se , allora non può essere soddisfatto. Per il contrario, si può dimostrare che qualsiasi polinomio multilineare diverso da zero non può svanire su tutti . Ciò implica che un diverso da zero (e quindi il corrispondente ) non svanisce con qualche input in .q$q$φ$\varphi$q=0$q=0$φ$\varphi${0,1}n$\{0,1\}^n$q$q$φ$\varphi${0,1}n$\{0,1\}^n$

Pertanto, verificare la soddisfacibilità di equivale a verificare se è diverso da zero. Dire, ora, che abbiamo potuto valutare su un grande campo . Quindi, usando Schwartz-Zippel Lemma, potremmo testare l'identità usando un algoritmo randomizzato efficiente e verificare se è il polinomio zero (la dimensione diφ$\varphi$q$q$q$q$F$F$q$q$F$F$ is used to upper bound the error in the Schwartz-Zippel Lemma).

Mi sembra che F sia un campo fisso perché non c'è nulla nell'input che specifica F. Si noti inoltre che la domanda presuppone che le operazioni sul campo richiedano tempo unitario.
Kaveh,

Thanks Srikanth. As Kaveh guessed I was indeed interested in the fixed finite field case, but this answer you gave helps me understand the question a bit better.
slimton

3

Assume that there is polytime algorithm that given C(x⃗ )F(x⃗ )$C(\vec{x}) \in F(\vec{x})$ and a⃗ $\vec{a}$ computed the result of the multi-linearization of C$C$ on a⃗ $\vec{a}$. (w.l.o.g. I will assume that the output b⃗ $\vec{b}$ will be a vector of p$p$-bit binary numbers bi$b_i$ is k$k$ iff the bi,k$b_{i,k}$ is one.)

Since PP/poly$P \subseteq P/poly$, there is a polysize boolean circuit that given the encoding of the arithmetic circuit and the values for the variables computes the multi-linearization of the arithmetic circuit on the inputs. Let call this circuit M$M$.

Let C$C$ be an arbitrary arithmetic circuit. Fix the variables of the boolean circuit M$M$ which describe the arithmetic circuit, so we have a boolean circuit computing the multi-linearization of C$C$ on given inputs.

We can turn this circuit into an arithmetic circuit over Fp$F_p$ by noting that xp1$x^{p-1}$ is 1$1$ for all values but 0$0$ so first raise all inputs to the power p1$p-1$. Replace each fg$f \land g$ gate by multiplication f.g$f.g$, each fg$f \lor g$ gate by f+gf.g$f+g-f.g$ and each ¬f$\lnot f$ gate by 1f$1-f$.

By the assumption we made above about the format of the output, we can turn the output from binary to values over Fp$F_p$. Take the output for bi$b_i$ and combine them to get 0kp1kbi,k$\sum_{0 \leq k \leq p-1}{kb_{i,k}}$.

We can also convert the input given as values over Fp$F_p$ to binary form since there are polynomials passing through any finite number of points. E.g. if we are working in mod3$\bmod 3$, consider the polynomials 2x(x+1)$2x(x+1)$ and 2x(x+2)$2x(x+2)$ which give the first and the second bits of the input xF3$x \in F_3$.

Combining these we have an arithmetic circuit over Fp$F_p$ computing the multi-linearization of C$C$ with size polynomail in the size of C$C$.

2
It is not clear to me why the arithmetic circuit you have described computes the multilinearization of C$C$, or indeed even a multilinear polynomial. I am only able to see that the arithmetic circuit computes some polynomial that agrees with the multilinearization of C$C$ on 0$0$-1$1$ inputs.
Srikanth

@Srikanth: the arithmetic version of the boolean circuit M$M$ (with some inputs fixed) computes the multilinear version of C$C$, it doesn't need to be a multilinear. Then the only problem is that input/output are in binary not values over Fp$F_p$, so I just need to fix the encoding for input/output from binary to original input and output values. The resulting circuit is an arithmetic circuit that gets the values for variables of C$C$, encodes them in binary, computes the value of the multilinearization of C$C$ over those inputs and output the answer in binary, and then translate them back to Fp$F_p$.
Kaveh

[continued] The result it is an arithmetic circuit with the same variables that C$C$ has, and with the same outputs, and it is computing the multilinearization of C$C$.
Kaveh

2
@Kaveh: Have you assumed that the input to the boolean circuit M$M$ is of the same form as the output of M$M$? In any case, I am still not convinced. It is perfectly possible for an arithmetic circuit to compute a polynomial $f$ that agrees with a polynomial $g$ at all inputs from the field and yet $f\neq g$. For example, the polynomial $x^p$ agrees with $x$ at all inputs, and yet they are not equal as polynomials. How do you know that the circuit $M$ is not simply computing a non-multilinear polynomial that agrees with the multilinearization of $C$ at all inputs?
Srikanth

@Srikanth: I have described the form of input and output in my answer. The input to $M$ is in binary, the output of $M$ is in the form stated above. I haven't said that it is multilinear, I have only said that it computes the multilinearization of the $C$.
Kaveh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.