突然发现一门很有意思的课程,在算法竞赛中也是一个十分有意思的分支。不过在算法中,博弈论一般都假定博弈的参与者都会做出最优的选择,且处于平等博弈。当然还有非零和博弈啊。
可能更新的一系列的博弈论的知识,会结合相关的背景以及例子,讲解后面蕴含的博弈知识。
一个有趣的例子
现在抓到两名犯人A, B,给他们这样的选择:
- 一名A供认了对方,而对方B没有供认A,那么A无罪释放,B加刑两年。反之亦然。
- 若两人互相都没有供认, 那么无罪释放两人。
- 若两人互相供认,那么减刑1年。
这就是非常著名的囚徒的困境的问题(prisoners’ dilemma)。
你会怎么选择呢?
建立模型
player2 | |||
---|---|---|---|
l | r | ||
player1 | U | (0, 0) | (3, -1) |
D | (-1,3) | (1, 1) |
(a, b)a表示player1的收益(payoffs), b表示player2的收益。
(0, 0)对应相互揭发的收益。
(1, 1)表示相互不揭发的收益。
其余的两格表示的是其中一个人揭发对方,另外一个人不揭发对方的收益。
分析
假设现在我们是犯人player1,我们揣度B的选择:
- 假设B选择了l,那么根据收益的大小,我们选择了U。
- 假设B选择了r,那么根据收益的大小,我们还是选择了U。
可见,不论对手选择什么, U都是最佳的选择。
同理,B选择l是最佳的选择。
我们将这样的点定义为绝对优势的点。
得到的结论
- Don’t play a strictly dominated stategy.(不要选择处于劣势的策略)
- Put yourself in others’s shoes.(换位思考)
现实中的囚徒的困境的例子
- 公共合作问题(不论对方是努力还是偷懒的,我偷懒的收益总是最大的)
- 宿舍卫生问题
- 企业之间指定价格
- 各国面临全球变暖的问题所采取的方针
- 公共资源不会去保护,而是尽可能的索取。
抽象
为了更加方便的描述一种博弈,因此引进符号加以表述。
player: \(player_i, player_j\)
strategies:
\(s_i\):a particular strategy to \(player_i\)
\(S\): the set of alternatives to the players
s: a particular play in a game(a strategy vector/list and it is confirmed.)
未解决的问题
emmm,有没有同学想和我一起学习博弈论啊,可以qq私信我哦。