Avaliando polinômios simétricos

10

Seja um polinômio simétrico , ou seja, um polinômio tal que para todo e todas as permutações . Por conveniência, podemos assumir que é um campo finito, para evitar problemas com o modelo de computação.f:KnKx K n σ S n Kf(x)=f(σ(x))xKnσSnK

Vamos denotar a complexidade da computação , ou seja, a complexidade de um algoritmo que, dado , retorna . Podemos de alguma forma caracterizar , com base nas propriedades de ? Por exemplo, garantimos que é polinomial (em ) para todos os polinômios simétricos ?f x f ( x ) C ( f ) f C ( f ) n fC(f)fxf(x)C(f)fC(f)nf

Como caso especial, parece que (a) podemos calcular os polinômios da soma de potência em tempo e (b) podemos calcular os polinômios simétricos elementares em tempo , usando as identidades de Newton . Como conseqüência, se é uma soma ponderada de monômios em que nenhuma variável é aumentada para uma potência maior que 1 (ou seja, se é multilinear), então pode ser calculado em tempo polinomial (já que pode ser expresso como uma soma ponderada polinômios simétricos elementares). Por exemplo, quandopoli(n)poli(n)f f K = G F ( 2 )fffK=GF(2), todos os polinômios simétricos podem ser calculados em tempo polinomial. Alguém pode dizer algo mais do que isso?

DW
fonte
11
Se você estiver interessado em computação sobre poderá esclarecer o modelo de computação. R
Kaveh
11
@ Kaveh, ahh, ponto excelente. Acho que não estou super focado em nenhum campo, então acho que vou perguntar sobre campos finitos para resolver esse problema. Estou mais interessado em saber se existem resultados ou técnicas sistemáticas para determinar a complexidade da avaliação de um polinômio simétrico . f
DW
11
Como é especificado f? Isso é crucial para a complexidade da avaliação.
Thomas
2
@ Thomas, não deve importar. Para qualquer fixo único , C ( f ) está bem definido (é a complexidade do melhor algoritmo para calcular f ). Isso está bem definido e não depende de como f é "especificado". (Observe que f não é uma entrada para o algoritmo, portanto, sua representação não precisa ser definida.) Ou, em outras palavras: se eu tiver uma função simétrica f eu quero calcular, existem técnicas ou resultados para me ajudar a encontrar um algoritmo eficiente para calcular f ou determinar com que eficiência meu f pode ser calculado? fC(f)ffffff
DW
11
@ Thomas, sim: se houver resultados ou técnicas aplicáveis ​​quando o diploma não for muito grande, isso parecerá útil. (Por exemplo, se o grau wrt para cada variável, considerada separadamente, é no máximo alguma constante pequena , podemos dizer algo? O último parágrafo da minha pergunta trata do caso c = 1 ; podemos dizer mais? Ou, alternativamente, se o grau total de f não é muito grande, podemos dizer alguma coisa)?cc=1 1f
DW

Respostas:

10

A questão parece bastante aberta. Ou talvez você queira ter uma caracterização precisa da complexidade de tempo de qualquer polinômio simétrico possível sobre campos finitos?

De qualquer forma, pelo menos ao meu conhecimento, existem vários resultados bem conhecidos sobre a complexidade temporal dos polinômios simétricos de computação:

  1. Se é um polinômio simétrico elementar sobre um campo finito, ele pode ser calculado por circuitos T C 0 uniformes de tamanho polinomial .fTC0

  2. Se é um polinômio simétrico elementar sobre um campo característico 0 , então ele pode ser calculado pela profundidade do tamanho do polinômio, três circuitos algébricos uniformes (como você já mencionou o polinômio de Newton; ou pela fórmula de interpolação de Lagrange); então acredito que isso se traduz em circuitos booleanos uniformes de tamanho polinomial (embora talvez não de profundidade constante) (mas isso pode depender do campo específico em que você está trabalhando; por simplicidade, você pode considerar o anel de números inteiros; números inteiros, presumo que T C 0 seja suficiente para calcular polinômios simétricos em qualquer caso.)f0TC0

  3. Se é um polinômio simétrico sobre um campo finito, existe um limite inferior exponencial na profundidade de três circuitos algébricos para f (por Grigoriev e Razborov (2000) [seguindo Grigoriev e Karpinsky 1998]). Mas, como mencionado em 1 acima, isso corresponde apenas aos limites inferiores do circuito booleano de profundidade constante (enquanto existem pequenos circuitos booleanos uniformes em T C 0 ; significando também que os polinômios são computáveis ​​em tempo polinomial). ffTC0

Provavelmente existem resultados mais conhecidos sobre a complexidade temporal de polinômios simétricos ...

Iddo Tzameret
fonte