P/NP问题是在理论信息学中计算复杂度理论领域里至今未被解决的问题,也是克雷数学研究所七个千禧年大奖难题之一。P/NP问题中包含了复杂度类P与NP的关系。1971年史提芬·古克(Stephen A. Cook)和Leonid Levin相对独立地提出了下面的问题,即复杂度类P和NP是否是恒等的(P=NP?)。
P/NP的定义
- P集合:在多项式时间内可以找出解的决策性问题的集合。
- NP集合:在多项式时间内可以验证解是否正确的决策性问题的集合。
直白地讲,
- P集合:可以很快求解的问题。
- NP集合:可以很快验证给定答案是否正确的问题。
- NP-hard集合:至少比任何NP问题一样难的问题。
- NP-complete集合:同时满足两个条件:(1)该问题是一个NP问题;(2)所有NP问题可以归约为该问题。
机器学习中的过拟合与N/NP问题
机器学习面临的问题通常是NP-hard甚至更难,而有效的学习算法必然是在多项式时间内运行完成,若可彻底避免过拟合,则通过经验误差最小化就能获最优解,这就意味着我们构造性地证明了“P=NP”,因此,只要相信“P≠NP”,过拟合就不可避免。