当前位置: 首页 > 编程日记 > 正文

假装不知道有尽头(博弈论的诡计)

《笑林广记》中记载这样一则笑话。

有一个人去理发铺剃头,剃头匠给他剃得很草率。剃完后,这人却付给剃头匠双倍的钱,什么也没说就走了。一个多月后的一天,这人又来理发铺剃头。剃头匠还记得他上次多付了钱,觉得此人阔绰大方,为讨其欢心,多赚点钱,便竭力上心,周到细致,多用了一倍的工夫。剃完后,这人便起身付钱,反而少给了许多钱。剃头匠不愿意,说:“上次我为您剃头,剃得很草率,您尚且给了我很多钱;今天我格外用心,为何反而少付钱呢?”这人不慌不忙地解释道:“今天的剃头钱,上次我已经付给体了;今天给你的钱,正是上次的剃头费。”说着大笑而去。

这个故事说明,有限次的囚徒困境,情况不同于无限次的囚徒困境的重复博弈。当临近博弈的终点时,采取不合作策略的可能性加大。即使参与人以前的所有策略均为合作策略,如果被告知下一次博弈是最后一次,那么肯定采取不合作的策略。

当合作关系存在某种自然而然的缚点时,博弈反复进行的次数是一定的。运用向前展望、倒后推理的原则,我们可以看到,一旦再也没有机会可以进行惩罚,合作就会告终。但是,谁也不愿意落在后面,在别人作弊的时候继续合作。假如真的有人仍然保持合作,最后他就只能自认倒霉。

既然没人想倒霉。合作也就无从开始。实际上,无论一个博弈将会持续多长时间。只要大家知道终点在哪里,结果就一定是这样。因为从一开始,两位参与者就应该向前展望,预计最后一步会是什么。在这最后一步,再也没有什么“以后”需要考虑,优势策略就是作弊。这最后一步的结果是一个不可避免的结论:既然没有办法影响这个博弈的最后一步,那么,在考虑对策的时候,倒数第二步实际上就会成为最后一步。而在这一步,作弊再次成为优势策略。理由是,位于倒数第二的这一步对最后阶段的策略选择毫无影响。因此,倒数第二步可以视为孤立阶段,单独进行考虑。对于任何孤立阶段,作弊都是一种优势策略。

深诸策略思维者懂得瞻前顾后,避免失足于最后一步。假如他预计自己会在最后一轮遭到欺骗,他就会提前一轮中止这一关系。不过,这么一来,倒数第二轮就会变成最后一轮,还是没法摆脱上当受骗的问题。

现在,最后两个阶段的情形已经确定。早期进行合作根本无从实现,因为两个参与者已经决心在最后两个阶段作弊。这么一来,在考虑对策的时候,倒数第三步实际上就会成为最后一步。遵循同样的推理,作弊仍是一种优势策略。这一论证一路倒推回去,不难发现,从一开始就不存在什么合作了。

但是在上面的故事中,剃头匠为什么会上当呢?在现实世界里,所有真实的博弈只会反复进行有限次,但正如剃头匠不知道客人下一次是否还会光顾一样,没有人知道博弈的具体次数。既然不存在一个确定的结束时间,那么这种合作关系就有机会继续下去,实现阶段性的成功合作。要想避免信任瓦解,千万不能让任何确定无疑的最后一轮出现在视野所及的地方。只要仍然存在继续合作的机会,背叛就会被抑制。

不可否认,这个世界存在一些“善良的”人,不管作弊可能带来什么样的物质利益,他们仍然选择合作。但是多数人都没有那么善良,而是按照自己的理性行事,在一个反复进行有限次的囚徒困境博弈里,他们会从一开始就作弊。这会使其他参与者很快看清楚其本质,并对之加以提防。于是,为了掩盖真相,或者是至少掩盖一会儿真相,他们不得不装出“善良”的样子。剃头的客人一开始为质量低劣的服务付很多的钱,就出于这种考虑。

在博弈中,假设他一开始就按照善良人的方式行事,其他参与者就会认为他大约属于周围少有的几个善良人之一。合作一段时期将会带来实实在在的好处。而且其他参与者也会打算仿效他的善良做法,换取这些好处,从而带来合作的收益。当然,他和其他参与者一样,仍然打算在博弈接近尾声的时候偷偷作弊。但这并不妨碍在最初一个阶段进行互利互惠的合作。因此,在各人假装善良等待占别人便宜的时候,大家已经从这种共同欺骗中得到好处。能在一个反复进行的囚徒困境中使信任出现的条件,就是作弊所得晚于合作破裂的代价之前出现。这么一来,作弊与合作相比哪一个更划算,就取决于现在与将来相比哪一个更重要。

在商界,比较现在与将来的利润的时候,会用一个合适的利率进行折算。而在政界,现在与将来的重要性的比较更加带有主观色彩。不过,一般而言,如果下一次竞选之后的时间看起来无关大局,政治人物间的合作更容易破裂。即便是在商界,若是遇到不景气的年份,整个产业处于崩溃边缘,管理层觉得已经走到山穷水尽,没有明天了,那么,竞争就有可能变得比正常年份更加激烈。同样地,由于战争迫在眉睫,伊朗和伊拉克会认为现在的利润比将来的利润更重要,由此加深了协调限制石油产量以保持长期稳定利润的难度。

但是隐瞒终点或者说假装没有终点的博弈策略,仍然是以背叛为基础的,其目的无非是在相互背叛之前得到更多的收益。当然也有例外,比如说在多数恋人之间的博弈,其目的并非是为了在分手时得到更多的“好处”,而是希望能更好地维持合作的稳定性,从而缔结连理,白首偕老。

转载于:https://www.cnblogs.com/javabluesky/archive/2010/01/27/2211360.html

相关文章:

Java Script 第四节课 Java Script的隐式转换

<!DOCTYPE html><html><head><meta charset"utf-8"><title></title><script type"text/javascript">/*if(exp){exp为true的代码段;}else{exp为false的代码段;}*///其它类型转换成布尔类型假的有var a;//undefin…

深入理解malloc和free

1.为什么free是void*&#xff0c;那么它怎么知道要释放多少内存&#xff1f; 《UNIX环境高级编程》 《C语言编程常见问题解答》 《你必须知道的495个C语言问题》 《UNIX环境高级编程》 2.free源码 内存控制块结构定义 struct mem_control_block {int is_available;int si…

根据IP和MAC查端口

进入交换机的命令提示符.输入show ip arp 查出IP地址跟MAC 地址的对照表.再输入show mac-address-table,看一下这个MAC是从哪个端口学到的转载于:https://blog.51cto.com/124130/271033

“数学不好,干啥都不行!”骨灰级程序员:其实你们都是瞎努力!

之前很多程序员读者向我们反馈&#xff1a;1&#xff09;数据结构、编程语句&#xff0c;核心原理都是数学&#xff0c;不会数学搞编程好难&#xff0c;后来发现各种东西还要概率论&#xff0c;还要推收敛&#xff01;近似还要知道泰勒展开&#xff01;2&#xff09;做算法优化…

转:秒杀系统架构分析与实战

原文出处&#xff1a; 陶邦仁 欢迎分享原创到伯乐头条 0 系列目录 秒杀系统架构 秒杀系统架构分析与实战1 秒杀业务分析 正常电子商务流程 &#xff08;1&#xff09;查询商品&#xff1b;&#xff08;2&#xff09;创建订单&#xff1b;&#xff08;3&#xff09;扣减库存&a…

Visual Studio中的《C# 语言规范》

无意中的无意发现了个好东西——《C# 语言规范》&#xff0c;您不用到处下载&#xff0c;它就在您的Visual Studio安装目录中&#xff0c;例如&#xff1a;F:\Program Files\Microsoft Visual Studio 9.0\VC#\Specifications\2052\CSharp Language Specification.doc 这是它的目…

超轻量级中文OCR,支持竖排文字识别、ncnn推理,总模型仅17M

整理 | AI科技大本营光学字符识别&#xff08;OCR&#xff09;技术已经得到了广泛应用。比如发票上用来识别关键字样&#xff0c;搜题App用来识别书本上的试题。近期&#xff0c;这个叫做chineseocr_lite的OCR项目开源了&#xff0c;这是一个超轻量级中文ocr&#xff0c;支持竖…

Redis队列的应用

Redis用双链表list实现队列的 LPUSH key value [value ...] 将一个或多个值 value 插入到列表 key 的表头 如果有多个 value 值&#xff0c;那么各个 value 值按从左到右的顺序依次插入到表头&#xff1a; 比如说&#xff0c;对空列表 mylist 执行命令 LPUSH mylist a b c &…

Python fabric实现远程操作和部署

fabrictitle是开发&#xff0c;但是同时要干开发测试还有运维的活 (o(╯□╰)o)近期接手越来越多的东西&#xff0c;发布和运维的工作相当机械&#xff0c;加上频率还蛮高&#xff0c;导致时间浪费还是优点多。修复bug什么的&#xff0c;测试&#xff0c;提交版本库(2分钟)&…

自己写的哈希表以及解决哈希冲突

哈希表就是键值key-value对&#xff0c;使用hash函数让key产生哈希值&#xff0c;当不同的key产生相同的哈希值时就是哈希冲突了&#xff0c;产生哈希冲突可以使用拉链法。 hash.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include &…

Python与MySQL数据库的交互实战

作者 | Huang supreme编辑 | 郭芮图源 | 视觉中国安装PyMySQL库如果你想要使用python操作MySQL数据库&#xff0c;就必须先要安装pymysql库&#xff0c;这个库的安装很简单&#xff0c;直接使用pip install pymysql&#xff1b;假如这种方式还是安装不上&#xff0c;就用如下链…

Hyper-V的三种网卡

External 虚拟机和物理网络、本地主机都能通信 Internal 虚拟机之间互相通信&#xff0c;并且虚拟机能和本机通信 Private 仅允许运行在这台物理机上的虚拟机之间互相通信

filter-mapping中的dispatcher使用

web.xml里<filter-mapping>中的<dispatcher>作用 2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素&#xff0c;这个元素有四个可能的值&#xff1a;即 REQUEST,FORWARD,INCLUDE和ERROR 可以在一个<filter-mapping>元素中加入任意数目…

脉冲神经网络在目标检测的首次尝试,性能堪比CNN | AAAI 2020

译者 | VincentLee来源 | 晓飞的算法工程笔记脉冲神经网络(Spiking neural network, SNN)将脉冲神经元作为计算单元&#xff0c;能够模仿人类大脑的信息编码和处理过程。不同于CNN使用具体的值(continuous)进行信息传递&#xff0c;SNN通过脉冲序列(discrete)中每个脉冲发射时…

TCMalloc:线程缓存的Malloc

转载自&#xff1a; http://shiningray.cn/tcmalloc-thread-caching-malloc.html作者&#xff1a;Sanjay Ghemawat, Paul Menage 原文 翻译&#xff1a;ShiningRay 动机 TCMalloc要比glibc 2.3的malloc&#xff08;可以从一个叫作ptmalloc2的独立库获得&#xff09;和其他我测试…

今年央视的春晚能给人带来惊喜吗?

已经好多年还没看完中央电视台的春节联欢晚会自己就睡着了&#xff0c;说实在的&#xff0c;现在央视春节联欢晚会的节目总是让人期待后感到相当的平淡乏味&#xff0c;有些搞笑节目庸俗的让人笑不出来&#xff0c;绝大多数的节目都显得非常的人工&#xff0c;全然不能激发出观…

将baidu地图中的baidu logo去掉

Web 最简单方法&#xff0c;将logo的css样式改为display:none即可 <!DOCTYPE html> <html> <head><meta charset"utf-8" /><title>移除百度地图LOGO和版权信息</title><script type"text/javascript" src"htt…

Linux环境网络库

安装libevent 官网&#xff1a;http://libevent.org/ 书籍&#xff1a;http://www.wangafu.net/~nickm/libevent-book/ Libevent参考手册翻译:http://blog.csdn.net/laoyi19861011/article/category/831215 Libevent参考手册翻译增加&#xff1a;http://blog.sina.co…

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

作者 | 阿里文娱技术专家墨贤出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;大麦的人脸闸机在2019年杭州马拉松上成功的完成了刷脸入场功能的首秀&#xff0c;相比传统的马拉松入场核验方案在入场体验和入场效率上都有了很大的提升&#xff0c;下面介绍一下大麦的人…

Collection集合List、Set

Collection集合&#xff0c;用来保存一组数据的数据结构。 Collection是一个接口&#xff0c;定义了所有集合都应该包含的特征和行为 Collection派生出了两类集合 List和Set List接口&#xff1a;List集合的特征是元素是可重复且有序 Set接口&#xff1a;Set集合的特征是元素是…

如何用Jupyter Notebook制作新冠病毒疫情追踪器?

出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;新冠肺炎已在全球范围内爆发。为了解全球疫情分布情况&#xff0c;有技术人员使用Jupyter Notebook绘制了两种疫情的等值线地图&#xff08;choropleth chart&#xff09;和散点图。前者显示了一个国家/地区的疫情扩散…

关于Aptana studio工具

今天&#xff0c;使用了Aptana studio这个工具&#xff0c;界面类似于Myeclipse因使用MyEclipse比较顺手&#xff0c;这个工具上手还挺容易的。而且比Dreamweaver好用多了&#xff0c;有代码提示的工具&#xff0c;再加上工具不大&#xff0c;耗内存较小。挺喜欢这个工具的。写…

再谈JSON -json定义及数据类型

再谈json 近期在项目中使用到了highcharts ,highstock做了一些统计分析。使用jQuery ajax那就不得不使用json, 可是在使用过程中也出现了非常多的疑惑&#xff0c;比方说&#xff0c;什么情况下我们须要去将字符串转换为json对象。什么情况下就不须要转换。通过hql和sql查询返回…

Linux软连接和硬链接

1.Linux链接概念 Linux链接分两种&#xff0c;一种被称为硬链接&#xff08;Hard Link&#xff09;&#xff0c;另一种被称为符号链接&#xff08;Symbolic Link&#xff09;。默认情况下&#xff0c;ln命令产生硬链接。 【硬连接】 硬连接指通过索引节点来进行连接。在Linux的…

学语言不是写程序!

这是发到我邮箱里面的一封信&#xff0c;嗯&#xff0c;类似的信有好几封&#xff0c;春节期间呢&#xff0c;我主要陪笑笑&#xff0c;呵呵&#xff0c;不办公&#xff0c;就一直压着没有回答&#xff0c;有点delay了&#xff0c;现在给这几位同学抱个歉哈&#xff0c;对不住了…

“AI”战疫在行动,一文盘点百度大脑增援疫情防控的AI操作

2020年春节&#xff0c;注定将刻进每个人的记忆。面对突如其来的新型冠状病毒感染的肺炎疫情&#xff0c;除了一线医护人员的日夜奋战&#xff0c;“人工智能”也在特殊时期走向前沿&#xff0c;接受了抗疫洗礼。 3月13日&#xff0c;今年第一期百度大脑开放日首次通过直播的形…

POJ 2778 AC自己主动机+矩阵幂 不错的题

http://poj.org/problem?id2778 有空再又一次做下&#xff0c;对状态图的理解非常重要 题解&#xff1a; http://blog.csdn.net/morgan_xww/article/details/7834801 另外做了矩阵幂的模板&#xff1a; //ac.sz是矩阵的大小 void mulmtr(long long x[MAXNODE][MAXNODE],long l…

Libevent调用

1.最基本的打印libevent版本 #include <event.h> #include <stdio.h>int main() {const char *version event_get_version();printf("%s\n",version);return 0; }# gcc getVersion.c -o getVersion -levent 参考&#xff1a;https://github.com/mike-zh…

如何更新你的机器学习模型?手把手带你设计一个可持续的预测模型!

作者 | CloudFactory译者 | 天道酬勤 责编 | 徐威龙出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;高效的机器学习模型需要高质量的数据。训练你的机器学习模型并不是过程中的单个有限阶段。即使将其部署到生产环境中&#xff0c;也可能需要稳定的新训练数据流来确保…