Quantas negações precisamos para calcular funções monótonas?

14

Razborov provou que a função monótona não está em mP . Mas podemos calcular a correspondência usando um circuito de tamanho polinomial com algumas negações? Existe um circuito P / poli com negações que calcula a correspondência? Qual é o compromisso entre o número de negações e o tamanho da correspondência?O(nϵ)

Anônimo
fonte

Respostas:

21

Markov provou que qualquer função de entradas pode ser calculada com apenas . Uma versão construtiva eficiente foi descrita por Fisher. Veja também uma exposição do resultado do blog da GLL .nlog(n+1)

Mais precisamente:

Teorema: Suponha que é calculado por um circuito com portas , então também é calculado por um circuito com portões e negações.f:{0,1}n{0,1}mCgC2g+O(n2log2n)log(n+1)

A idéia principal é adicionar para cada fio em um fio paralelo em que sempre carrega o complemento de . O caso base é para os fios de entrada: Fisher descreve como construir um circuito de inversão com portas e somente negações de . Para as portas AND do circuito , podemos aumentar com , e da mesma forma para as portas OR. NÃO os portões em não custam nada, apenas trocamos os papéis de ewCwCwI(x)=x¯O(n2log2n)log(n+1)Ca=bca=bcCwwa jusante do portão NOT. Desta forma, todo o circuito além do subcircuito do inversor é monótono.

AA Markov. Sobre a complexidade de inversão de um sistema de funções. J. ACM , 5 (4): 331-334, 1958.

MJ Fischer. A complexidade das redes limitadas por negação - Uma breve pesquisa. Em Teoria dos Autômatos e Línguas Formais , 71–82, 1975

mikero
fonte
É um circuito P / poli?
Anonymous
2
Sim, o tamanho do circuito vai de a 2 g + O ( n 2 log 2 n ) em que n é o número de entradas. Expandi a resposta para incluir uma declaração mais precisa do resultado e torná-lo mais independente. g2g+O(n2log2n)n
Mikero 15/09/2015
4
E algumas funções monótonas explícitas (de saída múltipla) em P / poli requerem pelo menos negações para permanecer em P / poli. lognO(loglogn)
Stasys
2
Para esta linha de perguntas (poder de negação em circuitos / fórmulas / etc), os seguintes itens podem ser relevantes: eccc.hpi-web.de/report/2014/144 , eprint.iacr.org/2014/902 e eccc. hpi-web.de/report/2015/026 .
Clement c
2
é suficiente pordimacs.rutgers.edu/TechnicalReports/abstracts/1995/95-31.html. 2g+O(nlogn)
Emil Jeřábek apoia Monica
1

Como calcular a inversão de bits usando n negações2n1n

Deixe os bits serem classificados em ordem decrescente, ou seja, i < j implica x ix j . Isso pode ser alcançado por uma rede de classificação monótona como a rede de classificação Ajtai – Komlós – Szemerédi.x0,,x2n1i<jxixj

Definimos o circuito de inversão para bits I n ( x ) indutivamente: Para o caso base, temos n = 1 e I 1 0 ( x ) : = ¬ x 0 . Seja m = 2 n - 1 . Reduzimos I n (para 2 m + 1 ) bits para uma porta I n - 1 (para m2n1In(x)n=1I01(x):=¬x0m=2n1In2m+1In1mbits) e uma porta de negação usando portas e . Usamos a negação de computação ¬ x m . Para i < m deixar y i : = ( x i¬ x m ) x m + i . Usamos I n - 1 para inverter y . Agora podemos definir I n da seguinte maneira:¬xmi<myi:=(xi¬xm)xm+iIn1yIn

Iin:={Iin1(y)¬xmi<m¬xmi=mIin1(y)¬xmi<m

É fácil verificar isso invertendo considerando os possíveis valores de x n e usando o fato de x estar diminuindo.xxnx

De Michael J. Fischer, A complexidade das redes limitadas por negação - uma breve pesquisa, 1975.

Anônimo
fonte