Предположим, нам дан набор из n булевых переменных x_1, ..., x_n и набора из m функций y_1 ... y_m, где каждый y_i является XOR (заданного) подмножества этих переменных. Цель состоит в том, чтобы вычислить минимальное количество операций XOR, которое необходимо выполнить для вычисления всех этих функций y_1 ... y_m.
Обратите внимание, что результат операции XOR, скажем, x_1 XOR x_2 может использоваться при вычислении нескольких значений y_j, но считается одним. Кроме того, обратите внимание, что может быть полезно вычислить XOR из гораздо большей коллекции x_i (больше, чем любая функция y_i, например, вычисление XOR всех x_i) для более эффективного вычисления y_i,
Эквивалентно, предположим, что у нас есть двоичная матрица A и вектор X, и цель состоит в том, чтобы вычислить вектор Y так, чтобы AX = Y, где все операции выполнялись в GF (2) с использованием минимального количества операций.
Даже когда каждый ряд А имеет ровно k, каждый (скажем, k = 3) интересен. Кто-нибудь знает о сложности (сложности аппроксимации) для этого вопроса?
Мухаммед Салаватиопур
источник