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