stringtranslate.com

Проблема с 3 разделами

Задача 3-разбиения — это строго NP-полная задача в информатике . Задача состоит в том, чтобы решить, можно ли разбить заданный мультимножество целых чисел на триплеты, которые все имеют одинаковую сумму. Точнее:

Задача о 3-разбиении остается строго NP-полной при ограничении, что каждое целое число в S находится строго между T /4 и T /2.

Пример

  1. Множество можно разбить на четыре множества , каждое из которых в сумме дает T = 90.
  2. Множество можно разбить на два множества, каждое из которых в сумме дает T = 15.
  3. (каждое целое число в S находится строго между T /4 и T /2): , таким образом, m = 2, а T = 15. Существует допустимое 3-разбиение .
  4. (каждое целое число в S находится строго между T /4 и T /2): , таким образом m = 2 и T = 15. Допустимого решения не существует.

Сильная NP-полнота

Задача 3-разбиения остается NP-полной, даже если целые числа в S ограничены сверху полиномом от n . Другими словами, задача остается NP-полной, даже если числа во входном экземпляре представлены в унарной форме. т. е. 3-разбиение является NP-полным в сильном смысле или сильно NP-полным . Это свойство и 3-разбиение в целом полезно во многих сокращениях, где числа естественным образом представлены в унарной форме.

3-Раздел против Раздела

Задача 3-partition похожа на задачу partition , в которой цель состоит в том, чтобы разбить S на два подмножества с равной суммой, и на задачу multiway number partitioning , в которой цель состоит в том, чтобы разбить S на k подмножеств с равной суммой, где k — фиксированный параметр. В задаче 3-Partition цель состоит в том, чтобы разбить S на m = n /3 подмножеств, а не просто на фиксированное количество подмножеств, с равной суммой. Partition «легче», чем 3-Partition: в то время как 3-Partition является сильно NP-трудной , Partition является только слабо NP-трудной — она сложна только тогда, когда числа закодированы в неунарной системе и имеют экспоненциальное значение по n . Когда значения являются полиномиальными по n , Partition может быть решена за полиномиальное время с помощью алгоритма разбиения чисел за псевдополиномиальное время .

Варианты

В варианте с неограниченным входом входы могут быть произвольными целыми числами; в варианте с ограниченным входом входы должны быть в ( T /4 , T /2). Ограниченная версия так же сложна, как и неограниченная версия: учитывая экземпляр S u неограниченного варианта, построить новый экземпляр ограниченной версии S r ≔ {s + 2  T   | s ∈ S u }. Каждое решение S u соответствует решению S r , но с суммой 7  T   вместо T , и каждый элемент S r находится в [2  T  , 3  T  ] , который содержится в ( T  /4, 7  T  /2 ) .

В варианте с отдельными входами входы должны быть в ( T /4 , T /2), и, кроме того, все они должны быть отдельными целыми числами. Это также так же сложно, как и неограниченная версия. [1]

В варианте с неограниченным выходом m выходных подмножеств могут быть произвольного размера - не обязательно 3 (но они все равно должны иметь одинаковую сумму T ). Вариант с ограниченным выходом можно свести к варианту с неограниченным выходом: дан экземпляр S r варианта с ограниченным выходом, с 3 m элементами, дающими в сумме mT , построить новый экземпляр варианта без ограничений S u ≔ {s + 2 T | s ∈ S r }, с 3m элементами, дающими в сумме 7mT , и с целевой суммой 7  T  . Каждое решение S r естественным образом соответствует решению S u . Наоборот, в каждом решении S u , поскольку целевая сумма равна 7  T   , а каждый элемент находится в ( T  /4, 7  T  /2 ) , должно быть ровно 3 элемента на набор, поэтому он соответствует решению S r .

Задача ABC -разбиения (также называемая числовым 3-мерным соответствием ) — это вариант, в котором вместо набора S с 3  m   целыми числами есть три набора A , B , C с m целыми числами в каждом. Сумма чисел во всех наборах равна ⁠ ⁠ . Цель состоит в том, чтобы построить m троек, каждая из которых содержит один элемент из A, один из B и один из C, так что сумма каждой тройки равна T . [2]

Задача о 4-разбиении — это вариант, в котором S содержит n = 4  m   целых чисел, сумма всех целых чисел равна ⁠ ⁠ , и цель состоит в том, чтобы разбить его на m четверок, все с суммой T . Можно предположить, что каждое целое число находится строго между T /5 и T /3. Аналогично, ABCD-parititon — это вариант 4-разбиения, в котором есть 4 входных набора, и каждый четверной набор должен содержать один элемент из каждого набора.

Доказательства

Гари и Джонсон (1975) первоначально доказали, что 3-разбиение является NP-полным, путем сведения от 3-мерного сопоставления . [3] Классический источник Гари и Джонсона (1979) описывает доказательство NP-полноты, сводящееся от 3-мерного сопоставления к 4-разбиению и к 3-разбиению. [4] Логически, сведение можно разбить на несколько шагов.

Сокращение от 3D-соответствия до ABCD-разбиения

Нам дан экземпляр E 3d-соответствия, содержащий некоторые m триплетов {w i ,x j ,y k }, где вершинами являются w 1 ,...,w q и x 1 ,...,x q и y 1 ,...,y q . Мы строим экземпляр ABCD-разбиения с 4* m элементами следующим образом (где r := 32q):

Учитывая совершенное паросочетание в E , мы строим 4-разбиение ABCD следующим образом:

В обоих случаях сумма 4-сета составляет 40r 4 по мере необходимости.

Учитывая разбиение ABCD, сумма каждого 4-множества равна 40r 4 . Следовательно, члены с r, r 2 и r 3 должны сократиться, а члены с r 4 должны в сумме дать 40r 4 ; поэтому 4-множество должно содержать триплет и 3 соответствующих «реальных» элемента или триплет и 3 соответствующих «фиктивных» элемента. Из триплетов с 3 соответствующими «реальными» элементами мы строим допустимое совершенное паросочетание в E.

Обратите внимание, что в приведенном выше сокращении размер каждого элемента полиномиален относительно размера входных данных; следовательно, это сокращение показывает, что ABCD-разбиение является сильно NP-трудным.

Сокращение от ABCD-раздела до 4-раздела

Учитывая пример ABCD-разбиения с m элементами в наборе, порогом T и суммой mT , мы строим пример 4-разбиения с 4 m элементами:

В итоге сумма составляет 16mT+15m, а новый порог — 16T+15.

Каждое ABCD-разбиение естественным образом соответствует 4-разбиению. Наоборот, в каждом 4-разбиении сумма по модулю 16 равна 15, и поэтому оно должно содержать ровно один элемент с размером по модулю 16 = 1, 2, 4, 8; это соответствует ровно одному элементу из A, B, C, D, из которого мы можем построить ABCD-разбиение.

Используя аналогичное сокращение, ABC-разбиение можно сократить до 3-разбиения.

Сокращение с 4-х до 3-х разделов

Нам дан экземпляр A 4-разбиения: 4 m целых чисел, a 1 ,...,a 4m , каждое из которых находится в диапазоне (T/3,T/5), в сумме давая mT . Мы строим экземпляр B 3-разбиения следующим образом:

Учитывая 4-разбиение A , мы строим 3-разбиение для B следующим образом:

И наоборот, если B разбито на 3 части, то сумма каждого набора из 3 элементов кратна 4, поэтому он должен содержать либо два обычных элемента и один элемент сопряжения, либо два элемента сопряжения и один элемент-заполнитель:

Приложения

NP-трудность 3-разбиения была использована для доказательства NP-трудности упаковки прямоугольников , а также Тетриса [5] [6] и некоторых других головоломок [7] и некоторых задач планирования работ . [8]

Ссылки

  1. ^ Хьюлетт, Хизер; Уилл, Тодд Г.; Вёгингер, Герхард Дж. (01.09.2008). «Мультиграфовые реализации степенных последовательностей: максимизация проста, минимизация сложна». Operations Research Letters . 36 (5): 594–596. doi :10.1016/j.orl.2008.05.004. ISSN  0167-6377.
  2. ^ Демейн, Эрик (2015). "MIT OpenCourseWare - Hardness made Easy 2 - 3-Partition I". Youtube . Архивировано из оригинала 2021-12-14.
  3. ^ Garey, Michael R. и David S. Johnson (1975). «Результаты сложности для многопроцессорного планирования при ограничениях ресурсов». SIAM Journal on Computing . 4 (4): 397–411. doi :10.1137/0204035.
  4. ^ Гэри, Майкл Р. и Дэвид С. Джонсон (1979), Компьютеры и неразрешимость; Руководство по теории NP-полноты . ISBN 0-7167-1045-5 . Страницы 96–105 и 224. 
  5. ^ "Тетрис сложен, даже приблизиться к нему". Nature . 2002-10-28. doi :10.1038/news021021-9. ISSN  0028-0836.
  6. ^ БРЕЙКЕЛААР, РОН; ДЕМЕЙН, ЭРИК Д.; ХОЭНБЕРГЕР, СЬЮЗАН; ХУГБУМ, ХЕНДРИК ЯН; КОСТЕРС, ВАЛЬТЕР А.; ЛИБЕН-НОВЭЛЛ, ДЭВИД (1 апреля 2004 г.). «Тетрис сложно даже приблизить». Международный журнал вычислительной геометрии и приложений . 14 (1n02): 41–68. arXiv : cs/0210020 . дои : 10.1142/s0218195904001354. ISSN  0218-1959. S2CID  1177.
  7. ^ Демейн, Эрик Д.; Демейн, Мартин Л. (2007-06-01). «Головоломки, сопоставление рёбер и упаковка полимино: связи и сложность». Графы и комбинаторика . 23 (S1): 195–208. doi :10.1007/s00373-007-0713-4. ISSN  0911-0119. S2CID  17190810.
  8. ^ Бернстайн, Д.; Родех, М.; Гертнер, И. (1989). «О сложности задач планирования для параллельных/конвейерных машин». IEEE Transactions on Computers . 38 (9): 1308–1313. doi :10.1109/12.29469. ISSN  0018-9340.