• 沒有找到結果。

由於遊戲機器人偵測上的困難,許多年來眾多研究人員試著要解決這個問題。

他們觀察到了遊戲機器人有與一般玩家不同之處,利用一些統計方法或是資料探 勘技術來針對這些有所差異的地方,提出各種遊戲機器人自動偵測方法。本章將 針對自動偵測遊戲機器人過往的相關研究,以及本研究所利用的序列探勘技術進 行探討。第一節為遊戲機器人自動偵測相關研究探討,第二節為資料探勘應用於 遊戲機器人偵測方法,第三節序列探勘的相關研究。

第一節 遊戲機器人自動偵測相關研究探討

Chen 等人[7]提出了幾個針對流量分析的方法,他們觀察到遊戲機器人的在 回應指令的時間上有明顯的固定間隔,認為可能是因為遊戲機器人在執行過程中 的迭代(Iteration) 時間固定所導致的,他們計算這些回應時間間隔的功率譜密度 (Power Spectral Density) 嘗試來辨別遊戲機器人。但他們覺得這樣的方法不足以 準確地偵測出遊戲機器人,因此又針對流量突發程度(Traffic Burstiness) 提出了 一個方法,利用計數分散指數(Index of Dispersion for Counts) 來觀察一段時間內 流量離散程度的變化。最後考慮到網路延遲的影響,又檢測網路延遲與流量變化 的相關性。Mitterhofer 等人[6]觀察到遊戲機器人會不斷照著同樣的路徑移動,因 此針對依照固定移動路徑的遊戲機器人,提出了一個移動路徑檢測方法。此方法 透過最長共同前綴(Longest Common Prefix) 檢測每個移動指令的可匹配最長字 串,觀察移動位置的重複程度,來找出不斷重複經過一個路徑的遊戲機器人。

Varvello 等人[9]發現遊戲機器人的社交網絡與一般玩家有所不同,因此利用社群 網絡分析技術中的三種衡量值,中介中心性(Betweenness Centrality)、群聚度 (clustering coefficient)以及程度中心性(Degree centrality)來找出差異之處,並藉此 偵測遊戲機器人。Platzer[8]認為遊戲機器人在執行一個任務的過程只會依照一個 固定的腳本,因此在執行同一個任務的行為序列會是一致的。他針對此特性提出

使用編輯距離(Levensthein Distances)來檢測遊戲行為紀錄中完成單一任務之行 為序列是否一致的偵測方法。

這些偵測方法都有其不足的地方,例如流量分析可能因為遊戲機器人在行動 加入隨機延遲使其規律的特性改變而降低準確度。移動路徑分析則不適用有特殊 移動方式,甚至不移動的遊戲機器人。而社群網絡分析若針對完全不與人互動,

或是同時親自玩遊戲以及使用遊戲機器人的玩家會不夠精準。編輯距離若是序列 會夾雜些許差異便會產生誤判,此外需先找出遊戲行為紀錄中那些段落屬於同一 任務,因此適用的範圍不大。

第二節 資料探勘應用於遊戲機器人偵測方法

Cornelissen 與 Grootjen[2]認為遊戲機器人動作的時間間隔會相當規律,此處 與一般玩家有所差異,因此挑出了 7 個行為間的時間間隔,如兩次移動的間隔時 間、兩個封包到達的間隔時間等做為訓練資料,將這些訓練資料以及正確結果輸 入倒傳導類神經網路(Back Propagation Neural Network),藉此訓練一能自動辨別 遊戲機器人的偵測系統。除了前兩位學者之外,Gianvecchio 等人[4]也使用了類 神經網路(Neural Network)來自動辨識遊戲機器人。他們也認為遊戲機器人的動 作間隔時間有其規律性存在,而選擇了滑鼠及鍵盤的動作,例如連點、長按…等 動作做為訓練資料來訓練偵測系統。除了類神經網路外,也有使用其他資料探勘 方法的研究。Kang 等人[10]認為遊戲機器人的團隊遊戲行為會較一般玩家顯著不 同,遊戲機器人的團隊會有明顯分工,而玩家則無明顯分工。因此嘗試利用異常 值偵測(Outlier Detection) 從大量的團隊互動行為紀錄中找出異常值,並將此異 常值視為遊戲機器人來進行偵測。Thawonmas 等人[11]為了能準確偵測遊戲機器 人,而挑選了幾個機器人無法避免的動作,如使用倉庫、與 NPC 交易…等,再 利用遊戲機器人動作頻率與玩家不同的特性,挑選出其中符合門檻的動作頻率訓

練支援向量機進行偵測。

這些偵測方法的缺點主要是使用的資料都有不夠周全的地方,利用動作的時 間間隔容易因遊戲機器人在動作時加入隨機延遲而受到影響。團隊活動的異常值 分析對不進行團隊活動、只單獨行動的遊戲機器人無用。利用特定動作的頻率進 行偵測的話,在行動種類多的情況下,其遊戲機器人與一般玩家的動作頻率會產 生大幅重疊的部分而影響結果。本研究提出的序列探勘方法,由於並非針對執行 動作間隔時間的規律性,因此不會受到隨機延遲的影響。利用序列探勘挖掘出遊 戲紀錄中所有足以作為特徵的序列組合,因此在行為序列有些微差異時仍能找出 其中相同的特徵。由於利用的是行為的序列,其頻率不容易受到外在條件不同而 改變。此外本研究利用完整遊戲行為紀錄而不使用特定的動作進行偵測,代表偵 測系統的泛用性上會有較好的表現。

第三節 序列探勘相關研究

根據以前的研究指出,遊戲機器人的行為序列會較一般玩家規律,因此本研 究選擇利用序列探勘來找出兩者的特徵差異。序列探勘(Sequence Mining)是由提 出 Agrawal 與 Srikant [12]兩人提出的一個資料探勘技術,是從有時間性的一連串 事件中,找出事件發生的前後順序關係的分析方法。兩位學者提出了以 Apriori 演算法為基礎,將其修改成用於序列探勘的 AprioriAll 演算法。該演算法會先從 資料庫找出所有視窗長度為 1 的頻繁序列樣式,再以這些頻繁序列樣式來組合出 長度加 1 的候選序列,並再次掃描資料庫找出候選序列中的頻繁序列樣式,並繼 續組合與掃描直到沒有候選序列為止。由於 AprioriAll 演算法效率不佳,Srikant 與 Agrawal [13]又提出了 GSP 演算法(Generalized Sequential Pattern),利用滑動時 間視窗(Sliding time window)提升產生候選序列時的效率。Lin 與 Lee [14]提出了 FASTUP 演算法 (Fast Sequential Pattern Update),為了避免資料庫更新資料後,

需重新探勘(re-mining)整個資料庫的問題,先探勘新增資料庫(Increment Database) 後將頻繁樣式與支持度計數(Support Count)加入原始資料庫,最後再更新原本的 探勘結果。Garofalakis 等人[15]提出了 SPIRIT 演算法(Sequential Pattern Mining with Regular Expression Constraints),SPIRIT 演算法可由使用者輸入正規表示式,

來從資料庫挖掘出符合使用者需求的頻繁樣式。Han 與 Pei [16]提出了 FreeSpan 演算法(Frequent Pattern-Projected Sequential Pattern Mining),該演算法利用投射 資料庫(Projected Database)來縮小資料庫,利用投射序列樣式(Projected Sequential Pattern)來組合候選序列,藉此提高效率。之後 Pei 與 Han [17]又提出了 PrefixSpan 演算法(Prefix-projected Sequential Pattern Mining),改善 FreeSpan 演算在在產生 投射資料庫上的缺點,會投射出每個樣式的後序序列(Postfix Sequence)資料庫,

這些樣式被稱為前序序列(Prefix Sequence)。Zaki [18]提出 SPADE (Sequential Pattern Discovery using Equivalence Classes)演算法,主要以垂直資料庫(Vertical Databases)的 ID-list 儲存頻繁樣式序列,取代 AprioriAll 的水平資料庫(Horizontal Databases),並利用晶格(lattice)來拆解資料庫,讓探勘得以在記憶體中執行,擁 有更好的效能。Ayres 等人[19]提出 SPAM 演算法(Sequential Pattern Mining),此 演算法利用位元圖表示法(Bitmap Representation)大幅提高產生候選序列的速度,

但會產生出過多不可能成為頻繁樣式的候選序列,降低了整體效率。Yan 等人[20]

提出了 CloSpan 演算法(Closed Sequential Pattern Mining)以及封閉序列樣式 (Closed Sequential Pattern),以 PrefixSpan 為基礎,利用反向子樣式(Backward Sub-pattern) 與 反 向 超 樣 式 (Backward Super-pattern) 進 行 搜 尋 空 間 修 剪 (Search Space Pruning)減少重複的序列樣式,來找出資料中的封閉序列樣式。本研究使 用 SPADE 演算法來實作序列探勘的步驟,SPADE 演算法利用垂直資料庫可快速 找出頻繁樣式,且探勘過程都在記憶體中執行,擁有相當好的效率。

相關文件