邓宁-克鲁格效应
前阵子网上传出一张图片,借“邓宁-克鲁格效应”说大部分人都处于无知而不自知的状态。身处愚昧之峰,却攻击辱骂那些活得通透的人。

后来机缘巧合,了解到这个“邓宁-克鲁格效应(Dunning-Kruger effect)”出自一篇论文,J. Kruger and D. Dunning, Unskilled and Unaware of It: How Difficulties in Reasoning One’s Own Incompetence Lead to Inflated Self-Assessments, Journal of Personality and Social Psychology 1999, 77, 1121-1134. 说的是,能力差的人,自我评估的能力也差。
邓宁与克鲁格招募了一批大学生,测试他们的幽默感、逻辑推理和语法这三项的能力。按每个受试者能力在全部受试者中的排序由高到底,划分成四组;另外,记录测试者“自己评价自己”处于整个群体中的百分比排序。在幽默感测试中,排在10%左右的人,他们的自我感觉是幽默感超过平均线。逻辑测试与语法测试也一样,即便是排序最低的人,经过逻辑与语法测试之后,再问他们自我感觉如何,依然觉得自己超过60%的人。倒是第三分组,外界客观评估他们是排序60%左右,他们自我感觉也是60%附近;而实际排名90%的那组人,自我感觉也只是在70%左右。

数据表面说的是,几乎所有人,都觉得自己处于平均线之上。没水平的人,自视甚高,外人看来,眼高手低;真正高水平的人,反而会低估自己的能力,外人看起来,虚怀若谷。
深层的意思是,能力越差的人,自我评估的能力越差。能力是一回事,“自我评估”的能力是另一回事,是评估自己能力的能力,属于元认知能力。能力越差的人,对自己高估得越离谱。能力低的人,没办法评估自己的水平,越不知道,就越不知道自己不知道。逻辑能力强的人,至少能听懂高手在讲什么,知道自己跟高手的差距。而逻辑能力差的人,根本都听不懂别人在说什么,更不会考虑别人为什么这么说,也分辨不出对错。分不出对错,还自我感觉良好,就只能永远停留在无知而不自知的状态。
对比原始论文的说法,跟网上流传的版本,可以看出,其实流传版,是引申之后,给人看着很带劲。尤其是,当自己的想法不被理解,又觉得自己处于平均线之上,这个图就算是提供了一个理论支持,说出了自己的心里话,通过转发,表达自己内心的想法。其实,“邓宁-克鲁格效应”并没有庸众处于愚昧之峰攻击绝世高手都说法,再次,也许自己就是庸众的一份子呢?是自己理解不了别人的想法,而不是别人理解不了自己的想法。
(以上参考万维钢精英日课3《进步使人虚心,落后使人骄傲》2018/12/20)
RSA
前阵子研究RSA非对称加密。RSA使用配对的公钥和私钥进行加密和解密。比如Alice将公钥全网公开,私钥自己隐藏。发消息给Alice的人,用Alice的公钥加密;其他人截获信息也没有,因为只有Alice才有私钥,才能解密内容。我很好奇这个“公钥-私钥”对是怎么产生的,加密和解密又是如何操作的。
刚好得到APP开的密码学课涉及到这个问题,里面十分简化地谈到RSA公私钥匙的问题。说公钥是两个质数p,q的乘积N;私钥是(p-1)*(q-1);加密解密都是模运算。若是平时,了解到这么个情况,也就可以了。万一哪天有人问起RSA怎么回事,我还会装作自己很懂的样子给解释一番。但这次因为我是真的要知道具体怎么回事,就多查了一点资料。
查到知乎专栏的一篇文章。同样是从两个质数p, q说起,n=p*q, m=(p-1)*(q-1)。公钥是 (n, e), 其中e满足1<e<m, 且e与m互质;私钥是(n, d), 其中d满足d*e%m=1。假如有个信息M需要加密,加密后得到密文C。过程就是: (1)生成上述的公钥 (n, e)和私钥(n, d); (2)加密 M^e%n=C; (3)解密 C^d%n=M。
这个解释稍微清楚了一些,但已经跟得到APP上的解释很不一样了。看案例操作,的确像那么回事。为了保险起见,我也查了英文资料。找到一个不错的素材,跟知乎的解释差不多,因为它选的质数很小,可以手工演算加密解密的过程。但是当我想修改那两个质数,做自己的示意图时,就遇到一些问题。比如,为什么是先弄一个公钥(n, e)呢?为什么e要比m小呢?

还好得到APP提供了RSA的原始出处。查了原文 A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,才发现,原来是先定出一个私钥(d, n),然后才算出公钥(e, n),e不需要比m小。私钥的d是指decryption,公钥的e是指encryption,公钥是别人用来加密信息的,私钥是自己用来解密信息的。可能知乎和那篇英文科普以为先加密,所以先定出公钥,然后再算私钥吧?又或是其实公私钥都是配对的,私钥加密的信息只能用公钥解密,先后顺序无关紧要?但关于d(也即他们的e)的选择取,的确跟原论文出入很大,有误导读者的嫌疑。

怕原始论文的方法太旧,现在使用的方法已经更新成知乎上所说的样子,我还特意查了吴军《数学之美》中对RSA的简述,与原始论文一致。从原理上看,为了提高破解难度,d也应该是越大越好,而不应该小于m。到此,我才敢确定自己对RSA的理解是对的,至于里面的数学证明,我就没有能力深究下去了。
若是我看了得到APP或知乎的帖子就信了,就“自以为自己知道了”;然后在某个“恰当”的场合,自以为是地给人“科普”一下RSA怎么回事,就要被内行笑话,贻笑大方了。更怕的是别人也不懂,也不深究,还信了我的解释,这一方面是毒害别人,以讹传讹,另一方面是让自已一直处于“无知而不自知”的状态。
一个建议
想起这些东西,是因为最近阅读Principles,第一条建议就是渴求真相,Embrace Reality and Deal with It. 想起罗素之前的一段采访,他留给后人的其中一个建议是:
When you are studying any matter, or considering any philosophy, ask yourself only what are the facts and what is the truth that the facts bear out. Never let yourself be diverted either by what you wish to believe, or by what you think would have beneficent social effects if it were believed. But look only, and solely, at what are the facts.
很久很久以前,我喜欢听百家讲坛,尤其喜欢易中天老师讲三国,特喜欢那个“不得务虚名而处实祸”的曹操,还忍不住向身边的朋友宣传,替曹操翻案。直到听了于某丹老师讲孔孟之道,瞬间汗颜。完全是挂羊头卖狗肉,借孔孟夹带私货。回想起来,易中天讲得有理有据的样子,他应该没有骗我吧?可是凭我的知识积累,哪有本事判断真伪呢?说回于某的孔孟之道,我又怎么知道自己以前的理解是对的,于某的说法是错的呢?难道仅仅是因为我读过一本论语几篇孟子吗?我又怎么判断自己不是先入为主呢?
人容易被自己愿意相信的东西迷惑,又懒得思考。不经判断,轻易相信一些东西,以为自己知道了,实际是不知道自己不知道,自以为是。时刻保留一点猜疑,对知识存一点好奇心,知道自己不知道,不得务虚名而处实祸。
2019/1/19, Sat