首先指出,圖的任意一條最短路徑既不能包含負(fù)權(quán)回路,也不會(huì)包含正權(quán)回路,因此它最多包含|v|-1條邊。
其次,從源點(diǎn)s可達(dá)的所有頂點(diǎn)如果 存在最短路徑,則這些最短路徑構(gòu)成一個(gè)以s為根的最短路徑樹(shù)。Bellman-Ford算法的迭代松弛操作,實(shí)際上就是按每個(gè)點(diǎn)實(shí)際的最短路徑[雖然我們還不知道,但它一定存在]的層次,逐層生成這棵最短路徑樹(shù)的過(guò)程。
注意,每一次遍歷,都可以從前一次遍歷的基礎(chǔ)上,找到此次遍歷的部分點(diǎn)的單源最短路徑。如:這是第i次遍歷,那么,通過(guò)數(shù)學(xué)歸納法,若前面單源最短路徑層次為1~(i-1)的點(diǎn)全部已經(jīng)得到,而單源最短路徑層次為i的點(diǎn),必定可由單源最短路徑層次為i-1的點(diǎn)集得到,從而在下一次遍歷中充當(dāng)前一次的點(diǎn)集,如此往復(fù)迭代,[v]-1次后,若無(wú)負(fù)權(quán)回路,則我們已經(jīng)達(dá)到了所需的目的--得到每個(gè)點(diǎn)的單源最短路徑。[注意:這棵樹(shù)的每一次更新,可以將其中的某一個(gè)子樹(shù)接到另一個(gè)點(diǎn)下]
反之,可證,若存在負(fù)權(quán)回路,第[v]次遍歷一定存在更新,因?yàn)樨?fù)權(quán)回路的環(huán)中,必定存在一個(gè)"斷點(diǎn)",可用數(shù)學(xué)手段證明。
最后,我們?cè)诘赱v]次更新中若沒(méi)有新的松弛,則輸出結(jié)果,若依然存在松弛,則輸出'CAN'T'表示無(wú)解。同時(shí),我們還可以通過(guò)"斷點(diǎn)"找到負(fù)權(quán)回路。
1,.初始化:將除源點(diǎn)外的所有頂點(diǎn)的最短距離估計(jì)值 d[v] -->+∞, d[s]-->0;
2.迭代求解:反復(fù)對(duì)邊集E中的每條邊進(jìn)行松弛操作,使得頂點(diǎn)集V中的每個(gè)頂點(diǎn)v的最短距離估計(jì)值逐步逼近其最短距離;(運(yùn)行|v|-1次)
3.檢驗(yàn)負(fù)權(quán)回路:判斷邊集E中的每一條邊的兩個(gè)端點(diǎn)是否收斂。如果存在未收斂的頂點(diǎn),則算法返回false,表明問(wèn)題無(wú)解;否則算法返回true,并且從源點(diǎn)可達(dá)的頂點(diǎn)v的最短距離保存在 d[v]中。
1.單源最短路徑(從源點(diǎn)s到其它所有頂點(diǎn)v);
2.有向圖&無(wú)向圖(無(wú)向圖可以看作(u,v),(v,u)同屬于邊集E的有向圖);
3.邊權(quán)可正可負(fù)(如有負(fù)權(quán)回路輸出錯(cuò)誤提示);
4.差分約束系統(tǒng);
YJV22-3*4是銅芯交聯(lián)聚乙烯絕緣鋼帶鎧裝聚氯乙烯護(hù)套3*4電力電纜
你好:你的上一層構(gòu)件沒(méi)有畫(huà)所以墻的豎筋沒(méi)有伸上去,畫(huà)上后匯總計(jì)算一下就一樣了。 ?
裝飾面層定額包含2,3,4項(xiàng)工序,套花崗石面層子目。
Dijkstra算法無(wú)法判斷含負(fù)權(quán)邊的圖的最短路。如果遇到負(fù)權(quán),在沒(méi)有負(fù)權(quán)回路(回路的權(quán)值和為負(fù),即便有負(fù)權(quán)的邊)存在時(shí),也可以采用Bellman - Ford算法正確求出最短路徑。
Bellman-Ford算法能在更普遍的情況下(存在負(fù)權(quán)邊)解決單源點(diǎn)最短路徑問(wèn)題。對(duì)于給定的帶權(quán)(有向或無(wú)向)圖 G=(V,E), 其源點(diǎn)為s,加權(quán)函數(shù) w是 邊集 E 的映射。對(duì)圖G運(yùn)行Bellman - Ford算法的結(jié)果是一個(gè)布爾值,表明圖中是否存在著一個(gè)從源點(diǎn)s可達(dá)的負(fù)權(quán)回路。若不存在這樣的回路,算法將給出從源點(diǎn)s到 圖G的任意頂點(diǎn)v的最短路徑d[v]。
For i:=1 to |V|-1 do
For 每條邊(u,v)∈E do
Relax(u,v,w);
For每條邊(u,v)∈E do
If dis[u]+w<dis[v] Then Exit(False)
bool Bellman-Ford(G,w,s) //圖G ,邊集 函數(shù) w ,s為源點(diǎn)
1 for each vertex v ∈ V(G) //初始化 1階段
2 d[v] ←+∞;
3 d[s] ←0; //1階段結(jié)束
4 for(int i=1;i<|v|;i++) //2階段開(kāi)始,雙重循環(huán)。
5 for each edge(u,v) ∈E(G) //邊集數(shù)組要用到,窮舉每條邊。
6 if(d[v]> d[u]+ w(u,v))//松弛判斷
7 d[v]=d[u]+w(u,v); //松弛操作2階段結(jié)束
8 for each edge(u,v) ∈E(G)
9 if(d[v]> d[u]+ w(u,v))
10 return false;
11 return true;
算法時(shí)間復(fù)雜度O(VE)。因?yàn)樗惴ê?jiǎn)單,適用范圍又廣,雖然復(fù)雜度稍高,仍不失為一個(gè)很實(shí)用的算法。
{單源最短路徑的Bellman-ford算法
執(zhí)行v-1次,每次對(duì)每條邊進(jìn)行松弛操作
如有負(fù)權(quán)回路則輸出"Error!!"}
SPFA算法
SPFA(Shortest Path Faster Algorithm)是Bellman-Ford算法的一種隊(duì)列優(yōu)化,減少了不必要的冗余計(jì)算。
算法大致流程是用一個(gè)隊(duì)列來(lái)進(jìn)行維護(hù)。 初始時(shí)將源加入隊(duì)列。 每次從隊(duì)列中取出一個(gè)元素,并對(duì)所有與他相鄰的點(diǎn)進(jìn)行松弛,若某個(gè)相鄰的點(diǎn)松弛成功,則將其入隊(duì)。 直到隊(duì)列為空時(shí)算法結(jié)束。
分析 Bellman-Ford算法,不難看出,外層循環(huán)(迭代次數(shù))|v|-1實(shí)際上取得是上限。由上面對(duì)算法正確性的證明可知,需要的迭代遍數(shù)等于最短路徑樹(shù)的高度。如果不存在負(fù)權(quán)回路,平均情況下的最短路徑樹(shù)的高度應(yīng)該遠(yuǎn)遠(yuǎn)小于 |v|-1,在此情況下,多余最短路徑樹(shù)高的迭代遍數(shù)就是時(shí)間上的浪費(fèi),由此,可以依次來(lái)實(shí)施優(yōu)化。
從細(xì)節(jié)上分析,如果在某一遍迭代中,算法描述中第7行的松弛操作未執(zhí)行,說(shuō)明該遍迭代所有的邊都沒(méi)有被松弛??梢宰C明(怎么證明?):至此后,邊集中所有的邊都不需要再被松弛,從而可以提前結(jié)束迭代過(guò)程。這樣,優(yōu)化的措施就非常簡(jiǎn)單了。
設(shè)定一個(gè)布爾型標(biāo)志變量 relaxed,初值為false。在內(nèi)層循環(huán)中,僅當(dāng)有邊被成功松弛時(shí),將 relaxed 設(shè)置為true。如果沒(méi)有邊被松弛,則提前結(jié)束外層循環(huán)。這一改進(jìn)可以極大的減少外層循環(huán)的迭代次數(shù)。優(yōu)化后的 bellman-ford函數(shù)如下。
這樣看似平凡的優(yōu)化,會(huì)有怎樣的效果呢?有研究表明,對(duì)于隨機(jī)生成數(shù)據(jù)的平均情況,時(shí)間復(fù)雜度的估算公式為
1.13|E| if |E|<|V|
0.95*|E|*lg|V| if |E|>|V|
優(yōu)化后的算法在處理有負(fù)權(quán)回路的測(cè)試數(shù)據(jù)時(shí),由于每次都會(huì)有邊被松弛,所以relaxed每次都會(huì)被置為true,因而不可能提前終止外層循環(huán)。這對(duì)應(yīng)了最壞情況,其時(shí)間復(fù)雜度仍舊為O(VE)。
優(yōu)化后的算法的時(shí)間復(fù)雜度已經(jīng)和用二叉堆優(yōu)化的Dijkstra算法相近了,而編碼的復(fù)雜程度遠(yuǎn)比后者低。加之Bellman-Ford算法能處理各種邊值權(quán)情況下的最短路徑問(wèn)題,因而還是非常優(yōu)秀的。
濕法工藝描述
格式:pdf
大?。?span id="k7dzucc" class="single-tag-height">910KB
頁(yè)數(shù): 10頁(yè)
評(píng)分: 4.3
工藝描述 1工藝簡(jiǎn)介 石灰石-石膏濕法脫硫工藝是目前世界上應(yīng)用最為廣泛和可靠的工藝。 該工 藝以石灰石漿液作為吸收劑, 通過(guò)石灰石漿液在吸收塔內(nèi)對(duì)煙氣進(jìn)行洗滌, 發(fā)生 反應(yīng),以去除煙氣中的 SO2,反應(yīng)產(chǎn)生的亞硫酸鈣通過(guò)強(qiáng)制氧化生成含兩個(gè)結(jié)晶 水的硫酸鈣(石膏)。 圖 1 魯奇·能捷斯·比曉夫公司石灰石-石膏濕法脫硫工藝流程圖 上海龍凈環(huán)保科技工程有限公司從德國(guó)魯奇·能捷斯·比曉夫公司( LLB) 引進(jìn)了石灰石-石膏濕法脫硫工藝, 工藝流程圖如圖 1所示。該工藝類(lèi)型是: 圓 柱形空塔、吸收劑與煙氣在塔內(nèi)逆向流動(dòng)、 吸收和氧化在同一個(gè)塔內(nèi)進(jìn)行、 塔內(nèi) 設(shè)置噴淋層、氧化方式采用強(qiáng)制氧化。 石灰石-石膏濕法脫硫工藝為當(dāng)今世界先進(jìn)的脫硫工藝, 與其他脫硫工藝相 比,其主要特點(diǎn)為: ·具有較高的脫硫效率,脫硫效率可達(dá) 95%以上; ·具有較低的吸收劑化學(xué)劑量比,可低至 1.03; ·較大幅度降低了液
巖性描述模板
格式:pdf
大?。?span id="zntlgv2" class="single-tag-height">910KB
頁(yè)數(shù): 3頁(yè)
評(píng)分: 4.6
v1.0 可編輯可修改 1 巖芯描述模板 黏性土(黏土、粉質(zhì)黏土) :顏色、手可搓成 3mm泥條,土質(zhì)均勻(較均勻、不均勻) , 含(砂、礫) %,硬塑(堅(jiān)硬、半堅(jiān)硬、硬塑、軟塑、流塑,應(yīng)分段描述) 。 粉土:顏色、手搓砂感明顯,不易搓成 3mm泥條,土質(zhì)均勻(較均勻、不均勻) ,含(砂、 礫、碎石) %,稍濕(分段描述稍濕、潮濕、飽和) 、中密(分段描述松散、稍密、中密、 密實(shí))。 砂類(lèi)土:顏色,顆粒成分以長(zhǎng)石、石英為主,含少量砂巖(或其它巖石)碎屑,砂質(zhì)均 勻(較均勻、不均勻),含(土、礫、碎石) %,稍濕(分段描述稍濕、潮濕、飽和) 、中 密(分段描述松散、稍密、中密、密實(shí)) 。 碎石類(lèi)土(細(xì)圓礫土、粗圓礫土、卵石土) :顏色、顆粒成分以砂巖、灰?guī)r(或其它巖石) 為主,板巖(或其它巖石)次之,渾圓狀(圓棱狀) ,粒徑組成: 2-20mm約占%,20-60mm 約占%,60-100m
旋轉(zhuǎn)門(mén)算法除了平行四邊形算法之外,還能用三角形算法來(lái)表示。
圖遍歷算法
圖遍歷算法是最基本的圖算法之一,由指定節(jié)點(diǎn)開(kāi)始,按照一定規(guī)則遍歷圖結(jié)構(gòu)中所有的連通節(jié)點(diǎn),包括寬度優(yōu)先搜索(Breadth First Search,BFS)和深度優(yōu)先搜索(Depth First Search, DFS)等核心算法。
作為最基本的圖遍歷算法,寬度優(yōu)先搜索算法代表了圖遍歷算法的計(jì)算特性,具有非常重要的研究意義。一方面,BFS算法是最短路徑、鄰接查詢、可達(dá)性查詢等算法的實(shí)現(xiàn)基礎(chǔ),廣泛應(yīng)用于圖分割、信念傳播統(tǒng)計(jì)以及網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)發(fā)現(xiàn)等領(lǐng)域;另一方面,BFS算法作為典型的數(shù)據(jù)密集型算法,體現(xiàn)了數(shù)據(jù)密集型應(yīng)用對(duì)高性能計(jì)算系統(tǒng)的需求,廣泛應(yīng)用于大規(guī)模并行計(jì)算系統(tǒng)的數(shù)據(jù)處理能力評(píng)測(cè),已經(jīng)成為Parboil, Rodinia和Graph500等基準(zhǔn)測(cè)試程序的核心算法。
在實(shí)際應(yīng)用中,圖的規(guī)模在不斷增大,相應(yīng)的,對(duì)圖的存儲(chǔ)和處理開(kāi)銷(xiāo)不斷增加,有效地實(shí)現(xiàn)大規(guī)模并行BFS算法具有十分重要的意義。
稀疏線性方程組求解法
稀疏線性方程組的求解是對(duì)自然科學(xué)和社會(huì)科學(xué)中許多實(shí)際問(wèn)題進(jìn)行數(shù)值模擬時(shí)的關(guān)鍵技術(shù)之一。在高層建筑、橋梁、水壩、防洪堤的結(jié)構(gòu)設(shè)計(jì)中,需對(duì)變形與應(yīng)力情況進(jìn)行模擬;在油氣資源探測(cè)與分析、數(shù)值天氣預(yù)報(bào)、飛行器的動(dòng)力學(xué)分析中,需利用流體力學(xué)方程組進(jìn)行模擬;在進(jìn)行恒星大氣分析與核爆實(shí)驗(yàn)時(shí),常需利用輻射流體力學(xué)與粒子統(tǒng)計(jì)平衡等規(guī)律進(jìn)行模擬。在對(duì)這些問(wèn)題進(jìn)行分析模擬時(shí),通常利用偏微分方程建立數(shù)學(xué)模型。在對(duì)偏微分方程的離散求解過(guò)程中,稀疏線性方程組求解算法扮演著十分重要的角色。在許多不以偏微分方程建模的問(wèn)題中,稀疏線性方程組求解同樣發(fā)揮了重要的作用。在空中交通控制、電力線路中的最優(yōu)電流問(wèn)題中,需利用數(shù)學(xué)規(guī)劃求解;在對(duì)采納某項(xiàng)政策時(shí)在某給定條件下對(duì)國(guó)內(nèi)、國(guó)際多個(gè)區(qū)域的相應(yīng)經(jīng)濟(jì)指標(biāo)進(jìn)行預(yù)測(cè)時(shí),需利用CGE模型進(jìn)行分析;在可靠性分析、排隊(duì)網(wǎng)絡(luò)分析與計(jì)算機(jī)系統(tǒng)性能評(píng)估中,常利用具有大量狀態(tài)的離散Markov鏈進(jìn)行模擬。在這些問(wèn)題的求解中,稀疏線性方程組的求解都占有重要位置,并且往往是整個(gè)計(jì)算過(guò)程中的性能瓶頸,稀疏線性方程組的高效求解是計(jì)算數(shù)學(xué)和工程應(yīng)用中十分重要的課題之一。
解稀疏線性方程組的方法包括直接法(direct method)與迭代(iterative method)兩類(lèi)。直接法指在不考慮計(jì)算舍入誤差的情況下,通過(guò)包括矩陣分解和三角方程組求解等有限步的操作求得方程組的精確解,因此又稱精確法;迭代法指給定一個(gè)初始解向量,通過(guò)一定的計(jì)算構(gòu)造一個(gè)向量列(一般通過(guò)逐次迭代得到一系列逼近精確值的近似解),向量列的極限為方程組理論上的精確解。迭代法對(duì)存儲(chǔ)空間的需求低,在求解高階非病態(tài)稀疏線性方程組方面具有一定優(yōu)勢(shì)。然而,迭代法不適合求解病態(tài)問(wèn)題,性能因問(wèn)題而異,并且面臨精度控制、收斂速度慢或不收斂等問(wèn)題。與迭代法相比,直接法的通用性好,求解結(jié)果精度高,性能穩(wěn)定。當(dāng)矩陣分解結(jié)果能夠被多次后續(xù)計(jì)算重用以及多右端項(xiàng)時(shí),直接法的優(yōu)勢(shì)尤其明顯。在有限元分析、模擬電路瞬態(tài)仿真等應(yīng)用領(lǐng)域的商用軟件均采用直接法求解器作為標(biāo)準(zhǔn)的稀疏線性方程組求解器。但直接法的缺點(diǎn)在于對(duì)存儲(chǔ)資源要求較高,無(wú)法處理高階稀疏矩陣。
一般來(lái)說(shuō),迭代法的求解速度高于直接法。但是,如果使用直接法時(shí)矩陣分解過(guò)程能夠被很多后續(xù)計(jì)算重復(fù)使用,則后續(xù)的三角陣求解可以非??焖賹?shí)現(xiàn),此時(shí)直接法在性能上具有優(yōu)勢(shì)。典型例子是模擬電路瞬態(tài)仿真,這時(shí)需要多次以Newton-Raphson方法求解非線性方程,每一次求解均會(huì)在工作點(diǎn)附近展開(kāi)為線性方程,而且所有線性方程的矩陣分解方式都是固定的,因此求解該類(lèi)問(wèn)題最好的方法是直接法。稀疏矩陣的矩陣分解在GPU上的實(shí)現(xiàn)是很困難的,主要難點(diǎn)在于現(xiàn)有算法的數(shù)據(jù)依賴性導(dǎo)致可利用的并行性不足。此外,矩陣元素的排列順序?qū)τ?jì)算過(guò)程中間結(jié)果矩陣的非零元素個(gè)數(shù)有很大影響,同時(shí)矩陣分解后的非零元素的分布與原來(lái)矩陣可能很不相同。
迭代法的理論基礎(chǔ)相對(duì)復(fù)雜,并且具有多種不同的具體算法,但其基本形式均為從一個(gè)猜測(cè)解出發(fā),通過(guò)多次迭代逐漸收斂,當(dāng)誤差滿足一定條件時(shí)迭代中止。共扼梯度法(CG)是迭代法的主流方法之一,特別適合于特征值為良態(tài)分布的對(duì)稱正定方程組;其它迭代法包括Jacobi、逐次超松弛(SOR)、廣義極小剩余(GMRES)、預(yù)條件共扼梯度(PCG)等。迭代法的核心算法是稀疏矩陣向量乘(SpMV),因此實(shí)現(xiàn)SpMV的高效并行結(jié)構(gòu)也是實(shí)現(xiàn)迭代法的基礎(chǔ)。
直接法由高斯消元法發(fā)展向來(lái),求解過(guò)程包括矩陣排序(matrix ordering)符號(hào)分解(symbolic factorization)、數(shù)值分解(numerical factorization)、三角方程組求解((triangular solves)四個(gè)步驟。其中,矩陣排序和符號(hào)分解屬于預(yù)處理部分。矩陣排序通過(guò)啟發(fā)算法置換稀疏矩陣的行列,試圖在后續(xù)計(jì)算中維持矩陣的稀疏性或數(shù)值穩(wěn)定性。符號(hào)分解則是預(yù)先對(duì)矩陣分解后的稀疏結(jié)構(gòu)進(jìn)行預(yù)測(cè),預(yù)先分配存儲(chǔ)空間并記錄數(shù)據(jù)相關(guān)性。直接法的計(jì)算瓶頸在于數(shù)值分解部分和三角方程組求解部分,高效的直接法求解依賴于二者的高效實(shí)現(xiàn)。
對(duì)于一個(gè)稀疏線性方程組是選擇直接法還是迭代法求解,一般有如下原則:對(duì)于低階矩陣或大型帶狀矩陣所對(duì)應(yīng)的線性方程組,用直接法求解;而對(duì)于大型(非帶形)矩陣所對(duì)應(yīng)的線性方程組,用迭代方法求解。實(shí)際上,選用何種方法還要看具體的應(yīng)用背景,比如,對(duì)于線性規(guī)劃和一些結(jié)構(gòu)工程應(yīng)用,只有直接法是切實(shí)可行的。對(duì)于精度要求很高的問(wèn)題,還可以采用由直接法得到初始解再用迭代法進(jìn)行迭代的方法求解,這種方法稱為迭代精化法。
DFSA算法可采用各種方法預(yù)測(cè)待識(shí)別的標(biāo)簽數(shù)量,然后動(dòng)態(tài)調(diào)整最優(yōu)幀長(zhǎng),與FSA相比,系統(tǒng)效率有明顯改善,接近36.8%。但是,當(dāng)標(biāo)簽數(shù)量較多(特別是標(biāo)簽數(shù)量大于500)時(shí),采用由預(yù)測(cè)標(biāo)簽數(shù)量設(shè)置最優(yōu)幀長(zhǎng)的方案會(huì)使系統(tǒng)效率急劇下降。因此,在標(biāo)簽數(shù)量較多的情況下,為了使系統(tǒng)效率得到提高,EPCClass1Gen2標(biāo)準(zhǔn)中采用了Q值算法,該算法可以實(shí)時(shí)自適應(yīng)地調(diào)整幀長(zhǎng) 。
Q值算法
在Q值算法中,閱讀器首先發(fā)送Query命令,該命令中含有一個(gè)參數(shù)Q(取值范圍0~15),接收到命令的標(biāo)簽可在[0,2Q-1]范圍內(nèi)(稱為幀長(zhǎng))隨機(jī)選擇時(shí)隙,并將選擇的值存入標(biāo)簽的時(shí)隙計(jì)數(shù)器中,只有計(jì)數(shù)器為0的標(biāo)簽才能響應(yīng),其余標(biāo)簽保持沉默狀態(tài)。當(dāng)標(biāo)簽接收到閱讀器發(fā)送的QueryRep命令時(shí),將其時(shí)隙計(jì)數(shù)器減1,若減為0,則給閱讀器發(fā)送一個(gè)應(yīng)答信號(hào)。標(biāo)簽被成功識(shí)別后,退出這輪盤(pán)存。當(dāng)有兩個(gè)以上標(biāo)簽的計(jì)數(shù)器都為0時(shí),它們會(huì)同時(shí)對(duì)閱讀器進(jìn)行應(yīng)答,造成碰撞。閱讀器檢測(cè)到碰撞后,發(fā)出指令將產(chǎn)生碰撞的標(biāo)簽時(shí)隙計(jì)數(shù)器設(shè)為最大值(2Q-1),繼續(xù)留在這一輪盤(pán)存周期中,系統(tǒng)繼續(xù)盤(pán)存直到所有標(biāo)簽都被查詢過(guò),然后閱讀器發(fā)送重置命令,使碰撞過(guò)的標(biāo)簽生成新的隨機(jī)數(shù) 。
根據(jù)上一輪識(shí)別的情況,閱讀器發(fā)送Query-Adjust命令來(lái)調(diào)整Q的值,當(dāng)標(biāo)簽接收到Query-Adjust命令時(shí),先更新Q值,然后在[0,2Q-1]范圍內(nèi)選擇隨機(jī)值。EPCClass1Gen2標(biāo)準(zhǔn)中提供了一種參考算法來(lái)確定Q值的范圍.其中:Qfp為浮點(diǎn)數(shù),其初值一般設(shè)為4.0,對(duì)Qfp四舍五入取整后得到的值即為Q;C為調(diào)整步長(zhǎng),其典型取值范圍是0.1 該算法在參數(shù)C的輔助下對(duì)Q值進(jìn)行動(dòng)態(tài)調(diào)整,但是C太大會(huì)造成Q值變化過(guò)于頻繁,導(dǎo)致幀長(zhǎng)調(diào)整過(guò)于頻繁,C太小又不能快速地實(shí)現(xiàn)最優(yōu)幀長(zhǎng)的選擇。因此,研究者們對(duì)Q值的調(diào)整進(jìn)行了各種優(yōu)化 。 基于最大吞吐量調(diào)整Q值的算法 文獻(xiàn)提出一種基于最大吞吐量對(duì)Q值進(jìn)行調(diào)整的算法,其中定義了以下變量:Nt為已識(shí)別的標(biāo)簽個(gè)數(shù);N為識(shí)別標(biāo)簽所需的總時(shí)隙數(shù);NC為沖突時(shí)隙的個(gè)數(shù);nu為上一輪未識(shí)別的標(biāo)簽個(gè)數(shù);e為沖突時(shí)隙中的平均標(biāo)簽個(gè)數(shù);PC為沖突時(shí)隙所占的比例 。 這些參數(shù)之間的關(guān)系為PC=NC/N,e=nu/Nc,吞吐量=Nt/N。由于Aloha類(lèi)算法的最大吞吐量為0.368(e-1)[5],該算法以此作為調(diào)整Q值的依據(jù)。當(dāng)系統(tǒng)吞吐量達(dá)到或接近0.368時(shí),閱讀器僅需調(diào)用2Q-1次QueryRep命令,而不需要在接下來(lái)的盤(pán)存周期中調(diào)整Q值。當(dāng)吞吐量小于0.368時(shí),根據(jù)未識(shí)別的標(biāo)簽個(gè)數(shù)nu來(lái)調(diào)整Q值 . 基于分組的位隙Aloha算法 文獻(xiàn)提出一種基于分組的位隙Aloha算法,該算法采用位隙Aloha算法中的128位預(yù)定序列,代表128個(gè)位隙。若某個(gè)標(biāo)簽選擇了第i個(gè)位隙,則將第i位置1,其余各位都置0。當(dāng)標(biāo)簽數(shù)量為15時(shí),位隙Aloha算法可獲得最大吞吐率88.38%,但隨著標(biāo)簽數(shù)量的增加,算法性能急劇下降 。 因此,基于分組的位隙Aloha算法通過(guò)對(duì)標(biāo)簽進(jìn)行分組來(lái)提高算法的性能。該算法在查詢命令中設(shè)置了一個(gè)位隙計(jì)數(shù)器的參數(shù)Q(Q為整數(shù),且0≤Q≤15),當(dāng)標(biāo)簽收到閱讀器發(fā)送的查詢命令后,在[0,2Q-1]范圍內(nèi)生成一個(gè)隨機(jī)數(shù),即代表選擇了相應(yīng)的位隙,只有選擇了0的標(biāo)簽才會(huì)立即響應(yīng)。同時(shí),該算法根據(jù)沖突位隙數(shù)動(dòng)態(tài)地對(duì)Q值進(jìn)行調(diào)整:當(dāng)沖突位隙數(shù)小于11時(shí),Q減1且最小為0;當(dāng)沖突位隙數(shù)在11~20之間時(shí),Q保持不變;當(dāng)沖突位隙數(shù)大于20時(shí),Q加1且最大不超過(guò)15 。 綜上所述,基于Aloha的防碰撞算法原理簡(jiǎn)單、容易實(shí)現(xiàn),對(duì)新到達(dá)的標(biāo)簽具有較好的適應(yīng)性,尤其對(duì)于標(biāo)簽持續(xù)到達(dá)的情況有較好的解決方案,但該類(lèi)算法存在幾個(gè)明顯的缺點(diǎn):①響應(yīng)時(shí)間不確定,即同一批標(biāo)簽在不同時(shí)刻進(jìn)行識(shí)別所需要消耗的時(shí)間相差很大;②個(gè)別標(biāo)簽可能永遠(yuǎn)無(wú)法被識(shí)別;③Aloha算法達(dá)到最佳吞吐率的條件是其幀長(zhǎng)等于標(biāo)簽數(shù)量,當(dāng)需要識(shí)別的標(biāo)簽數(shù)量較多或選擇的幀長(zhǎng)與實(shí)際待識(shí)別標(biāo)簽數(shù)量不符時(shí),系統(tǒng)性能將明顯下降。而基于樹(shù)的算法則很好地解決了這些問(wèn)題 。