Показывая, что проблема является NP-Complete требует вас, чтобы показать, что он находится в НП.
- Разберитесь подмножеством NP полных задач
- Prove NP Твердость: Снизить произвольный экземпляр полной задачи NP к экземпляру вашей проблемы. Это самый большой кусок пирога и где хорошо знакомство с NP Complete problems. Сокращение будет более или менее сложным в зависимости от выбранной вами NP-задачи.
- Докажите, что ваша проблема в NP: спроектируйте алгоритм, который в полиномиальное время может проверить, является ли экземпляр решением.
Показано, что в НП:
Учитывая случайное подмножество людей размера N
, Как проверить, если они сформировать комитет по бесконфликтного?
Должно быть достаточно легко. Алгоритм не должен быть эффективным в памяти или размере, просто правильный. Составьте всю возможную пару в подмножестве и проверьте, находится ли пара в списке соответствия конфликту.
Дружественные с НП Полнота:
Есть некоторые конкретные NP полные задачи, которые очень популярны для prooving твердости NP.Например Karp's 21 NP-complete problems
Доказательство: От быстрого анализа вашей проблемы, я могу сначала попытаться использовать Vertex Cover NP полные задачи, особенно из-за конфликта статьи о. Учитывая, что у вас есть ограничение на размер комитета, возможно, вы могли бы сначала попробовать минимальную крышку вершин.
Удачи.