博弈論 Game Theory
博弈論研究的是自利者(self-interested)的策略性互動。
經典場景之一:退避遊戲(Backoff Game)
計算機網絡中TCP協議的退避機制 (backoff mechanisn)
假設你在瀏覽器中看到了彈出窗口
當看到這個窗口時,大多數人都僅僅認爲就是檢測網速慢,會直接點下一步(next),而這可能會是一個病毒。但是有個問題,如果沒有點下一步,則失去了是網速變快的機會,顧此失彼。
在這裏,有必要說以TCP協議的相關知識,它是互聯網的支柱之一 :
- 可以簡要認爲通信包會被分解成一些不同的數據包,理論上就像是將內含信息的信封(envelopes) 的消息順着網絡傳輸deliver 到收件人(recipient)那裏。
- 當我說順網絡傳輸的時候,你的電腦與期望的收件人並沒有直接聯繫,而是將消息從你那裏一個接一個傳到收件人那裏。
- 順着網絡你將消息傳到一些你連接的電腦上,它傳到另一臺電腦上,沿着鏈向下(down the chain),直至你的收件人。那時,你的收件人會看到。
- 它會傳回一份回執(acknowledgement),告訴你它收到了消息。
問題來了:其中一臺計算機遇到擁堵問題。它以一種非常奇葩的方式解決數據擁堵,它把接收到的部分數據扔掉,還不告訴別人,它直接刪除這部分數據 。
爲什麼通過互聯網通訊仍然可靠呢?
這是因爲你的計算機在發送完一個數據包後會休息一定時間等待回執。如果沒等到它就假設數據包沒有被收到,然後減少數據量再發一遍直到它能夠處理。
TCP協議中的退避機制(backoff mechanisn) 這就是爲什麼我們經常要花很多時間等待網絡延遲,因爲每臺計算機都在平衡發送數據包的頻率 。(balancing the speed that they send messages out)
問題:是否安裝有些可疑的軟件時,你會做何決策?也就是說當你使用TCP協議的正確版本,存在這樣的退避機制時,你應該把你的數據包上傳到你的網絡連接上嗎? 或者說 你是否在運行這個程序當中,轉而採用一種有缺陷的方案,禁止上述的退避機制 ,讓所有網絡一擁而上,全然不考慮,它帶給別人或你自己的擁堵?
-
像這樣的問題 就是博弈論學家所說的博弈,一般來說 博弈就是兩或多人間的互動:
-
其中互動的結果取決於每個人的行爲,並且每個人對於不同的結果(outcome)都會有不同的愉悅度(happiness)
-
我們先思考一個兩人版本的互動,博弈論學者稱之爲兩人博弈
-
一個數學的評估方法,用於決定一個局中人對於特定情況的喜惡程度。
-
收益函數描述了他們對於某個時間的態度,比如說明天的溫度將會是恰好25攝氏度,而實際上,收益函數還可以告訴我們他們對於一系列可能情況的概率分佈的喜惡。
-
因此,收益函數描繪了他們對於不同事件不確定性的態度。比如說,如果明天的氣溫是25度的可能性是70%,24度的可能性是30%,
-
對於這種喜好的理論決定方法,就是現代博弈論的基礎這個基礎就是,每個人都試圖將期望效益最大化。 。
博弈的基本概念和重要元素
最顯而易見的元素就是博弈中的參與者 players ,行動actions, 和收益 payoffs
博弈中的兩種基本形式
-
一種是是範式博弈。最簡單,直接的表達形式。它用函數關係呈現了參與者收益和他們行爲的關係。通常,所有參與者都同時採取行動對於參與者的策略。
-
另一種形式被稱爲展開形式的博弈,在這種形式下 我們會把時間這個因素考慮在內,博弈中誰會先採取行動,在什麼時間點採取行動,我們常常用一個樹把它們表示出來。