我想从需求工程的角度而不是数学上了解NP-Hard。任何输入表示赞赏。
Requirements engineering是在工程设计过程中定义,记录和维护需求的过程。我能想到的与NP难题有关的唯一联系如下:如果要通过算法解决问题,则要求使用的算法不是NP难的。NP-hard本质上(不是数学上)意味着必须计算问题的所有可能解决方案,然后选择最佳解决方案。典型的例子是Traveling Salesman Problem:给定许多要访问的城市,请找出访问每个城市一次的最短访问时间。为了找到最短的路线,必须构造所有可能的路线,然后选择最短的路线。找到最佳解决方案的时间随城市数量成倍增长,也就是说,对于更多的城市来说,这是无法解决的。PS:当然,有些算法可以在合理的时间内很好地解决此特定问题。