什麼是NP問題 難懂的

2021-07-23 08:46:57 字數 1207 閱讀 5747

什麼是np問題_難懂的

丫頭

概念: 在計算機學科中,存在多項式時間的演算法的一類問題,稱之為p類問題;而像梵塔問題、推銷員旅行問題、(命題表示式)可滿足問題這類,至今沒有找到多項式時間演算法解的一類問題,稱之為np類問題。

爭議:np並不是non-polynomial,把np說成是non-polynomial,是望文生義,讀書不求甚解。事實上,如果你能夠證明某個np問題是個non-polynomial的問題,你就可以去領那七個百萬美元數學大獎中間的乙個了。

數學上著名的np問題,完整的叫法是np完全問題,也即「np complete」問題,簡單的寫法,是 np=p?的問題。問題就在這個問號上,到底是np等於p,還是np不等於p。證明其中之一,便可以拿百萬美元大獎。這個獎還沒有人拿到,也就是說,np問題到底是polynomial,還是non-polynomial,尚無定論。

p代表polynomial倒是對的。np就是non-deterministic polynomial的問題,也即是多項式複雜程度的非確定性問題。

什麼是非確定性問題呢?有些計算問題是確定性的,比如加減乘除之類,你只要按照公式推導,按部就班一步步來,就可以得到結果。但是,有些問題是無法按部就班直接地計算出。比如,找大質數的問題。有沒有乙個公式,你一套公式,就可以一步步推算出來,下乙個質數應該是多少呢?這樣的公式是沒有的。再比如,大的合數分解質因數的問題,有沒有乙個公式,把合數代進去,就直接可以算出,它的因子各自是多少?也沒有這樣的公式。

完全多項式非確定性問題可以用窮舉法得到答案,乙個個檢驗下去,最終便能得到結果。但是這樣演算法的複雜程度,是指數關係,因此計算的時間隨問題的複雜程度成指數的增長,很快便變得不可計算了。人們發現,所有的完全多項式非確定性問題,都可以轉換為一類叫做滿足性問題的邏輯運算問題。既然這類問題的所有可能答案,都可以在多項式時間內計算,人們於是就猜想,是否這類問題,存在乙個確定性演算法,可以在指數時間內,直接算出或是搜尋出正確的答案呢?這就是著名的np=p?的猜想。

解決這個猜想,無非兩種可能,一種是找到乙個這樣的演算法,只要針對某個特定np完全問題找到乙個演算法,所有這類問題都可以迎刃而解了,因為他們可以轉化為同乙個問題。另外的一種可能,就是這樣的演算法是不存在的。那麼就要從數學理論上證明它為什麼不存在。

前段時間轟動世界的乙個數學成果,是幾個印度人提出了乙個新演算法,可以在多項式時間內,證明某個數是或者不是質數,而在這之前,人們認為質數的證明,是個非多項式問題。可見,有些看來好象是非多項式的問題,其實是多項式問題,只是人們一時還不知道它的多項式解而已。

什麼是NP問題?

什麼是np問題 概念 在計算機學科中,存在多項式時間的演算法的一類問題,稱之為p類問題 而像梵塔問題 推銷員旅行問題 命題表示式 可滿足問題這類,至今沒有找到多項式時間演算法解的一類問題,稱之為np類問題。拿推銷員旅行問題為例,假設推銷員亨利有向6個城市推銷公司產品的任務,並規定了乙個旅行預算。他手...

什麼是P問題,什麼是NP問題,什麼是NPC問題

參考 講的真好!非多項式級別 運算慢,巨大 o n o 多項式級的複雜度 運算快,比較小 o 1 o n o 該問題能夠找到乙個解決演算法,時間複雜度是o 1 o n o 多項式時間 的級別 找乙個解很困難,但驗證乙個解很容易。我們可能沒有乙個已知的快速的解決問題的方法,但是如果給我們乙個候選的答案...

什麼是P問題,NP問題和NPC問題?

先簡單的幾句話說一下時間複雜度。時間複雜度並不是計算機解決乙個問題需要花多長時間,而是當問題規模擴大後,而是當問題規模擴大後,程式需要的時間增長速度有多快。不管程式資料有多大,程式處理花的時間總是那麼多的,那我們說這個這個程式很好,具有o 1 的複雜度,也就是常數級複雜度 資料規模變得多大,花的時間...