??????? 1、模擬退火Simulated Annealing算法 ??????? 模擬冷卻算法是一種隨機(jī)搜索方法,它的主要特點(diǎn)是不用窮遍集合中每一種可能性就可以找到最優(yōu)或幾乎最優(yōu)的狀態(tài)。它是通過(guò)模擬一個(gè)分子系統(tǒng)的自然冷卻系統(tǒng)來(lái)做到這一點(diǎn)的。在每一種狀態(tài),它隨機(jī)地選擇了一種相鄰的狀態(tài),如這種相鄰的狀態(tài)有一個(gè)更低的成本,系統(tǒng)將會(huì)轉(zhuǎn)移到該狀態(tài)。如果這種相鄰的狀態(tài)有一個(gè)更高的成本,系統(tǒng)將可能會(huì)轉(zhuǎn)移到該狀態(tài),也可能不會(huì)轉(zhuǎn)移到該狀態(tài)。轉(zhuǎn)移的概率依賴于現(xiàn)在的狀態(tài)的溫度參數(shù)(該值越高,轉(zhuǎn)移的概率越大)和兩個(gè)狀態(tài)之間的成本的差異(差異越大,轉(zhuǎn)移的概率越大)。溫度將會(huì)漸漸低下來(lái),最終會(huì)達(dá)到均衡。模擬冷卻算法常常用來(lái)嘗試發(fā)現(xiàn)離散數(shù)學(xué)中一些問題的幾乎最優(yōu)的解。 ??????? 2、非連通的集合算法來(lái)結(jié)合覆蓋設(shè)計(jì) ??????? 如果對(duì)某個(gè)v=v1+v2和所有的t1+t2=t,都有大小為N1的覆蓋設(shè)計(jì)(v1,k1,t1)和大小為N2的覆蓋設(shè)計(jì)(v2,k2,t2)存在,那么將有大小為N=N1*N2的覆蓋設(shè)計(jì)存在。然而,可以用這種方法產(chǎn)生的旋轉(zhuǎn)矩陣數(shù)量很少,而且構(gòu)造的過(guò)程也很復(fù)雜。很少的旋轉(zhuǎn)矩陣是用這種方法產(chǎn)生的。 ??????? 3、貪婪算法?????? ?這種算法產(chǎn)生了許多許多的旋轉(zhuǎn)矩陣。這種算法的核心思想是:每個(gè)區(qū)組都盡可能少重復(fù)前面區(qū)組的數(shù)字,一直重復(fù)下去,直到你得到一個(gè)覆蓋設(shè)計(jì)。你可以用順序、逆序或灰色、隨機(jī)的順序來(lái)重復(fù)這個(gè)過(guò)程。或者可以用你所喜歡的設(shè)計(jì)。事實(shí)上,筆者起初的時(shí)候正是用這個(gè)方法來(lái)產(chǎn)生一些比較簡(jiǎn)單的矩陣,但是這種算法看起來(lái)容易,實(shí)際上卻十分繁瑣,如果不用計(jì)算機(jī),即使是很簡(jiǎn)單的矩陣,也要耗費(fèi)無(wú)數(shù)的精力。而且,這種算法只能保證可以產(chǎn)生旋轉(zhuǎn)矩陣,卻無(wú)法保證產(chǎn)生的旋轉(zhuǎn)矩陣一定是最優(yōu)的。當(dāng)參數(shù)很大時(shí),用它產(chǎn)生的矩陣離最優(yōu)的矩陣還差的很遠(yuǎn)。

??????? 但是,可以用這種方法產(chǎn)生旋轉(zhuǎn)矩陣,然后利用其他的優(yōu)化算法對(duì)它再進(jìn)一步優(yōu)化,這樣可以產(chǎn)生比較優(yōu)良的旋轉(zhuǎn)矩陣。 ??????? 4、誘致算法??????? Greg Kuperberg是這種算法的主要?jiǎng)?chuàng)立者和提倡者。 ??????? 先利用一個(gè)巨大的參數(shù)為(V,K,t) 的旋轉(zhuǎn)矩陣 ,從V個(gè)點(diǎn)中按照某種順序或完全隨機(jī)的選出v個(gè)點(diǎn),然后將他們用原來(lái)的長(zhǎng)度為 K的區(qū)組隔斷,得到了每個(gè)區(qū)組個(gè)數(shù)不定的一個(gè)覆蓋。最后,將這個(gè)覆蓋進(jìn)行如下的修補(bǔ)即可:對(duì)每一個(gè)長(zhǎng)度為l的區(qū)組,將該區(qū)組替換成一個(gè)(l,k,t)的覆蓋設(shè)計(jì)。這是一種比較復(fù)雜的算法,然而,確是迄今最好的算法之一。 ??????? 運(yùn)用他可以產(chǎn)生優(yōu)化程度比較高的矩陣。然而,運(yùn)用這種算法的一個(gè)很大的限制是,必須要有一個(gè)參數(shù)很大的旋轉(zhuǎn)矩陣和許許多多的參數(shù)比它小的矩陣。
愛華網(wǎng)本文地址 » http://www.klfzs.com/a/9101032201/415025.html
愛華網(wǎng)



