• 沒有找到結果。

第四章 模擬系統之實作

4.4 導引演算法模組

在導引演算法模組中,包含有三個演算法模組,亂數選取模組、MOLGA 模組和 GAFUL 模組,並且此三個模組與學習預約模組的資料交換十分密切,如圖 4.4 演算法 導引架構圖。

圖 4.4 演算法導引之架構圖

模擬系統將會以每一個學習者的角度來模擬學習者行為,在學習活動開始之後,不 管活動行程怎麼安排,都必須在時間限制內返回終點。因此模擬學習者最重要的部份就 是「時間」。因此針對此一部份,模擬系統對模擬學習者,設定了一些參數,詳列如下:

(1) CT:學習者目前已花費時間,規劃學習路徑時,將會以目前花費時間推算出剩餘 時間,並以演算法規劃學習路徑。

(2) Locate Vertex:學習者目前所在學習點。

(3) Arrive Time:學習者預定到達下一個學習點的時刻。當時刻一到,則馬上觸發學習 者登記進入(Check In)流程,相當於模擬系統偵測到學習者進入學習點。

(4) Leave Time:預定從下一個學習點學完離開的時刻。當時刻一到,則馬上觸發學習 者離開(Check Out)流程,相當於模擬系統偵測學習者到離開。

(5) Schedule Queue:預定學習路徑列表,由學習導引模組協助規劃運算,推薦給學習 者。

(6) Record Queue:紀錄學習者學習過的學習點列表。

4.4.1 亂數選取法

在模擬學習活動中以隨機選擇法模擬學習者,主要是模擬「沒有學習規劃」的學習 者,走到哪裡學到哪裡,但已經學過的學習點則不重複學習,直到時間限制才返回終點。

其演算法分為兩個觸發事件,一為「學習者離開學習點」,二為「學習者進入學習點」。

而當系統偵測到學習者「離開」學習點時:第一步,先呼叫「亂數搜尋法」,亂數 選取學習點,推薦學習者前往。第二步,使用學習預約模組辦理「離開」(Check Out) 目前學習點。

而當系統偵測到使用者「到達」學習點時:第一步,先檢查學習者是否能夠在時間 限制內返回終點,若答案為「否」,則建議學習者回到終點,結束學習活動;若答案為

「是」,則繼續第二步。第二步,檢查學習點是否還有空位,若尚「有」空位,則使用 學習預約模組辦理「進入」(Check In) 流程。;若「沒有空位」,則重新以「亂數搜尋

法」重新選點。

由以上演算法流程可知,「隨機亂數搜尋法」並未使用預約機制,因此遇到學習點 已滿,必須重新選點的可能性很大。

4.4.2 目標極大化學習導引演算法

系統以「目標極大化學習導引演算法」(MOLGA)選取較適合的學習點,導引學習 者前往,但已經學過的學習點則不重複學習,同樣也是以時間限制(LT)為停止條件。同 樣在進入離開學習點時,觸發事件。

當系統偵測到學習者要「離開」學習點時,第一步,先以 MOLGA 法選擇學習點 推薦學習者前往。若目前「沒有」學習點可以前往,則留在目前學習點上,等待下一個 時刻再次選擇學習點;若「有」學習點可以前往,則進行第二步。在第二步中,學習者 確定前往學習點後,使用學習預約模組協助辦理「預約」( Reserve )學習點。第三步,

使用學習預約模組辦理「離開」(Check Out)目前學習點。

當系統偵測到使用者「到達」學習點時,第一步,先檢查學習者是否能夠在時間限 制內返回終點,若答案為「否」,則建議學習者回到終點,結束學習活動;若答案為「是」, 則繼續執行第二步。

在第二步中,檢查學習點是否還有空位,若「有空位」,則使用學習預約模組辦理

「進入」(Check In) 流程;若「沒有空位」,則使用 MOLGA 法重新選點,而且在學習 者確定前往學習點後,使用學習預約模組協助使用者辦理「預約」( Reserve )流程。接 下來,使用學習預約模組辦理「取消預約」(Cancel Reserve)目前所在學習點。

由以上的演算法的流程條件可知,MOLGA 法,含有預約機制,將可以避免許多重 複選點的機會。

4.4.3 學習導引之基因演算法

「學習導引之基因演算法」(GAFUL)的作法,規劃完學習路徑後,推薦給學習者,

學習者依序前往即可。遇到須重新規劃路徑時,只考慮未學點為候選點,停止條件也為 學習限制時間。

系統偵測到學習者要「離開」學習點時,第一步,先檢查是否已有規劃學習路徑,

若「有」規劃學習路徑且規劃的下一個學習點還「有空位」,則依規劃前往即可;若「沒 有」規劃或規劃的下一個學習點「沒有空位」,則以 GAFUL 法重新規劃學習路徑,推 薦給學習者。最後,使用學習預約模組辦理「離開」(Check Out)流程目前學習點。

系統偵測到使用者到達學習點時,首先檢查是否還有足夠的時間可返回終點,若答 案為「否」,則建議學習者到終點;若答案為「是」,則繼續執行下一步。第二步,檢 查學習點是否還有空位,若「有空位」,則辦理「進入」(Check In) ;若「沒有空位」,

則以 GAFUL 法重新規劃學習路徑,推薦給學習者,並且在學習者確定前往學習點後,

系統協助使用者辦理「預約」( Reserve )。最後,使用學習預約模組辦理「取消預約」

(Cancel Reserve)流程,取消預約目前所在之學習點。

由以上演算法流程可知,GAFUL 法尚未使用預約機制,但在前往下個學習點前,

會檢查人數是否已滿,且在規劃路徑時已將飽和資訊考慮進去,因此重新規劃路徑的可 能性比「隨機亂數搜尋法」小。

相關文件