Valutazione dei polinomi simmetrici


10

Sia un polinomio simmetrico , cioè un polinomio tale che per tutti tutte le permutazioni . Per comodità, possiamo supporre che sia un campo finito, per evitare di affrontare i problemi con il modello di calcolo.f:KnKx K n σ S n Kf(x)=f(σ(x))xKnσSnK

Sia la complessità del calcolo di , cioè la complessità di un algoritmo che, dato , restituisce . Possiamo in qualche modo caratterizzare , in base alle proprietà di ? Ad esempio, è garantito che sia polinomiale (in ) per tutti i polinomi simmetrici ?f x f ( x ) C ( f ) f C ( f ) n fC(f)fxf(x)C(f)fC(f)nf

Come caso speciale, sembra che (a) possiamo calcolare i polinomi della somma di potenza in time , e (b) possiamo calcolare i polinomi simmetrici elementari in time , usando le identità di Newton . Di conseguenza, se è una somma ponderata di monomi in cui nessuna variabile viene elevata a una potenza superiore a 1 (ovvero, se è multilineare), allora può essere calcolata in tempo polinomiale (poiché può essere espressa come somma ponderata di polinomi simmetrici elementari). Ad esempio, quandopoly(n)poly(n)f f K = G F ( 2 )fffK=GF(2), quindi ogni polinomio simmetrico può essere calcolato in tempo polinomiale. Si può dire altro?


1
Se sei interessato al calcolo su potresti voler chiarire il modello di calcolo. R
Kaveh,

1
@Kaveh, ahh, punto eccellente. Immagino di non essere super focalizzato su nessuno dei campi, quindi suppongo che chiederò dei campi finiti per risolvere il problema. Sono più interessato a sapere se esistono risultati o tecniche sistematiche per determinare la complessità della valutazione di un polinomio simmetrico . f
DW,

1
Come viene specificato f? Questo è cruciale per la complessità della valutazione.
Thomas,

2
@Thomas, non dovrebbe importare. Per ogni singolo fisso , è ben definito (è la complessità del miglior algoritmo per il calcolo di ). Questo è ben definito e non dipende da come "si specifica" . (Si noti che non è un input per l'algoritmo, quindi non è necessario definirne la rappresentazione.) Oppure, per dirla in altro modo: se ho una funzione simmetrica voglio calcolare, ci sono tecniche o risultati? per aiutarmi a trovare un algoritmo efficiente per calcolare o per determinare con quale efficienza la mia può essere calcolata? C ( f ) f f f f f ffC(f)ffffff
DW,

1
@Thomas, sì: se ci sono risultati o tecniche applicabili quando il grado non è troppo grande, sembra utile. (Ad esempio, se il grado scritto per ogni variabile, considerato separatamente, è al massimo qualche piccola costante , possiamo dire qualcosa? L'ultimo paragrafo della mia domanda tratta il caso ; possiamo dire di più? O, in alternativa, se il grado totale di non è troppo grande, possiamo dire qualcosa?)c = 1 fcc=1f
DW

Risposte:


10

La domanda sembra abbastanza aperta. O forse desideri avere una caratterizzazione precisa della complessità temporale di ogni possibile polinomio simmetrico su campi finiti?

In ogni caso, almeno per quanto ne so, ci sono molti risultati ben noti sulla complessità temporale dei polinomi simmetrici di calcolo:

  1. Se è un polinomio simmetrico elementare su un campo finito, può essere calcolato da circuiti T C 0 uniformi di dimensioni polinomiali .fTC0

  2. Se è un polinomio simmetrico elementare su un campo caratteristico 0 , allora può essere calcolato dalla profondità polinomiale tre circuiti algebrici uniformi (come hai già menzionato il polinomio di Newton; o dalla formula di interpolazione di Lagrange); e quindi credo che questo si traduca in circuiti booleani uniformi di dimensioni polinomiali (anche se forse non di profondità costante) (ma questo potrebbe dipendere dal campo specifico in cui stai lavorando; per semplicità potresti considerare l'anello di numeri interi; sebbene per il numeri interi presumo che T C 0 sia sufficiente per calcolare i polinomi simmetrici in ogni caso.)f0TC0

  3. Se è un polinomio simmetrico su un campo finito, allora c'è un limite inferiore esponenziale sulla profondità tre circuiti algebrici per f (di Grigoriev e Razborov (2000) [dopo Grigoriev e Karpinsky 1998]). Ma, come menzionato sopra in 1, questo corrisponde solo ai limiti inferiori del circuito booleano a profondità costante (mentre ci sono piccoli circuiti booleani uniformi in T C 0 ; ciò significa anche che i polinomi sono calcolabili nel tempo polinomiale). ffTC0

Probabilmente ci sono risultati più noti sulla complessità temporale del polinomio simmetrico ...

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.