国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

什么是近似算法?它適用于哪些問題?這篇文章給你答案

開發 前端 算法
羅素曾說:所有精確科學都被近似思想所主宰。本文介紹了近似算法及其對某些標準問題的適用性。

  新冠大流行給世界帶來了巨大的改變,全球科學家和研究人員在研制有效的疫苗。他們正在做的就是從廣闊的樣本空間中近似地收緊可能性范圍,并盡力得到一些有效解。近似在我們的生活中發揮了重要作用。

以在線食品配送為例,我們經常從網上訂購食物,享受快速送達的服務。但你想過這些 app 后端運行的什么算法讓快遞員在更短時間內抵達目的地嗎?答案是近似算法。這類問題就是「旅行商問題」。

食品配送:旅行商問題的現實應用。

本文將介紹近似算法及其對某些標準問題的適用性,以及哪些因素會影響到特定算法的選擇。

什么是近似算法?

近似算法是一種處理優化問題 NP 完全性的方式,它無法確保最優解。近似算法的目標是在多項式時間內盡可能地接近最優值。

它雖然無法給出精確最優解,但可以將問題收斂到最終解的近似值。其目標滿足以下三個關鍵特性:

能夠在多項式時間內高效運行;

能夠給出最優解;

對于每個問題實例均有效。

背景

數學表達式的評估常伴隨常量、變量分析和方程的階,可用于衡量近似的復雜度。此類評估將問題分解為 P 和 NP 難問題

P 問題和 NP 問題的策略

P 問題是指可以在多項式時間內求解的問題。

NP 表示不確定性多項式時間(nondeterministic polynomial time),NP 問題是指在多項式時間內近似驗證答案的問題。但目前人們發現,很多此類問題需要指數時間才能求解。

[[360458]]

P 和 NP 策略。

真正的爭論在于 P=NP 還是 P≠NP。之前的一些研究證明這兩種都是對的。如果一個問題是多項式次方,則存在多個最優算法。因此,在 NP 完全問題中,存在兩種方法找到近優解,然后選擇最適合的算法。

如果輸入的大小比較小,則具備指數運行時間的算法可能會比較適合。

其次,通過用近似算法替代確定性算法,我們仍然能夠在多項式時間內找到近優解。

近似算法的復雜度可以從輸入大小和近似因子中推斷出來。接下來,我們通過一些示例,深入探索這些算法如何應用到現實問題中。

分區問題(Partition Problem)

在計算機科學領域,該問題的定義是:給定多重正整數集 X,它可以被分割為兩個元素之和相等的子集 X1 和 X2,即每個子集的數值之和與另一個子集相等。

什么是近似算法?它適用于哪些問題?這篇文章給你答案

例如,X={3,4,1,3,3,2,3,2,1} 可以被分割為 X1={3,3,2,3} 和 X2={4,2,3,1,1},二者的數值之和都是 11。

類似地,X={1,3,1,2,1,2} 可以被分成 X1={2,1,1,1} 和 X2={3,2},兩個子集的數值之和都是 5。有趣的是,這不是唯一解。X1={1,3,1} 和 X2={2,1,2} 的數值之和也為 5,這表明存在多個可能的子集。

這就是 NP 完全問題,存在偽多項式時間動態規劃解,可獲得該問題的近優解。

方法和決定步驟

現在,我們開始分析這個問題,把它分解成數個單獨的標準問題。這里,我們想要找出多重集的元素之和相等的子集,那么該問題就可以分解成以下兩個問題:

子集和問題:子集 X 的元素之和等于數字 W。

多路數字分割:給定整數參數 W,確定如何將 X 分割成 W 個等額子集。

近似算法

如上所述,將分區問題分解為多路分割與子集和問題后,我們就可以考慮為這些問題而開發的算法,包括:

貪婪數字分割(Greedy number Partitioning)

該算法循環遍歷所有數字,將每個數字分配給總和最小的子集。如果數字未以排序方式排列,則其運行時復雜度為 O(n),近似率約為 3/2。其 Python 偽代碼如下:

def find_partition(numbers): """Separate the available numbers into two eqal sum series.

Args: numbers: collection of numbers, for example list of integers.

Returns: Two lists of numbers. """ X = [] Y = [] sum_X = 0 sum_Y = 0 for n in sorted(numbers, reverse=True): if sum_X < sum_Y: X.append(n) sum_X = sum_X + n else: Y.append(n) sum_Y = sum_Y + n return (X, Y)

將數字排序,則運行時復雜度增加到 O(n logn),近似率增加到 7/6。如果數字在 [0,1] 范圍內均勻分布,則近似率約為 1 + O(log logn/n)。

什么是近似算法?它適用于哪些問題?這篇文章給你答案

分區問題圖示。

上圖用二叉樹的形式展示所有分區。樹的根部表示集合中的最大數,每一級對應輸入數字,每個獨立分支對應不同的子集。遍歷這些集合需要深度優先遍歷(depth-first traversal),所需的空間復雜度為 O(n),時間復雜度為 O(2^n)。

適用性:

該算法可以根據情況進行修改,以便改善運行時復雜度。每一級的首要目標是構建一個分支,將當前數字分配給總和最小的子集。首先通過貪婪數字分割找出總和,然后切換到優化,得到全多項式時間近似解。

Karmarkar-Karp 算法

Karmarkar-Karp 算法指以降序方式排列數字的最大差分方法,該方法將差值替換掉原來的數字不斷放進集合中。其 Java 偽代碼實現如下:

int karmarkarKarpPartition(int[] baseArr) { // create max heap PriorityQueue heap = new PriorityQueue(baseArr.length, REVERSE_INT_CMP);

for (int value : baseArr) { heap.add(value); }

while (heap.size() > 1) { int val1 = heap.poll(); int val2 = heap.poll(); heap.add(val1 - val2); }

return heap.poll();}

該算法包含輸入集 S 和參數 k。將 S 分割成 k 個子集,使這些子集中的數字總和相等,從而構建期望輸出。該算法包含如下關鍵步驟:

以降序方式排列數字;

用差值替換掉原來的數字,直到只有一個數字;

采用回溯算法,完成分區。

適用性:

該算法通過構建二叉樹來假設分區。每一級表示一對數字,左側的分支表示用差值替換數字,右側的分支表示將差值放置在同一個子集中。該算法先通過最大差分求得解,然后繼續尋找更好的近似解。它所需的空間復雜度為 O(n),但最糟糕的情況下所需的時間復雜度可能會達到 O(2^n)。

裝箱問題

裝箱問題有多種現實應用。例如,如何從根本上改善印度的垃圾管理系統。這個問題就可以通過裝箱問題來解決,幫助當局決定 x 量的垃圾需要多少個垃圾箱。

[[360461]]

集裝箱船:裝箱問題的現實應用。

在計算機科學領域中,該問題可用于多種內存管理技術。在該算法中,我們可以通過去除冗余和最小化空間浪費來包裝不同形狀和大小的對象。

例如:給定一個包含 n 個項的集合,每個項的大小分別為 s1,s2,..,sn (0

經典方法:

1. 鄰近適應算法 (Next Fit):查看當前項是否適合當前箱子。如果適合,則將物品放置在箱子里,否則開啟一個新的箱子。

我們來看一個示例:項是 0.5, 0.7, 0.5, 0.2, 0.4, 0.2, 0.5, 0.1, 0.6,箱子大小均為 1。

什么是近似算法?它適用于哪些問題?這篇文章給你答案

基于鄰近適應算法的裝箱解決方案(M = 箱子總數 = 6)。

2. 最先匹配法 (First Fit):按順序瀏覽箱子,在第一個箱中放置新的項,直到放不下再啟用新的箱子。

我們來看一個示例:項是 0.5, 0.7, 0.5, 0.2, 0.4, 0.2, 0.5, 0.1, 0.6,箱子的大小均為 1。

什么是近似算法?它適用于哪些問題?這篇文章給你答案

基于最先匹配法的裝箱解決方案(M = 箱子總數 = 5)。

3. 最優匹配法 (Best Fit):按順序瀏覽箱子,將每一個新的項放在最適合的箱子里。如果不適合,則創建一個新的箱子。

我們來看一個示例:項是 0.5, 0.7, 0.5, 0.2, 0.4, 0.2, 0.5, 0.1, 0.6,箱子的大小均為 1。

什么是近似算法?它適用于哪些問題?這篇文章給你答案

基于最優匹配法的裝箱解決方案(M = 箱子總數 = 5)。

該方法的輸出與最先匹配法相同,但該方法的優點是實現速度比 FFD 快,即時間復雜度為 O(nlogn)。

自然方法:

如果我們提前知道所有項的大小,那么自然的解決方案就是首先按照從大到小排序,然后應用以下啟發式方法:

最先匹配遞減法

最優匹配遞減法

假設有相同的示例 0.7, 0.6, 0.5, 0.5, 0.5, 0.4, 0.2, 0.2, 0.1,則排序為 0.7, 0.6, 0.5, 0.5, 0.5, 0.4, 0.2, 0.2, 0.1。

什么是近似算法?它適用于哪些問題?這篇文章給你答案

優化方法(M = 箱子總數 = 4)。

 

 

責任編輯:張燕妮 來源: 機器之心Pro
相關推薦

2023-09-22 07:52:16

HDMI 2.14K HDR游戲

2019-12-05 14:24:47

數字認證電子認證CA

2019-10-10 11:20:22

MySQL索引數據庫

2020-05-06 19:47:15

人工智能AI

2020-12-10 13:46:35

人工智能

2021-04-27 07:59:11

內聯匯編 C 語言 asm 關鍵字

2022-09-26 10:09:08

MVCC控制并發

2018-01-02 15:43:43

微信小程序小游戲

2020-02-12 18:55:24

負載因子初始值為什么

2023-06-29 14:29:52

人工智能

2020-07-09 10:21:03

網絡排錯TCPIP

2018-10-21 15:36:13

UI適配iOS

2018-09-26 16:04:04

NVMe主機控制器

2023-01-20 12:08:56

AIPythonTensorFlow

2017-07-10 13:45:33

自動編碼數據生成GAN

2022-04-14 10:10:59

Nginx開源Linux

2019-10-31 09:48:53

MySQL數據庫事務

2023-11-30 08:27:38

泛化調用架構

2022-05-23 09:41:27

分庫分表數據庫算法

2011-03-11 15:53:07

CentOS安裝LAMP
點贊
收藏

51CTO技術棧公眾號

欧美色欧美亚洲另类二区| 鲁大师成人一区二区三区| 亚洲在线中文字幕| 无码精品a∨在线观看中文| 国产精品成人国产| 99视频一区二区| 亚欧洲精品在线视频免费观看| 777久久精品| 欧美精品激情| 91高清视频免费观看| 国产三级视频在线看| 国产亚洲综合色| 女人被男人躁得好爽免费视频| 久久亚洲精品中文字幕蜜潮电影| 精品亚洲一区二区三区在线播放| 污网站在线观看视频| 成人国产精品免费观看| 一区二区不卡视频| 国产高清一区| 国产盗摄xxxx视频xxx69| 亚洲精品aa| 日韩视频国产视频| 91在线免费看| 狠狠躁夜夜躁久久躁别揉| 开心丁香婷婷深爱五月 | 日本免费新一区视频| 日韩美女毛茸茸| 激情小说亚洲色图| 欧美国产乱视频| 韩国女主播一区二区三区| 九九热这里只有精品免费看| 国产亚洲人成a在线v网站 | 高清av一区二区| 久久久久久国产精品mv| 国产色综合网| 一级特黄妇女高潮| 国产精品2024| 精品少妇无遮挡毛片| 亚洲欧洲精品一区二区三区不卡| 成人黄色一区二区| 亚洲高清不卡在线观看| 番号集在线观看| 亚洲人成在线免费观看| 国产一区精品福利| 国产精品白嫩美女在线观看| 国产日韩综合| 国产精品va无码一区二区| 在线不卡免费欧美| 成人情趣视频网站| 日韩精品一区二区免费| 亚洲精品自拍动漫在线| www.色在线| 日韩美女视频中文字幕| 久久精品官网| 日本福利小视频| 日韩专区中文字幕| 久久综合导航| 亚洲伦理在线| 高清一区二区三区四区五区| 欧美亚洲三区| 69国产精品视频| 日韩专区在线播放| 国产一区二区三区免费| 国产在线色视频| 国产精品成久久久久三级| 国产成人免费视频网站高清观看视频 | 波多野结衣三级在线| 欧美性69xxxx肥| av永久不卡| 国内外成人免费在线视频| 亚洲国产又黄又爽女人高潮的| 国产精品久久久久一区二区三区厕所| 逼特逼视频在线| www.亚洲人.com| av在线播放成人| 欧美大片1688网站| 一区二区在线中文字幕电影视频| 成人性生交大片免费看中文| 视频二区在线| 清纯唯美亚洲综合| 国产精品色一区二区三区| 美女福利一区二区三区| 老司机精品福利在线观看| 亚洲人xxxx| 懂色av一区二区| 黄色一级视频在线播放| 日韩风俗一区 二区| 久久精品官网| 在线宅男视频| 国产精品一二三在线观看| 国产精品女人久久久久久| 日韩精品高清视频| 一区二区激情视频| 成人免费毛片片v| 欧美涩涩网站| 中文字幕久久精品一区二区| 国产高清av在线| 亚洲熟妇av一区二区三区| 亚洲影院色无极综合| 一本一道久久a久久精品逆3p| 欧美日韩免费一区| 成人黄色国产精品网站大全在线免费观看| 999国产精品| 青梅竹马是消防员在线| av网站大全免费| 亚洲第五色综合网| 91亚洲大成网污www| 伊人亚洲精品| 国产对白在线播放| 亚洲资源在线观看| 欧美老女人另类| 欧美一级爱爱视频| 欧美性猛交xxxx免费看久久久| 秋霞午夜在线观看| 精品国偷自产在线| 亚洲妇女屁股眼交7| 日本成人中文字幕| 9l视频自拍九色9l视频成人| 福利小视频在线观看| 色999日韩自偷自拍美女| 欧美久久久影院| 日韩电影一区二区三区| 擼擼色在线看观看免费| 天天影视综合色| 亚洲精品久久久一区二区三区| 欧美在线导航| 春日野结衣av| 一区二区三区视频免费| 亚洲视频高清| 在线视频国产福利| 亚洲精品成人网| 亚洲精品2区| 午夜在线观看91| 国产97在线播放| 亚洲成人精品影院| 澳门精品久久国产| 在线免费观看成人短视频| 国产乱人伦精品一区二区在线观看| 99久久九九| 98精品久久久久久久| 欧美男男gaytwinkfreevideos| 日韩免费精品| 范冰冰一级做a爰片久久毛片| 黄色一级片视频| 污网站免费在线| 国产1区2区在线| 欧美日韩激情四射| 国产精品夜夜夜爽张柏芝| 亚洲欧洲久久| 亚洲v国产v在线观看| 精品亚洲第一| 欧美成人免费在线| 精品国产_亚洲人成在线| 97se视频在线观看| 国产精品亚洲片夜色在线| 国产69精品久久久久9| 高清一区二区三区四区五区| 少妇高潮 亚洲精品| 中文字幕亚洲综合久久| 亚洲精品一区中文字幕乱码| 在线精品91av| 精品激情国产视频| 久久久综合视频| 国产精品久久精品日日| 亚洲一级二级三级| 欧美性受xxxx| 国产亚洲aⅴaaaaaa毛片| 久久久免费精品| 国产成人精彩在线视频九色| 国产精品v欧美精品∨日韩| 蜜桃传媒视频第一区入口在线看| 亚洲国产精品123| 久久免费视频3| 中文字幕伊人| av毛片在线| 欧美成人专区| 日本人妖一区二区| 亚洲视频一区二区在线| 欧美三级蜜桃2在线观看| 亚洲区中文字幕| 国产深夜精品福利| 韩日午夜在线资源一区二区| 日本精品免费在线观看| 视频在线91| 欧美一区一区| 老司机免费视频久久| 久久综合色婷婷| 日韩欧美一级精品久久| 国产精品久久久久久久久免费看| 水蜜桃亚洲一二三四在线| 久久久久久久久久久久91| 麻豆电影在线播放| 亚洲色图丝袜| 成人晚上爱看视频| 欧美一区二区日韩| 精品国产_亚洲人成在线| 在线观看国产视频一二三| 精品麻豆剧传媒av国产九九九| 肉丝袜脚交视频一区二区| 欧美性猛交xxxxx免费看|