NP-полнота задачи о рюкзаке — различия между версиями
Miron (обсуждение | вклад) (Доказательство закончено) |
Miron (обсуждение | вклад) (Формулы --- принудительно png) |
||
Строка 6: | Строка 6: | ||
</p> | </p> | ||
==Доказательство NP-полноты== | ==Доказательство NP-полноты== | ||
− | Для доказательства того, что <math>Knapsack | + | Для доказательства того, что <math>\mbox{Knapsack problem} \in NPC</math> необходимо доказать два факта: |
− | *<math>Knapsack | + | *<math>\mbox{Knapsack problem} \in</math> [[NP|<math>NP</math>]] |
− | *<math>Knapsack | + | *<math>\mbox{Knapsack problem} \in</math> [[NPH|<math>NPH</math>]] |
===Доказательство принадлежности к NP=== | ===Доказательство принадлежности к NP=== | ||
В качестве сертификата возьмем удовлетворяющее условию задачи подмножество пар <math>\{k_{j}\}</math>. Очевидно, оно удовлетворяет всем требованиям, | В качестве сертификата возьмем удовлетворяющее условию задачи подмножество пар <math>\{k_{j}\}</math>. Очевидно, оно удовлетворяет всем требованиям, | ||
Строка 16: | Строка 16: | ||
<p style="text-align:center;"> | <p style="text-align:center;"> | ||
− | <math>f(\{s_{i}\},s) = (\{s_{i}\},\{s_{i}\},s,s)</math> | + | <math>f(\{s_{i}\},s) = (\{s_{i}\},\{s_{i}\},s,s) \,</math> |
</p> | </p> | ||
− | Очевидно, <math>f</math> работает за полиномиальное от длины входа время. И удовлетворяет условиям [[Сводимость по Карпу|сводимости по Карпу]]. | + | Очевидно, <math>f~</math> работает за полиномиальное от длины входа время. И удовлетворяет условиям [[Сводимость по Карпу|сводимости по Карпу]]. |
Версия 17:36, 9 марта 2010
Содержание
Формулировка задачи
В Задаче о рюкзаке (Knapsack problem) входными данными являются набор
пар целых чисел - вес и - стоимость, а также два целых числа - максимальный вес и - минимальная стоимость. Требуется определить, можно ли выбрать такое подмножество пар, что их суммарная стоимость больше либо равна , а вес меньше или равен :
Доказательство NP-полноты
Для доказательства того, что
необходимо доказать два факта:Доказательство принадлежности к NP
В качестве сертификата возьмем удовлетворяющее условию задачи подмножество пар
. Очевидно, оно удовлетворяет всем требованиям, налагаемым на сертификат.Доказательство принадлежности к NPH
Сведем задачу о сумме подмножества к задаче о рюкзаке. Пусть - функция, осуществляющее сведение. Она будет устроена так:
Очевидно, сводимости по Карпу.
работает за полиномиальное от длины входа время. И удовлетворяет условиям