判断大小简单算法_优化 | 贪婪算法有多好?Submodularity告诉你
責(zé)任編輯:蘇向陽
本文轉(zhuǎn)載自知乎專欄 貪婪算法有多好?Submodularity告訴你
原文鏈接:https://zhuanlan.zhihu.com/p/52512602
文章發(fā)表于微信公眾號【運(yùn)籌OR帷幄】:優(yōu)化 | 貪婪算法有多好?Submodularity告訴你歡迎原鏈接轉(zhuǎn)發(fā),轉(zhuǎn)載請私信@運(yùn)籌OR帷幄獲取信息,盜版必究。
敬請關(guān)注和擴(kuò)散本專欄及同名公眾號,會邀請全球知名學(xué)者發(fā)布運(yùn)籌學(xué)、人工智能中優(yōu)化理論等相關(guān)干貨、知乎Live及行業(yè)動(dòng)態(tài)
更多精彩文章,歡迎訪問我們的機(jī)構(gòu)號:@運(yùn)籌OR帷幄
作者:喬杰
喬杰,廣東工業(yè)大學(xué)計(jì)算機(jī)專業(yè)的博士在讀。主要研究方向是因果關(guān)系,個(gè)人博客
https://blog.csdn.net/a358463121
編者按:
貪婪算法可以說是一種非常直觀的算法了,但是直觀并不代表容易,也不代表沒有深度。本文就將帶你深入了解一下貪婪算法的應(yīng)用。
貪婪算法可以說是最符合我們?nèi)祟愔庇X的算法了,甚至有的時(shí)候貪婪算法就可以得到目標(biāo)的最優(yōu)解,比如說最小生成樹算法。那么我們自然就會想知道,它能達(dá)到最優(yōu)值嗎?如何判斷?實(shí)際上一個(gè)叫Matroid的東西是可以幫助我們判斷是否能達(dá)到最優(yōu)值的。但是如果不能達(dá)到最優(yōu),它到底有多近似呢?submodularity optimization對這個(gè)問題給予了一個(gè)答案。
submodularity condition
submodularity
對于同一個(gè)地方,在雷達(dá)覆蓋范圍比較小的時(shí)候加入一個(gè)雷達(dá)(左圖),它的效果肯定比在雷達(dá)覆蓋范圍比較大的時(shí)候加一個(gè)雷達(dá)的效果要好(右圖)。基于此我們可以給出一個(gè)定義:
接下來再介紹幾個(gè)有用的性質(zhì),submodular函數(shù)的求和還是submodular函數(shù),submodular函數(shù)的加權(quán)求和(權(quán)重非負(fù))也還是submodular函數(shù)。這個(gè)性質(zhì)讓我們可以定義一些很簡單的submodular函數(shù),然后把他們加起來組成一個(gè)復(fù)雜的函數(shù)。
現(xiàn)在你的函數(shù)有了這兩個(gè)性質(zhì),而且任務(wù)找到一個(gè)大小為k的子集S使得f達(dá)到最大,那么不同大小的k會造成什么影響呢?該理論的一個(gè)漂亮的地方是,如果你函數(shù)有Submodularity和Monotonicity這兩個(gè)性質(zhì)那么至少63%的效果是可以保證的。當(dāng)然在實(shí)際中,常常可以高于這個(gè)值。以下定理給出了該描述的一個(gè)正式證明,該函數(shù)在使用貪婪算法,每一步都選擇一個(gè)最優(yōu)的元素來最大化f時(shí),他一定能得到一個(gè)1-1/e(63%)的近似。為了證明這個(gè)bound,我們給出幾個(gè)定義以及一些有用的定理。
Matroid Constraint
那么什么時(shí)候,貪婪算法可以得到最優(yōu)解呢?答案是,如果我們在搜索子集的時(shí)候,搜索空間中所有的子集都是“獨(dú)立”的,那么我們是有可能用貪婪算法找到最優(yōu)解的。而Matriod定義了這么一種獨(dú)立的性質(zhì).
想要進(jìn)一步了解可以訪問以下參考資料。
參考資料
When Greedy Algorithms are Good Enough: Submodularity and the (1 – 1/e)-Approximation
(https://jeremykun.com/2014/07/07/when-greedy-algorithms-are-good-enough-submodularity-and-the-1-1e-approximation/)
When Greedy Algorithms are Perfect: the Matroid
(https://jeremykun.com/2014/08/26/when-greedy-algorithms-are-perfect-the-matroid/)
Notes on Greedy Algorithms for Submodular Maximization
(https://thibaut.horel.org/submodularity/notes/02-12.pdf)
Submodular Function Maximization
(https://las.inf.ethz.ch/files/krause12survey.pdf)
更多精彩文章歡迎關(guān)注我們的機(jī)構(gòu)號@運(yùn)籌OR帷幄
總結(jié)
以上是生活随笔為你收集整理的判断大小简单算法_优化 | 贪婪算法有多好?Submodularity告诉你的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unipapp 解决无法编译sass_S
- 下一篇: 余弦函数导数推导过程_人工智能数学基础-