Decidir si un circuito dado calcula una permutación


27

¿Cuál es la complejidad de decidir si un circuito con bits de entrada y bits de salida calcula una permutación de ? en otras palabras, si cada cadena de bits en es una salida del circuito para alguna entrada? Parece un problema que ha sido estudiado, pero no puedo encontrar ninguna referencia. nn{0,1 } n {0,1 } nNC0nn{0,1}n{0,1}n


1
El límite obvio es que también funciona para (verifique si la función es inyectiva). PcoNPP
Kaveh

¿Qué quiere decir con "un circuito NC0"? La frase habitual es "familia de circuitos NC0", que (quizás por desgracia) a menudo se abrevia como "circuito NC0", pero no creo que se refiera a una familia de circuitos NC0 en su pregunta.
Tsuyoshi Ito

1
Por un circuito , quiero decir que cada bit de salida del circuito depende solo del número constante de bits de entrada. NC0
QiCheng

3
Sí, estoy preguntando por una familia. Para aclarar las cosas, puede cambiar a donde cada bit de salida depende solo de bits de entrada en la familia. N C 0 5 5NC0NC505
QiCheng

1
Esto no responde a su pregunta, pero si el problema se generaliza de modo que cada bit de salida pueda depender de los bits de entrada O (log n), entonces creo que el problema se completa por completo bajo la reducibilidad de Turing. Esto se desprende de la integridad de coNP de la reversibilidad finita de los autómatas celulares bidimensionales ( Durand 1994 ) al representar cada celda en un autómata celular bidimensional como una cadena binaria O (log n) -bit.
Tsuyoshi Ito

Respuestas:


29

Dureza

Después de su comentario sobre la pregunta, llamaremos a un circuito donde cada bit de salida depende de a lo sumo k bits de entrada como un " circuito NC 0 k ". Usando este término, su problema es completo en caso de circuitos NC 0 5 . Es decir, el siguiente problema es coNP-complete.

Instancia : Un circuito booleano C con n bits de entrada y n bits de salida donde cada bit de salida depende de, como máximo, cinco bits de entrada.
Pregunta : ¿El mapeo de {0,1} n a sí mismo es calculado por C bijective?

Como comentó Kaveh, está claramente en coNP, incluso sin el límite en el número de bits de entrada de los que depende cada bit de salida. Para probar la dureza de coNP, reduciremos 3SAT al complemento del problema actual. La idea clave de la reducción es la misma que la utilizada en el artículo [Dur94] de Durand, que mencioné en un comentario sobre la pregunta, pero la reducción total es mucho más simple en nuestro caso.

Dada una fórmula 3CNF φ con n variables y m cláusulas, construimos un circuito booleano C con ( n + m bits de entrada) y ( n + m bits de salida) como sigue. Rotulamos los bits de entrada como x 1 , ..., x n , y 1 , ..., y m , y los bits de salida como x1 , ..., xn , z 1 , ..., z m . Consideramos que los bits de entrada x1 , ..., x n especifica una asignación de verdad a las n variables en φ .

  • xi = x i para 1≤ in . Es decir, los primeros n bits de entrada siempre se copian a los primeros n bits de salida.
  • Para 1≤ im , si se cumple la i ésima cláusula de φ , entonces z i = y iy i +1 , donde el subíndice se interpreta módulo m . De lo contrario, z i = y i .

Tenga en cuenta que cada bit de salida depende de como máximo cinco bits de entrada. Omito la prueba de la corrección de la reducción, pero la idea clave (que tomé prestada de [Dur94]) es que si φ es satisfactoria y los bits de entrada x 1 , ..., x n se establecen en una asignación satisfactoria de φ , entonces los m bits de salida z 1 , ..., z m están obligados a tener la paridad par y, por lo tanto, el circuito no puede ser una permutación. Por otro lado, si los bits de entrada x 1 , ..., x n se configuran en una asignación no satisfactoria de φ , entonces los bits de salida z1 , ..., z m se puede establecer en cualquier cosa; debido a esto, si φ es insatisfactorio, entonces el circuito es una permutación.

Trazabilidad

En el lado manejable, su problema está en P en el caso de los circuitos NC 0 2 . Esto se muestra a continuación. En general, cada bit de salida en un circuito booleano para una permutación está equilibrado ; es decir, exactamente la mitad de las cadenas de entrada establecen el bit de salida en 1. Sin embargo, cada función booleana equilibrada de {0,1} 2 a {0,1} es afín ; es decir, una copia de un solo bit de entrada, el XOR de los dos bits de entrada o la negación de ellos. Por lo tanto, primero podemos verificar que cada bit de salida esté equilibrado, y luego verificar la biyectividad mediante la eliminación gaussiana.

No conozco la complejidad en el caso de los circuitos NC 0 3 o en el caso de los circuitos NC 0 4 .

Referencias

[Dur94] Bruno Durand. Inversión de autómatas celulares 2D: algunos resultados de complejidad. Informática teórica , 134 (2): 387–401, noviembre de 1994. DOI: 10.1016 / 0304-3975 (94) 90244-5 .


3
He publicado una pregunta de seguimiento sobre el caso de NC ^ 0_3 circuitos.
Tsuyoshi Ito
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.