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
fuente