Complessità di minimizzare la dimensione della formula polinomiale


28

Sia un grado polinomiale in variabili su , dove è costante (diciamo 2 o 3). Vorrei trovare la formula più piccola per , dove "formula" e "formula formula" sono definite in modo ovvio (ad es. La formula più piccola per il polinomio è ).d n F 2 d f x 1 x 2 + x 1 x 3 x 1 ( x 2 + x 3 )f(x1,,xn)dnF2dfx1x2+x1x3x1(x2+x3)

Qual è la complessità di questo problema: è NP-difficile? La complessità dipende da ?d

[Più formalmente, una formula (nota anche come "formula aritmetica") è un albero binario radicato, ciascuna delle cui foglie è etichettata con una variabile di input o con la costante 1. Tutti gli altri vertici dell'albero sono etichettati con o . La dimensione della formula è il numero di foglie utilizzate. La formula calcola ricorsivamente un polinomio: vertici calcolano la somma dei loro figli su , vertici calcolano il prodotto. ]× + F 2 ×+×+F2×


1
non possiamo ridurre questo test di identità polinomiale a questo problema?
Kaveh,

4
Immagino che ci possa essere una connessione, ma non la vedo immediatamente, in particolare a causa del vincolo sul grado. Inoltre, se il problema è più difficile del test di identità polinomiale, sarebbe interessante sapere quanto sia più difficile.
Ashley Montanaro,

Nel tuo caso, in che modo il numero di gate ( s e s) nella formula è correlato alla dimensione effettiva della formula? Per , la costruzione in Ehrenfeucht e Karpinski 90 sembra essere rilevante (vedere il paragrafo 2XOR) per la dimensione del modulo "gate", ma devo pensarci più a lungo. × d = 2+×d=2
Alessandro Cosentino,

Poiché la formula è un albero binario, la definizione della dimensione della formula che ho usato qui (numero di foglie) è uguale al numero di porte (vertici interni) più uno. Ma sarei interessato a qualsiasi risultato anche per qualsiasi altra definizione ragionevole della dimensione della formula. Non sono sicuro di vedere una connessione con i risultati di Ehrenfeucht e Karpinski, poiché si tratta della complessità delle soluzioni di conteggio, piuttosto che minimizzare le dimensioni della formula ...
Ashley Montanaro,

Per contare il numero di zeri, prima trasformano la formula in una equivalente, che ricordo sia minima in termini di moltiplicazioni e aggiunte. Non ho una prova di questa minimalità, però. Ancora una volta, questo risponderebbe solo al caso . d=2
Alessandro Cosentino,

Risposte:


7

È possibile ridurre il problema TAUTOLOGIA co-NP-completa (data una formula booleana, è una tautologia?) Al problema di ridurre al minimo le dimensioni della formula (poiché una formula è una tautologia se è equivalente a TRUE). Inoltre, TAUTOLOGIA per 3DNF (analogamente a SAT per 3CNF) è co-NP-Complete.


1
Come capisco la domanda, dovrebbe essere calcolato come un polinomio e non come una funzione. Forse sono necessari alcuni chiarimenti. f
Markus Bläser,

3
C'è una riduzione probabilistica da 3SAT al controllo, dato un polinomio deg-3 su GF (2), se ha uno zero [guardando combinazioni casuali lineari delle clausole], e quindi da questo al controllo, dato un deg- 3 poli su GF (2), indipendentemente dal fatto che sia zero (sottraendo il poli da 1].
Dana Moshkovitz,

1
Grazie! Hai idea di quale sia la situazione per i polinomi di grado 2? Inoltre (anche se questo è probabilmente molto denso) faccio fatica a vedere come un polinomio di grado 3 su GF (2), scritto in forma standard, possa essere tutto zero senza essere il polinomio zero. Per essere chiari, sto immaginando che l'input al mio problema sia una descrizione del polinomio stesso, piuttosto che una descrizione di un circuito che calcola il polinomio.
Ashley Montanaro,

2
Grazie ancora per la tua risposta. Tuttavia, non sono ancora convinto della cosa tutto zero; mi sembra che qualsiasi polinomio n-variabile su GF (2) con poli (n) termini possa essere facilmente trasformato in una forma standard in cui è ovvio se il polinomio è zero o no, semplicemente effettuando la sostituzione e termini di raccolta. xkx
Ashley Montanaro,

4
In effetti se lo rendi multilineare come descrivi, un polinomio valuta zero su ogni input se è il polinomio zero. Una prova: seleziona una M monomiale diversa da zero di grado minimo. Impostare su zero tutte le altre variabili. L'unico monomio sopravvissuto è M. Impostando i var su M su 1 si ottiene un output diverso da zero.
Manu,

4

Non esattamente la risposta, ma si spera che aiuti:

Questa domanda dovrebbe essere già NP difficile per d = 2 se si desidera conoscere la formula minima per polinomi e non solo per uno. La dimostrazione è la seguente: esiste una corrispondenza uno a uno tra n formule bi-lineari (formule di tipon ) e matrici tensore 3 cioè elementi in F n 2F n 2F n 2 . Tale che il rango tensore della matrice è esattamente la complessità di moltiplicazione di n formule bi-lineari.aijxiyjF2nF2nF2n

È noto che il grado tensore è un problema NP-difficile (probabilmente il grado tensore approssimativo è anche NP-difficile). Pertanto, la complessità della moltiplicazione di n formule bi-lineari è un problema NP-difficile3n


2
Grazie! Questa è una prospettiva interessante sul problema.
Ashley Montanaro,

Il seguente teorema aiuta a passare da molti polinomi a un pollynomial: LEt S (f) la complessità di un polinomio, quindi la complessità del calcolo di tutti i suoi derivati ​​è al massimo 5S (f). Pertanto i polinomi di complessità sono quasi uguali alla complessità dif1,f2,,fnz1f1+z2f2znfn
Klim

Se parli del rango di tensore, allora stai solo contando le moltiplicazioni ma non le aggiunte. Il caso e solo una forma bilineare è facile, poiché si può calcolare il rango di una forma bilineare, usando i teoremi di struttura menzionati nella risposta di Ramprasad. (Le prove di questi teoremi sono algoritmiche, vedi il libro di Lidl & Niederreiter.)d=2
Markus Bläser,

2

Qualsiasi risposta a ciò dipende enormemente dal vocabolario che permetti nella risposta. Se vuoi la tua risposta nella stessa lingua dell'input (cioè come un polinomio), questo porta a una serie di risposte, che è ciò con cui altri poster hanno lottato.

Ma se permetti al tuo vocabolario di risposta di essere ampliato, possono accadere cose meravigliose. Potete vedere un esempio nella differenziazione simbolica rispetto a quella automatica: nella differenziazione simbolica si consentono solo "espressioni", che tendono a esplodere piuttosto male; nella differenziazione automatica, si consentono i programmi a linea retta nella risposta (anche se l'input era un'espressione), il che aiuta notevolmente a controllare il rigonfiamento dell'espressione. Per i polinomi univariati, James Davenport e io abbiamo riflettuto che devi inserire anche nei polinomi ciclotomici come parte del tuo vocabolario di base (vedi i riferimenti sul perché questi polinomi sembrano essere l'unica vera fonte di esplosione, nonché i documenti che mostrano vari risultati di riducibilità tra problemi polinomiali e 3SAT).

In altre parole, se ti permetti di variare un po 'quella che consideri una risposta da quella classica, potresti essere in grado di ottenere una risposta piuttosto diversa, cioè una con una complessità molto migliore. Dipende dalla tua motivazione originale per porre la domanda, sia puramente teorica o con un'applicazione in mente, per decidere se questa variazione del vocabolario è accettabile per te. Nel contesto in cui James e io abbiamo pensato a questo (calcolo simbolico), regolare il vocabolario per far cadere la complessità è perfettamente accettabile (anche se raramente fatto).


La domanda richiede la formula aritmetica più piccola, che definisce in seguito chiaramente. Non sono quindi sicuro che questa risposta sia direttamente pertinente. Inoltre, la risposta di Dana Moshkovitz sopra e i commenti associati non rispondono correttamente alla domanda come già riconosciuto nei commenti.
Raffaello,

Il punto della mia risposta è che il PO potrebbe non rendersi conto che non stanno necessariamente ponendo la domanda migliore. La domanda del PO viene posta in termini molto classici, ma se si consente una piccola deviazione da questo, si ottengono risposte piuttosto diverse, che potrebbero essere state abbastanza inaspettate. Capisco il tuo commento, ma sento che il downvote è un po 'duro.
Jacques Carette,

Potresti correggere il primo paragrafo della tua risposta per chiarire che la domanda non ha ancora ricevuto una risposta corretta? Ero preoccupato che le persone potessero essere fuorvianti.
Raffaello,

1
@Raphael: fatto. E chiarito ulteriormente le cose.
Jacques Carette,

0

La minimizzazione generale del circuito / formula è sicuramente più difficile del test di identità, poiché la dimensione minima della formula di qualsiasi identità è semplicemente zero. Quanto a quanto sia più difficile, non ho una risposta definitiva, ma forse gli "algoritmi di ricostruzione" studiati in circuiti / formule aritmetici potrebbero essere qualcosa di simile.

C3C

d

d=2x1x2+x3x4+..+x2k1x2k+


Grazie per i tuoi commenti Purtroppo, non vedo come usare queste idee per risolvere il problema originale.
Ashley Montanaro
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.