NPC问题两个帖子

https://www.quora.com/What-are-P-NP-NP-complete-and-NP-hard

https://stackoverflow.com/questions/1857244/what-are-the-differences-between-np-np-complete-and-np-hard

____________________________________________________________
| Problem Type | Verifiable in P time | Solvable in P time | Increasing Difficulty
___________________________________________________________|           |
| P            |        Yes           |        Yes         |           |
| NP           |        Yes           |     Yes or No *    |           |
| NP-Complete  |        Yes           |      Unknown       |           |
| NP-Hard      |     Yes or No **     |      Unknown ***   |           |
____________________________________________________________           V

P问题是可以在多项式复杂度内搜索并验证有效解。

NP问题是可以在多项式复杂度内验证

NPC问题是指NP问题中一些可以互相转换的问题, 这些问题能否在多项式时间内求解是未知的。

NP-hard问题更复杂,说是NP hard, 实际上和NP关系不大了。NP hard的问题即使解都不一定能在多项式时间复杂度内验证。如图灵机的halting problem

NP hard partition problem, 和google的optimal way转账一样。binary 搜索符合上下界的解法,然后多项式时间复杂度内验证。

candy crash: We prove that playing Candy Crush to achieve a given score in a fixed number of swaps is NP-hard.

居然是NP难

柯洁昨天0:3落后alpha Go,围棋属于exptime complete。

这个稍微难, 说有一堆task,每个有不同时间完成, 然后有一堆worker, 说如何分配 task to worker,完成时间最短, task是独立的。.看起来像背包, DP

task: 2,2,3,7, 1

worker: 2

解(2,2,3) (1, 7)注:task不一定是连续的,比如7,2,1,2,3 的解也是 (2,2,3) (1, 7)。应该是个多重背包

正确解法是二分搜索工作时间,然后验证。乍看是个多重背包NP问题, 实际是个P问题。binary Search上下限,验证解的正确性, 都是多项式复杂时间。 这个题和多背包问题相比,约束条件少很多,物品的体积都是1, 背包的空间(工人工作数量无限)。

LeetCode Optimal Account Balancing

http://www.cnblogs.com/grandyang/p/6108158.html

https://discuss.leetcode.com/topic/76158/11-liner-9ms-dfs-solution-detailed-explanation/4

这是个NP完全的题。

多重背包https://www.zhihu.com/question/37969203

results matching ""

    No results matching ""