P versus NP(P 与 NP 之争)是计算机科学(计算复杂性理论)中的一个核心开放问题:所有“容易验证”的问题(NP)是否也都能“容易求解”(P)?
通俗说:如果你能很快检查一个答案对不对,是否就一定也能很快找到这个答案?(目前未知;普遍猜测 P ≠ NP。)
/piː ˈvɜːrsəs ɛn piː/
Solving Sudoku quickly would be easier if P versus NP were resolved.
如果 P 与 NP 之争得到解决,快速求解数独之类的问题可能会更容易理解其难度本质。
The P versus NP problem shapes how we think about cryptography, because many security systems assume some NP-type problems can’t be solved efficiently.
P 与 NP 问题影响我们对密码学的理解,因为许多安全系统都假设某些 NP 类问题无法被高效求解。
该说法来自复杂性理论中的两类问题:P(Polynomial time,多项式时间内可解)与 NP(Nondeterministic Polynomial time,解可在多项式时间内被验证,或等价地:由非确定性图灵机在多项式时间内可解)。
“P versus NP”作为固定表述,常用于指代“P 是否等于 NP”这一著名难题,并与 NP 完全(NP-complete)概念密切相关。