Considere un lenguaje no vacío de cadenas binarias de longitud n . Puedo describir L con un circuito booleano C con n entradas y una salida de modo que C ( w ) sea verdadero si f w ∈ L : esto es bien conocido.
Sin embargo, quiero representar con un circuito booleano C ' con n salidas y un cierto número de entradas, digamos m , de manera que el conjunto de los valores de salida de C ' para cada uno de los 2 m posibles entradas es exactamente L .
Dado , ¿cómo puedo encontrar dicho circuito C ' de tamaño mínimo y cuál es la complejidad? ¿Existe alguna relación entre los límites conocidos sobre el tamaño de los circuitos del primer tipo ( C ) y los circuitos de este segundo tipo ( C ' ), o la complejidad de encontrarlos?
(Observe que hay algún tipo de dualidad en el siguiente sentido: dado , puedo decidir fácilmente si una palabra de entrada w está en L evaluando el circuito, pero es NP-difícil en general encontrar alguna palabra en L encontrando una asignación tal que la salida sea verdadera. Dado C ' es igualmente NP-difícil decidir si alguna palabra de entrada w está en L porque tengo que ver si una asignación produce w como salida, pero es fácil encontrar alguna palabra en L evaluando el circuito en cualquier entrada arbitraria.)
Respuestas:
Señalaré una conexión simple a circuitos no deterministas y comentaré brevemente sobre la dureza criptográfica.
Para , defina la complejidad de la imagen, denotada i m c ( S ) , como el número mínimo de puertas en cualquier circuito booleano C ( { 0 , 1) } m → { 0 , 1 } n cuya imagen es S . La pregunta se refiere a la complejidad de la computación i m c ( S ) , dada una representación de tabla de verdad de SS⊆{0,1}n imc(S) C:{0,1}m→{0,1}n S imc(S) S (una cadena de longitud ).2n
También defina la complejidad del circuito no determinista de , que denotaremos n c c ( S ) , como el circuito no determinista más pequeño C ( x , y ) : { 0 , 1 } n + m ′ → { 0 , 1 } aceptando exactamente S . Es decir, requerimos de C que x ∈ S iff ∃ y : C ( xS ncc(S) C(x,y):{0,1}n+m′→{0,1} S C x∈S . Esta es una noción estándar, utilizada para definir la clase no uniforme N P / p o l y : es la clase de todos los conjuntos S = { S n } n > 0 , con S n ⊆ { 0 , 1 } n , tal que n c c ( S n ) ≤ p o l y ( n ) .∃y:C(x,y)=1 NP/poly S={Sn}n>0 Sn⊆{0,1}n ncc(Sn)≤poly(n)
Lo que quería señalar es que . Ambas direcciones de esta desigualdad son simples de verificar.imc(S)=ncc(S)±O(n)
Supongamos que denota la complejidad del circuito determinista. Usando Razborov-Rudich, el artículo que menciona Dai Le muestra (más o menos aquí) que, bajo ciertos supuestos criptográficos, es computacionalmente difícil distinguir las tablas de verdad de S con d c c ( S ) pequeñas, de las tablas de verdad de verdad al azar S (con d c c ( S ) casi máximo). Random S también tiene n c c ( S ) casi al máximo, y por supuesto tenemosdcc(S) S dcc(S) S dcc(S) S ncc(S) . Entonces su problema es difícil bajo los mismos supuestos.ncc(f)≤dcc(f)
¿Qué es más difícil de calcular dada una tabla de verdad para , d c c ( S ) o n c c ( S ) ? ¿Hay alguna reducción de cualquier manera? No lo sé.S dcc(S) ncc(S)
fuente
Deberías echar un vistazo a este artículo de Kabanets y Cai. Citaré el resumen del artículo:
fuente