為什麼0-1背包問題是NP完全問題,但該問題還有動態規劃的解法?__動態規劃

來源:互聯網
上載者:User

P是否等於NP是計算複雜度理論裡面最著名的未解決的問題之一,一個NP完全問題,如果能找到解決它的多項式時間演算法,那麼就說明了P=NP。

如今0-1背包問題已經被證明是NP完全問題,而它卻有著一個動態規劃解法,該解法有著O(n*W)的時間複雜度,其中n是物品的個數,W是背包限制的最大負重。所以時間複雜度對輸入n,W來說是多項式時間的,所以說明了NP=P。是不是哪裡出錯了呢。

其實多項式時間是相對於輸入規模來說的,輸入規模最直觀的理解就是輸入到該演算法的資料佔了多少位元記憶體。0-1背包的輸入有n個物品的價值,n個物品的重量,還有背包的最大負重W。如今假設W佔用的位元數為L(也就是說背包的最大負重的輸入規模是L),那麼log(W)=L,所以O(n*W)=O(n*2^L),由此看到,該演算法的時間複雜度對於輸入規模L來說是指數層級的,隨著輸入規模L的增加,運算時間會迅速增長。

實際上,人們把這種動態規劃的演算法稱為偽多項式時間演算法(pseudo-polynomial time algorithm),這種演算法不能真正意義上實現多項式時間內解決問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.