Transcript
Page 1: LOM- 領隊導向多人連線遊戲自動匹配演算法

1

LOM- 領隊導向多人連線遊戲自動匹配演算法

Adaptive Computing and Networking Lab

National Central University

Department of Computer Science and Information Engineering

研究生 : 宋管翊 指導教授 : 江振瑞 博士2013/07/11

Page 2: LOM- 領隊導向多人連線遊戲自動匹配演算法

2

OUTLINE

序論 相關研究 提出方法

問題定義解法

模擬 結論

Adaptive Computing and Networking Laboratory

Page 3: LOM- 領隊導向多人連線遊戲自動匹配演算法

3

序論 多人連線遊戲 (Multiplayer Online Games)

讓多位玩者 (Players) 透過網路,連線在一起進行遊戲的一種遊戲模式。 玩者之間的互動種類有:

敵對 (Rivalry) 競爭 (Competition) 合作 (Partnership)

Adaptive Computing and Networking Laboratory

知名多人連線遊戲 Uncharted 3 : Drake’s Deception

Page 4: LOM- 領隊導向多人連線遊戲自動匹配演算法

4

序論 自動匹配 (Matchmaking)

在多人連線遊戲中,其定義為: 將多位玩者匹配在一起,共同進行遊戲的過程。

Adaptive Computing and Networking Laboratory

Matchmaking

‧‧‧‧

Lobby 1 Lobby 2 Lobby N

‧‧‧‧

Page 5: LOM- 領隊導向多人連線遊戲自動匹配演算法

5

序論 現存二大匹配玩者準則:

Connection Based 將互相連線速度較快的玩者匹配在一起進行遊戲。

Skill Based 將技能評分 (Skill Rating) 較接近的玩者匹配在一起進行遊戲。

Adaptive Computing and Networking Laboratory

Lobby 1 Lobby 2 Lobby N

‧‧‧‧

Lobby 1 Lobby 2 Lobby N

‧‧‧‧

Page 6: LOM- 領隊導向多人連線遊戲自動匹配演算法

6

序論 本論文針對玩者互動種類中的合作 (Partnership) ,提出一項新的玩者匹配

準則: Association Based

將一群關聯度高的玩者匹配再一起進行遊戲。 例如:

玩者過去互動的緊密程度。 玩者的默契高低。 玩者個人檔案 (profile) 的相關程度。

Adaptive Computing and Networking Laboratory

Lobby 1 Lobby 2 Lobby N

‧‧‧‧

Page 7: LOM- 領隊導向多人連線遊戲自動匹配演算法

7

序論 並依 Association Based 玩者匹配準則,提出一項自動匹配演算法 Leader-

Oriented Matchmaking(LOM) : 使用到 Minimum Cost Maximum Flow 演算法的概念。 以最佳化的方式去匹配系統中的玩者。 亦可套用於 Connection Based 與 Skill Based 準則中去匹配玩者。

Adaptive Computing and Networking Laboratory

‧‧‧

Page 8: LOM- 領隊導向多人連線遊戲自動匹配演算法

8

相關研究 Matchmaking for Online Games and Other Latency-Sensitive P2P Systems

發表於 2009 年 SIGCOMM ’09 使用球體狀的維瓦第網路座標系統,來估計玩者之間的互相連線速度。

Beyond Skill Rating: Advanced Matchmaking in Ghost Recon Online 發表於 2012 年 Computational Intelligence and AI in Games, IEEE Transactions 從玩者的個人檔案 (Profile) 與記錄檔 (Log) 取出一些資訊,再將之代入類神經網路模型中,來

預估出他和各玩者進行比賽的勝率是多少,再將一群勝率接近 0.5 : 0.5 的玩者匹配在一起進行遊戲。

Adaptive Computing and Networking Laboratory

Page 9: LOM- 領隊導向多人連線遊戲自動匹配演算法

9

提出方法 ( 問題定義 ) 系統中有 n 位玩者想進行遊戲。 此遊戲需要玩者分成若干隊。

Adaptive Computing and Networking Laboratory

‧‧‧‧‧

n

Page 10: LOM- 領隊導向多人連線遊戲自動匹配演算法

10

提出方法 ( 問題定義 ) 每一隊皆需 i 人。

Adaptive Computing and Networking Laboratory

‧‧‧

‧‧‧

‧‧‧

i人

i人

i人

Page 11: LOM- 領隊導向多人連線遊戲自動匹配演算法

11

提出方法 ( 問題定義 ) 我們先從 n 位玩者中推派 k 個隊長,其中 k=

Adaptive Computing and Networking Laboratory

‧‧‧

n

‧‧‧

k n-k

Page 12: LOM- 領隊導向多人連線遊戲自動匹配演算法

12

提出方法 ( 問題定義 ) 每位隊長需在這 n-k 位剩下的玩者中各選出 i-1 位來當自己的隊員。

Adaptive Computing and Networking Laboratory

‧‧‧

n

‧‧‧

k n-k

Page 13: LOM- 領隊導向多人連線遊戲自動匹配演算法

13

提出方法 ( 問題定義 )

Adaptive Computing and Networking Laboratory

‧‧‧

n

‧‧‧

k n-k

‧‧ ‧‧

‧‧

每位隊長和隊員間皆存在可以代表他們之間關聯度高低之值,稱為 Association Factor ,值愈小代表關聯度愈高。

Page 14: LOM- 領隊導向多人連線遊戲自動匹配演算法

14

提出方法 ( 問題定義 ) 因此我們的目標為:

1. 為每位隊長分配 i-1 位隊員。 2. 最小化系統中之 Association Factor 的平均值。

Adaptive Computing and Networking Laboratory

‧‧‧ ‧‧‧ ‧‧‧

i-1 i-1 i-1

‧‧‧

Page 15: LOM- 領隊導向多人連線遊戲自動匹配演算法

15

提出方法 ( 解法 ) 先讓隊長和隊員節點形成一完全二分圖 (Complete Bipartite Graph) 。 再新增二個虛擬節點 S 和 T ,讓 S 去連到所有隊長, T 去連到所有隊員。

Adaptive Computing and Networking Laboratory

‧‧‧

‧‧‧

Fully Connected

S T

‧‧‧

‧‧‧

Page 16: LOM- 領隊導向多人連線遊戲自動匹配演算法

16

提出方法 ( 解法 ) 定義邊上的權重值為二維向量 (CP,AF) 。其中:

CP= 此邊可容納的網路流量。 AF(Association Factor)= 兩節點間的關聯度。

有了下圖後,我們可將之視為 Minimum Cost Maximum Flow 的問題。

Adaptive Computing and Networking Laboratory

‧‧‧

‧‧‧

S T

‧‧‧

‧‧‧

(i-1, 0)

(i-1, 0)

(i-1, 0)

(1, 0)

(1, 0)

(1, 0)

(1, 0)

(1, AF)

(1, AF)

(1, AF)

(1, AF)

(1, AF)

(1, AF)

‧‧‧

Page 17: LOM- 領隊導向多人連線遊戲自動匹配演算法

17

提出方法 ( 解法 ) 我們以 S 為流量網路的起點, T 為流量網路的終點。 用 Successive Shortest Paths Algorithm 解之。

每次從剩餘網路 (Residual Network) 找出一條從 S 到 T 中成本最低的路徑,並沿著它送出一條最大且可容納於此路徑的網路流,再來更新剩餘網路的資訊,直到從剩餘網路中找不到一條可以從 S 通到 T 的路徑為止。

已被證明可得最佳解。 例如:

Adaptive Computing and Networking Laboratory

S T

Flow Network

(0/2,0)

(0/2,0)

(0/1,1)

(0/1,2)

(0/1,10)

(0/1,20)

(0/1,12)

(0/1,10)

(0/1,100)

(0/1,200)

(0/1,0)

(0/1,0)

(0/1,0)

(0/1,0)

S T

Residual Network

(2,0)

(2,0)

(1,1)

(1,2)

(1,10)

(1,20)

(1,12)

(1,10)

(1,100)

(1,200)

(1,0)

(1,0)

(1,0)

(1,0)

Page 18: LOM- 領隊導向多人連線遊戲自動匹配演算法

18

提出方法 ( 解法 ) 我們以 S 為流量網路的起點, T 為流量網路的終點。 用 Successive Shortest Paths Algorithm 解之。

每次從剩餘網路 (Residual Network) 找出一條從 S 到 T 中成本最低的路徑,並沿著它送出一條最大且可容納於此路徑的網路流,再來更新剩餘網路的資訊,直到從剩餘網路中找不到一條可以從 S 通到 T 的路徑為止。

已被證明可得最佳解。 例如:

Adaptive Computing and Networking Laboratory

S T

Flow Network

(0/2,0)

(0/2,0)

(0/1,1)

(0/1,2)

(0/1,10)

(0/1,20)

(0/1,12)

(0/1,10)

(0/1,100)

(0/1,200)

(0/1,0)

(0/1,0)

(0/1,0)

(0/1,0)

S T

Residual Network

(2,0)

(2,0)

(1,1)

(1,2)

(1,10)

(1,20)

(1,12)

(1,10)

(1,100)

(1,200)

(1,0)

(1,0)

(1,0)

(1,0)

(1/2,0)

(1/1,1)

(1/1,0)

(1,0)

(1,0)

(1,-1)

(1,0)

Page 19: LOM- 領隊導向多人連線遊戲自動匹配演算法

19

提出方法 ( 解法 ) 我們以 S 為流量網路的起點, T 為流量網路的終點。 用 Successive Shortest Paths Algorithm 解之。

每次從剩餘網路 (Residual Network) 找出一條從 S 到 T 中成本最低的路徑,並沿著它送出一條最大且可容納於此路徑的網路流,再來更新剩餘網路的資訊,直到從剩餘網路中找不到一條可以從 S 通到 T 的路徑為止。

已被證明可得最佳解。 例如:

Adaptive Computing and Networking Laboratory

S T

Flow Network

(0/2,0)

(0/1,2)

(0/1,10)

(0/1,20)

(0/1,12)

(0/1,10)

(0/1,100)

(0/1,200)

(0/1,0)

(0/1,0)

(0/1,0)

S T

Residual Network

(2,0)

(1,2)

(1,10)

(1,20)

(1,12)

(1,10)

(1,100)

(1,200)

(1,0)

(1,0)

(1,0)

(1,0)

(1/2,0)

(1/1,1)

(1/1,0)

(1,0)

(1,0)

(1,-1)

(1,0)

(2/2,0)

(1/1,2)

(1/1,0)(2,0)

(1,-2)

(1,0)

Page 20: LOM- 領隊導向多人連線遊戲自動匹配演算法

20

提出方法 ( 解法 ) 我們以 S 為流量網路的起點, T 為流量網路的終點。 用 Successive Shortest Paths Algorithm 解之。

每次從剩餘網路 (Residual Network) 找出一條從 S 到 T 中成本最低的路徑,並沿著它送出一條最大且可容納於此路徑的網路流,再來更新剩餘網路的資訊,直到從剩餘網路中找不到一條可以從 S 通到 T 的路徑為止。

已被證明可得最佳解。 例如:

Adaptive Computing and Networking Laboratory

S T

Flow Network

(0/2,0)

(0/1,10)

(0/1,20)

(0/1,12)

(0/1,10)

(0/1,100)

(0/1,200)

(0/1,0)

(0/1,0)

S T

Residual Network

(2,0)

(1,10)

(1,20)

(1,12)

(1,10)

(1,100)

(1,200)

(1,0)

(1,0)

(1,0)

(1,0)

(1/1,1)

(1/1,0)

(1,-1)

(1,0)

(2/2,0)

(1/1,2)

(1/1,0)(2,0)

(1,-2)

(1,0)

(1/2,0) (1/1,10)

(0/1,2)

(1/1,0)

(1/1,10)

(1,0)

(1,0)

(1,-10)

(1,2)

(1,-10)

(1,0)

Page 21: LOM- 領隊導向多人連線遊戲自動匹配演算法

21

提出方法 ( 解法 ) 我們以 S 為流量網路的起點, T 為流量網路的終點。 用 Successive Shortest Paths Algorithm 解之。

每次從剩餘網路 (Residual Network) 找出一條從 S 到 T 中成本最低的路徑,並沿著它送出一條最大且可容納於此路徑的網路流,再來更新剩餘網路的資訊,直到從剩餘網路中找不到一條可以從 S 通到 T 的路徑為止。

已被證明可得最佳解。 例如:

Adaptive Computing and Networking Laboratory

S T

Flow Network

(0/1,20)

(0/1,12)

(0/1,100)

(0/1,200)

(0/1,0)

S T

Residual Network

(1,20)

(1,12)

(1,100)

(1,200)

(1,0)

(1,0)

(1,0)

(1/1,1)

(1/1,0)

(1,-1)

(1,0)

(2/2,0)(1/1,0)

(2,0)(1,0)

(1/2,0) (1/1,10)

(0/1,2)

(1/1,0)

(1/1,10)

(1,0)

(1,0)

(1,-10)

(1,2)

(1,-10)

(1,0)

(2/2,0)

(1/1,12)

(0/1,1)

(1/1,20)

(1/1,0) (2,0)

(1,1)

(1,-20)

(1,-12)(1,0)

Page 22: LOM- 領隊導向多人連線遊戲自動匹配演算法

22

提出方法 ( 解法 ) 我們以 S 為流量網路的起點, T 為流量網路的終點。 用 Successive Shortest Paths Algorithm 解之。

每次從剩餘網路 (Residual Network) 找出一條從 S 到 T 中成本最低的路徑,並沿著它送出一條最大且可容納於此路徑的網路流,再來更新剩餘網路的資訊,直到從剩餘網路中找不到一條可以從 S 通到 T 的路徑為止。

已被證明可得最佳解。 例如:

Adaptive Computing and Networking Laboratory

S T

Flow Network

(0/1,100)

(0/1,200)

S T

Residual Network

(1,100)

(1,200)

(1,0)

(1,0)

(1,0)

(1/1,0) (1,0)

(2/2,0)(1/1,0)

(2,0)(1,0)

(1/1,10)

(0/1,2)

(1/1,0)

(1/1,10)

(1,0)

(1,-10)

(1,2)

(1,-10)

(1,0)

(2/2,0)

(1/1,12)

(0/1,1)

(1/1,20)

(1/1,0)(2,0)

(1,1)

(1,-20)

(1,-12)(1,0)

Page 23: LOM- 領隊導向多人連線遊戲自動匹配演算法

23

模擬 比較對象:

L2M Greedy M2L Greedy Random

比較方式 執行結果的好壞。 執行時間之複雜度。

Adaptive Computing and Networking Laboratory

‧‧‧

‧‧‧

L2M Greedy‧‧‧

‧‧‧

M2L Greedy

‧‧‧

‧‧‧

Random

Page 24: LOM- 領隊導向多人連線遊戲自動匹配演算法

24

模擬 隊員和隊長間之關聯度呈平均分佈 (Uniform Distribution) 。

Adaptive Computing and Networking Laboratory

Page 25: LOM- 領隊導向多人連線遊戲自動匹配演算法

25

模擬 隊員和隊長間之關聯度呈常態分佈 (Normal Distribution) 。

Adaptive Computing and Networking Laboratory

Page 26: LOM- 領隊導向多人連線遊戲自動匹配演算法

26

模擬 各演算法的執行時間複雜度。

為何 LOM 需要 ? Successive Shortest Paths Algorithm 在 LOM 中 : : 總網路流量數 : 總邊數 : 總點數

Adaptive Computing and Networking Laboratory

Page 27: LOM- 領隊導向多人連線遊戲自動匹配演算法

27

模擬 各演算法的執行時間模擬結果。 硬體規格為:

AMD Phenom(tm) 9650 Processor 2.41 GHZ、 2.00 GB Memory、Windows XP32 bits

Adaptive Computing and Networking Laboratory

Page 28: LOM- 領隊導向多人連線遊戲自動匹配演算法

28

結論 在此論文中,我們首先提出了一項新的應用於自動匹配的玩者匹配準則,稱

為 Association Based ,並依此準則提出了一項新的自動匹配演算法 Leader-Oriented Matchmaking(LOM) 。

在 Association Based 中,關聯度較高的玩者被匹配在一起進行遊戲。 LOM 使用到 Minimum Cost Maximum Flow 演算法的概念,以最佳化的方式

去匹配系統中的玩者。 我們做了模擬與分析,發現 LOM 能產生最佳的平均關聯度,但執行時間複雜

度較高。

Adaptive Computing and Networking Laboratory

Page 29: LOM- 領隊導向多人連線遊戲自動匹配演算法

29

Q&A

Thank you for listening and participating.

Adaptive Computing and Networking Laboratory


Top Related