在一個街道平面圖上,住着n個住戶。有兩個販賣熱狗的商販,各自想要在街區裏擺設一個小攤。天天住戶都會去離他家50米範圍內的最近的攤點消費。問:小程序
1. 若是兩位小販擺設小攤的順序有前後(設A先擺,而後B再擺),且A知道有B的存在。兩人該如何博弈?工具
2. 若是你是B,已經知道A的位置,該如何博弈可視化
假設A和B都是以追求利益最大化爲目標。技巧
分析:程序
首先要考察的是建模的能力。如何表示一個地圖?如何表示上面的住戶?常見的方法是用邊來代替街道,用點來表示住戶的位置。能夠用幾何畫板實現出來:方法
其次,對於複雜的問題,要考慮一些簡化的狀況:im
1. 退化到一維的狀況地圖
2. 退化到只有1,2,3個住戶的狀況總結
3. 退化到已知A擺下的位置,求B如何擺放?img
展開:
1. 寫一個能夠可視化選擇A的位置,並計算B的最優擺放位置以及獲利值的小程序。
2. 利用計算機輔助,枚舉A的起始位置,分別計算出二者的最大利益,選取對A最有利的方案。注意枚舉的技巧。
3. 改一下題目,若是A,B須要同時選擇位置,那麼就能夠展開到納什均衡或者囚徒困境上。
總結:
主要介紹了博弈的一些簡單思想,還有如何對於二維地圖類型的題目進行抽象和建模。要學會利用幾何畫板、C#等一切可利用的工具。