多智能體強化學習簡介

前言

兜兜轉轉總算找到了一些看得進去的知識和文章,能把博弈論知識混雜到無人機集羣之中的最好方式還是很少的,也算機緣巧合找到這個學習資料還算不十分貧瘠的領域。當然難度也是TOP級別的,畢竟自己連單智能體的強化學習都沒整明白。

最後,我是跌跌撞撞摸索了好久才終於摸到了一些探索的方向,所以特別想寫出來告訴後生,一定要找個能帶領你去研究的實驗室,至少這個方向導師是熟悉的,不然什麼都靠你自己去摸索能摸到錘子。

矩陣博弈

首先多智能體強化學習的定義很簡單,多智能體每個個體通過與環境交互獲得獎勵值來改善自身的學習行爲,從而獲得該環境下的最有策略的過程。因爲多智能體之間必然會包含各式各樣的合作和競爭過程,因此博弈的概念就有了用武之地。

對於矩陣博弈的結果,我們想得到更優的效果,往往需要採取一定的策略,策略分爲純策略和混合策略,我們拿幾個簡單的遊戲舉例子:

典型的囚徒博弈,這裏不細講,人們往往會選擇更加符合自身利益的選擇,因此理智的參與者都會選擇保全自己,儘管這樣的結果並不是最優的,但是幾乎是100%發生的,這就是純策略;而對於拋硬幣,一個百分之50隨機的結果往往才能得到均衡的結果,這時我們採取的策略並不是只有一種,可能是正也可能是反,這就是混合策略。

線性規劃求解雙智能體零和博弈

這部分是參考加拿大科學家霍華德著作《多智能體機器學習:強化學習方法》,他使用了三個典型的彙報矩陣去求解納什均衡值,公式如下:
在這裏插入圖片描述

馬爾科夫博弈

當然,上面的例子只是雙人博弈中最常見的例子和最簡單的解決方法,對於更復雜和真實的情況,我們往往需要馬爾科夫博弈來幫忙。

顧名思義,馬爾科夫博弈是由馬爾可夫決策過程和博弈論相結合的產物,首先馬爾可夫決策過程表示了多智能體系統的狀態符合馬爾可夫性,即下一刻狀態只與當前狀態有關,與前面的時刻沒有直接關係;其次博弈代表了多智能體之間的關係,或是合作,或是競爭,亦或兩者都有。

首先回顧一下博弈論,現代意義上的博弈論一般分爲合作博弈和非合作博弈,一般來講我們大多數講的都是後者,非合作博弈根據參與博弈的參與人做決策的先後順序可以分爲:靜態博弈和動態博弈,前者我們剛剛已經舉了例子,即雙智能體零和博弈,後者則是參與人有先後順序的參與博弈。

接着還有一些概念,如佔優策略,其是指如果一方在任何情況下從某種策略中得到的回報均大於從另外一種策略得到的回報,那麼這個策略就可以成爲佔優策略,理性的智能體都是會選擇佔優策略,也因此囚徒困境中每人按照自己佔優策略的選擇最後導致了最差情況的發生。但是一般情況來說,並非會有佔優策略,更重要的是更具有一般性的納什均衡策略,但是當我們可以得知對手的策略時,納什均衡策略可能並不是最優的。

環境

目前來看,最適合的強化學習環境還是基於Python的GYM環境,於是又重新拾起來anaconda。。。

道阻且長

下一篇博客可能就是記錄個人第一天實習入職的相關分享了,又是新的開始了,加油

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章