Я думаю, что "практическое" намерение разделения задач на P и NP является нижней границей.Если вы докажете, что проблема является NP-трудной (и вы согласны с распространенным мнением, что P! = NP), вы доказали, что не можете найти алгоритм для этой задачи, который выполняется в разумные сроки.
Более неофициально, скажем, ваш босс просит вас написать алгоритм, который работает за 5 минут.Если вы скажете, что не можете его найти, он подумает, что вы расслабляетесь.Если вы покажете ему, что он спрашивал вас о сложностях, он должен быть убежден, что вы не можете этого сделать. Возвращаясь к формализму, вы можете обосновать это с помощью алгоритма аппроксимации.
Это исторический разговор.потому что теперь в отрасли мы иногда реализуем задачи, которые являются NP-полными (например, SAT-решатели) или даже PSPACE-полными (например, формальная проверка, которая является PSPACE-полной по размеру формулы).С другой стороны, например, в графике, вы иногда не можете реализовать алгоритм, который работает в n^2
.Даже nlogn
иногда может быть резким.