Supponiamo di avere un insieme di n variabili booleane x_1, ..., x_n e un insieme di funzioni m y_1 ... y_m dove ogni y_i è lo XOR di un sottoinsieme (dato) di queste variabili. L'obiettivo è calcolare il numero minimo di operazioni XOR che è necessario eseguire per calcolare tutte queste funzioni y_1 ... y_m.
Si noti che il risultato di un'operazione XOR, ad esempio x_1 XOR x_2 potrebbe essere utilizzato nel calcolo di più y_j ma viene conteggiato come uno. Inoltre, tieni presente che potrebbe essere utile calcolare XOR di una raccolta molto più ampia di x_i (più grande di qualsiasi funzione y_i, ad es. Calcolare XOR di tutti gli x_i) al fine di calcolare y_i in modo più efficiente,
Equivalentemente, supponiamo di avere una matrice binaria A, un vettore X e l'obiettivo è calcolare il vettore Y in modo tale che AX = Y abbia tutte le operazioni eseguite in GF (2) usando il numero minimo di operazioni.
Anche quando ogni riga di A ha esattamente k una (diciamo k = 3) è interessante. Qualcuno sa sulla complessità (durezza di approssimazione) per questa domanda?
Mohammad Salavatiopur