貪婪演算法簡單總結

2021-08-17 07:16:17 字數 1408 閱讀 6231

貪婪演算法的簡單總結:

貪婪演算法就是每步都採取最優的做法,也就是說每步都選擇區域性最優解,最終得到的就是全域性最優解

貪婪演算法並非適用於任何情況,但它卻易於實現

有時候可以使用貪婪演算法作為近似演算法

評價近似演算法的優劣標準:

1. 速度有多快。

2. 得到的近似解與最優解的接近程度。

舉例:集合覆蓋問題,假設你辦了個廣播節目,要讓全美50個州的聽眾都能收聽到。為此你需要決定在哪些廣播台播出,在每個廣播台播出都需要支付費用,因此你力圖在盡可能少的廣播台播出。

貪婪演算法作為近似演算法,步驟如下:

1. 選出這樣乙個廣播台,即它覆蓋了最多的未覆蓋州。即便這個廣播台覆蓋了一些已覆蓋的州,也沒有關係。

2. 重複第一步,直到覆蓋了所有的州。

**解釋:

演算法之貪婪演算法

雖然設計乙個好的求解演算法更像是一門藝術,而不像是技術,但仍然存在一些行之有效的能夠用於解決許多問題的演算法設計方法,你可以使用這些方法來設計演算法,並觀察這些演算法是如何工作的。一般情況下,為了獲得較好的效能,必須對演算法進行細緻的調整。但是在某些情況下,演算法經過調整之後效能仍無法達到要求,這時...

貪婪演算法GreedyAlgorithm

尋找最優解。從當前狀態出發,根據區域性狀態 而非全域性的最優決策 進行 選擇 在滿足約束條件的前提下,使目標函式的增速達到極值,選擇乙個能夠最快達到要求的輸入元素。根據一系列選擇得到的解,每一次選擇都是那時狀態的最佳解。事實上,最後得到的將不是全域性的最優解。貪婪選擇 每次選擇將會簡化為子問題,而且...

python 貪婪演算法

貪婪演算法 覆蓋問題,有個節目想要將自己的節目通過電台發布到幾個州,這些電台可能互相有所覆蓋,即覆蓋了相同的州,現在如何能找到幾個電台,最優的覆蓋這些州。想要電台覆蓋的州 states needed set mt wa or id nv ut ca az 每個電台覆蓋的範圍 stations sta...