Greedy[Greedy]

Greedy[Greedy]
Greedy[Greedy]
更多義項 ▼ 收起列表 ▲

在貪婪算法中採用逐步構造最優解的方法。在每個階段,都作出一個看上去最優的決策(在一定的標準下)。決策一旦作出,就不可再更改。作出貪婪決策的依據稱為貪婪準則(greedy criterion),也就是從問題的某一個初始解出發逐步逼近給定的目標,以儘可能快的地求得更好的解。當達到某算法中的某一步不能再繼續前進時,算法停止。

DOTA戰隊

戰隊簡介

GreedyGreedy

2012年,隨著DOTA類遊戲平台《天梯排行榜》的火熱和風靡,越來越多出類拔萃的路人玩家通過天梯排行榜和各大DOTA解說視頻漸漸進入了大家的視野,引起了廣大玩家的關注。在這些天賦過人和操作精妙的路人玩家中,有一支路人戰隊漸漸被大家公認為“天梯第一黑店”,他們就是GREEDY。由前DOTA著名前職業選手Yaphets和天才少年Somnus丶M領銜。

戰隊成員

YaphetS【中文名:卜嚴駿】

江蘇南京人,被廣大玩家稱呼為:Pis。11對戰平台常用ID:范迪塞爾__、心靈震撼丶、yaphet咆哮、別掉線阿丶。天梯最高積分記錄:2805,天梯最高排名記錄:第1名。作為DOTA英雄中影魔的冠名者,無需過多介紹,公認的路人王大神。在GREEDY中根據陣容司職1號位。

Somnus丶M【中文名:路垚】

北京昌平人,熟悉他的玩家一般喊他:Maybe。11對戰平台常用ID:Somnus丶M、丶上頭雪,哪咤丶哪咤。天梯最高積分記錄:2870,天梯最高排名記錄:第1名。新一代路人王,經常能打出非常震撼眼球的擊殺。由於還在念高中,所以被稱其為:天才少年, 高中生。在GREEDY中根據陣容司職2號位。

河北唐山人,熟悉他的玩家一般喊他:少男乖、醬油乖、洗碗乖、躺箭鵬、上頭乖,人稱:我叫唐小斗,撒尿不洗手。自稱:唐山小旋風。天賦技能:洗碗、吸鐵石。最擅長:跳刀躲梅肯,塔下意識粉,殘血A回復,反補世界樹,推推吃盲壓,瘋臉A刃甲,分身躲秘法,血精解薄葬,TP切假腿,一級沖泉水等大神級操作。11平台常用ID:少男乖、唐小斗、少年乖。天梯最高積分記錄:2671,天梯最高排名記錄:第14名。前職業選手,在GREEDY司職3號位,Maybe的好兄弟,一對兒上頭gank。憑藉極強的個人能力和意識,一般是"烈士路"的首選。擅長東南亞SK,暴力水卡,抽藍狂魔,抽筋大牛,水槍,水虎傳。名下有四大天王:金閃閃,阿列列,大國手,saga。人們戲稱,四大天王得其二,此局必“穩”。自從實力戰將“殺馬特”(遊戲id:狂戰士)加入阿斗幫之後,少男乖黑店從送分黑轉型相聲黑,但是黑店實力仍然是2800左右。

NL_KS【中文名:張凱】

東北人,熟悉他的玩家一般喊他:小凱、矮子、巨人凱、凱神。11對戰平台常用ID:NL_KS,天梯最高積分記錄:2414,天梯最高排名記錄:前100名。2013,小凱25歲,現是中國石油的一名技術員,接觸DotA的時間大概有4年,經驗豐富,是隊中的一位老大哥。擅長:火槍,巨牙海民、隱形刺客、小魚人、骨法等多名矮系英雄。

隊長給我球【戰隊隊長】

大球哥又名“送分球、弱智球、吳彥球”,11對戰平台常用ID:隊長給我球。天梯最高積分記錄:2722,天梯最高排名記錄:前7名。隊長給我球是Greedy中很特別的一位選手,因為他的聲音和聲調與常人不同,聽上去隱隱一絲喜感,但打DOTA時隊長的無私奉獻及亮眼操作給人印象深刻。技術特點:操作細膩、BP出色、輔助到位、GANK意識強。在GREEDY中根據陣容司職4-5號位。

戰隊榮譽

2012年DCG冠軍(獎金10W)

2013年17173天梯黑店爭霸賽冠軍(獎金1W)

2013年VS“京東杯”DOTA超級聯賽冠軍(獎金2W)

WGT2013 dota項目冠軍(獎金5W)

CPL2013電子競技大賽DotA項目線下總決賽冠軍(獎金¥50,000元)

USL-U9超級聯賽DOTA項目冠軍(獎金15000元)

2013年11平台DSC冠軍(獎金10000元+全套外設)

戰隊排名

GreedyGreedy

截至2013年5月,來自Gosugamers的世界排名。

戰隊趣事

(1)當大家DOTA打的無聊或被路人虐了之後,經常打軍團戰爭來消遣(防守類WAR3 RPG地圖)。

(2)當大家有看到對方動物信使出現在附近的時候,一般會選擇先殺雞,再殺人。

(3)經常一起玩天梯頂分對黑局時,隊員之間經常出現互相調侃的歡樂局面。

貪心算法

算法思想

雖然設計一個好的求解算法更像是一門藝術,而不像是技術,但仍然存在一些行之有效的能夠用於解決許多問題的算法設計方法,你可以使用這些方法來設計算法,並觀察這些算法是如何工作的。一般情況下,為了獲得較好的性能,必須對算法進行細緻的調整。但是在某些情況下,算法經過調整之後性能仍無法達到要求,這時就必須尋求另外的方法來求解該問題。Greedy Algorithm在設計方面不能保證求得的最後解是最佳的和不能用來求最大或最小解問題,只能求滿足某些約束條件的 可行解的範圍。

事例1

例1-4 [找零錢] 一個小孩買了價值少於1美元的糖,並將1美元的錢交給售貨員。售貨員希望用數目最少的硬幣找給小孩。假設提供了數目不限的面值為2 5美分、1 0美分、5美分、及1美分的硬幣。售貨員分步驟組成要找的零錢數,每次加入一個硬幣。選擇硬幣時所採用的貪婪準則如下:每一次選擇應使零錢數儘量增大。為保證解法的可行性(即:所給的零錢等於要找的零錢數),所選擇的硬幣不應使零錢總數超過最終所需的數目。

假設需要找給小孩6 7美分,首先入選的是兩枚2 5美分的硬幣,第三枚入選的不能是2 5美分的硬幣,否則硬幣的選擇將不可行(零錢總數超過6 7美分),第三枚應選擇1 0美分的硬幣,然後是5美分的,最後加入兩個1美分的硬幣。

貪婪算法有種直覺的傾向,在找零錢時,直覺告訴我們應使找出的硬幣數目最少(至少是接近最少的數目)。可以證明採用上述貪婪算法找零錢時所用的硬幣數目的確最少(見練習1)。

事例2

例1-5 [機器調度] 現有n 件任務和無限多台的機器,任務可以在機器上得到處理。每件任務的開始時刻為si,完成時刻為fi ,si < fi 。[si , fi ] 為處理任務i 的時間範圍。兩個任務i,j 重指兩個任務的時間範圍 區間有重疊,而並非是指i,j 的起點或終點重合。例如:區間[ 1,4 ]與區間[ 2,4 ]重疊,而與區間[ 4,7 ]不重疊。一個可行的任務分配是指在分配中沒有兩件重疊的任務分配給同一台機器。因此,在可行的分配中每台機器在任何時刻最多只處理一個任務。最優分配是指使用的機器最少的可行分配方案。

假設有n= 7件任務,標號為a 到g。它們的開始與完成時間如圖13-1a 所示。若將任務a分給機器M1,任務b 分給機器M2,. . .,任務g 分給機器M7,這種分配是可行的分配,共使用了七台機器。但它不是最優分配,因為有其他分配方案可使利用的機器數目更少,例如:可以將任務a、b、d分配給同一台機器,則機器的數目降為五台。

一種獲得最優分配的貪婪方法是逐步分配任務。每步分配一件任務,且按任務開始時間的非遞減次序進行分配。若已經至少有一件任務分配給某台機器,則稱這台機器是舊的;若機器非舊,則它是新的。在選擇機器時,採用以下貪婪準則:根據欲分配任務的開始時間,若此時有舊的機器可用,則將任務分給舊的機器。否則,將任務分配給一台新的機器。 根據例子中的數據,貪婪 算法共分為n = 7步,任務分配的順序為a、f、b、c、g、e、d。第一步沒有舊機器,因此將a 分配給一台新機器(比如M1)。這台機器在0到2時刻處於忙狀態。在第二步,考慮任務f。由於當f 啟動時舊機器仍處於忙狀態,因此將f 分配給一台新機器(設為M2 )。第三步考慮任務b, 由於舊機器M1在Sb = 3時刻已處於閒狀態,因此將b分配給M1執行,M1下一次可用時刻變成fb = 7,M2的可用時刻變成ff = 5。第四步,考慮任務c。由於沒有舊機器在Sc = 4時刻可用,因此將c 分配給一台新機器(M3),這台機器下一次可用時間為fc = 7。第五步考慮任務g,將其分配給機器M2,第六步將任務e 分配給機器M1, 最後在第七步,任務2分配給機器M3。(注意:任務d 也可分配給機器M2)。

上述貪婪 算法能導致最優機器分配的證明留作練習(練習7)。可按如下方式實現一個複雜性為O (nl o gn)的貪婪算法:首先採用一個複雜性為O (nl o gn)的排序算法(如堆排序)按Si 的遞增次序排列各個任務,然後使用一個關於舊機器可用時間的最小堆。

事例3

例1-6 [最短路徑] 給出一個有向網路,路徑的長度定義為路徑所經過的各邊的耗費之和。要求找一條從初始頂點s 到達目的頂點d 的最短路徑。

貪婪算法分步構造這條路徑,每一步在路徑中加入一個頂點。假設當前路徑已到達頂點q,

且頂點q 並不是目的頂點d。加入下一個頂點所採用的貪婪準則為:選擇離q 近且不在路徑中的頂點。

這種貪婪 算法並不一定能獲得最短路徑。例如,假設在圖1 3 - 2中希望構造從頂點1到頂點5的最短路徑,利用上述貪婪 算法,從頂點1開始並尋找目前不在路徑中的離頂點1最近的頂點。到達頂點3,長度僅為2個單位,從頂點3可以到達的頂點為4,從頂點4到達頂點2,最後到達目的頂點5。所建立的路徑為1 , 3 , 4 , 2 , 5,其長度為1 0。這條路徑並不是有向圖中從1到5的最短路徑。事實上,有幾條更短的路徑存在,例如路徑1,4,5的長度為6。

總結

根據上面三個例子,回想一下前幾章所考察的一些套用,其中有幾種 算法也是貪婪算法。例如,霍夫曼樹算法,利用n- 1步來建立最小加權外部路徑的二叉樹,每一步都將兩棵二叉樹合併為一棵,算法中所使用的貪婪準則為:從可用的二叉樹中選出權重最小的兩棵。L P T調度規則也是一種貪婪算法,它用n 步來調度n 個作業。首先將作業按時間長短排序,然後在每一步中為一個任務分配一台機器。選擇機器所利用的貪婪準則為:使目前的調度時間最短。將新作業調度到最先完成的機器上(即最先空閒的機器)。

存在問題

注意到在機器調度問題中,貪婪算法並不能保證最優,然而,那是一種直覺的傾向且一般情況下結果總是非常接近 最優值。它利用的規則就是在實際環境中希望人工機器調度所採用的規則。算法並不保證得到最優結果,但通常所得結果與 最優解相差無幾,這種算法也稱為啟發式方法( h e u r i s t i c s )。因此L P T方法是一種啟發式機器調度方法。定理9 - 2陳述了L P T調度的完成時間與最佳調度的完成時間之間的關係,因此L P T啟發式方法具有限定性

能( bounded performance )。具有限定性能的啟發式方法稱為 近似算法( a p p r o x i m a t i o na l g o r i t h m)。

本章的其餘部分將介紹幾種貪婪 算法的套用。在有些套用中,貪婪算法所產生的結果總是最優的解決方案。但對其他一些套用,生成的算法只是一種啟發式方法,可能是也可能不是 近似算法。

兩大難點

貪心方法

怎樣才能從眾多 可行解中找到 最優解呢?其實,大部分都是有規律的。在樣例中,貪心就有很明顯的規律。但你得到了[font lang=EN-US] N = 5 時的 最優解後,你只需要在已用上的5塊木板中尋找最靠近的兩塊,然後貼上中間的幾個牛棚,使兩塊木板變成一塊。這樣生成的 N = 4 的解必定最優。因為這樣木板的浪費最少。同樣,其他的貪心題也會有這樣的性質。正因為貪心有如此性質,它才能比其他算法要快。

正確性

要證明貪心性質的正確性,才是貪心算法的真正挑戰,因為並不是每次局部最優解都會與整體最優解之間有聯繫,往往靠貪心生成的解不是最優解。這樣,貪心性質的證明就成了貪心算法正確的關鍵。一個你想出的貪心性質也許是錯的,即使它在大部分數據中都是可行的,你必須考慮到所有可能出現的特殊情況,並證明你的貪心性質在這些特殊情況中仍然正確。這樣經過千錘百鍊的性質才能構成一個正確的貪心。

在樣例中,我們的貪心性質是正確的。如下:

假設我們的答案蓋住了較大的空牛棚連續列,而不是較小的。那么我們把那部分蓋空牛棚的木板鋸下來,用來把較小的空牛棚連續列蓋住,還會有剩餘。那么鋸掉它們!還給木材商!同時我們的解也變小了。也就是說,我們獲得更優的解。所以,靠蓋住較大空牛棚連續列的方法無法獲得最優解,我們也應該儘量貪心那些距離小的木板合併。

如果仍有一個空牛棚連續列與我們的答案蓋住的那個相同,我們同樣使用上述的方法。會發現獲得的新解與原解相同,那么不論我們選哪個,結果都將一樣。

由此可見,如果我們合併的兩塊木板間距離最短,那么總能獲得最優解。所以,在解題的每一步中,我們都只需要尋找兩塊距離最小的木板併合並它們。這樣,我們獲得的解必定最優。

結論

如果有貪心性質存在,那么一定要採用!因為它容易編寫,容易調試,速度極快,並且節約空間。幾乎可以說,它是所有 算法中最好的。但是應該注意,別陷入證明不正確貪心性質的泥塘中無法自拔,因為 貪心算法的適用範圍並不大,而且有一部分極難證明,若是沒有把握,最好還是不要冒險,因為還有其他算法會比它要保險。

and so on.

以上內容的部分總結來自網民和網頁摘抄。

Michael Scofield L Q

歌詞

[ti:GREEDY]

[ar:MOMO]

[al:I've Girls Compilation vol.4 「Lament」]

[by:peVep]

[00:00.00]

[00:54.92]砕け散った色の無い時間隙間に落ち幻を見た

[01:05.47]そこに生きて鼓動を響かせ全て奪いつくす

[01:14.44]狂おしいほどに自由を求め咲き亂れ舞う黒い花

[01:25.16]ただ過ちの甘い蜜にぬれた欲望

[01:36.85]もう帰る場所など無い過去など深い海の泡

[01:42.14]生まれては消えてく光を見つけられずに

[01:47.54]いつか吐き舍てられた存在

[01:51.03]頑なな夢と剝がれた噓の中へ

[01:55.56]果てなく落ちてゆくだけ

[01:58.23]

[02:20.20]絡みついたまやかしの時間網の上を這う足跡と

[02:30.80]谷に落ちた悲鳴の木霊が全て壊し醒める

[02:39.76]煽られた未知の影突き立てる優しげな聲震わせて

[02:50.52]誰もを飲み込み哀れみ請うような欲望

[03:02.19]もう帰る場所など無い未來は深い闇のそこ

[03:07.50]稀れ恥じらいまた光を塗りつぶしてく

[03:12.82]いつか戱れに描く真実

[03:16.27]染まりゆくままに裂かれた時の中へ

[03:20.85]果てなく落ちてゆくだけ

[03:23.41]

[03:46.74]We are always wavering in our mind.oh

[03:56.41]I cried out in many lies.

[04:00.50]So,We are greedy anytime.

[04:05.14]破られた羽衣の細い糸雫をたたえ濕りゆく

[04:15.81]この紛れも無い幻想繋がれた欲望

[04:27.55]もう帰る場所など無い過去など深い海の泡

[04:32.81]生まれては消えてく光を見つけられずに

[04:38.18]いつか吐き舍てられた存在

[04:41.67]頑なな夢と剝がれた噓の中へ

[04:46.15]果てなく落ちてゆくだけ

[04:48.90]もう帰る場所など無い未來は深い闇のそこ

[04:54.19]稀れ恥じらいまた光を塗りつぶしてく

[04:59.47]いつか戱れに描く真実

[05:03.02]染まりゆくままに裂かれた時の中へ

[05:07.52]果てなく落ちてゆくだけ

[05:12.98]

相關詞條

相關搜尋

熱門詞條

聯絡我們