Coeficientes de Fourier Funções Booleanas descritas por Circuitos de Profundidade Limitada com portas AND OR e XOR

29

Seja uma função booleana e pensemos em f como uma função de a . Nesta linguagem, a expansão de Fourier de f é simplesmente a expansão de f em termos de monômios quadrados livres. (Esses monômios formam uma base para o espaço de funções reais em . A soma dos quadrados dos coeficientes é simplesmente então leva a uma distribuição de probabilidade em monômios livres quadrados. Vamos chamar essa distribuição de distribuição F.f f{ - 1 , 1 } n{1,1}n { - 1 , 1 } {1,1}2 n2n { - 1 , 1 } n{1,1}n 1 1ff

Se f pode ser descrito por um circuito de profundidade delimitada de tamanho polinomial, sabemos por um teorema de Linial, Mansour e Nisan que a distribuição F está concentrada em monômios de tamanho tamanho até peso quase exponencialmente pequeno. Isso é derivado do lema Hastad de comutação. (Uma prova direta seria mais desejável.)polylog  npolylog n

O que acontece quando adicionamos portas mod 2? Um exemplo a considerar é a função nas variáveis , que é descrita como o produto interno mod 2 das primeiras n variáveis ​​e das últimas n variáveis. Aqui a distribuição F é uniforme.I P 2 nIP2n 2 n2n

Pergunta : A distribuição F de uma função booleana descrita pelo tamanho polinomial de profundidade limitada AND, OR, MOD concentrada (até um erro superpolinomialmente pequeno) em "níveis"?22 o ( n )o(n)

Observações :

  1. Um caminho possível para um contra-exemplo seria "colar de alguma forma" vários IP em conjuntos disjuntos de variáveis, mas não vejo como fazê-lo. Talvez deva enfraquecer a questão e permitir atribuir alguns pesos às variáveis, mas também não vejo uma maneira clara de fazê-lo. (Portanto, referir-me a esses dois assuntos também faz parte do que estou perguntando.)2 k2k

  2. Eu especularia que uma resposta positiva à pergunta (ou a uma variação bem-sucedida) se aplicará também quando você permitir portões mod . (Então, a pergunta foi motivada pelo impressionante resultado recente do ACC de Ryan Williams.) kk

  3. Para MAJORITY, a distribuição F é grande (1 / poli) para cada "nível".

Como mostra Luca, a resposta para a pergunta que fiz é "não". A questão que resta é propor maneiras de encontrar propriedades das distribuições F das funções booleanas que podem ser descritas por AND OR e portas mod 2 não compartilhadas por MAJORITY.

Uma tentativa de salvar a pergunta falando sobre as funções do MONOTONE:

Pergunta : A distribuição F de uma função booleana MONOTONE descrita pelo tamanho polinomial de profundidade limitada AND, OR, MOD concentrada (até um erro superpolinomialmente pequeno) em "níveis"?22 o ( n )o(n)

Podemos especular que podemos até substituir por modo que um contra-exemplo para esta versão forte possa ser interessante. o ( n ) o(n)polilog ( n )polylog(n)

Gil Kalai
fonte
Parece uma conjectura muito forte, seria muito interessante se houver evidências de que isso pode ser verdade. É a intuição por trás disso que, para circuitos de profundidade constante com portões modificados, você pode ter funções que são muito insensíveis ao ruído, como polinômios de baixo grau, ou perfeitamente aleatórias, como paridade, mas é difícil criar algo no meio como a maioria?
precisa
Caro Boaz, (Eu esperaria um contra-exemplo à forte afirmação sugerida.) Re: intuição, substitua "perfeitamente aleatório" por "semelhante a Bernouli". Pelo que me lembro, quando você considera um único portão mod k, a F-Distribution é como uma certa distribuição de Bernouli (a saber, o peso para | S | é como p ^ | S | (1-p) ^ {n- | S | } para alguns p, não necessariamente p = 1 / 2. Parece que pequenos circuitos de profundidade limitada com portas mod k manipulam em suas distribuições F tais como as distribuições de Bernouli, então talvez a propriedade da "maioria dos pesos em poucos níveis" (ou alguma outra propriedade de distribuições Bernouli) é mantida.
Gil Kalai

Respostas:

31

Gil, algo assim seria um contra-exemplo?

Seja tal que , e pense em uma entrada de bits como sendo um par que é uma sequência de bits de m e é um número inteiro no intervalo escrito em binário.m n = m + log m n ( x , i ) x ( x 1 , ... , x m ) i 1 , ... , mmn=m+logmn(x,i)x(x1,,xm)i1,,m

Então definimosf ( x , i ) : = x 1x if(x,i):=x1xi

Agora, para cada a função f () tem correlação com o caractere de Fourier e, portanto, o "nível i" tem pelo menos fração da massa. (De fato, mais, mas isso deve ser suficiente)i = 1 , ... , m 1 / m x 1x i 1 / m 2i=1,,m1/mx1xi1/m2

f () pode ser realizado na profundidade 3: coloque todos os XORs em uma camada e faça a "seleção" em duas camadas de ANDs, ORs e NOTs (sem contar os NOTs como acrescentando profundidade, como de costume).

Luca Trevisan
fonte
sim, Luca, parece que você está correto.
Gil Kalai