PHƯƠ NG NG PHÁP Q-LEARNING VÀ Ứ NG NG DỤNG CỦA PHƯƠ NG NG PHÁP NÀY TRONG VIỆC GIẢI QUYẾT MỘT SỐ BÀI TOÁN TÌM ĐƯỜ NG NG
ThS. CHÂU MẠNH QUANG Bộ môn Thi ế ế t k ế ế máy ơ khí Khoa C ơ Tr ườ ườ ng ng Đạ Đại học Giao thông V ận t ải
Tóm t ắt: Q-learning là phươ ng ất hiệu quả cho bài toán tìm ng pháp học t ăng cườ ng ng r ấ
đườ ng ng do phươ ng ng pháp này đượ c thự c hiện theo kiể u off-policy. Vì vậ y phươ ng ng pháp này đượ c đ iề u chỉ nh ết hợ p vớ i một số phươ ng nh hoặc k ế ng pháp khác để giải quyế t các bài toán đặc biệt như tìm đườ ng ng trong mạng (Q-routing) hay tìm đườ ng ng của hệ thố ng ng multi-agent (Ant-Q). Summary: Q-learning is a very effective reinforcement learning method in solving path
finding problem because it uses off-policy approach. Thus, this method is also modified or combined with other methods to deal with some special cases of the path finding problem. Some examples are Q-routing for network routing problems and Ant-Q for transferring knowledge in the multi-agent environment. CT 2
I. ĐẶT VẤN ĐỀ Tr ướ ướ c đây ngườ i ta giải quyết bài toán tìm
ng bằng cách s ử dụng các thuật toán tìm đườ ng ng c ổ điển. Tuy nhiên các thu ật toán tìm đườ ng ng có r ất nhiều h ạn ch ế ví d ụ như đòi h ỏi môi đườ ng tr ườ ng phải xác định và cố định và không x ử lý đượ c nhiều tình huống thực tế. Vớ i sự phát triển ườ ng của trí tuệ nhân tạo, ngày nay các ph ươ ng ng tiện vớ i sự tr ợ ợ giúp của máy tính có th ể “học”, hay nói cách khác là t ự tìm ra đượ c quy luật hành động nói chung hay tìm đườ ng ng nói riêng thông qua các kinh nghi ệm thu đượ c từ những hành động đượ c thực hiện tr ướ ướ c đó. Cách học từ những kinh nghi ệm trong quá kh ứ này đượ c gọi là học tăng cườ ng. ng. Có nhi ều phươ ng ng pháp h ọc tăng cườ ng ng khác nhau, trong đó phươ ng ng pháp Q-learning là có hi ệu quả nhất trong việc giải quyết bài toán tìm đườ ng. ng. Nội dung của bài bào này minh h ọa cho tính hi ệu quả của phươ ng ng pháp Qlearning và m ột số biến th ể của phươ ng ng pháp này để giải quyết bài toán tìm đườ ng ng trong nh ững môi tr ườ ng đặc biệt như mạng máy tính hay multi-agent. ườ ng
II. HỌC TĂNG CƯỜ NG NG Học tăng cườ ng ng là ph ươ ng ng pháp h ọc thông qua t ươ ng ng tác vớ i môi tr ườ ng. Mô hình c ủa h ọc ườ ng. tăng cườ ng ng g ồm có 3 thành ph ần chính: tác t ử (agent), môi tr ườ ng (environment) và giá tr ị phản ườ ng
hồi (reward). Quá trình h ọc là một quá trình l ặ p đi lặ p lại (iteration) các hành
động (action). Sau khi thực hiện mỗi hành động thì agent nhảy từ vị trí (hay tr ạng thái - state) này sang v ị trí (tr ạng thái) khác, và đồng thờ i nh ận đượ c giá tr ị phản h ồi (reward) t ừ hành động c ũ. D ựa vào các giá tr ị phản hồi nhận đượ c agent có th ể điều chỉnh luật chọn hành động (policy) c ủa mình trong các bướ c ti ế p theo. Việc điều ch ỉnh và t ối ưu hóa lu ật ch ọn hành động d ựa vào các giá tr ị phản h ồi chính là quá trình h ọc t ăng c ườ ng. ng. Rõ ràng là quy lu ật ch ọn l ựa hành động c ủa agent thu đượ c sau quá trình h ọc càng g ần tối ưu nếu quá trình h ọc càng kéo dài và s ố lượ ng ng các tình hu ống mà agent gặ p phải là càng nhi ều.
Hình 1. Mô hình t ươ ươ ng ườ ng ng tác agent - môi tr ườ ng
Vớ i mô hình h ọc tăng cườ ng ng như vậy thì vấn
đề cần giải quyết là các thông tin ph ản hồi (reward) đượ c x ử lý như thế nào. Sau mỗi hành động thì agent nh ận đượ c m ột giá tr ị phản h ồi và sau một quá trình học lâu dài thì s ố lượ ng ng các thông tin ph ản h ồi này là r ất lớ n mà t ại mỗi thờ i điểm không th ể quan tâm đến t ất c ả mọi giá tr ị này đượ c. c. Để giải quyết v ấn đề này thì mô hình học tăng cườ ng ng đượ c đưa về mô hình Markov (MDP - Markov Decision Process), là s ự mở r ộng của chuỗi Markov. Chu ỗi Markov là một quá trình ng ẫu nhiên mà giá tr ị hàm xác suất (probability distribution function) c ủa mỗi bướ c tiế p theo chỉ phụ thuộc vào các thông s ố của bướ c tr ướ ướ c đó, điều này cho phép ta ch ỉ quan tâm tớ i giá tr ị phản h ồi ngay tr ướ ướ c đó t ại m ỗi v ị trí. Lý thuy ết h ọc t ăng c ườ ng ng hiện nay dựa vào mô hình Markov, do đó các bài toán không th ể ng pháp h ọc tăng cườ ng. ng. đưa về đượ c mô hình Markov thì không th ể giải quyết đượ c bằng phươ ng p (tuple) : Mô hình Markov (MDP) đ ượ c định ngh ĩ a là tậ p hợ S: tậ p các vị trí (hay tr ạng thái - state). A: tậ p các hành động (action). T: SxA -> P(S): là hàm xác su ất (probability distribution function) cho t ừng cặ p vị trí hành động. Hàm này gán giá tr ị xác suất cho từng cặ p vị trí - hành động.
ρ: SxA -> R: là payoff function, gán giá tr ị phản hồi cho từng hành động tại vị trí xác định. Mô hình Markov có th ể là xác
định (vớ i t ừng c ặ p v ị trí - hành động xác định thì cho ra v ị trí k ế tiế p giống nhau ở mọi thờ i điểm) hoặc không xác định. Vớ i mô hình Markov xác su ất chuyển đến vị trí s’ từ vị trí s và hành a
P ss' = Pr{s t+1 =s’|s t =s,a t =a} Và giá tr ị phản hồi là: a
R ss' = E{r t +1 |s t = s,a t = a,s t +1 = s’}
động a là:
CT 2
Ta gọi giá tr ị “return” là tổng của các giá tr ị phản hồi tính từ thờ i điểm hiện t ại cho đến khi agent đạt đến đích, hoặc đến cuối giai đoạn (nếu quá trình học đượ c chia thành nhi ều giai đoạn episode). R t = r t +1 +r t + 2 +…+r T Trong đó T là bướ c cuối cùng tr ướ ướ c khi đến đích. Thực nghi ệm cho thấy nếu ta giảm dần mức độ quan tr ọng của các bướ c ở các thờ i điểm xa vớ i thờ i điểm hiện tại thì quá trình h ọc sẽ hội tụ nhanh hơ n. n. Điều đó có ngh ĩ a là ta cần thêm vào hệ số khấu hao γ. Giá tr ị phản hồi ở thờ i điểm cách hiện tại bao nhiêu bướ c thờ i gian thì sẽ đượ c nhân vớ i giá tr ị khấu hao γ bấy nhiêu lần. Như vậy giá tr ị “return” sẽ đượ c tính nh ư sau: R t = r t +1 +γr t + 2 +γ r t+ 3 +… = 2
∞
∑γ
k
r t+k+1
k =0
Mọi thuật toán của học tăng cườ ng ng đều dựa trên hàm giá tr ị. Hàm giá tr ị cung cấ p giá tr ị dự
đoán mức độ “tốt” của agent ở vị trí hiện t ại trong quá trình tìm đến đích. Hàm này chính là giá tr ị “return” ướ c tính tại từng v ị trí (hay c ặ p v ị trí - hành động) ứng vớ i một lu ật chọn hành động (policy) xác định nào đó. Ta có th ể xác định hàm giá tr ị theo vị trí hay theo c ặ p giá tr ị vị trí hành động. Hàm giá tr ị theo vị trí (state - value function) V ứng v ớ i lu ật ch ọn hành
động π tại v ị trí s
đượ c xác định như sau: CT 2
∞
π
V (s) = E π {R t |s t = s} = E π { ∑ γ k r t+k+1 |s t = s} k =0
Hàm giá tr ị theo cặ p v ị trí - hành
động (action - state value function) Q đượ c xác định như
sau: ∞
π
Q (s,a) = E π {R t |s t = s,a t = a} = E π { ∑ γ k r t+k+1 |s t = s,a t = a} k =0
Quá trình học tăng cườ ng ng là quá trình tìm ki ếm policy tối ưu, có ngh ĩ a là quá trình điều chỉnh giá tr ị của hàm giá tr ị về giá tr ị tối ưu. Quá trình điều chỉnh đượ c thực hiện bở i việc lặ p đi lặ p lại một số lượ ng ng lớ n bướ c thực hiện các hành
động, gọi là iteration. M ột luật chọn hành động là t ối ưu nếu và chỉ nếu giá tr ị của hàm giá tr ị ứng v ớ i luật chọn hành động đó luôn l ớ n hơ n ho ặc b ằng hàm giá tr ị của các luật ch ọn hành động khác. Gọi V* và Q* là các hàm giá tr ị tối ưu ta có th ể xác định các hàm này b ằng cách sau: V*(s) = max V π (s) π
Q*(s, a) = maxQ π (s,a) ,a) π
Có ngh ĩ a là giá tr ị các hàm V* và Q* chính là giá tr ị của các hàm V và Q ứng vớ i luật chọn hành động tối ưu (cho ra giá tr ị V(s) hay Q(s, a) l ớ n nhất tại mỗi vị trí s) [2].
Các loại thuật toán học tăng cườ ng ng thông th ườ ng ng gồm có lậ p trình
động (dynamic programming), Monte-Carlo và ph ươ ng ng pháp TD (temporal-difference). Tuy nhiên các ph ươ ng ng pháp l ậ p trình động và Monte-Carlo không hi ệu quả do đòi hỏi bộ nhớ quá lớ n, n, hoặc mô hình phải xác định hay khó h ội tụ nên ít khi cho ra k ết quả tối ưu. Phươ ng ng pháp TD là s ự k ết hợ p của những phươ ng ng pháp k ể trên và cho phép gi ải quyết đượ c nhiều bài toán th ực tế bở i vì ph ươ ng ng pháp này không đòi hỏi môi tr ườ ng xác định và có kh ả năng hội tụ cao. Một biến thể của ườ ng phươ ng ng pháp TD đượ c gọi là Q-learning, là ph ươ ng ng pháp học kiểu TD theo hướ ng ng off-policy, r ất hiệu quả trong việc giải quyết các bài toán tìm đườ ng. ng. III. PHƯƠ NG NG PHÁP Q-LEARNING ng pháp h ọc theo ki ểu off-policy. Quá trình h ọc t ăng c ườ ng ng có thể đượ c th ực Đây là phươ ng hiện theo hai cách: off-policy và on-policy. On-policy s ử dụng một lu ật chọn hành động để thực hiện các bướ c hành động để tối ưu hóa chính lu ật ch ọn hành động đó. Phươ ng ng pháp off-policy sử dụng m ột lu ật ch ọn hành động để thực hi ện các hành động nhưng v ớ i m ục đích là để tối ưu hóa một luật chọn hành động khác. Phươ ng ng pháp này s ử dụng hàm Q (action-state value function). Hàm Q
đượ c xác định bằng
phươ ng ng pháp Q-learning nh ư sau: Q(s t ,a t ) ← Q(s t ,a t ) + α[r t+1 + γ max Q(s t+1 ,a) - Q(s t ,a t )] a
Vớ i
γ là giá tr ị khấu hao cho giá tr ị Q của bướ c tiế p theo như đã đượ c trình bày ở phần tr ướ c, và α là ướ c, “step size” - tham s ố
đưa thêm vào để điều chỉnh mức độ tối ưu của quá trình h ọc. Luật hành động học đượ c chính là t ậ p các hành động tại từng vị trí mà Q(s,a) t ại vị trí đó lớ n nhất [2]. Vớ i cách điều ch ỉnh giá tr ị của hàm Q theo t ừng b ướ c như vậy ta có th ể mô t ả thuật toán như sau:
đầu tiên ta gán giá tr ị Q ban đầu cho các v ị trí. Vị trí đích có giá tr ị phản h ồi (reward) r ất lớ n. n. Vị trí “nguy hi ểm” có giá tr ị âm r ất lớ n. n. Các vị trí khác có giá tr ị phản hồi là 1. Khi agent nhảy vào v ị trí nào thì nh ận đượ c giá tr ị phản h ồi c ủa v ị trí đó. Sau đó ta thực hi ện l ặ p đi lặ p l ại các quá trình th ực hi ện hành động và cứ sau mỗi bướ c th ực hi ện hành động thì lại điều chỉnh lại giá tr ị hàm Q cho các v ị trí liên quan đến hành động vừa đượ c thực hiện. Luật chọn hành động dùng để học thông th ườ ng ng là ε-greedy. Toàn bộ quá trình th ực hiện thuật toán cho m ột quá trình (episode) Gán giá tr ị khở i đầu cho Q(s, a) Repeat (cho t ừ ừng ng episode)
Đặt s vào vị trí bắ t t đầu ng bướ c của episode) Repeat (cho t ừ ừ ng Chọn hành động a (ch ẳ ng ng hạn bằ ng ng phươ ng ng pháp ε-greedy)
đượ c trình bày nh ư sau:
CT 2
Thự c hiện bướ c a, nhận đượ c giá tr ị phản hồi r và vị trí tiế p theo s’ nh giá tr ị hàm Q: Điề u chỉ nh Q(s, a) ← Q(s, a) + α[r + γ max Q(s’, a’) – Q(s, a)] a'
s ← s’ Until s là vị trí đ ích ích hoặc đ ã thự c hiện hế t số l ượ ng bướ c giớ i hạn của episode. ượ ng
Vớ i phươ ng ng pháp này thì lu ật chọn hành
ng đượ c thực hiện theo động để học thông th ườ ng phươ ng ng pháp ε-greedy trong khi vi ệc điều chỉnh giá tr ị hàm Q ứng vớ i mỗi cặ p vị trí – hành động (s,a) đượ c thay đổi dựa trên giá tr ị Q tối ưu của cặ p (s’,a’) k ế tiế p mà hành động a’ không nhất thiết là hành động đượ c ch ọn theo “policy” đang đượ c áp d ụng. Do đó ph ươ ng ng pháp này thuộc loại off-policy. Xét về lý thuy ết ta có thể nhận th ấy ph ươ ng ng pháp ki ểu off-policy cho phép khám phá
đượ c nhiều hơ n so vớ i on-policy nên kh ả năng tìm ra đượ c những lối đi mớ i có quãng đườ ng ng ngắn hơ n là cao h ơ n so vớ i phươ ng ng pháp on-policy. Th ực nghiệm cũng xác nh ận quan điểm này.
CT 2
Để minh họa cho lậ p luận trên và đồng thờ i để mô t ả cách áp dụng thuật toán Q-learning vào bài toán tìm đườ ng ng thông th ườ ng ng ta có th ể thực hiện bài toán kinh điển gridworld b ằng phươ ng ng pháp Q-learning và bằng một phươ ng ng pháp khác theo ki ểu on-policy và so sánh k ết quả. Phươ ng ng pháp on-policy đượ c ch ọn là SARSA – là ph ươ ng ng pháp h ọc r ất hi ệu qu ả theo kiểu on policy. Vớ i phươ ng ng pháp SARSA thì hàm Q đượ c điều chỉnh sau mỗi bướ c thực hiện hành động theo công th ức sau: Q(s t , a t ) ← Q(s t , a t ) + α[r t +1 + γQ(s t +1 , a t+1 ) - Q(s t , a t )] ng di chuy ển từ điểm khở i đầu đến đượ c thực hiện bằng việc cho agent tìm đườ ng ng ngại v ật. Agent sẽ khở i động t ừ vị trí ô xanh và đích là ô đỏ. Các ô điểm đích vớ i các chướ ng màu xám bi ểu th ị cho vật c ản. Các b ướ c đi g ồm có sang trái, sang ph ải, đi lên, đi xuống. Luật hành động chính là h ướ ng ng đi tối ưu cho t ừng v ị trí để đến đượ c đích vớ i số bướ c đi ng ắn nh ất (hình vẽ 2). Quá trình th ực hi ện đượ c chia thành nhiều giai đoạn (episode), m ỗi giai đoạn đượ c k ết thúc sau khi agent đến đượ c đích hoặc agent th ực hiện hết một số lượ ng ng bướ c đượ c quy định. Trong quá trình th ực hi ện các bướ c đều có điều ch ỉnh l ại giá tr ị hàm Q cho các vị trí liên quan. Thực nghiệm đượ c ti t iến hành vớ i các tham s ố thay đổi nhằm ki ểm tra hiệu qu ả của từng thuật toán v ớ i từng điều kiện nhất định. Trong quá trình th ực nghiệm thì số lượ ng ng giai đoạn cũng như bướ c nh ảy cho mỗi giai đoạn đượ c ch ọn thích hợ p để thể hiện rõ sự khác biệt v ề k ết quả các phươ ng ng pháp h ọc. Mỗi lần học thì k ết quả đượ c đo 3 lần và chọn ra k ết quả tốt nhất. Bài toán đượ c thực hiện cho c ả 2 phươ ng ng pháp SARSA và Q-learning, áp d ụng phươ ng ng pháp εgreedy để chọn hành động và thay đổi giá tr ị các tham số α, γ, ε trong kho ảng từ 0 - 1. Bài toán
Hình 2. Chươ ng ối ư u - chính ng trình thự c nghiệm. Các mũi tên màu xanh là các hướ ng ng đ i t ố ối ư u. ối ư u đ ã học đượ c. là bộ luật hành động t ố u. Các mũi tên màu hồng là các hướ ng ng đ i t ố c.
Các thông số cần
ng đượ c xác định là số ô ch ưa đượ c tìm ra “policy” t ối ưu và quãng đườ ng ngắn nhất xác định đượ c. c. K ết quả thống kê số ô chưa tìm đượ c “policy” tối ưu đượ c ghi lại trong các b ảng thực nghiệm c ủa [5]. Do khuôn kh ổ của bài báo có h ạn nên chỉ trình bày đượ c một vài k ết quả thực nghi ệm: Q-learning, ε = 0.75, 100 episode, max 100 b ướ c/episode c/episode
CT 2
γ=1
γ = 0.75
γ = 0.5
γ = 0.25
γ=0
α=1
72
22
31
66
74
α = 0.75
50
64
66
51
74
α = 0.5
55
41
42
46
74
α=1 α = 0.75 α = 0.5
SARSA, ε = 0.75, 100 episode, max 100 b ướ c/episode c/episode γ=1 γ = 0.75 γ = 0.5 γ = 0.25 72 74 68 73 72 64 60 73 66 68 51 54
γ=0 74 74 74
Từ k ết quả thực nghiệm
đượ c tiến hành ở [5] cho th ấy mặc dù k ết quả thực nghiệm phụ thuộc vào nhiều y ếu t ố (các tham số α, γ, ε), đặc bi ệt là giá tr ị ε có ảnh h ưở ng ng r ất nhiều đến k ết quả học của Q-learning ( ε càng bé thì quá trình khám phá đượ c thực hiện càng ít dẫn đến k ết quả học c ủa Q-learning càng x ấu đi), tuy nhiên xét v ề k ết qu ả chung thì Q-learning th ườ ng ng tìm n. đượ c luật hành động tối ưu cho nhiều ô hơ n. Thực nghiệm tiế p theo so sánh k ết quả thực tế của hai phươ ng ng pháp học trong cùng điều kiện tham số. K ết quả đượ c xác định ở đ ng đi ngắn nhất từ điểm khở i đầu đến đích sau ở đây là đườ ng
khi thực hiện từng phươ ng ng pháp h ọc, đượ c trình bày trong b ảng dướ i đây: c/episode ε = 0.75, α = 0.5, 80 episode, max 100 b ướ c/episode γ=1 γ = 0.75 γ = 0.5 γ = 0.25 Q-learning SARSA
22 75
18 75
18 75
18 75
c/episode ε = 0.2, α = 0.5, 80 episode, max 100 b ướ c/episode γ=1 γ = 0.75 γ = 0.5 γ = 0.25 Q-learning SARSA
75 75
75 75
73 75
75 75
γ=0 24 75
γ=0 75 75
Vớ i k ết quả thu
đượ c ở trên ta có th ể k ết luận r ằng bài toán gridworld thích h ợ p hơ n vớ i phươ ng ng pháp off-policy do c ần ph ải tìm kiếm r ộng ra cho m ọi ô. K ết quả thực nghiệm cũng cho thấy vớ i điều kiện chỉ thực hiện 80 giai đoạn, vớ i tối đa là 100 b ướ c đi cho mỗi giai đoạn và v ớ i giá tr ị ε khá lớ n (ở đ ng pháp Q-learning đã bắt đầu cho ra k ết quả tối ưu (18 ở đây là 0.75) thì ph ươ ng bướ c). c). Trong khi đó ph ươ ng ng pháp SARSA v ớ i mọi giá tr ị của ε vẫn ch ưa cho ra đượ c k ết quả tối ưu. Qua đó ta có thể k ết lu ận r ằng phươ ng ng pháp Q-learning mang l ại hi ệu qu ả lớ n trong vi ệc giải quyết bài toán tìm đườ ng. ng. Do có hi ệu quả cao trong các bài toán tìm
ng nên ph ươ ng ng pháp Q-learning còn đượ c đườ ng điều chỉnh hoặc k ết hợ p vớ i các thuật toán khác để giải quyết các bài toán đặc biệt. Phần tiế p theo sẽ trình bày về phươ ng ng pháp Q-routing áp d ụng cho tìm đườ ng ng trên mạng và ph ươ ng ng pháp Ant-Q áp dụng cho vi ệc tìm đườ ng ng của hệ thống multi-agent, là nh ững phươ ng ng pháp k ết hợ p vớ i Q-learning. CT 2
IV. PHƯƠ NG NG PHÁP Q-ROUTING Phươ ng ng pháp này là bi ến th ể của ph ươ ng ng pháp Q-learning, dùng
ng truyền để xác định đườ ng ngắn nhất trên mạng. Mỗi một server trên mạng có l ưu giữ giá tr ị Q của riêng mình. T ậ p các giá tr ị Q của các nút trên m ạng tạo thành bảng giá tr ị Q (Q table). Khi một server x gửi gói thông tin đến server d đi qua server y k ế cận v ớ i x thì server y s ẽ gửi l ại giá tr ị phản h ồi cho server x là khoảng thờ i gian ướ c tính của quãng đườ ng ng t ừ y đến d. Sau khi nh ận đượ c giá tr ị phản h ồi từ y, x ch ọn server z’ trong s ố các server k ề cận v ớ i mình mà có giá tr ị Q nh ỏ nhất để điều ch ỉnh l ại giá tr ị Q của chính mình. Quá trình h ọc đượ c th ực hiện b ằng cách cho m ột s ố lượ ng ng ngẫu nhiên các server đồng loạt gửi các gói thông tin vào m ạng và sau m ột số lần lặ p đi lặ p lại quá trình này đủ lớ n thì giá tr ị Q của các server trên m ạng hội tụ về gần vớ i giá tr ị tối ưu. Thuật toán đượ c mô tả như sau: Ta g ọi: Q x(d,y) - là th ờ i gian
ướ c đoán mà từ x ta gửi đượ c gói thông tin đến d đi qua y k ề cận vớ i x, bao g ồm cả thờ i gian gói thông tin n ằm trong hàng đợ i của x. Thuật toán g ồm các bướ c: c: Khi x nh ận
đượ c gói thông tin thì g ửi cho máy k ề cận là y. Y đượ c chọn theo quy lu ật học
(learning policy).
Sau khi x đã gửi gói thông tin cho y, x nh ận đượ c giá tr ị phản hồi từ y. Giá tr ị phản hồi này là giá tr ị Q của z nào đó k ề cận vớ i y mà có giá tr ị Qy(d,z) nhỏ nhất. Gọi giá tr ị phản hồi này là t ta có: t = min z is a neighbor of y Qy(d,z). Giả sử gói thông tin
đượ c g ửi đã n ằm trong hàng đợ i c ủa x thờ i gian là q, và th ờ i gian để chuyển gói tin t ừ x sang y là s. Khi đó giá tr ị Q mớ i đượ c điều chỉnh cho x là: Qx(d,y) ←
α ( q + s + t - Q x(d,y) )
Trong đó α là “learning rate”, t ức là t ỷ lệ khấu hao cho t ừng bướ c học. Sau khi quá trình h ọc k ết thúc thì trong quá trình v ận hành của mạng, x s ẽ chọn y có giá tr ị Q x (d,y) nhỏ nhất khi mu ốn gửi gói tin đến d.
V. PHƯƠ NG NG PHÁP ANT-Q Trong tình hu ống khi mà trong môi tr ườ ng ng có nhi ều agent cùng h ọc một lúc (multi-agent environment) thì vi ệc k ết hợ p, chuyển giao các kinh nghi ệm đã
đượ c học giữa các agent đượ c thực hiện nhờ thuật toán đàn kiến (Ant System - AS). Thu ật toán đàn kiến đượ c phát minh ra dựa trên vi ệc quan sát ho ạt động của đàn kiến. Quá trình ho ạt động tìm đườ ng ng của đàn kiến đượ c mô tả như sau: Tất cả mọi con ki ến h ầu như là mù, chúng ch ỉ có thể tươ ng ng tác vớ i nhau và v ớ i môi tr ườ ng ườ ng
bằng cách sử dụng pheromone: đi
đến đâu chúng xịt pheromone ra đến đấy. M ỗi m ột con kiến tại mỗi v ị trí quyết định h ướ ng ng đi ti ế p theo dựa vào nồng độ pheromone c ủa các hướ ng. ng. Tại v ị trí mà nồng độ pheromone xung quanh đều b ằng nhau ho ặc không có pheromone thì chúng s ẽ quyết định hướ ng ng đi một cách ng ẫu nhiên. C ứ như vậy thì các con ki ến cứ đi theo bướ c chân của nhau và t ạo thành một đườ ng ng đi (path). Ta xét tr ườ ng hợ p tổ kiến ở vị trí 1 và ngu ồn thức ăn ườ ng ở vị trí 2 như hình vẽ 3:
Hình 3.
Giả sử tại thờ i điểm ban đầu có 2 con ki ến ra đi tìm thức ăn. Vì ban đầu chưa có pheromone nên chúng ch ọn 2 hướ ng ng đi khác nhau m ột cách ngẫu nhiên. M ột hướ ng ng có đườ ng ng đi ng kia. Trong giai đoạn đầu các con kiến đi sau sẽ cảm nhận thấy đến nguồn thức ăn dài hơ n hướ ng nồng độ pheromone của c ả 2 h ướ ng ng là nh ư nhau nên c ũng chọn đi theo một trong 2 hướ ng ng một cách ngẫu nhiên. Tuy nhiên đườ ng ng đi ngắn hơ n làm cho kho ảng thờ i gian di chuy ển từ tổ đến nguồn thức ăn r ồi quay tr ở ng đó cũng ngắn hơ n và do đó mật ở lại của mỗi con kiến theo con đườ ng ng ngắn s ẽ cao hơ n con đườ ng ng dài. độ di chuyển qua lại c ủa đàn kiến t ại m ỗi v ị trí của con đườ ng
CT 2
Do mật
ng ngắn càng độ qua lại lớ n hơ n dẫn đến k ết quả là nồng độ pheromone trên con đườ ng ngày càng cao h ơ n con đườ ng ng dài. K ết quả cuối cùng là đàn kiến ngày càng t ừ bỏ con đườ ng ng dài và đi theo con d ườ ng ng ngắn. Đến một lúc nào đó s ẽ không còn con ki ến nào đi theo con đườ ng ng dài nữa mà tất cả đều đi theo con đườ ng ng ngắn. Thuật toán d ựa trên ho ạt động c ủa đàn kiến có một s ố biến th ể. D ạng đơ n gi ản nh ất g ọi là AS (Ant System). Thuật toán này ch ỉ dùng để giải quyết bài toán tìm đườ ng. ng. Ở mức cao hơ n là thuật toán ACO (Ant Colony Optimization). Thu ật toán này cho phép các agent tr ươ ng tác vớ i ươ ng nhau để điều chỉnh hướ ng ng đi. Thuật toán ACO k ết hợ p vớ i thuật toán Q-learning Ant-Q. Nội dung chi ti ết về các thuật toán sẽ đượ c trình bày ở các phần k ế tiế p.
đượ c gọi là
5.1. AS Thuật toán này r ất đơ n giản. Mỗi agent đượ c trang bị một buffer. Các agent đượ c khở i ng một cách ngẫu nhiên b ắt đầu ở vị trí xuất phát. Các v ị trí mà agent đi qua động đi tìm đườ ng ng đi của agent nào đó đã vượ t quá độ dài cho phép thì dù cho đượ c lưu vào buffer. Khi mà đườ ng agent chưa đến đượ c đích cũng bị “bay hơ i” i” giữa chừng. Các agent đến đượ c đích sẽ đượ c kiểm tra buffer để xác định đườ ng ng đi ngắn nhất.
5.2. ACO Thuật toán này có s ử dụng đến yếu t ố pheromone. V ớ i một agent k nào đó tại vị trí I, agent chọn đi tớ i vị trí j liền k ề vớ i i theo xác su ất sau:
CT 2
Trong đó:
η ij là giá tr ị heuristic cho bài toán. V ớ i bài toán TSP (Trade Salesman Problem) thì η ij = 1/d ij vớ i d ij là khoảng cách giữa 2 thành ph ố i và j. N i là tậ p các vị trí lân cận của i mà agent k có th ể đến đượ c. c. k
ng đi từ i đến j. τ ij là nồng độ pheromone trên đườ ng
α, β là các giá tr ị chỉ thị mức độ quan tr ọng của τ và η. Giá tr ị của nồng
c, bao gồm mức giảm độ pheromone c ũng đượ c điều chỉnh sau từng b ướ c, trên tuyến đườ ng ng theo thờ i gian vớ i hằng số tỷ lệ ρ và mức tăng pheromone Δτ ij do agent k x ịt ra. Nồng độ pheromone đượ c giảm như sau:
Tăng như sau: =
vớ i
=
Vớ i L là “cost “cost of solut solution ion”” cho cho agent agent k, là là một giá tr ị xác agent k trong h ệ thống multi-agent. k
định m ức độ “quan tr ọng” của
K ết quả là:
5.3. Ant-Q Phươ ng ng pháp này c ũng tươ ng ng tự như ACO nhưng có khác ở cách pheromone. Quy luật điều chỉnh này đượ c lấy từ phươ ng ng pháp Q-learning:
điều chỉnh nồng độ
Trong đó i là vị trí k ề cận vớ i j. Như vậy là bằng việc k ết h ợ p v ớ i ph ươ ng ng pháp Q-learning đã làm cho ph ươ ng ng pháp ACO tr ở ở nên hiệu qu ả hơ n và k ết qu ả học c ủa các agent đượ c th ể hiện qua nồng độ pheromone trên từng vị trí.
VI. K ẾT LUẬN Sử dụng phươ ng ng pháp h ọc t ăng c ườ ng ng hiệu qu ả hơ n s ử dụng các phươ ng ng pháp tìm
ng đườ ng cổ điển trong vi ệc giải quyết bài toán tìm đườ ng ng do đòi hỏi ít điều kiện ràng bu ộc hơ n (môi tr ườ ng không nh ất thiết phải xác định, cố định, v.v …). Ngoài ra b ằng cách áp d ụng học tăng ườ ng cườ ng ng ta có thể xử lý đượ c nhiều tình hu ống ví d ụ như như là giúp agent tránh đượ c các vị trí “nguy hiểm” như “r ơ ơi xuống hố” hay “ngã xu ống từ vách đá” từ nhiều bướ c tr ướ ướ c đó - và nh ững vấn đề mà các ph ươ ng ng pháp tìm đườ ng ng cổ điển không x ử lý đượ c. c. Q-learning là ph ươ ng ng pháp h ọc t ăng c ườ ng ng r ất hiệu qu ả trong việc gi ải quyết bài toán tìm ng. Nguyên nhân là do ph ươ ng ng pháp này đượ c thực hiện theo kiểu off-policy, có ngh ĩ a là áp đườ ng. dụng một luật hành động để học và l ại tối ưu hóa cho lu ật hành động khác. Do Q-learning hi ệu quả trong việc giải quyết bài toán tìm
ng nên ph ươ ng ng pháp này đườ ng ng pháp khác để giải quyết các bài toán đặc bi ệt đượ c điều ch ỉnh hoặc k ết h ợ p v ớ i m ột s ố phươ ng như tìm đườ ng ng trong m ạng (Q-routing) hay tìm đườ ng ng của hệ thống multi-agent (Ant-Q).
Tài liệu tham khảo [1]. Reinforcement Learning: Theory and Application, I-TECH Education and Publishing, 2008. [2]. Reinforcement Learning: An Introduction, Richard S. Sutton, The MIT Press, 1998. [3]. Artificial Intelligence - A Modern Approach, Stuart Russel, Pearson Russel, Pearson Education Inc. Inc. 2003. [4]. Reinforcement Learning By Policy Search, PhD Dissertation , Leonid Peskin, Peskin, 2002. [5]. Học tăng cườ ng ng và quyết định Markov, luận văn thạc s ĩ , Châu M ạnh Quang , 2009. [6]. Technical report: Comparison of the Q-Routing and Shortest Path Routing Algorithms. F. F. Tekiner, Z. Ghassemlooy and T.R. Srikanth♦
CT 2