Circuitos aritméticos con solo una puerta de umbral


21

Cuando restringido a - entradas, cada -Circuito calcula alguna función . Para obtener una función booleana , podemos agregar una puerta de umbral fanin-1 como puerta de salida. En la entrada , el umbral resultante - luego el circuito emite si , y las salidas si ; el umbral puede ser cualquier número entero positivo, que puede depender de0 1 { + , × } F ( x 1 , , x n ) F : { 0 , 1 } nN01{+,×}F(x1,,xn)F:{0,1}nNa { 0 , 1 } na{0,1}n { + , × }{+,×}1 F ( a ) t 0 F ( a ) t - 1 t = t n n1F(a)t0F(a)t1t=tnnpero no en valores de entrada. El circuito resultante calcula alguna función booleana (monótona) .F : { 0 , 1 } n{ 0 , 1 }F:{0,1}n{0,1}

Pregunta: ¿Los umbrales -circuits pueden ser simulados de manera eficiente por -circuits? { + , × } { , }{+,×}{,}

Por "eficientemente" quiero decir "con un aumento polinómico de tamaño como máximo". La respuesta es clara "sí" para el umbral : simplemente reemplace por , por y elimine la última puerta del umbral. Es decir, -circuits son, de hecho, umbral- -circuits. Pero, ¿qué pasa con los umbrales más grandes, digamos, ? t = 1 + × { , } 1 { + , × } t = 2t=1+×{,}1 {+,×}t=2

Se pueden definir análogos aritméticos de la mayoría de las clases de circuitos booleanos simplemente usando lugar de OR, lugar de AND y lugar de . Por ejemplo, los circuitos son -circuitos de profundidad constante con puertas fanin y ilimitadas , y entradas y . Agrawal, Allender y Datta han demostrado ese umbral = . (Recuerde que sí mismo es un apropiado# C C + × 1 - x i ˉ x i # A C 0 { + , × } + × x i 1 - x i#CC+×1xix¯i#AC0{+,×}+×xi1xi# A C 0 T C 0 A C 0#AC0TC0AC0subconjunto de ; tomemos, digamos, la función Mayoría.) En otras palabras, los circuitos de umbral de profundidad constante se pueden simular de manera eficiente mediante circuitos de profundidad constante , ¡con una sola puerta de umbral! Sin embargo, tenga en cuenta que mi pregunta es acerca de los circuitos monótonos (sin menos " " como puertas, e incluso sin como entradas). ¿Puede una (última) puerta de umbral ser tan poderosa también entonces? No sé esto, por lo que cualquier puntero relacionado es bienvenido. T C 0 { + , - , × }TC0{+,,×}- 1 - x i1xi

Nota: hay otro resultado relacionado interesante debido a Arnold Rosenbloom: -circuitos con una sola función monótona como puerta de salida puede Calcule cada función de corte con compuertas . Una función de división es una función booleana monótona que, para algunos fijos , genera (resp. ) en todas las entradas con menos (resp., Más) que . Por otro lado, el conteo fácil muestra que la mayoría de las funciones de división requieren circuitos generales de tamaño exponencial. Por lo tanto, una puerta de salida adicional "inocente" puede{ + , × }{+,×}g:N2{0,1}g:N2{0,1}O(n)O(n)kk0011kk{,,¬}{,,¬}¡Haz omnipotentes los circuitos monótonos! Mi pregunta es si esto también puede suceder cuando g : N{ 0 , 1 } es una puerta de umbral fanin- 1 . g:N{0,1}1


ACTUALIZACIÓN (agregado 03.11.2014): Emil Jeřábek ha demostrado (a través de una construcción increíblemente simple, ver su respuesta a continuación) que la respuesta es "sí" siempre que t n c para una constante c . Entonces, la pregunta permanece abierta solo para umbrales superpolinomiales (en n ). tnccn

Por lo general, en las aplicaciones, solo funcionan los umbrales grandes: generalmente necesitamos umbrales de la forma 2 n ϵ para ϵ > 0 . Es decir, si F : { 0 , 1 } nN cuenta el número de s - t caminos en el gráfico especificado por el 0 - 1 de entrada, a continuación, para t = m m 2 con m n 1 / 3 , la de umbrales t versión de F resuelve2nϵϵ>0F:{0,1}nN st01t=mm2mn1/3tF la existencia de un problema de ruta s - t hamiltoniana en los gráficos m -vertex (ver, por ejemplo, aquí ). stm

(Agregado el 14.11.2014): Dado que Emil respondió una gran parte de mi pregunta, y dado que el caso de los umbrales exponenciales no está a la vista, ahora acepto la respuesta (muy agradable) de Emil.



Espera ... ¿tamaño exponencial? Creo que puede implementar una función de corte en tamaño polinómico con puertas booleanas, es solo una fórmula (que no puede reutilizar resultados intermedios más de una vez) que tiene que ser de tamaño exponencial.
Zsbán Ambrus

@ Zsbán Ambrus: existen a lo sumo circuitos S a S de tamaño S , pero al menos 2 2 b n funciones distintas de k- corte ya para k = n / 2 ; a, b constantes positivas. SaSS22bnkk=n/2
Stasys

El umbral 2, y más generalmente, los límites delimitados por 2 n c , se pueden simular de manera eficiente haciendo el cálculo en el semiring ( { 0 , ... , t } , min { x + y , t } , min { x y , t } ) . 2nc({0,,t},min{x+y,t},min{xy,t})
Emil Jeřábek apoya a Monica el

2
Se obtiene , circuitos directamente. Reemplace cada nodo c con t + 1 nodos c 0 , ... , c t , donde c i calcula el predicado booleano c i . (No necesita c 0 ya que calcula la constante 1 , pero simplifica la expresión a continuación). En esta representación, + y pueden simularse mediante { , } circuitos de tamaño O ( t,ct+1c0,,ctcicic01+{,}2 ) : por ejemplo, si c = a + b , entonces c i = j + k i ( a jb k ) . O(t2)c=a+bci=j+ki(ajbk)
Emil Jeřábek apoya a Monica el

1
@Emil Jeřábek: ¡Muy bien! Ahora agregué un comentario sobre esto. En realidad, quizás valga la pena poner este comentario como respuesta: el caso del umbral polinómico tampoco fue claro de inmediato (al menos para mí).
Stasys

Respuestas:


16

La respuesta es "sí" si t = n O ( 1 ) . Más generalmente, un circuito de umbral { + , } de tamaño s con umbral t puede simularse mediante un circuito de { , } de tamaño O ( t 2 s ) .t=nO(1){+,}st{,}O(t2s)

Primero, observe que es suficiente evaluar el circuito en { 0 , ... , t } con suma y multiplicación truncadas: en particular, si a , a t , entonces a + b , a + b t , y a b , a b t también, o a b = a b ( = 0 ) .{0,,t}a,ata+b,a+btab,abtab=ab(=0)

Con esto en mente, podemos simular el circuito con un circuito monótono booleano reemplazando cada nodo c por los nodos c 0 , ... , c t , donde c i pretende calcular el predicado c i . (Necesitamos c 0 solo por conveniencia de notación, calcula la función constante 1 ). Si c es una variable de entrada booleana x , tomamos c 1 = x , c 2 = = c t = 0cc0,,ctcicic01cxc1=xc2==ct=0. Si c es una puerta de suma, digamos c = a + b , la implementamos a través de c i = j , k t j + k i ( a jb k ) . Las puertas de multiplicación se manejan de la misma manera.cc=a+b

ci=j,ktj+ki(ajbk).

Esto toma O ( t 3 ) compuertas por una compuerta del circuito original. Como una optimización menor, podemos reducirlo a O ( t 2 ) poniendo c tO(t3)O(t2)= j + k t ( a jb k ) , c i= c i + 1j + k = i ( a jb k ) ,i < t , de modo que cadaajbkse usa como entrada de solo una de laspuertasci.

ctci=j+kt(ajbk),=ci+1j+k=i(ajbk),i<t,
ajbk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.