Сведение по Карпу с РАЗДЕЛЕНИЯ на ПОДСТАВНУЮ СУММУ

РАЗДЕЛЕНИЕ: Для данного набора натуральных чисел A = {a_1, ..., a_n} существует ли подмножество A с суммой, равной сумме его дополнения?

SUBSET SUM: Учитывая набор положительных целых чисел A = {a_1, ..., a_n} и другое положительное целое число B, существует ли подмножество A такое, что его сумма равна B?

Я пытался доказать, что если PARTITION является NP-полным, то SUBSET SUM также является NP-полным, путем сокращения PART до SSUM.

Мое решение было: пусть A = {a1, ..., an} будет набором натуральных чисел. Затем, если A при подаче в PART дает решение I = {k1, ..., km} (где k_i - индексы членов подмножества решений), то мы строим A '= {a1, ... an, S}, где S - сумма {a_k1, a_k2, ..., a_km}. A '- это решение SSUM.

Моя проблема в том, что это происходит только в одном направлении, а это означает, что мы не можем показать, что если A ', то A является решением PART. Это проблема? и как я могу изменить доказательство, чтобы покрыть его?


person Mano Plizzi    schedule 06.02.2017    source источник


Ответы (1)


Разделение на SubsetSum на самом деле проще, чем то, что вы сделали здесь.

Если разделение выполнено, это означает, что существуют подмножества P1 и P2 такие, что сумма (P1) = сумма (P2) правильно? Поскольку sum (P1) + sum (P2) = Sum (A), это означает, что sum (P1) = sum (P2) = (1/2) sum (A)

нам даже не нужно строить A 'для суммы подмножества. Просто установите A '= A, а целевая сумма = (1/2) sum (A). Должно быть ясно, что это та же проблема, что и при разделении почти без абстракции.

Другими словами, часть всегда является просто суммой подмножества, где целевая сумма = (1/2) сумма (A)

person Cameron White    schedule 28.03.2017