tamaño de circuito más pequeño con puertas XOR

15

Supongamos que se nos da un conjunto de n variables booleanas x_1, ..., x_n y un conjunto de funciones m y_1 ... y_m donde cada y_i es el XOR de un subconjunto (dado) de estas variables. El objetivo es calcular el número mínimo de operaciones XOR que necesita realizar para calcular todas estas funciones y_1 ... y_m.

Tenga en cuenta que el resultado de una operación XOR, digamos x_1 XOR x_2 podría usarse en el cálculo de múltiples y_j, pero se cuenta como uno. Además, tenga en cuenta que podría ser útil calcular XOR de una colección mucho mayor de x_i (más grande que cualquier función y_i, por ejemplo, calcular XOR de todos los x_i) para calcular y_i de manera más eficiente,

De manera equivalente, supongamos que tenemos una matriz binaria A y un vector X y el objetivo es calcular el vector Y de manera que AX = Y donde todas las operaciones se realizan en GF (2) utilizando un número mínimo de operaciones.

Incluso cuando cada fila de A tiene exactamente k uno (digamos k = 3) es interesante. ¿Alguien sabe acerca de la complejidad (dureza de la aproximación) para esta pregunta?

Mohammad Salavatiopur

Mohammad R. Salavatipour
fuente

Respuestas:

18

Esto es NP-duro. Ver: Joan Boyar, Philip Matthews, René Peralta. Técnicas de minimización lógica con aplicaciones a la criptología. http://link.springer.com/article/10.1007/s00145-012-9124-7

La reducción es de Vertex Cover y es muy agradable.

Dado un gráfico con m = | E | , defina una matriz A × m ( n + 1 ) como: A [ i , j ] = 1 si j < n + 1 y ( i , j ) E , y A [ i , n({1,...,norte},mi)metro=El |miEl |m×(n+1)AA[i,j]=1j<norte+1(i,j)E . En otras palabras, dado n + 1 variables de x 1 , ... , x n + 1 queremos calcular la m lineales formas x i + x j + x n + 1 para todos ( i , j ) E .A[i,n+1]=1norte+1X1,...,Xnorte+1metroXyo+Xj+Xnorte+1(yo,j)mi

Un poco de reflexión muestra que hay un circuito XOR para con compuertas de dos ventiladores que calculan la transformación lineal A con solo m + k compuertas, donde k es la cubierta de vértice óptima para el gráfico. (Primero calcule x i + x n + 1 para todo i en la cubierta del vértice, usando k operaciones. Las formas lineales son entonces computables en m más operaciones). ¡Resulta que este también es un circuito de tamaño mínimo!UNUNmetro+kkXyo+Xnorte+1yokmetro

La prueba de que la reducción es correcta no es tan buena. Me encantaría ver una breve prueba de que esta reducción es correcta.

Ryan Williams
fuente
Gracias Ryan Papel muy relevante de hecho. Pensé si el problema podría ser tan difícil como la cobertura de vértices en las hipergrafías, al menos para el caso de que no se generen sumas XOR más grandes (creo que lo que se refiere a libre de cancelación en este documento).
Mohammad R. Salavatipour
3
Para el caso libre de cancelación, la dureza NP se observa en Garey-Johnson con el nombre algo oscuro "Ensemble Computation" (Problema PO9, en A11.1). La reducción es en realidad la misma que la descrita por Ryan, consulte la Sección 3.2.2 en GJ.
Janne H. Korhonen