Largura mínima da árvore do circuito para MAJORITY


12

Qual é a largura mínima da árvore de um circuito acima de para calcular o MAJ?{,,¬}

Aqui MAJ gera 1 se pelo menos metade de suas entradas for .1:{0,1}n{0,1}1

Preocupo-me apenas com o tamanho do circuito (deve ser polinomial) e que uma entrada seja lida apenas uma vez, embora o ventilador de uma porta de entrada possa ser arbitrário (isso afeta crucialmente a largura da árvore do circuito - a ramificação programas obtidos do teorema de Barrington no MAJ , interpretados como circuitos de inclinação, não ajudam). E, claro, a largura da árvore é a coisa mais crucial. Eu não me importo com a profundidade ou qualquer outro parâmetro.N C 1 NC1

Alguns dos circuitos comuns para o MAJ incluem:

  • Circuitos em árvore Wallace (por exemplo, Teorema 8.9 aqui ) que usam o truque 3 para 2 para colocar MAJ em ?NC1
  • Circuitos monótonos Valiant para MAJ (por exemplo, Teorema 4 aqui )NC1
  • logO(1)n rede de classificação em profundidade, como classificação em Lote
  • Rede de classificação AKS

Algum deles tem largura de árvore limitada ou mesmo polilogarítmica?

Ou de fato,

Existem razões para acreditar que não há circuitos limitados de largura de árvore para o MAJ?

Observe que toda função calculada por um circuito delimitado de largura de árvore pode ser calculada por um circuito , mesmo quando não há estipulação de leitura única via JansenSarma . Assim, a implausibilidade de uma família de circuitos indica que esse limite pode ser mais apertado no caso de circuitos de leitura única.NC1


1
Por que isso não é trivial para qualquer idioma ? Tanto quanto posso ver, as fórmulas (ou seja, árvores) têm a largura de uma árvore ou estou perdendo alguma coisa? 1NC11
Emil Jeřábek 3.0 10/10

5
Eu acho que OP identifica todas as folhas da árvore de fórmulas que correspondem à mesma variável, o que cria ciclos.
Sasho Nikolov 10/10

1
Um circuito para a maioria pode ser implementado na largura da árvore O (log n). O circuito apenas simula um algoritmo on-line que lê um bit de entrada por vez e adiciona 1 a um número com bits O (log n) se e somente se a entrada for 1. Observe que a profundidade do circuito é O (n). Veja a Figura 1 de ( arxiv.org/pdf/1404.5565v1.pdf ). Um circuito de profundidade pequena não tem necessariamente uma largura de árvore pequena porque, como Sasho Nikolov apontou, é necessário identificar nós correspondentes à mesma variável de entrada.
Mateus de Oliveira Oliveira

@MateusdeOliveiraOliveira A construção que você aponta é agradável e simples e é quase o que eu preciso. O que eu realmente preciso é de uma construção que funcione na largura da árvore delimitada (ou alguma indicação de por que isso não é possível). Vou aguardar alguns dias para ver se há alguma outra resposta - caso contrário (se você converter seu comentário em uma resposta), aprovarei.
SamiD 10/10

@SamiD Expandi esse comentário em uma resposta. Eu não tinha postado como resposta antes, porque é apenas metade do que você pediu.
Mateus de Oliveira Oliveira

Respostas:


7

Respondendo metade da pergunta de Samir.

Deixe ser um DAG e V 1 , V 2V ser dois subconjuntos de vértices de L . Denotamos por E ( V 1 , V 2 ) o conjunto de todas as arestas em G com um ponto final em V 1 e outro ponto final em V 2 . Se ω = ( v 1 , . . . , V n )G=(V,E)V1,V2VGE(V1,V2)GV1V2ω=(v1,...,vn)G ω L O w ( L ) = min ω

ow(G,ω)=maxi|E({v1,...,vi},{vi+1,...,vn}|
ωGG G c w ( G ) G t w ( G ) p w ( G ) c w ( G ) o w ( G ) , p w ( G ) t w ( G ) G
ow(G)=minωow(G,ω),
GGcw(G)G, independentemente de a ordem ser topológica ou não. Temos a seguinte sequência de desigualdades: que e são respectivamente a largura de caminho e o treewidth de .
tw(G)pw(G)cw(G)ow(G),
pw(G)tw(G)G

Afirmamos que a MAJORIDADE de bits pode ser computada na largura online e, portanto, na largura da árvore . O circuito simula um algoritmo online que lê um bit de entrada por vez e adiciona a um contador com bits se e somente se . No início, o contador é inicializado emO ( log n ) O ( log n ) b b O ( log n ) b = 1 0 C = ( A D D 1 , A D D 2 , . . . , um D D N , C O M P ) A D D i A D D i + 1 A DnO(logn)O(logn)bbO(logn)b=10. No final, o circuito aceita se e somente se o valor do contador for maior que n / 2. É fácil ver que os portões de um ADD de circuito que adiciona um ao contador de registro podem ser ordenados topologicamente de forma a terem largura on-line constante, pois esses circuitos precisam apenas implementar uma operação de transporte. O circuito total é uma sequência de circuitos que a saída de é conectada à entrada de e a saída de é conectada ao entrada de COMP. Agora, se topologicamente o circuito total de tal maneira que todos os portões de apareçam antes dos portões de e todos os portões deC=(ADD1,ADD2,...,ADDn,COMP)ADDiADDi+1 C A D D i A D D i + 1 A D D n O ( log n )ADDnCADDiADDi+1ADDn aparece antes dos portões do COMP, então essa ordem topológica tem largura online . Essa construção é ilustrada na Figura 1 de um artigo meu para mostrar que a amplificação de probabilidade pode ser feita na largura on-line logarítmica.O(logn)

Obs: A profundidade do circuito C é .O(n)


Como observação lado, fazendo o mesmo circuito, mas como uma árvore binária (com a saída na raiz), em vez de um caminho dá um circuito com treewidth O (log n) e profundidade O (log n)
Daniello

1
Parece que uma tradução direta em árvores daria profundidade O ((log n) ^ 2), pois precisaríamos da profundidade O (log n) para cada somador. Mas é verdade que a largura da árvore seria O (log n).
Mateus de Oliveira Oliveira

Claro que você está certo, obrigado! Parece que se as adições forem implementadas como DNFs, obteremos a largura e a profundidade O (log n), mas o tamanho . O(n3)
Daniello 16/10

a questão de representar o somador como DNFs é que ele pode aumentar potencialmente a largura da árvore, já que agora cada variável será compartilhada com (à primeira vista polinomialmente) muitas cláusulas. Sua sugestão de reduzir a profundidade para O (log n) funcionaria se você pudesse mostrar que a adição de dois números com bits O (log n) pode ser feita em profundidade constante e em largura de árvore logarítmica.
Mateus de Oliveira Oliveira

Bem - para qualquer função booleana em bits de entrada e bits de saída o DNF possui profundidade , tamanho e largura da árvore desde que a exclusão de portas de entrada + saída deixa um conjunto independente ...b 2 2 a + a + b a + bab22a+a+ba+b
daniello 20/10

5

Respondendo à outra metade da pergunta - aqui está um esboço de prova para um limite inferior de para a largura da árvore para alguma constante . O limite é independente do tamanho ou de qualquer outro aspecto do circuito. No resto do argumento é o circuito, é o treewidth de e é o número de portas de entrada.c C t C nclogncCtCn

O primeiro passo é usar o lema do separador balanceado para gráficos de largura de árvore limitada . As portas (incluindo as portas de entrada) do circuito podem ser divididas em três partes , e , de modo que e e contêm pelo menosportas de entrada, e não existem arcos (fios) entre e .R S | S | t + 1LRS|S|t+1R n / 3 - | S | L RLRn/3|S|LR

No restante da prova, a única propriedade do circuito que usaremos é esse particionamento - portanto, a prova fornece um limite mais baixo do tamanho de um separador balanceado como acima.S

Tendo em mãos, construímos um circuito partir de seguinte maneira: para cada porta em faça mais duas portas e e faça e alimentarem . Para todos os fios que levam a de faça-os entrar em . Para todos os fios que levam a de faça-os entrar em . Seja C C g S g L g R g L g R g g L g L g R g R S = { g , g L , g R : g S } .(L,S,R)CCgSgLgRgLgRggLgLgRgR

S={g,gL,gR:gS}.

Para cada uma das atribuições a faça um circuito que emita 1 se (a) a atribuição às portas de entrada tornar saída verdadeira e (b) a atribuição às portas de entrada definir todos os portões de como adivinhado. Chame esses circuitos , , para . Observe que o circuito naturalmente se divide em dois subcircuitos e modo que depende apenas das portas de entrada de , depende apenas das portas de entrada deS C S C 1 C 2 C 3C x x 8 t C i C L i C R i C L i L S C R i R S C i = C L iC R Eu2|S|SCSC1C2C3Cxx8tCiCiLCiRCiLLSCiRRS , e para qualquer atribuição para as portas de entrada temos que .Ci=CiLCiR

Como todas as atribuições para os portões de entrada são consistentes com algumas estimativas do que acontece em , temos que . Assim, reescrevemos o circuito como um OR (da ventoinha ) de AND (da ventoinha ) onde o número da porta AND está sendo alimentado com a saída de e respectivamente.C = C 1C 2C 3C x C 8 t 2 i C L i C R iSC=C1C2C3CxC8t2iCiLCiR

Seja o conjunto dos portões AND mais altos. Primeiro provaremos que. Isso fornece um limite inferior simples para em . Vamos então provar um limite melhor.2 | Z | n / 3 - | S | log log n tZ2|Z|n/3|S|loglognt


Suponha que, E assumir WLOG que contém menos portas de entrada que . Então e contêm pelo menosportões de entrada. Ao princípio o buraco pombo existem dois números diferentes e de tal modo que há duas designações diferentes para as portas de entrada de , que define portões a verdadeira, uma que conjuntos , de tal modo que os circuitos , produzem a mesma coisa. Mas existe uma atribuição para os portões de entrada em2|Z|<n/3|S|LRLRn/3|S|ijLijC1LC2LCxLRde modo que MAJORITY produza FALSE se gates em estiverem configurados como true, e MAJORITY produz TRUE se gates em for configurada como true. Isso é uma contradição e, portanto, implicando que a largura da árvore é pelo menos .iLjL2|Z|n/3|S|loglogn


Agora mostramos um limite melhor:. Suponha WLOG que contém menos portas de entrada que . Então L e R contêm pelo menosportões de entrada. Considere o "tudo falso" atribuição para . Seja o menor número de portas de entrada de que deve ser configurado como true, de modo que MAJ produz TRUE, considerando que todo está definido como false.|Z|n/3|S|LRn/3|S|LrRL

Desde a criação para todos falsos e exatamente portões de entrada de para a saída verdadeiras marcas MAIORIA tem de haver algum tal que saídas TRUE, WLOG isso é . Todas as atribuições para com menos de portas de entrada verdadeiras devem definir como false. Como definir porta de entrada de como verdadeira e portas de entrada de como verdadeira produz a saída MAJORITY , definir porta de como verdadeira deve fazer pelo menos umar R 1 i C L i C L 1 R r C R 1 1 L r - 1 R 1 1 L C L i i 1 i = 2 R r - 2LrR1iCiLC1LRrC1R1Lr1R11LCiL é verdadeiro para . wlog, podemos assumir . Então, todas as atribuições para que configuram no máximo portas de entrada como true devem definir como false, e assim por diante - podemos repetir esse argumento vezes. Mas isso significa que, fornecendo um limite inferior de para .i1i=2Rr2 r | Z | r n / 3 - | S | c log n tC2Rr|Z|rn/3|S|clognt

[Estou ciente de que este esboço fica um pouco ondulado em alguns lugares, pergunte se algo não está claro ...]

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.