• 沒有找到結果。

模擬結果與分析

在文檔中 中 華 大 學 (頁 65-76)

我們在實作了 Query Tree 演算法、iWAS 演算法、PDQT 演算法、HSD 演算 法及 EPDQT 演算法,我們在模擬的環境中給與不同的標籤數量,來比較讀取器 所發出的查詢次數。在這個實驗中,標籤的 ID 長度設置為 8 Bits,數量用標籤 密度表示,例如 Tag 密度是 10%,代表著 28  10% = 26,也就是標籤有 26 個,

標籤密度是 20%,代表著 28  20% = 52,也就是標籤有 52 個,依此類推,而 Tag 的 ID 產生的方式,是由平均的亂數隨機的產生,門檻值 (Threshold value) M 的 值則是預設為 3。如圖 4.1 中所示,EPDQT 演算法中的查詢次數均低於其他演 算法。其中在 30%~50%這區間,和 iWAS 演算法的差異較大,當 Tag 密度越高 時差距慢慢縮小。而 EPDQT 演算法和 HSD 演算法的數次相當接近,但可發現 從 20%往回看時,二個演算法的差距是呈現變大的趨勢。原因是因為 HSD 演算

法是直接從 N-3 層開始查詢,所以在低密度時的效率會比較差。

圖 4.1 8 bit 標籤密度&查詢次數關係圖

在圖 4.2 中,除了標籤長度更改為 16 bits,其它皆使用相同的配置,在這個 實驗中,標籤的數量從密度 10%的 216  10% = 6554 個到密度為 100%的 216  100% = 65536 個,同樣的這個圖有著和 8bit 相似的結果,由此可證明在標籤長 度增加的情況下,EPDQT 演算法仍有著比其他演算法更好的表現。

0 100 200 300 400 500 600

10 20 30 40 50 60 70 80 90 100 查

詢 次 數

標籤密度(%)

UID 8BIT

QT IWAS PDQT HSD EPDQT

圖 4.2 16bit 標籤密度&查詢次數關係圖

在圖 4.3、圖 4.4 中,我們統計了在標籤長度為 8bit 和 16bit 的條件下,閒 置週期和標籤密度的關係。可以發現 EPDQT 演算法和 PDQT 演算法因為前偵測 的原因,可以完全的避免閒置週期。而 iWAS 演算法因為跳層的關係,在閒置週 期的表現,甚至比 Query Tree 演算法還差,而 HSD 演算法在標籤密度為 50%前 後就完全沒有閒置週期的發生,原因是在 N-3 層在標籤密度 50%之後,所有的 節點皆為碰撞節點的關係。

0 20000 40000 60000 80000 100000 120000 140000

10 20 30 40 50 60 70 80 90 100 查

詢 次 數

標籤密度(%)

UID 16BIT

QT IWAS PDQT HSD EPDQT

圖 4.3 8bit 標籤密度&閒置週期關係圖

圖 4.4 16bit 標籤密度&閒置週期數關係圖 0

5 10 15 20 25 30

10 20 30 40 50 60 70 80 90 100 閒

置 週 期 次 數

標籤密度(%)

UID 8BIT

QT IWAS PDQT HSD EPDQT

0 1000 2000 3000 4000 5000 6000 7000

10 20 30 40 50 60 70 80 90 100 閒

置 週 期 次 數

標籤密度(%)

UID 16BIT

QT IWAS PDQT HSD EPDQT

在圖 4.5、圖 4.6 中,我們統計了在標籤長度為 8bit 和 16bit 的條件下,碰撞 週期和標籤密度的關係。可以發現 EPDQT 演算法的碰撞週期比其他演算法少,

直到 70%和 PDQT 演算法相交,而 PDQT 演算法之所以碰撞在標籤密度 70%之 後可低於 EPDQT 演算法,是因為 PDQT 未以 N-1 層的碰撞來完成辨識的關係。

圖 4.5 8bit Tag 密度&碰撞週期數關係圖

圖 4.6 16bit Tag 密度&碰撞週期數關係圖 0

50 100 150 200 250 300

10 20 30 40 50 60 70 80 90 100 碰

撞 週 期 次 數

標籤密度(%)

UID 8BIT

QT IWAS PDQT HSD EPDQT

0 10000 20000 30000 40000 50000 60000 70000

10 20 30 40 50 60 70 80 90 100 碰

撞 週 期 數

標籤密度(%)

UID 16BIT

QT IWAS PDQT HSD EPDQT

接下來我們針對在 16bit Tag 下 EPDQT 演算法每層的碰撞節點數量做個統計 和分析。如圖 4.7,我們可以發現 Lay4、Lay8 的碰撞節點數量在 10%時就已經 等於該層的節點數。由此可知,在 16bit Tag 的環境下,只要密度超過 10%,在 Lay8 之前的所有節點都是碰撞節點。而 Lay12 的是在密度 50%之後,就都是碰 撞節點了。這和圖 4.1、圖 4.2 中看到的結果是相符合的,在查詢次數的改善中,

與 iWAS 演算法差異最大的區段剛好是 20%~50%這個區段,在超過這個區段後 二個演算法的效能差距就漸漸縮小。直到 100%時二個演算法非常接近,但 EPDQT 演算法還是比 iWAS 演算法略勝一籌。

圖 4.7 16bit Tag 密度&各層前偵測次數關係圖

接下來我們針對標籤分佈的比例做調整,創造出不平衡的查詢樹。依樹 的左右分佈比例依序分為 9:1、8:2、7:3、6:4、5:5 五種樹,然後再依標籤密度 10%、50%、90%做取樣,取其執行 10 次實驗結果的平均值來做比較。在圖 4.8、

圖 4.9、圖 4.10 中我們可以發現,當標籤密度低時,不平衡樹對查詢的效能影響 不大。但隨著密度的提高,越平衡的樹需要的查詢次數就越多。但 EPDQT 演算

0 500 1000 1500 2000 2500 3000 3500 4000 4500

10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

UID 16BIT

PD_Lay4 PD_Lay8 PD_Lay12

在圖 4.8 標籤密度 10%的情況下,左右比例的分佈對五個演算法的影響都 不大。但依稀可見當左右比例越平均時,查詢次數會慢慢的增加。特別的是 HSD 演算法在左右比例分佈越平均時,其查詢次數是漸漸減少,原因是在的左右比 例分佈越不平衡的情況下,N-1 層的碰撞機會比較大。所以 HSD 演算法在左右 比例分佈越不平衡的情況下,在 N-1 層的查詢就越有機會根據 Case4 在一次查 詢中辨識二個標籤。

圖 4.8 16bit 標籤密度 10%時左右分佈比例和查詢次數關係圖

在圖 4.9 標籤密度 50%的情況下可以發現隨著左右比例越平均,五個演算 法的查詢次數都有增加,其中 iWAS 演算法查詢次數低於 PDQT 演算法,而且 向 EPDQT 演算法和 HSD 演算法的相差拉近了。而 HSD 演算法在標籤密度 50%

時查詢次數的走向和 10%相反了,隨著標籤密度 5 的提高,在 N-1 層的查詢,

根據Case4 一次查詢中辨識二個標籤的機會就越平均。

6000.00 8000.00 10000.00 12000.00 14000.00 16000.00 18000.00

9:1 8:2 7:3 6:4 5:5 查

詢 次 數

左右標籤分佈比例

UID 16BIT 密度10%

QT IWAS PDQT HSD EPDQT

圖 4.9 16bit 標籤密度 50%時左右分佈比例和查詢次數關係圖

在圖 4.10 標籤密度 90%的情況下可以發現隨著右比例越平均,五個演算法 查詢次數的增加幅度又變大了,而 EPDQT 演算法 HSD 演算法和 iWAS 演算法 的查詢次數相差更接近了,原因是 iWAS 演算法在密度越高時效能越佳。

20000.00 30000.00 40000.00 50000.00 60000.00 70000.00 80000.00

9:1 8:2 7:3 6:4 5:5 查

詢 次 數

左右標籤分佈比例

UID 16BIT 密度50%

QT IWAS PDQT HSD EPDQT

0.00 20000.00 40000.00 60000.00 80000.00 100000.00 120000.00 140000.00

9:1 8:2 7:3 6:4 5:5 查

詢 次 數

左右標籤分佈比例

UID 16BIT 密度90%

QT IWAS PDQT HSD EPDQT

最後我們運用時間模擬參數算出各標籤密度下完成辨識所需要的時間以及 平均辨識一個標籤所需的時間。再計算較符合現實中的低密度(10%)標籤環境下,

實際上改善的效能。如圖 4.11 圖 4.12 我們可以發現。加上了前偵測成本,雖然 與 iWAS 演算法和 HSD 演算法的差距變小了,但幅度十分微小。

圖 4.11 8bit 標籤密度&辨識時間關係圖

圖 4.12 16bit 標籤密度&辨識時間關係圖 0.00

100.00 200.00 300.00 400.00 500.00 600.00 700.00 800.00 900.00

10 20 30 40 50 60 70 80 90 100 辨

識 時 間

標籤密度(%)

UID 8BIT

QT IWAS PDQT HSD EPDQT (ms)

0.00 50.00 100.00 150.00 200.00 250.00

10 20 30 40 50 60 70 80 90 100 辨

識 時 間(

)s

標籤密度(%)

UID 16BIT

QT IWAS PDQT HSD EPDQT

在表 4.3 中,我們計算了平均辨識一個 Tag 所而的時間,不論在哪個密度 下,EPDQT 都可以比其他演算法更快速的辨識標籤。

表 4.3 16bit 各密度平均辨識一個 Tag 所需的時間(ms)

QT IWAS PDQT HSD EPDQT

10% 4.32 3.46 3.23 3.01 2.33 20% 4.06 3.05 2.85 2.30 2.14 30% 3.88 2.69 2.74 2.06 1.91 40% 3.73 2.36 2.69 1.90 1.73 50% 3.62 2.06 2.64 1.74 1.59 60% 3.52 1.78 2.59 1.59 1.46 70% 3.45 1.56 2.53 1.45 1.34 80% 3.39 1.38 2.46 1.32 1.23 90% 3.35 1.23 2.39 1.20 1.12 100% 3.34 1.11 2.33 1.09 1.02

在表 4.4 中,我們計算了在標籤長度 16bit,標籤密度 10%(6553 個標籤)的 環境下,執行十次實驗的平均值,效能分析以 QT 為基礎。我們可以發現,EPDQT 比其他演算法都有著更好的表現。

表 4.4 標籤密度 10%效能分析表

辨識時間(s) 查詢次數 碰撞次數 閒置次數 效能分析 QT 28.31 16966 8482 1931 0.0%

IWAS 22.71 13610 5028 2653 19.8%

PDQT 21.15 12098 4227 0 25.3%

HSD 19.71 11273 1845 3499 30.4%

EPDQT 15.29 8528 2598 0 46.0%

在上述的所有圖表分析中,雖然 EPDQT 演算法和 Query Tree 演算法、PDQT 演算法、iWAS 演算法和 HSD 演算法相比都有改善。但也一再指出在密度 50%

之後的 iWAS 演算法效能慢慢的逼近 EPDQT 演算法。我們知道 iWAS 演算法的

效能在密度 100%之下是最好的。因為密度 100%的樹除了最後一層之外,全都

是碰撞節點,而且沒有閒置節點。iWAS 演算法可以每層都查詢 個節點就可到

達門檻值而跳到下一層,若 M=3,那就是只要每層查詢該層的 1/3 個節點就可 到達門檻值而跳到下一層,然後跳到 N-1 層便可以利用碰撞節點辨識最後一層 的標籤。因此我們為了比較在 iWAS 演算法最有利的情況下,EPDQT 演算法是 否也能夠在效能上做出改善,所以我們針對密度 100%下的分佈,推導出了 iWAS 演算法和 EPDQT 演算法的公式。

變數說明:

I : 目前查詢階數

N : 總階數,及標籤長度

M: intelligent Wrap-Around Scan 演算法之跳躍門檻值之變數 D: Encoded Pre-Detection Query Tree 演算法前偵測之層數 公式如下:

intelligent Wrap-Around Scan 演算法 =

Encoded Pre-Detection Query Tree 演算法 +

如表 4.5,由上述公式,我們算出在標籤長度 8bit、16 bit、32bit、96bit 下,密數 100%二個演算法所需的查詢次數。

表 4.5 100%密度下不同標籤長度&查詢次數關係表

8bit 16bit 32bit 64bit 96bit IWAS 173 43697 2863311545 1.22978E+19 5.28188E+28 EPDQT 161 41505 2720145953 1.16829E+19 5.01778E+28 Efficiency 6.94% 5.02% 5.00% 5.00% 5.00%

由上表我們可以看出不管在任何標籤長度下,就算是在 iWAS 演算法效率最好的 100%密度,EPDQT 演算法還是會有 5%的進步。

在文檔中 中 華 大 學 (頁 65-76)

相關文件