上次说我肾结石去看急诊, 今年终于收到帐单通知了: $4698. 不出所料, 两个不同部位的CT就搞了 $3108, 加上吊针和急诊, 直追 $5000. 这还是我自己把石头排出来的, 估计当时要是赖着不走, 小住个院, 帐单还要爆炸.
好在有医疗保险, 这巨额的帐单最终倒不需要我付多少钱, 大约只要付整个的20%. 我还挺高兴的想, 保险就是好, 省了一大笔钱. 女友很鄙夷的看着我, 说, 我的保险覆盖100%. 唉, 她是米国政府雇员, 有奥巴马同学撑腰, 我们穷学生再牛逼也比不上她的待遇啊.
Posts published during January, 2009
昨天晚上心血来潮, 看以前在上大学的时候网上下的一陀书, 就翻到了<通往奴役之路> 的中文版. 书的一开始有一个“译者的话”, 是这么说的:
对中国读着来说, 对哈耶克的《通往奴役之路》要进行批判性的阅读. 哈耶克从多方面阐述了计划经济的弊病, 从理论角度上看, 其论点和探讨还是有某些启发意义的. 从打破过去只讲计划经济的优越性来看, 他的观点虽然不完全正确, 但其视角可以帮助我们对此进行反思. 然而, 他把集体主义, 社会主义, 极权主义和法西斯主义混为一谈, 对各种社会主义思潮不加区别, 是不符合历史事实的, 反映了他在概念上的混乱和立场上的偏颇. 特别应该指出的是, 哈耶克基于自由主义的立场, 对社会主义大加诬蔑, 认为社会主义意味着奴役和独裁, 攻击社会主义与纳粹主义有同样的思想基础, 这是极端反动的. 鉴于这种情况, 读者在阅读的时候一定要加以鉴别和批判, 以免为错误的观点所误导, 这一点是十分重要的
恰好我也有一本英文版的<通向奴役之路>, 在这本书的一开始, Bruce Caldwell, 一个研究哈耶克出名的经济史学家, 也写了一个类似于“出版者的话” 的东西, 也讲了学界对哈耶克观点的批判吸收, 作者是这样说的:
One of the earliest criticisms concerned the historical accuracy of his claims. A good example is the objection raised by Frank Knight, who in his reader’s report insisted that German history was for more complicated than Hayek had portrayed it… A third complaint is that Hayek’s argument against socialism is unconvincing because, by failing to address “market socialism”, it must be viewed as incomplete. Evan Durbin … was one of the first to enunciate the argument, chiding Hayek in his review for making “only one reference to the work of those of us who are both practicing economic and also socialist, and thereby neglecting all recent writings on the subject” …
[翻译: 对哈耶克的批评最早来自他的断言是否符合历史事实. 比如说, Frank Knight 在评论这本书的时候就强调, 德国的历史比哈耶克描绘的要复杂的多... 第三点批评是说哈耶克对于社会主义的论点不能让人信服, 因为他忽略了社会主义市场经济这个东西, 因此他的理论是不完备的. 比如 Durbin 就说, 哈耶克只应用了一篇社会主义经济学家的文章, 而忽略了这个领域几乎所有的最新成果...]
我的感想:
从这一个小小的例子, 我们可以看出中国的批判式思维教育和西方的区别.那位译者, 像家长一样, 告诉你, 这个要批判, 这个不对, 你必须要这么看这个问题, 这个是反动的, 那个是错误的, 你一定要加以鉴别. 而英文的作者, 同样也提出别人对哈耶克的批判, 但是采取折衷的态度, 摆出谁, 怎么批判的例子, 一一陈述, 不预设观点.
虽然是个个案, 其实可以以小见大了.中国教育中的批判式思维, 看上去很批判, 很革命, 其实都是别人预设好的批判. 就像语文课一样, 文章的中心思想老师都给你划好了, 你去背就是了. 而西方的批判式思考, 是列出一个一个的证据, 让读着自己去评判和批判, 而不是预设批判立场.
从短期来说, 中国式的教育可以造就一个一个看上去思维很深刻的牛人. 比如我高中的时候, 你打死我这个高中生, 我也看不出来五四运动代表了无产阶级登上政治舞台, 老师让这么背我就这们背了, 然后假如当时遇到一个西方的学历史的哥们, 不管正确与否, 他一定认为我的批判性思维的本领很大, 居然能够洞穿历史的迷雾看到后面的东西(先不管正确与否, 至少能想到这么深刻). 其实这个完全是装门面的东西, 对于书上没教的观点, 或者与书上相反的观点, 我们都批判思维不出来. 事实上没人能批判思维出来, 因为我们压根没被训练过“独立思考”. 而西方的教育方式, 让你始终自己思考, 就算深度不够, 能力也是自己的, 随着思考越来越深, 思维工具越来越得心应手, 最后轻轻松松就能得出深刻结论, 或者自成一家, 开山立派. 从长远来, 远比前者要科学高效.
说实话, 我直到写 GRE 作文的时候, 才学会了什么叫独立思考和批判式思维. 以前的思考, 只是看上去会思考, 其实随风倒的芦苇.
新春快乐, 祝福各位读者, 做生意的炒股的统统遇牛市,想牛逼的统统成为牛人乃至牛魔王; 当然, 买饮料别含牛奶, 买票别遇黄牛, 追求心上人别对牛弹琴.
各位读者身体健康, 阖家幸福.
好吧, 我承认我是标题党. 其实真实的标题是: <How to Talk to Girls> 书评. 此处 girl, 除非特指, 均指美国 MM.
这书很薄, 也没有数学推导和定理证明, 几周前在书店学校花了半个小时就从前到后看完了(最后很邪恶的没买). 第一眼看到这个标题的时候, 我好奇死了. 该是怎样一个牛逼的风月高手, 才能写出<怎样和女生说话> 这样的书? 想想当年的<The Game>是纽约时报的记者潜心两年, 潜入史上最隐秘的组织”搭讪俱乐部”, 获得无数一手资料之后才写出来的. 这本”怎样和女生说话”, 想必应该是 布拉德.彼特 这样的风月高手写出来的吧? 或者, 即使不是风月高手, 也是心理学家或者带着博士帽的”女性文化研究”专家吧?
背面一看, 靠, 原来是个9岁的小孩子写的. 用我们苏北话说, 太牛X了! 我问我自己, 假如我有一个小孩, 9岁, 要写本<怎样和女生说话> 的书, 我会让他出版么? 不会, 因为我小孩子懂什么, 还不是过家家? 可是小孩子写的, 恰恰是最简单最朴素的真理. 比如: “如果你对一个女孩说 Hi, 她也对你说 Hi, 这就是一个好的开始”, 一语道破搭讪的所有诀窍. 不少人肯定不服气, 说, 九岁的小孩子的朴素道理也是朴素道理罢了, 难道”和女生约会的时候穿得要好看一点” 以及 “不要惹太漂亮的” 这个道理成年人不懂? 怎么要小孩子来教育?
错了, 全错了. 原生态的著作, 如不加奶粉的三聚氰胺 (错了, 是不加三聚氰胺的奶粉) 保证喝下去顺畅. 加了三聚氰胺的, 小仪器一检查, 哼, 蛋白质含量很高嘛, 咦, 怎么肾结石了? 原因在于, <把妹达人> 这样的书, 理论性太强, 看上去充满营养, 其实实践性太弱, 消而不化. 看得时候自信满满, 仿佛立即成了把妹达人, 做的时候如同小学生, 连“做原来的自己”都做不到了, 最后就领一张好人卡 (或者一张猥琐男卡), 或者想搞点技巧搞成了怪蜀黍. 每逢此时, 一个穿越千年的老和尚的声音就在你耳边响起 “施主, 易筋经可不能强练, 轻则走火入魔, 武功全废; 重则经脉错乱, 神智不清.” 因此, 读那些书, 从来都是故事穿肠过, 没啥心中留. 而读读原生态的书, 看看在九岁的小男孩的眼里, 怎样和九岁的小女孩说话, 说不定别有一番启发呢. 况且从数学意义上说, 女大十八变, 模九还是零, 所以, 用对付九岁的技巧对付十八岁的, 从理论上来说是等价的.
这书还有个特点, 叫做语言直白, 直指人心, 堪称当代追美国MM的坛经. 比如说吧, 这位小师傅说: “Life is hard, move on! Or sometimes it just doesn’t work out. I had a crush on a girl in preschool. Then my family had to move, so I had to let her wash out of my mind.” (人生苦短, 即时行乐. 如沉迷过去, 将不得解脱. 我曾在幼儿园的时候有意中人一枚, 因搬家之故, 不得不学太上忘情). 唉, 这样的境界, 该多少痴男怨女学习啊. 如果我们把幼儿园换成什么兰香桂坊的, 那就是”寒蝉凄切, 对长亭晚”的婉约. 把第一句换成”人生得意须尽欢”, 就是李白同学的境界. 多高妙的境界啊, 试想, 没这么直指人心的纯朴小句子, 哪能直接触及到成年人内心的小波澜?
书店里面类似于怎样和女孩说话, 怎样赚大钱等等的真理到处都是, 这是一个人生精华泛滥的年代. 所以我想, 一本书改变一生之类的说法有点扯淡, 也不必指望, 不妨先学习小师傅一下, 装备一下发现真理的”纯真眼神”, 从最朴素的大道理入手. 等朴素的大道理知道了, 熟稔了, 学会观察得到结论了, 说不定, 很快就可以和一个美国 MM 约会了.
忘了说, 这位小师傅叫做 Alec Greven. 让我们紧密团结在以小师傅为首的团伙周围, 高举“怎样和女生说话” 的红宝书, 人人行动起来, 装备起来, 勇敢的和美国MM约会吧.
附纽约时报书评: http://www.time.com/time/arts/article/0,8599,1865128,00.html
上篇我们说到 Tit for Tat 的策略有一个极大的漏洞, 是什么样的漏洞呢? 我们不妨先用通俗的例子理解一下.
假如现实生活中有两个人 A 和 B, 都是认为自己非常理智, 而且严格执行”以牙还牙”策略的人遇到了一起, 会发生什么样的事情呢? 我们按照他们初始的策略, 分三种情况讨论.
1. 假如 A 某次不小心招惹了一下 B (执行了被 B 解读为 D 的策略), 按照 B 的策略, 必然会在下一轮执行 D 策略 (报复). 而 A 对 B 初始是执行 C 策略 (合作) 的. 在 B 报复之后, A 下一轮就会采用报复. 而相反的, B 在本轮看到 A 合作之后, 下一轮就会报复. 如此往返. 不难看出, A 和 B 会陷入彼此报复的怪圈当中, 用大白话说, 就是所谓的冤冤相报何时了. 更加糟糕的是, 博弈的双方都认为自己是完全理智而且愿意合作的, 但是就是因为正好彼此差了一步, 因此从A的角度看B, A 会认为 B 是一个完全不懂得合作的蠢货 (A 提出合作的时候B正好报复). B 看 A 也一样. 现实生活中我们也能发现这种例子, 比如两个性格很强的人遇到了, 在某件事情上不投合, 结果成了一辈子的仇人, 还互相认为对方是傻X. 此时, 双方都得不到期望的最大受益.
2. 如果一开始双方都采用 D 策略, 则可以遇见, 这样的 D 策略将持续下去, 没有一方会主动的让步, 因为先让步的一方必然吃亏. 现实中, 我们也能观察到这样的事情, 即博弈双方仇怨越积越深, 最后到了不可化解的地步. 此时, 双方都陷入了囚徒困境.
3. 如果博弈的双方一开始都采取 C(合作)策略. 那么, 博弈双方则能够永远的友好合作下去, 获得最大的受益. 此时, 双方获取的受益都最大化了.
从上面的分析我们可以看到, 在多轮囚徒困境的情况下, 如果有多个 Tit-for-Tat 策略参与, 那么每个的受益, 极端的依赖于初始状态的设定. 在数学和计算机科学中, 这样的系统, 叫做”初值敏感系统”. 一般认为, “初值敏感系统”是非常不好的系统, 原因在于缺乏”鲁棒性”. 这里我走一下题, 解释一下初值敏感系统和鲁棒性这两个概念.
大家都知道有一个叫做”蝴蝶效应”的东西, 大体是说, 一只蝴蝶在巴西扇动翅膀,有可能会在美国的德克萨斯引起一场龙卷风. 原因在于, 这只蝴蝶翅膀扇动的气流, 引起的一个小小的搅动, 可能会在系统中被各种各样的因素放大, 最后演变成一个非常显著的效应. 中国也有一句古话, 叫做差之毫厘, 谬以千里, 说的都是, 初始的微小变化, 都能引起最后结果的显著不同. 我们这里的初值敏感系统, 和蝴蝶效应也是类似的, 能从小的摄动引发出显著的后果的. 比如大家都知道, 在”一只馒头引发的血案”中, A 在很不经意的情况下, 对B 采用了 D 策略(抢了馒头), B 由此产生了报复, 搞得 A 国破家亡.
显然, 面对这样的系统, 人类即使有模型, 也是很难预测未来的, 因为初值条件在测量上的一点点微小的误差, 都能造成预测的结果的巨大不同. 为了表征这个特性, 我们把”不对初值敏感”的特性成为鲁棒性 (Robustness). (这个鲁棒, 您可以直接理解为山东大棒, 结实, 抗得住外界的一些摄动).
聪明的读者要说了, 即使系统不鲁棒, 我们能不能设计好初值, 使得系统沿着最好的方向演化呢? 答案是不能. 因为任何一个客户端拥有的上传和下载的带宽都是有限的, 有限的资源必然会导致资源的竞争, 从而导致必然某些请求不能满足. 在这种情况下, D 策略是不可避免的. 况且, 网络情况复杂多变, 即使双方都有意采取 C 策略, 很可能因为网络的复杂性, 双发获得的受益不对等, 从而引发一方采取 D 策略. 所以, 如果 Tit for Tat 这种初值敏感策略放到 P2P 客户端中, 结果是不可想像的, 因为这时候每个客户端都是碰不得的刺猬, 一旦在某个时间点某个节点出现了差错, 很可能整个系统都陷入”冤冤相报”的死结, 让整个网络没法完成文件的传输, 反而忙着互相报复和自我保护.
从上面的分析我们看出, 靠精心设计初值来维护这个系统是不现实的, 我们需要设计的, 是一个好的策略, 使得不管初值怎么变, 系统中每个个体依然能够获得较大的收益. 那么, 怎样设计这个鲁棒的系统呢? 我们从极端的两个例子开始, 一种是不管别人怎么出牌, 永远合作的; 另一种是或者不管别人怎么策略, 永远背叛的. 这两个都很鲁棒, 都很”彪悍”. 但是毫无疑问, 效用不见得最大化.
从这两个极端的例子表现不怎么好来看, 我们的确应该要根据对手的策略选择自己的策略, 同时又不能非常的依赖于对手的策略(否则就初值敏感了). 那么, 最简单的方法就是: 我们以一定的概率去执行以牙还牙, 但是也允许以一定的概率不管上次选什么, 这次和对手选择合作(跳出怪圈). 这样, 因为随机性的引入, 对初值的依赖就随着时间的流逝越来越小了.
在多个人的环境中, 我们的确愿意和对手选择随机合作, 但是因为资源的限制, D 是不可避免的. 但是我们不会让 D 永远下去, 我们每轮和随机的对手选择一次随机的合作, 这样就不会被怪圈所左右. 这个就是 bt 协议跳出冤冤相报的精髓. 一旦知道了这个, 本文思想就差不多介绍完了. 下面就是程序员的编码工作了. 下面的内容完全是基于 Bram Cohen (bt 协议创始人) 的经典论文 “Incentives Build Robustness in BitTorrent” ( http://www.bittorrent.org/bittorrentecon.pdf ) 里面的内容展开的. 我只介绍和博弈论有关的部分. 读英文更加习惯的读者直接看原论文比读下面的文章更加好.
首先说点背景知识, bt 把文件看成一块一块的, 并且用一定的排序算法决定现在能够下载哪一块. 其次, bt 协议同时和多个机器之间建立 TCP 连接, 但是采用堵塞的方法控制传输. 因为建立连接代价比较大, 所以 bt 协议维持连接不变, 在其上采用 choking (堵塞) 的方法来执行 D 策略, 采用 un-choking 的方法 来执行 C 策略, 而不是每次都重新建立和取消连接. IP 协议在这方面有天然的优势.
每次, BT 协议选择 k (通常为7, 限速的情况下为2, 3, 或 4) 个其他的客户端来执行 C 策略(即给上传). 在上一轮中给出最多下载的那些节点, 在本轮将被执行 C 策略(注意到有的节点上一轮并没有给上传, 即从C 到 D). 同时, 为了避免其他的更加好的节点被忽视, 每 m 轮, BT 客户端选择一个随机的 choke 了的节点执行 C 策略 (即从 D 到 C. 同时, 因为资源限制, 必然有一个被 choke 了, 即从 C 到 D).
那么, 什么时候执行 D 呢? 在 BT 协议中, 假如连续 n 轮, 都没有从一个节点收到任何下载, 在 bt 术语中, 这个叫做 snubbed. 这时候, 则该节点认为自己被那个结点执行D策略了. 作为报复, 自己也停止对该节点的上传(即以牙还牙, 从 C 到 D. ). 除非等到下次随机的选到了那个节点(再次到 C ).
这就是 bt 的协议关于博弈论的全部. 其中, 一轮持续时间在现在的实现中是 10 秒. m 为 3, n 为 6. 目前暂不清楚 Bram Cohen 是否通过实验得到这些参数, 有兴趣的读者可以自己查阅 bt 源代码, 改一下, 看看哪个更加好. 同时, 因为其他客户端采用的是 Tit for Tat, 想把自己的客户端改成 吸血bt 是不可行的, 也占不到别人便宜.
PS: 有兴趣的读者可阅读 bt 源代码中的 Choker.py. BT 源代码用 Python 写成, 比较好懂.
