У меня есть достойное понимание NP Полные проблемы; это не проблема. То, что у меня нет, - это хорошее представление о том, где они появляются в "реальном" программировании. Некоторые (например, ранцы и коммивояжеры) очевидны, но другие, похоже, не связаны с "настоящими" проблемами.
У меня был опыт несколько раз бороться с трудной проблемой только для того, чтобы понять, что это хорошо известная проблема NP Complete, которая была исследована широко. Если бы я узнал соединение быстрее, я мог бы сэкономить немало времени на поиске существующих решений для моей конкретной проблемы.
Есть ли какие-либо ресурсы (онлайн или печать), которые специально связывают NP Complete с реальными экземплярами?
Изменить: Например, я работал над программой, которая пыталась разделить учащихся на группы по возрасту, классу и школе происхождения, что по сути является проблемой разбиения графа. Мне потребовалось некоторое время, чтобы понять связь.