• 沒有找到結果。

跳躍型變形蟲演算法

在文檔中 中 華 大 學 (頁 36-43)

第四章、 仿變形蟲移動的演算法

4.3 跳躍型變形蟲演算法

這個演算法的設計動機在於後者可以往前跳躍移動,感測車輛在地圖中進行探索,

表 3. 收縮型車輛狀態記錄器.

車輛狀態記錄器

本車編號 本車方向 移動距離 本車探索值

28

前方的感測車輛探索到有路線,會呼叫後方的感測車輛往前移動,感測車輛會記錄序 號,每回合的移動會增加序號值,感測車輛可以依照序號來判斷車輛的移動順序,若 探索到死路則呼叫上一個序號的車輛來進行次路線探索,利用遞回的方法來找尋新路 線。感測車輛之間的移動就好像跳棋一般,跳躍鄰居節點往前探索,也避開了節點探 索過得區域。每一回合的移動有三個階段;第一階段由序號最大的車輛呼叫序號最小 的車輛,往序號最大的感測車輛前進,由鄰近節點轉傳詢問,移動時可透過鄰近感測 節點導航[2];第二階段則由序號最大的車輛進行探索,並指定移動方向,若無法移 動則呼叫上一個序號的車輛來進行搜索;第三個階段則由序號最小的車輛,開始往新 方向移動,若經過鄰居節點,鄰居也會獲得序號加一。

範例說明如下,我們使用 6 輛無線感測自走車輛,放置在路口左下。圖 27 顯示 感測車輛進行初始化,來進行車輛編號 1~N。圖 28 顯示 1 車往 6 車指定方向移動,

並獲得新序號 7。圖 29 顯示 2 車往 7 車指定方向移動,並獲得新序號 8。圖 30 顯示 3 車往 8 車移動,8、7 車搜尋無路則往回問,6 車搜尋新路線給 3 車移動,3 車獲得 新序號 11,6 車獲得新序號 10。圖 31 顯示 4 車往 11 車指定方向移動,並獲得新序 號 12。圖 32 顯示 5 車往 12 車方向移動,12 車尋找無路則返回 11 車,11 車指定 5 車移動方向並獲得序號 13,5 車獲得新序號 14。圖 33 顯示 8 車往 14 車指定方向移 動,並獲得新序號 15。圖 34 顯示 9 車往 15 車指定方向移動,並獲得新序號 16。圖 35 顯示 10 車往 16 車指定方向移動,並獲得新序號 17。圖 36 顯示 12 車往 17 車方 向移動,17 車尋找無路則返回 16 車,16 車指定 12 車移動方向並獲得新序號 18,12 車獲得新序號 19。

29

圖 28. 1 車往 6 車指定方向移動,並獲得新序號 7.

圖 27. 感測車輛進行初始化,車輛編號 1~N.

30

圖 30. 3 車往 6 車指定方向移動,跳躍車輛獲得新序號.

圖 29. 2 車往 7 車指定方向移動,並獲得新序號 8.

31

圖 32. 5 車往 11 車指定方向移動,並獲得新序號 14.

圖 31. 4 車往 11 車指定方向移動,並獲得新序號 12.

32

圖 34. 9 車往 15 車指定方向移動,並獲得新序號 16.

圖 33. 8 車往 14 車指定方向移動,並獲得新序號 15.

33

表 5 為跳躍型車輛狀態記錄器,記錄著車輛移動與探索的狀態,在任務轉移時可 以與車輛互相交換訊息。本車編號記錄著自己當時的序號,任務的開始會由序號最大 的車輛執行呼叫移動;前車序號記錄著前車的序號,當序號最小的車輛在移動的時,

會判斷鄰近節點中的序號,往較大的序號移動;前車方向記錄著前車的方向,感測節 點在跳躍移動的時候,可以參考的移動方向。

圖 36. 12 車往 16 車指定方向移動,並獲得新序號 19.

圖 35. 10 車往 16 車指定方向移動,並獲得新序號 17.

34

詳細的跳躍型變形蟲演算法請參考表 6。

表 6. 跳躍型變形蟲演算法 1.初始化狀態:

1-1.所有車輛編號設定 1~N.

2.執行狀態:

2-1.當移動階段:

2-1-1.序號最大的車輛執行呼叫封包.

2-1-2.鄰近感測車輛收到封包,轉傳詢問鄰居序號.

2-1-3.序號最小的車輛由車群導引至序號最大的車輛.

2-2.當跳躍階段:

2-2-1.序號最大的車輛探索可走的路線

2-2-1-1 若探索無路,則呼叫上一車輛進行探索.

2-2-2.序號最小的車輛往新路線移動.

2-2-2-1.若跳躍車輛節點,該節點獲得新序號.

2-2-3.序號最小的車輛獲得新序號 N+1.

在文檔中 中 華 大 學 (頁 36-43)

相關文件