白話 NP
驗證容易搜尋難的問題
這篇講義用很不精確, 很不科學的方式解釋何謂 Non-deterministic Polynomial time problems (NP 問題)。 目的是給讀者一點直覺; 如果要看嚴謹的定義, 還是應該找一本演算法課本來讀。
有一類的問題長得像這樣: 「請找出一組 ... 滿足 ... 條件」 例如:
- Hamiltonian Cycle: 給你一個 graph, 請用一筆畫繞一圈將每個 vertex 走過恰好一遍, 並回到起點。 (找一個 cycle 恰好經過每個 vertex 一遍)
- Forumla Satisfiability: 給你一個布林運算式 (就是一串變數與 and/or, 每個變數的值只能夠有 true 或 false) 請找出一組變數的值, 讓最後的運算結果為 true。
- CLICQUE: 給你一個 graph, 請找出一個大小為 k 的 complete subgraph
- Vertex Cover: 給你一個 graph, 請找出一組 k 個 vertices, 它們罩住整個 graph (沒有一根 edge 逃得掉)
- Subset Sum: 給你一些自然數, 請找出其中某些, 其和為 k
...
- 本頁最新版網址: https://frdm.cyut.edu.tw/~ckhung/b/al/np.php; 您所看到的版本: February 14 2012 10:32:24.
- 作者: 朝陽科技大學 資訊管理系 洪朝貴
- 寶貝你我的地球, 請 減少列印, 多用背面, 丟棄時做垃圾分類。
- 本文件以 Creative Commons Attribution-ShareAlike License 或以 Free Document License 方式公開授權大眾自由複製/修改/散佈。