国产午夜精品一区理论片飘花,国产精品久久久久久无码,亚洲婷婷五月,手机在线视频成人

您現在的位置:首頁 > 科技 > 正文

令計算機也“燒腦”的NP難問題,怎樣尋求最優(yōu)解?

時間:2023-06-28 10:49:48    來源:科普中國網    

計算機科學中,有一類問題叫作NP難問題(NP-hard problem)。這里的“難”不是指沒辦法解決,而是指找到這類問題的最優(yōu)解所需的時間會隨著問題規(guī)模的擴大而急劇增加。

圖片來源:圖蟲創(chuàng)意

典型的NP難問題是旅行銷售員問題。關于這個問題的描述非常的簡單:


【資料圖】

地圖上有若干個城市,每兩個城市之間的距離是已知的,現在讓你求出一條經過所有城市,并且最終回到出發(fā)點的距離最短的路線。

費力不討好的“暴力窮舉”

這個問題非常重要,小到餐廳送餐,郵遞員送貨;大到幾個城市之間工業(yè)運輸路線的規(guī)劃,背后都是旅行銷售員問題。數學家從理論上證明,要想找到最優(yōu)路線,只能暴力窮舉(brute force),即把所有的路線都列舉出來,然后分別計算長度,最后找一條最短的路線。

用這種方法雖然可以保證找到最優(yōu)路線,但算法所需的時間會隨著節(jié)點(城市)數量的增加而急劇增加。

例如,7個城市共有720種排列方式,列出720條路線并找到

最短的路線看起來還不算太麻煩,但是這只是針對7個城市。10個城市的排列方式猛增至362880種。若有26個城市,排列方式就有1.5×1025種,這已經遠遠超過科學家估測的宇宙中所有恒星的數量。

而在實際應用中,旅行銷售員問題所涉及的節(jié)點數量可能有成百上千個。

那么面對這樣的問題,我們該如何解決呢?

一個接近最優(yōu)解的解,可能是正是你需要的

計算機科學家設計了很多啟發(fā)式算法(heuristic algorithm)。簡單來說,這個算法可以幫助我們得到一個接近最優(yōu)解的解,并且其計算出解的速度比正常計算最優(yōu)解的速度快得多。

針對旅行銷售員問題,有一個簡單的啟發(fā)式算法叫“最近鄰居法”:從任何一個城市開始,每訪問的下一個城市都是距離當前城市最近、同時尚未被訪問的城市。

計算機科學家在設計一個啟發(fā)式算法時,會試圖從數學上找到該算法的近似比(approximation ratio),即最優(yōu)解和用啟發(fā)式算法找到的解的比值。例如,有一個啟發(fā)式算法的近似比是2,這意味著該算法可以快速為旅行銷售員問題找到一個解,并保證這個解對應的距離在最差情況下不會超過最佳路線對應的距離的2倍。有人可能會問:“如果你無法有效地找到最優(yōu)解,如何保證用啟發(fā)式算法找到的解的大小不超過最優(yōu)解的2倍?”這確實令人驚訝,而且看起來很神奇,但是在數學上是可以做出這樣的保證的。

為旅行銷售員這個問題找到啟發(fā)式算法,就是用弊(性能下降或距離變長)來換取利(速度快)。并且更重要的是,近似比表示了弊的大小,讓弊變得可控。如果你可以接受某個啟發(fā)式算法的弊,那么你就可以放心地用它解決實際生活中的問題。

這就是用“可控的弊”換取“更大的利”。

怎樣用“可控的弊”換取“更大的利”

上文中的思想在實際生活中有很多應用。

在美國,森林野火每年都造成很嚴重的破壞。過去很多年,美國林務局應對森林野火的治理政策是野火必救:一旦在野外發(fā)現小火苗,就立刻派人撲滅。但是這種方法似乎沒有降低發(fā)生大規(guī)模森林火災的概率。

美國生態(tài)學家艾倫研究發(fā)現,干旱使很多樹木枯死,這時候一旦發(fā)生火災,這些樹木會瞬間讓森林燃起熊熊烈火。因此他建議,火災發(fā)生時,應該在可控范圍內讓枯死的樹木適時地被燒光,不要因累積過多枯木造成不可收拾的大火。

于是美國林務局在 2013 年修改了野火治理政策,不再實施“野火必救”,而是強調消防規(guī)劃和燃燒控制,主動在可控范圍內讓森林的野火把枯木和其他易燃物一起燒掉。這樣做降低了大規(guī)模森林火災發(fā)生的概率。

這就是用可控的弊,換取更大的利的實際應用之一。

此外,打疫苗也是如此。打疫苗的本質是讓少量病毒感染你,從而讓你產生抗體。疫苗中的病毒對身體造成的傷害非常輕微,這個弊是可控的。而打完疫苗后,我們的機體產生了免疫力,這個好處遠大于打疫苗帶來的不適。

類似的例子還有,2013 年某影星宣布自己接受了乳腺切除手術以降低患癌風險。因為她有乳腺癌家族史,并且她身上攜帶一種特 殊的突變基因,而攜帶該突變基因的婦女一生中患乳腺癌的概率為80%,術后患乳腺癌的概率則會降至5%。這種預防性的乳腺切除,就是主動用可控的弊,換取更大的利。

兵書中有一個被稱為“圍城必闕”的心理戰(zhàn)術,是指在攻城之時不將城池全部包圍起來,而是打開一個缺口讓敵人逃跑。因為如果敵軍深陷重圍,無處可跑,覺得沒有活路,就必定會拼死抵抗,而放開缺口可能會放跑少數敵人,但帶來的好處是瓦解敵人的士氣,殲滅大部分敵人。

這也屬于主動用可控的弊,換取更大的利。

綜合來說,“凡事有一利,必有一弊;凡事有一弊,必有一利”。“利與弊”并不絕對,很多情況下其實沒有絕對的利弊,只有特點。某個特點是利還是弊,這個要根據情況判斷,因此最關鍵的,是找到把特點變成長處的位置,讓長處得以發(fā)揮。

主動用可控的弊,換取更大的利,是解決問題的有效策略之一。

文章由科普中國-星空計劃(創(chuàng)作培育)出品,轉載請注明來源。

作者:北京航空航天大學副教授、博士生導師 劉雪峰

審核:華中師范大學數學與統(tǒng)計學學院 副教授 鄧清泉

標簽:

相關新聞

凡本網注明“XXX(非現代青年網)提供”的作品,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和其真實性負責。

特別關注

熱文推薦

焦點資訊