Caracterização da complexidade do circuito para DLogTime e NLogTime

13

DeuogTEume e são duas das menores classes de complexidade que temos. (Observe que a hierarquia de tempo logarítmica é igual a e esses são os dois primeiros níveis de ).G H A C 0 L HNeuogTEumeeuHUMAC0 0euH

Depois de ler esta pergunta , fico interessado em ver se a separação entre essas duas classes é conhecida e, de fato, é fácil separá-las, pois (obrigado a Robin Kothari. Veja também conhecido ). Agora, estou interessado em conhecer sua caracterização de complexidade de circuito correspondente. Pesquisei um pouco e perguntei a algumas pessoas, mas não consegui encontrar a resposta.OR(x1,...,xn)NeuogTEume-DeuogTEume

Temos boas caracterizações de complexidade de circuito para as classes de complexidade e ?DeuogTEumeNeuogTEume

Nota: mostra muito na definição de uniformidade para pequenas classes de complexidade. Observe que o pequeno limite de tempo não permite que essas máquinas leiam toda a entrada; elas podem apenas ler bits da entrada, e as classes são definidas usando máquinas que podem escrever o endereço de um bit e depois ler diretamente esse bit. (ou seja, não precisa passar por todos os bits anteriores para chegar lá).DeuogTEumelgn

Kaveh
fonte
3
É fácil separar as duas classes. NLOGTIME pode calcular a função OR, enquanto DLOGTIME não pode, porque não pode ler a entrada inteira. Esse fato pode ser usado para construir uma linguagem que separa os dois usando truques padrão.
precisa
1
@ Robin: como sempre, muito obrigado :). Perdi.
Kaveh
. As classes são provavelmente algo em torno da cláusula de tamanho polinomial / termo / CNF / DNF. UMAeutTEume(O(1),O(registron))=UMAC0 0
Kaveh
Você finalmente encontrou uma resposta para esta pergunta? Uma caracterização de circuito para DLOGTIME teria duas partes, o tipo de circuito permitido e a condição de uniformidade imposta a eles. Você sabe a resposta para um desses?
226126 Robin Kothari
@ Robin, não, não sei a resposta, mas suspeito que provavelmente não correspondem a classes de complexidade de circuitos agradáveis.
Kaveh

Respostas:

-11

Penso que é muito mais interessante que as classes de complexidade do circuito usadas pela teoria da complexidade do CS façam previsões diferentes e usem métricas diferentes das da comunidade VLSI. Na complexidade VLSI das funções booleanas :

É sabido que todas as funções booleanas de variáveis ​​podem ser calculadas por um circuito lógico com portas O ( 2 n / n ) (teorema de Lupanov) e que existem funções booleanas de n variáveis ​​que requerem circuitos lógicos desse tamanho (Shannon teorema). Apresentamos os resultados correspondentes para funções booleanas calculadas por circuitos VLSI, usando o modelo de Thompson de um chip VLSI. Provamos que todas as funções booleanas de n variáveis ​​podem ser calculadas por um circuito VLSI de O ( 2 n ) área e período 1, e provamos que existem funções booleanas de nnO(2n/n)nO(2n)nvariáveis ​​para as quais todos os chips VLSI (convexos) devem ter área.Ω(2n)

Curiosamente, a complexidade do circuito VLSI tem a tendência de tratar a profundidade como "irrelevante", pois há uma e apenas uma "profundidade" que importa: o caminho crítico. Para fins mais práticos, um circuito arbitrariamente complexo pode ser tratado como com uma latência de n .O(1)n

Na verdade, não tenho a certeza, mesmo que o conceito de / N L o g o t i m e traduz-se directamente para a complexidade do circuito VLSI. Mesmo o resultado de Shannons 2 n / n não se traduz facilmente: os resultados de Shannons são válidos apenas para uma base booleana que consiste em uma ity 2 2 {AND, OR, NOT}. Essa não é a única base, e o número de "portões" necessários diminui drasticamente à medida que você permite mais e mais tipos de portões. O que se segue são um r um e um 2DeuogTEumeNeuogTEume2n/n2umareuma2 de uma biblioteca de células padrão comercial VLSI normalizada para o tamanho de uma porta NAND de 2 entradas:

        2 3 4 <- Aridade
e 1,14 1,28 1,41
1,00 1,14 1,28
ou 1,14 1,41 1,41
nem 1,00 1,14 1,41
xor 1,62 2,44
xnor 1,62 2,44

buf 1.14
inv 0.80

aoi22 1,28
aoi222 1,62
aoi33 1,62
oai22 1,41
oai222 1,72
oai33 1,62

addf 2.64

Especificamente, observar as aoi/ oaiportões que são And Or Invert/ Or And Invertconsistindo de aridade dimensionadas primeira função alimentando a segunda função, em que o número de primeiros função portões é igual ao número de vezes aridade aparece. Por exemplo, aoi22representa "Dois dois portões AND de entrada que alimentam um portão NOR".

Meu argumento é: Tomada separadamente, uma oai222função pode ser construída usando três portas OR de 2 entradas e uma porta NAND de 3 entradas, para uma área total de ~ 4,56, sem incluir nenhuma área usada para interconexão. No entanto, essa primitiva pode ser realizada em uma área de apenas 1,72, o que significa que uma manifestação discreta da mesma função booleana consome 2,65 vezes mais área.

nn2n

As propriedades de propagação para as primitivas mais complexas também são significativamente melhores do que o que seria alcançado usando portões discretos.

PNP

PNPNPf:{0 0,1}n{0 0,1}f2n/nNP.

f:{0 0,1}n{0 0,1}NP{0 0,1}n2n/nnnNPNP2n/n

Na complexidade das implementações VLSI e representações gráficas de funções booleanas com aplicação à multiplicação inteira mostra que prever a complexidade do circuito usando um modelo OBDD superestima a complexidade real do circuito:

UMAT2=Ω(n2)Ω(cn)c<1UMAT2=O(n1+c)

n2n-1Eu-12n-Eu-11EunUMAT2=Ω(Eu2)Ω(1.09Eu)

johne
fonte
5
-1: Não vejo como isso é relevante para a pergunta do OP.
Robin Kothari
5
Sua parte no meio sobre Shannon e Cook não parece fazer nenhum sentido. Shannon mostrou que "a maioria" das funções requer um circuito exponencialmente grande. Como podemos concluir que qualquer problema de PN requer apenas uma família de tamanho linear? E você percebe que estamos falando de famílias de circuitos, certo?
Re: Reitblatt
6
johne: este não é um fórum apropriado para o que só pode ser descrito como reclamações sobre a comunidade VLSI em relação à comunidade CS.
Suresh Venkat