Является ли задача «Меньше всего отличающихся битов» NP-полной?

14

Это имя, которое я сделал для этой проблемы. Я не видел нигде описанного ранее. Я пока не смог найти ни доказательства NP-полноты, ни алгоритма полиномиального времени для этой задачи. Это не проблема домашней работы - это связано с проблемой, с которой я столкнулся в своей работе.

НАИБОЛЕЕ ДИСКРИМИНАЦИОННЫЕ БИТЫ

INSTANCE: набор T, содержащий битовые векторы, где каждый битовый вектор имеет длину ровно N бит. Каждый элемент T уникален, как и следовало ожидать от набора в математике. Целое число K <N.

ВОПРОС: Существует ли набор B не более чем из K битовых позиций (т. Е. Целых чисел в диапазоне [0, N-1]), так что когда мы удаляем все биты, кроме тех, что в B, из каждого вектора в T, оставшиеся более короткие векторы все все еще уникален?

Пример 1. Для экземпляра N = 5, T = {00010, 11010, 01101, 00011}, K = 2, ответ - да, потому что мы можем выбрать битовые позиции B = {0,3}. Используя соглашение, что битовая позиция 0 является самой правой, а номера битовых позиций увеличиваются справа налево, удаляя все битовые позиции, кроме позиций в B, из векторов в T оставляет T '= {00, 10, 11, 01}, и все это уникально.

Пример 2: N = 5, T = {00000, 00001, 00010, 00100}, K = 2. Ответ - нет, потому что независимо от того, какие две битовые позиции мы выберем, ни один из 2-битных векторов не будет равен 11, поэтому по крайней мере два из 2-битных векторов будут равны друг другу.

Конечно, мы можем решить эту проблему, перечислив все (N выбирают K) подмножеств с размером K из N позиций битов и определив, какие из них удовлетворяют условию вопроса. Тем не менее, это экспоненциально в размере ввода.

andy_fingerhut
источник
1
Связанный: теорема Бонди .
Арьябхата

Ответы:

18

Эта проблема является NP-полной. Доказательство, основанное на сокращении с 3-SAT, выглядит следующим образом:

Рассмотрим пример 3-SAT с переменными и m предложениями. Построим 2 n + 2 m битовых вектора («строки») длиной 2 n + log 2 ( n + m ) such , так что наименьшее количество различающих битов будет n + log 2 ( n + m ) если исходный экземпляр 3-SAT является удовлетворительным.nm2n+2m2n+log2(n+m)n+log2(n+m)

Первые биты будут соответствовать литералам { х 1 , ¬ х 1 , х 2 , ¬ х 2 , . , , , x n , ¬ x n } . Что касается этих битов, первые 2 м строк будут приходить парами, первая из которых будет иметь 1 для каждого литерала, включенного в соответствующее предложение, а вторая из которых будет полностью состоять из 0 . Оставшиеся 2 н2n{x1,¬x1,x2,¬x2,...,xn,¬xn}2m102nстроки также будут приходить парами, первая из которых будет иметь для соответствующего литерала и его отрицания, а вторая будет полностью состоять из 0 . Наконец, последние log 2 ( n + m ) будут использоваться для «подписания» каждой пары строк с ее индексом от 0 до n + m - 1 , записанным в двоичном виде.10log2(n+m)0n+m1

Чтобы отличить каждую «буквальную» строку от ее преемника, необходимо сохранить либо бит, соответствующий этому литералу, либо бит, соответствующий его отрицанию. Кроме того , для того , чтобы различить среди «нулевой» + индекс строки, все войти 2 ( п + т ) индексные биты должны быть сохранены. Поэтому минимально возможное количество различающих битов равно n + log 2 ( n + m ) n+mlog2(n+m)n+log2(n+m), Наконец, чтобы отличить каждую строку «предложения» от ее преемника, должен быть сохранен, по крайней мере, один из трех битов, соответствующих литералам, включенным в это предложение. Если экземпляр 3-SAT выполним, это последнее условие не потребует каких-либо дополнительных битов (в частности, нам не нужно сохранять биты, соответствующие как и ¬ x i для любого i ); и наоборот, если есть n + log 2 ( n + m ) битов, которые различают все 2 n + 2 m битовых векторов, они должны содержать ровно один изxi¬xiin+log2(n+m)2n+2m и ¬ x i для каждого i и, следовательно, соответствуют удовлетворительному назначению значений истинности для n переменных.xi¬xiin

mjqxxxx
источник
Благодарность! Умный и простой, чтобы увидеть, что это сохраняет ответы да (хорошо, я должен был подумать об этом по крайней мере 20 минут, прежде чем я мог сказать это.)
andy_fingerhut
14

Хотя доказательство NP-полноты уже предоставлено, возможно, стоит отметить, что эта проблема эквивалентна известной проблеме NP-завершенности, называемой проблемой минимального набора тестов ([SP6] у Гэри и Джонсона , также называемой минимальным набором тестов). проблема ): просто поменяйте роль наборов и роль позиций.

Цуёси Ито
источник
2
ах. Отличный момент.
Суреш Венкат
@Tsuyoshi Ito: Задача минимального сбора тестов завершена NP. Меня интересует максимальный минимальный набор тестов , в чем сложность? Я имею в виду, что является самым большим количеством элементов в любой минимальной тестовой коллекции.
Пэн Чжан