我們前面講的那些賽局全部都是「一起出招」的賽局,我們稱為「靜態」的賽局。那如果不是一起出招,而是輪流出招的賽局呢?這種賽局稱為「動態賽局」(Dynamic Game)。這種賽局帶有次序性,生活中滿常見的,例如許多撲克牌遊戲或桌遊的類型就是屬於動態賽局。
我們舉個商業上的例子來看:假設有一個市場裡面只有一家公司,它獨佔市場。而另一家新的公司,正在決定它要不要進入這個市場,這時它就要考慮一下這個動態賽局。
假設市場內現在僅有的那家公司獨占市場的收益為 10,如果新的公司不去跟它搶市場,它就得到一樣的收益。如果新的公司進入市場,現有的公司可以選擇要不要反擊新進的公司,或合作、分一部分市場給它。如果選擇反擊新的公司,那麼現有公司就要花很多成本去打擊新的公司,比如果說藉削價競爭給新進公司很大壓力,最後兩敗俱傷,雖然新公司被趕出去了,但現有公司的收益會變得很少,設新的公司收益為 -2(被趕出去而且還損失),現有公司收益為 2。如果現有公司選擇讓出一部分市場和新公司較和平的競爭,那我們設它的收益為 6,新的公司為 4。這個情境我們用下面的樹狀圖表示:
這種賽局我們可以用「倒推法」歸納出結果。倒推法指的是從賽局樹的最下方開始,倒推歸納哪個節點的玩家會選擇什麼樣的策略。以這個例子來說,我們把目光放到現有公司那個節點:
請問現有公司在這個點會選擇反擊還是讓一部分市場?從我們給的數字來看,選擇讓一部分市場的收益較好。
剩下還沒處理的節點就是最一開始的那一個節點。按照剛才的歸納,我們可以得到新的公司選擇進入市場的話兩個公司的收益分別是 4 和 6。所以在這邊我們就可以直接用 0 / 10 和 4 / 6 做比較。4 > 0 所以新公司會選擇進入市場。
最後就可以預測出結果是 4 / 6, 並且新的公司將會選擇進入市場,這是它在這個動態賽局的「Subgame Perfect Equilibrium」。
這個情境只是我們的一種設定,當然現實是很複雜的。你可以思考看看:如果現有的公司趕走了新的公司,那麼更之後「未來」的利益不是全都歸現有公司了嗎?所以對於現有公司來說,它應該要咬緊牙關撐過去,阻礙新的競爭對手進來。這是一個有趣的問題,你可以思考看看這裡的「未來」的意義,換句話說,每個人對未來的想像都不一樣。如果沒有明天,那不就要選當下對自己來說最好的選項?
「Minimax」這個單字的字面上就已經告訴我們這個演算法的主旨是要「選別人最大的的最小的」(好繞口...)。以下棋為例,在大家都理性的情況下,大家都會下在對自己最有利的那一步(Max),而你下一步就要去下那個能讓下下一步對方能得到的期望收益是最小的(Min)位置。為什麼要讓樣呢?因為這種遊戲是「零和遊戲」(Zero-sum Game),下棋時通常不是你贏就是對方贏,你要盡量降低對方的優勢,這樣就能反過來增加自己的獲勝的可能。