• 沒有找到結果。

矩形動態規劃之範例

在文檔中 中 華 大 學 (頁 44-49)

第四章 動態覆蓋演算法

4.3 矩形動態規劃

4.3.3 矩形動態規劃之範例

在這章節我們透過範例的方式詳細介紹如何用矩形動態規劃為環境找出較 佳個數的機器人。首先也是先得到一個矩陣監控環境(圖 45)。在這裡我們假設 機器人所限制的步數為 30 步。

圖 45. 矩陣監環境

現在要開始做第一次切割,切割的方式為先從矩陣中座標位置(1,1)的區塊 做為一個子區塊做起(圖 46)。從圖裡可發現這時會有四個子區塊,然後就要開 始會這四個子區塊找出最佳數量的機器人。

圖 46. 第一次切割

其中只有一個為 11 的區塊不管數字多大,因只有一個區塊,所以所需機器 人的數量為 1。另一個 3 1 之子區塊的矩陣,先從一台機器人看是否可以達成任 務,從式子f(x)=c[2+2(x-2)] S 可看出一台機器人可對 3 1 之子區塊至多巡邏 七圈,這時對這三格區塊能巡訪的次數為 7 次、14 次和 7 次,所以一台機器人 是無法達成任務,所以就套用兩台機器人的巡邏方式看是否可達成任務,不出所 料我們馬上找到用兩台機器人可達成任務的巡邏方式,如圖 47 所示,實線的巡 邏方式可對矩陣減去 7、14 和 7,虛線的巡邏方式可對走過的區塊減去 15,而 3 1

38

之子區塊最右邊的區塊為 18,但因為被兩台機器人減去 7 和 18,中間的區塊也 因為被減去 14 和 15,所以全部可歸 0,這時我們就判定 3 1 之子區塊需兩台機 器人。

圖 47. 3 1 之子區塊

另一 1 3 之子區塊也用同樣的方式做檢查,也為此子區塊找出需兩台機器 人方可達成任務,機器人巡邏的方式如圖 48 所示。

圖 48. 1 3 之子區塊

到了第四個 3 3 之子區塊時,因子區塊太大所以要再進行切割,而切割的 方式共有四種,如圖 49 所示。而這四種切法的機器人所需的數量都為五台,因 這四種切法機器人的數量都為一樣,所以 3 3 之子區塊需 5 台機器人方可達成 任務。

圖 49. 3 3 之子區塊需再切割

39

所以第一種切割的方式機器人所需的數量為 1 2 2 5=10,共需十台可達成 任務。

之後我們就開始第二次切割,這次切割的方式如圖 50 所示,也會有四個子 區塊,而兩個 2 1 的子區塊因各只有兩個區塊,而機器人所限制步數的步數為 30,所以當只有一台機器人時對兩個區塊只能減去 15,導致機器人所需的數量 分別為一台和兩台。

圖 50. 第二次切割

另外兩個 2 3 的子區塊,因都無法只用一台機器人達成任務,所以分別還 要進行兩此切割比對,兩個子區塊分別所需的機器人個數都為三台,而機器人的 巡邏方式如圖 51 所示。

圖 51. 兩個 2 3 的子區塊

所以第二個切割方式所需機器人的個數為 1 2 3 3=9,共需九台機器人方 可達成目標。

之後第三種的切割方式如圖 52 所示,其中只有 3 3 之子區塊還要進行四次 切割,對 3 3 之子區塊所找出所需的機器人數量都為五,再依照之前類似的方 法找出 3 1 之子區塊、1 1 之子區塊和 1 3 之子區塊所需的機器人分別為,兩 台、一台和兩台,所以 2 1 5 2=10,也可得知此方式的切割所需機器人的個數 為十台才可以達成目標。到了目前為止是第二個切割方式所需九台機器人的個數 為最少。

40

圖 52. 第三種的切割方式

之後我們就是接續的切割,圖 53 為接下來主要所有的切割方法,然後再為 每種切割的方式找出機器人最佳的個數,再來就是看看是否還會有比第二種切割 方式的機器人數量還少。

圖 53. 其它所有的切割方式

事實上從圖 53 中有一種切割的方式可以為原本的矩陣監控環境找出最少的 機器人數量,它的切割方式為 2 3 之子矩陣、2 3 之子矩陣 2 1 之子矩陣和 2 1 之子矩陣,如圖 54 表示。

我們先從圖 54 最左上之子區塊開始做分析,因此子為 2 3 的矩陣類形,所 有有可能光靠一台機器人可將全部的區塊都已走過,所以我們先將機器人所限制 的步數 30 除以 6,得到的答案為 5,但子區塊中數字最小為 7,很明顯得此子區 塊是無法用一台機器人達成任務,所以要將 2 3 之子矩陣再進行切割,切割的 方式有兩種,如圖 55 所示。

41

圖 54. 對原本環境切割方式的其中之一

圖 55. 2 3 之子矩陣再進行切割

圖 55 左邊的切割方式中,包涵了 2 1 之子矩陣和 2 2 之子矩陣,其中 2 1 之子矩陣很容易得看出只需一台機器人,因只有兩個區塊,所以將機器人限制的 步數 30 除以二得到 15,代表一台機器人可對這兩個區過各拜訪 15 次。而 2 2 之子矩陣發現一台機器人是無法完成任務的,這是由於一台機器人完成一次巡邏 只能對這四個區塊各拜訪七次,所以 2 2 之子矩陣最少需要兩台機器人。所以 這兩個 2 1 之子矩陣和 2 2 之子矩陣共需三台機器人。圖 55 右邊的切割方式所 需機器人的數量也是三台,所以圖 54 中左上的 2 3 之子矩陣所需機器人為 3。

它們的巡邏方式由圖 56 表示。

圖 56. 2 3 之子矩陣所需機器人為 3 台

圖 54 中,右上的子矩陣,經由計算出也是需要三台機器人。再來就將剩下 兩個 2 1 之子矩陣所需幾台機器人的個數找出即可,經由機器人所限制的步數

42

除以二,發現這兩個 2 1 之子矩陣都只要各需一台機器人,所以圖 54 中四個子 矩陣所需的機器人總數為 3 3 1 1=8,八台機器人可達成目標。

經過以上的多次切割與比對後,我們可看出八台機器人是我們所有切割方式 中數中最少的,所以利用矩陣動態規劃為原本的矩陣監控環境找出機器人最佳個 數為八台,而切割的方式即各機器人巡邏方式如圖 57 表示。

圖 57. 最佳的切割方式

在文檔中 中 華 大 學 (頁 44-49)

相關文件