总结:

我归纳了如下几点重要的方面(当然要得到书中精华,可能还需要自己读一遍书,总结主要帮助自己在读完书后回忆。):

暗时间;时间效率;潜意识和表层意识;Much of Will is Skill;

专注:做事一口气做完(避免频繁切换);一段时间只看一个方向的书(可以相互联系);

站在前人的肩膀上:你的坑别人都踩过;informed decision;从别人的错误中学习;

分治:to-do list;一个单词20元,激励自己;列出一二三的关键方向,再逐个思考;

知识:记笔记-教是最好的学-主动复习回忆;essential knowledge,not details;英语很重要;只看经典;对问题抽象,探索本质;好的书会介绍知识的来龙去脉;将思考的过程写在纸上;

理性思考:短视(疲于应付紧迫而不重要的事);沉没成本;认知失调;自利归因;Think out of box;

语录整理:

第一章 暗时间

认为时间对每个人是均等的是一个错觉,善于利用思维时间的人,会无形中比别人多很多时间。投入时间”这个说法本身就是荒唐的,实际投入的是时间和效率的乘积。

看书并记住书中的东西只是记忆,并没有涉及推理,只有靠推理才能深入理解一个事物。这部分推理的过程就是你的思维时间,也是人一生中占据一个显著比例的“暗时间”,你走路、买菜、洗脸、坐公车、逛街、出游、吃饭、睡觉,所有这些时间都可以成为“暗时间”,你可以充分利用这些时间进行思考,反刍和消化平时看和读的东西,让你的认识能够脱离照本宣科的层面。这些时间看起来微不足道,但日积月累将会产生巨大的效应。

大脑在开始一件任务的时候必须要有一定的时间来“热身”。举个例子,你看了一会书之后,忽然感到一阵无聊,忍不住打开浏览器,10分钟后你想起来还要继续看书,但要回复到当时理想的状态,却需要一段时间来努力去集中精力,把记忆中相关的知识全都激活起来,从而才能进入“状态”,因为你上了10分钟网之后这些记忆已经被抑制了。如果这个“热身”状态需要一刻钟,那么看似10分钟的上网闲逛其实就花费了25分钟。

如果一个系统不停地在多个任务之间来回倒腾,就会耗费大量的时间在上下文切换上,无形中浪费了很多时间。 这也是为什么我总是倾向于创造大块的时间来阅读重要的东西,因为这样有利于“沉浸”进去,使得新知识可以和大脑中与其相关的各种既有知识充分融合,关联起来,后者对于深刻的记忆非常有帮助。

能够迅速进入专注状态,以及能够长期保持专注状态,是高效学习的两个最重要的习惯。具备超强抗干扰能力,才能有效地利用起前面提到的种种暗时间。

第二章 设计你自己的进度条

做事情也是同样的道理,善于规划的人,会将目标分割成一个个的里程碑,再将 里程碑分割成 TODO 列表。前阵子流行的 GTD 方法学,核心的理念就在于,如果你 把任务分割了,你就有了进度条,你就知道,事情在不断的进展,你总会完成任务 或到达你的目标,你会有一个时间估计。反之如果没有这个分割,整个的任务或目标对你来说就只有两种状态——“完成”和“未完成”,如果不幸是一个比较 漫长的目标,那么你会发现你的进度条总是“未完成”,一次又一次的等待未果 会耗尽你的耐心,让你下意识的产生“这事什么时候才能完呢?”的疑惑,没有分而治之,你就不知道未来还需要付出多少努力才能达到目的。

如果你遇到困难,不妨用一用互联网,用一用群体的智慧,看看 别人当时是怎么想怎么办的,绝大多数情况下你并不孤单,你遇到的问题早就有 人遇到过,你踩过的坑里面尽是前人的脚印,不要仅仅因为一时摸不着头绪,找不着出路就退出,这不是 informed decision。

兴趣遍地都是,专注和持之以恒才是真正稀缺的。

一个小小的思维差异,可能导致很多人在遇到困惑的时候原地打转,冲突不出, 而另一些人则取经得到宝贵的经验,站在别人的肩膀上越过了障碍。唐雅薇从郭女士那儿得到了最宝贵的信息:女生在 IT 行业也能有很好的发展。信心,是这样 一种奇怪的东西,就算你没有确切的证明未来会更好,你也会坚持下去,你不会过早退出循环;而来源于过来人的信息则是信心最靠谱的保障。

靠专业技能的成功是最具可复制性的。

如果你是不容易专注的人,你会发现生活中处处都是分散你注意力的东西,你的思维难以在一个事情上停留半小时,于是你的时间变得琐碎,你很难在一个领域有长久的积累和深入的思考,这样的现实可能会让你感到沮丧,后者让你更加无法专心,这样的现实可能会让你感到焦虑,为了避开焦虑你又会去寻求其他的刺激,结果是恶性循环。反思是改变自己的第一步,我们常常容易发现别人的问题,别人的错误,却难以 发现自己思维中的问题,因为我们很少会把自己的思维当成目标去思考。

推迟决定是最差的决定,在推迟决定期间,时间悄悄流逝,你却没有任何一条路上的积累,白白浪费了时间。

一生的知识积累,自学的起码占 90%。

第三章 如何有效地记忆与学习

你所拥有的知识并不取决于你记得多少,而在于它们能否在恰当的时候被回忆起来,在恰当的时候能够想得起来去使用。

理解记忆:知识中包含了精细的概念、逻辑、一般的解题原则、通用的解题手法、背景知识、类似的问题等等无数的记忆和提取线索。缺乏线索的记忆就像记忆海洋中的孤岛,虽然在那里,但是难以访问。而富含线索的记忆则是罗马,条条大路通罗马。

(举一反三、触类旁通)在从既有经验中总结知识的时候,应利用适当的抽象来得出适用范围更广的知识(而不仅仅是一个萝卜一个坑);另一方面,在遇到新问题的时候,同样应该对问题进行抽象,触及其本质,去除不相干因素避免干扰,从而有效提取出之前抽象出来的知识。

如何有效地总结知识、学以致用:

1.养成习惯,经常主动回顾一段时间学到的东西

2.创造回忆的机会。

1)经常与别人讨论,或者讲给别人听。

2)整理笔记

3)书写。将一段时间学习的知识按照一个主题系统地串起来大大地丰富了知识之间的关联,平添无数提取线索。

3.设身处地“虚拟经历”别人经历过的事情。

4.抽象和推广。将特例中得到的规律推广到一般情况。如果不懂得看到问题的本质(如:经济决策),便很难利用之前推广出来的结论。

5.联系、比较自身经历。将别人的经历或者通过阅读和观察得来的经历和自身的经历进行比较,常常能够得到非常有价值的结论。

第四章 学习密度与专注力

尽管学习时间很长,但学习密度很低,结果乘起来还是低。

潜意识能在你觉察不到的情况下产生效率,潜意识也能在你觉察不到的情况下干扰你的注意力。如果表层意识和潜意识都能专注同一件事情,也 就是俗称的完全投入,这个时候的效率就能 double。

那些让人焦虑的事情会积压在潜意识当中,总是在影响你专注做事,削弱你人生的效率。

快活的日子全是浪费时间,没有任何收获。

让这些不重要的事情自己来找你就可以了,即中断式被动关注,后者可以防 止空转轮询浪费的时间,从而把最集中注意力的时间利用在最重要的事情上。

第五章 一直以来陪伴我的一些学习习惯

Google&Wikipedia

看书挑剔,只看经典

做读书笔记。一是将自己阅读时候的思考(包括闪念)总结下来,二是将书中的好例子摘抄下来。很多时候,仅仅是用自己的语言重新表述一下就能够极大地加深印象和理解。我觉得,人与人学习的差距不在资质上,而在花在思考的时间和思考的深度上。获得多少并不取决于读了什么,而取决于思考了多少、多深。

趁着对一件事情有热情的时候,一股脑儿把万事开头那个最难的阶段熬过去。

重要的事情优先

重要的事情要营造比较大的时间块来完成,同时也要善于利用小块时间。

抬起头来。人的思维是非常容易只见树木不见森林的。所以判断一个东西值不值得学习是很重要的。

好资料的特点:从问题出发;重点介绍方法背后的理念,注重直观解释,而不是方法的技术细节;按照方法被发明的时间流程来介绍(先是遇到什么问题,然后怎样分析,推理,最后发现目前所使用的方法)。MJ:这同样也是理解新知识的方法。这个知识解决了什么,基本原理,困难及应对相应的细节,优缺点。

关键要了解那些重要的思想(很长时间不变 的东西),而不是很细的技术细节(易变的东西)。《Computer Systems: A Programmer’s Perspective》就是为此目的,针对程序员的需求总结出那些 essential knowledge 的好书。

这些底层知识会无可避免的需要用到,既然肯定会被用到那还是预先掌握的好,否则一来用到的时候再查是来不及的,因为 essential 的知识也往往正是那些需要较长时间消化掌握的东西。

如果你不知道某个工具的存在,遇到问题的时候是很难想到需要使用这么样一 个工具的,essential knowldge 就是使用最为广泛的工具,编程当中遇到某些问 题之后,如果缺乏底层知识,你甚至都不知道需要去补充哪些底层知识才能解决 这个问题。

一件事情如果你没有说清楚,十有八九不能做好。

第六章 我在南大的七年

也许真的有更好的路,但事前真的很难判断哪条路是最优的,我们能做到 的,是把一条路走透了、走深了,只要不是一条太不靠谱的路,深入的过程中总会有很多的收获。

如果觉得做不下去了,就硬着头皮坚持做,然后就类似于麻木了,适应了,那种望而却步的感觉会逐渐自动退去。

开始看英文版的书。好处,其一,不在反感和恐惧英语了;其二,开始意识到英文世界的技术资料有多么丰富,一旦熟练掌握了语言这个平台,背后就是一扇大门,通向一个海量的信息源。

看一个人,只要看他读的书和见的人

第七章 逃出你的肖申克

我们每个人都带着有色眼镜看待这个世界,客观且全面的描述一个事情极少有人能做到。

知识的表象细节会迷惑我们的眼睛,阻碍我们对知识的转移运用,在这个例子中,两个问题领域表面上是不相似的,但本质上是一样的。

失败的事情中揭露出来的信息一点也不比成功事件中的信息少,或许往往还能得到更多的东西。没有得到好的结果并不代表你的过程就错了。看重过程,而不是看重单次的结果。

习惯的力量远远大于我们的想象。对付我们强大的习惯的最佳办法是将自己认为正确的(不管是自己经过困 难或失败而领悟的,还是看到书上或听到别人说的)写下来,并常常拿出来翻看。

普通人从自己的错误中学习,聪明人从别人的错误中学习。事实上,现代社会人最重要的能力之一就是能否从别人的错误中学习,往往是这类人能够迅速走在别人的前面,在别人跌倒的地方跳过去。

我们有两个大脑:一个理性大脑(由进化年代较为新近的大脑皮层构成,具备自我意识、分析、计划、抽象、语言等复杂功能),一个原始大脑(由进化年代较为久远的大脑区域构成,适应于远古社会,主管情绪及一些原始的需求和条件反射,如生存、繁衍、道德直觉等等)。这两个区域并不总是合作无间的。我们常常需要用理性的声音去说服内心的原始人。

将关联误当做因果就是我们的认知死穴之一。

在社会文化方面,人们常用“仁者见仁、智者见智”这个俗语来指代三种现象:偏见,立场,选择性关注。

我们对于未来的惩罚和收益都估计不足,倾向于就眼下的损益进行决策。

GTD的原理:通过不断的进展,让执行者意识到事情正在朝向完成不断迈进,这种正面趋势所带来的积极情感能够进一步激励个体把事情执行到底。

经常动用理性思考也能够锻炼理性大脑的“实力”,在更多的决策场合获得压倒性优势。

预言的破灭却并没有影响信徒们的信念一分一毫。

一件事情尚存在对自己有利的解释,我们的大脑便会毫不犹豫地掩耳盗铃地 认为那就是唯一的解释。

尤其是当人们为一件事情付出了金钱,社会关系,很多很多之后(这在宗教末世 论组织和传销组织中何其相似),这些既有付出便会对他们的思维产生越来越强大 的影响(经济学中的“沉没成本”便是如此),我们的思想被迫对自己的行为作出 合理的解释(这就是著名的“认知失调”——这个心理学词汇已经如此有名,以 至于出现在了呆伯特漫画中了)。

第八章 书写时为了更好地思考

当我书写的时候,新的内容仍然源源不断地冒出来,就像我的键盘自己也会思考一样。书写的好处:

1.书写是对思维的备忘。我们是如此努力地试图一下就走出很远,同时又老是怕 忘记目前已经取得的进展和重要结论,结果意识的微光就在一个很小的范围内打 转,始终无法往前走出很远。如果记笔记,我就会先 一二三的罗列出思考的关键方向,然后逐一展开。

2.书写是与自己的对话。黑底白字会不断主动地通过视觉刺激来提醒你它的存在,于是你就可以将空出 来的思维精力用于反思你自己的观点。

3.书写是与别人的交流。把自己的思考写出来让别人发现漏洞,则是对自己知识体系的 善莫大焉。

4.有时候,语言自己也会思考。同一个概念,在大脑中模糊的感觉,和明确地表达成某个特定的词语,是不一样的。

第九章 为什么你从现在开始就应该写博客

教是最好的学。你可以在大脑中虚构一个听众,一个 不懂行的听众,然后你说给他听。这是可行的,我经常在路上用。

一个长期的价值博客是一份很好的简历。

阅读博客的人希望得到信息而非噪音。

第十章 我不想与我不能

注意力等于事实;观察者偏见所起的作用像一个过滤器;世界是这个样子是因为我看到它是这个样子。

人生不得意往往由两个原因造成,一个是外因,即你抱怨的那些原因,另 一个则是内因。如果你想改变客观现实,那也是用自己的行动,而不 是抱怨。MJ:比如考研失败既有缩招的外因,也有自己不努力的内因,不要让外因掩盖内因。

第十一章 遇到问题为什么应该自己动手

很多时候我们可以在超市为选择哪一卷卫生纸斟酌半天,却在面对生活中重大抉择的时候轻易就随波逐流。

对学习新知识的困难程度的评估,我们却很不在行,因为大部分知识都是需要等你掌握了之后才会“豁然开朗”、“柳暗花明”的。

困难的路越走越容易,容易的路越走越难。

第十二章 什么才是你的不可替代性&核心竞争力

技术路线的选择重要但不具有决定性。

个人的核心竞争力是他独特的个性知识经验组合。如果这种组合:a.绝无仅有;b.在实践中有价值;c.具有可持续发展性,那你就具备核心竞争力。因此,当设计自己的发展路线时,应当最大限度地加强和发挥自己独特的组合,而不是寻求单项的超越。

第十三章 跟波利亚学解题

时刻不忘未知量;用特例启发思考;反过来推导(本质上是利用了结论信息);试错;调整题目的条件;求解一个类似的题目;列出所有可能跟问题有关的定理或性质;将问题泛化,并求解这个泛化后的问题;下意识孵化法;把问题扔给别人解决。

每一步推导,每一步逻辑或猜测都将我们往前 挪一步,然而电筒的光亮能找到的范围是有限的,我们走了几步发现后面又黑了。结果意识的微光就在一个很小的范围内打转,始终无法往 前走出很远。而将思维过程记录下来,则给了我们完全的回顾机会。

一句话从嘴里说出来,或者写到纸上,被视觉或听觉模块接收,再认知;跟在 心里默念所产生的神经兴奋程度是不一样的。

soft knowledge,即你“知道”,但就 是联想(联系)不起来。hard knowledge,即你就是不知 道,它不在你的脑子里。

第十四章 锤子和钉子

如果你手里有一把锤子,所有东西看上去都像钉子。如果你想钉一个钉子,所有东西看上去都像是锤子。

如果你认为自己技术够牛,那么你必须证明你能很快做出来。如果你认为自己技术够牛,最好能牛到,只提供一个函数就解决了他们的问题。别这个代理类,那个聚合类,这个唯一实例类。最好连参数也没有,大家调用一下写 一句代码就 OK。甚至你做的好,大家都不用调用你的代码,你可以包含在基础框架中,你自己去判断什么时候什么应用需要执行这个动作。如果你认为自己技术够牛,那么在业务功能需求发生变化的时候,你能够保证接口不变的情况下还能 适合变化,这才你够牛。别让业务开发组的人跟着你也得改他们自己的代码,那样的设计就很烂了。

手中有锤,心中无锤——任何工具都是有其适用范畴和前提。仅仅将其看做是我们工具箱中的又一件工具,就可以客观地评估它,视具体情况而使用——始终别忘记自己要解决的问题是什么。Why永远在How之前。

如果你喜欢在一段时间之内关注某个主题,你在阅读书籍资料的时候就会 带着问题的眼镜,看到平常看不到的东西,作出与平常不一样的思考。

第十五章 鱼是最后一个看到水的

之所以所有东西看起来都像钉子,是因为人倾向于在既有框架下去解决问题;更重要的是,在这个过程中很难觉察到框架约束的存在,正如鱼觉察不到水的存在一样。

然而事实是,把简单的事情搞复杂的人比比 皆是,把复杂的事情搞简单的人凤毛麟角。

学习C++的第一原则是什么?关注基本的概念和技术,而非特定的语言特性,尤其不是C++中细枝末节的语言细节。学习编程重在学习基本的概念和素养,这些是长期稳定不变的东西。投入精力学习特定的细节,学得越是细,就越是容易淘汰。

使用C++的第一原则是什么?将你的设计理念(概念)直接映射为C++中类或模板。

脱离语言思考,使用语言实现。

Think out of box.

第十六章 知其所以然

人类解决问题的两大思维方式(联想;演绎和归纳)都是有很大试错成分的,对一个问题的思考实际上是相当错综复杂的,而且充满了无效分支。

金出武雄在《像外行一样思考,像专家一 样实践》中说写论文应该写得像侦探小说一样,我很赞同。

TAOCP 作为一个资料库是绝对优秀的,基础的算法只 要你能想到的,几乎都可以在上面找到原始出处。

第十七章 为什么有必要知其所以然

看定理必看证明。一个你不明白其证明的定理在我看来比不知道 这个定理还要糟糕,因它给你造成一种懂了的错觉。

与看定理必看证明类似,看一个问题的解法,必然要看解法所诞生的过程,背后 是否隐藏着更具一般性的解决问题的思路和原则。

所有基于比较的排序算法,其复杂度为什么是以 O(nlogn)为下界的,因为一次比较操作最多有两个结果,a>b 或 a<b,既然只有两种结果,那么最多只能将解空间进行 2 分,如果每次都能完美的 2 分,那么找到那个唯一点最终需要的步骤就是log(n!) = O(nlogn)。MJ:想象一个N*N的轨迹表,最好情况,每次循环经历O(n)次比较,一共用log(n)次循环。

在 01 背包的算法里面,每当我们解出 K(W, j)(需要 O(W)次计算)之 后,解空间就会被折半(排除掉 1/2 的可能性),一共如此做 n 次,就能得到最终解。由于每次折半的代价是 O(W),便不难理解为什么算法复杂度是 O(nW)了。MJ:排除掉1/2的可能性是指,K(W, j)的解要么包含物品j,要么不包含物品j。

第十八章 康托尔、哥德尔、图灵——永恒的金色对角线

停机问题:不存在这样一个程序(算法),它能够计算任何程序(算法)在给定输入上是否会 结束(停机)。

bool God_algo(char* program, char* input) {

if(<program> halts on <input>)

return true;

else

return false; }

bool Satan_algo(char* program) {

if( God_algo(program, program) ){

while(1); // loop forever!

return false; // can never get here! }

else

return true; }

God_algo(Santa_algo,Santa_algo);

Satan_algo(Satan_algo)能够停机 => 它不能停机

Satan_algo(Satan_algo)不能停机 => 它能够停机

Y Combinator:如何在lambda算子系统中表达递归函数

f(n):{if n == 0 return 1  else return n*f(n-1) } 如何以lambda实现

let F = lambda n. IF_Else n==0 1 n*F(n-1)    #语法糖。既然不能直接调用自身,那我把自己作为参数,间接调用。

let P伪 = lambda self n. If_Else n==0 1 n*self(n-1)    #如P伪(P伪,3),参数不一致。那我让参数数目一致。

let P = lambda self n. If_Else n==0 1 n*self(self, n-1)    #P(P,3)=If_Else 3==0 1 3*P(P, 3-1),成功了,但n*self(self, n-1)的形式显然是冗余的。

let power = lambda n. IF_Else n==0 1 n*power(n-1)

#P(power) = power,这就是所谓的不动点。即power 这个“点”在 P 的作用下是“不动”的。

#但是power这个函数是不存在的,那么是否真的存在这样的power,使得P伪(power)=power呢?

#注意,这里是P伪不是P,因为我们不是构造P伪(P伪,n)这样的形式,而是构造P伪(power,n)这样的形式,所以不需要传两个参数。之所以在这里构造power,就是为了避免P的冗余表达。

对于伪递归函数P伪是否存在这样一个power使得P伪(power)=power这样的问题,我们可以抽象为对任一伪递归F,必存在一个理想f满足F(f)=f。

那么我们假设有这样一个神奇的函数Y,把 Y 用到任何伪递归的函数 F 上就能够得到真正的 f。则:

Y(F) = f 且F(f) = f,即Y(F) = f = F(f) = F(Y(F))

f=Y(F)告诉我们f的lambda表达式包含F,而let P = lambda self n. If_Else n==0 1 n*self(self, n-1)提示我们自身调用自身。

let f_gen = lambda self. F(self(self)),则f_gen(f_gen) => F(f_gen(f_gen)),这个f_gen(f_gen)即我们要求的f,即f_gen(f_gen)是F的不动点。

因此,let Y = lambda F.let f_gen = lambda self. F(self(self)) return f_gen(f_gen) 。简言之,Y Combinator的输入是F和形如lambda self. F(self(self))的f_gen,返回的是f_gen(f_gen)。

用它来验证一下阶乘函数。

let P伪 = lambda self n. If_Else n==0 1 n*self(n-1)。

将P伪交给交给Y(   let Y = lambda F.let p_power = lambda self. F(self(self)) return p_power(p_power)   ),则有:Y(P伪)=p_power(p_power),其中,p_power = lambda self. P伪(self(self)) 且有 p_power(p_power) = P伪(p_power(p_power)) 。

将p_power(p_power)带入P伪,则有P伪(p_power(p_power))=lambda n. If_Else n==0. 1 n*p_power(p_power)(n-1)。

根据定义,上式中的p_power(p_power)又会展开成P伪(p_power(p_power))。

所以,不妨将P伪(p_gen(p_gen))/p_power(p_power)替换成function,则function=lambda n. if_Else n==0 1 n* function (n-1),完美的阶乘函数。

哥德尔的不完备性定理:任何足够强到蕴含了皮亚诺算术系统(PA)的一致(即无矛盾)的系统都是不完备的,所谓不完备也就是说在系统内存在一个为真但无法在系统内推导出的命题。

哥德尔构造的公式形如N(n) is unprovable in T。n是自变量,N可以从n解码出确定的公式。

UnPr(X)=“X is unprovable in T”,则哥德尔构造的公式转变成了UnPr( N(n) )。

令G(n)=UnPr( N(n)),则有G(g)=UnPr( N(g) )。也就是说,N(g) is unprovable in T,且G(n)在T中(即存在N(i),使得N(i)=G(n))。即G(g)为真且不可再T内被证明,哥德尔的不完备性定理得证。

哥德尔的不完备性定理最深刻的地方就是它揭示了自指(或称自引用,递归调用自身等等)结构的普遍存在性。

将G(n))替换UnPr(N(n)))的N(n),则G(g)=P( G(g) ),这就是Y Combinator。

因为自指结构的普遍性,所以我们可以利用此来构造出lambda的递归形式,也可以通过自己引用自自己来证明停机问题。MJ:在停机问题中,God_algo就是P伪,Satan_algo就是p_power。

对角线方法

如一条直线上所有的点跟一 个平面上所有的点构成一一对应(也就是说复数集合跟实数集合构成一一对应)。

实数集和自然数集无法构成一一对应。

M1,M2,M3 … 是逐一列出的图灵机,H(i,j)(i 是 Mi 的编码)能够给出“Mi(j)”是 N(不停)呢还是给出一个具体的结果(停)。

则我们可以构造一个新的图灵机P,使得P(i):

if(H(i, i)==1) // Mi(i) halts

return 1 + Mi(i)

else // if H(i, i) == 0 (Mi(i) doesn’t halt)

return 0

即,如果Mi(i)停机,那么P(i)的输出就是 Mi(i)+1,如果Mi(i)不停机的话,P(i)就停机且输出 0。这就保证了 P(i)的输出行为跟 Mi(i)反正不一样。又由于p本身是一个图灵机,所以必然存在k使得Mk = P。那么,

Mk(k) = P(k) =1+Mk(k) if Mk(k) halts 0 if Mk(k) doesn’t halt

也就是说,如果 Mk(k)停机,那么 Mk(k)=1+Mk(k);如果 Mk(k)不停机,则 Mk(k)=0。不管哪种情况都是矛盾的,所以,不存在这样的H。

这个对角线方法实际上说明了,无论多聪明的 H,总存在一个图灵机的停机行为是它无法判断的。这跟哥德尔定理“无论多‘完备’的形式化公理系统,都存在一 个‘哥德尔命题’是无法在系统内推导出来的“从本质上其实是一模一样的。

如果我们把那个无法判定是否停机的图灵机作为算法的特例纳入到我们的 H 当中呢?我们把得到的新的判定算法记为 H1。然而,可惜的是,在 H1 下,我们 又可以相应地以同样的手法从 H1 构造出一个无法被它(H1)判定的图灵机来。你 再加,我再构造,无论你加多少个特例进去,我都可以由同样的方式构造出来一 个你无法够到的图灵机,以彼之矛,攻彼之盾。

其实这也是哥德尔定理最深刻的 结论之一,哥德尔定理其实就说明了无论你给出多少个公理,即无论你建立多么完备的公理体系,这个系统里面都有由你的那些公理出发所推导不到的地方,这些黑暗的角落,就是人类直觉之光才能照射到的地方!

第十九章 数学之美番外篇:快排为什么那么快

只有提出每种答案的概率都均等的问题, 才能获得最大信息量

第二十章 数学之美番外篇:平凡而又神奇的贝叶斯方法

我们对形式化的贝叶斯问题不擅长,但对以频率形式呈现的等价问题却很擅长。

似然是指这种假设和事实的符合程度,先验是指这种假设出现的可能性。

拼写纠正:既要考虑实际输入单词与猜测输入单词间的似然程度(edit distance<2),也要考虑猜测的单词出现在这个句子的先验程度/单词出现频率的先验程度。

奥卡姆剃刀:为什么说如无必要,勿增实体?所谓奥卡姆剃刀精神就是说: 如果两个理论具有相似的解释力度,那么优先选择那个更简单的。因为我们认为越简单的那个先验程度越高。

最小描述长度原则:P(h | D) ∝ P(h) * P(D | h) 两边求对数,将右式的乘积变成相加:ln P(h | D) ∝ ln P(h) + ln P(D | h)。ln P(h) + ln P(D | h) 则可以解释为模型(或者称“假设”、“猜测”)h 的编码长度加上在该模型下数据 D 的编码长度。使这个和最小的模型就是最佳模型。

中文分词:这种分词方式的可能性P(X|Y)(似然)近似看作1,先验则是在k-gram语言模型中这种分词方式出现的可能性(先验)。

EM 算法与基于模型的聚类:Expectation-Maximazation

最大似然与最小二乘:为什么最小二乘寻找的是误差平方和而非误差的绝对值和呢?噪音使得它们偏离了完美的一条直线,且偏离路线越远概率越小,我们用一个正态分布去模拟。P(D|h) = P(d1|h) P(d2|h)…因为任何一条直线也不比另一条直线更可能出现,所以先验P(h)都是1。MJ:当不是直线时先验则不能忽略,具体P(D|h) = P(d1|h) P(d2|h)…证明见第二十章4.5节。

朴素贝叶斯:P(D|h+) = P(d1,d2,..,dn|h+) -> P(d1|h+) * P(d2|d1, h+) P(d3|d2,d1, h+)… -> P(d1|h+) P(d2|h+) P(d3|h+) * …

为什么朴素贝叶斯方法令人诧异地好——一个理论解释:有些独立假设在 各个分类之间的分布都是均匀的所以对于似然的相对大小不产生影响。

层级贝叶斯模型/隐马可夫模型(HMM):发出的语音信号取决于背后实际想发出的句子,而背后实际想发出的句子本身的独立先验概率又取决于语言模型。

《暗时间》——总结+语录整理相关推荐

  1. 《暗时间》第一遍读书心得整理

    在知乎上面看到了刘未鹏,购买了他的<暗时间>一书,趁着坐车和空闲的时间阅读了全书,整理第一遍阅读的心得如下: 首先我读书的时候喜欢划掉不重要的章节和段落如下:         先从总体的角 ...

  2. 看完刘未鹏的暗时间之后的感悟

    引言:偶然间在某乎上闲逛,看到一篇帖子推荐暗时间,感觉上不错,就去网上找了找资源,down下来看看,写的还不错,两天看完了,以下是对书中内容的一些思考. 大脑 生活中的错误观念 时间对每个人都是均等的 ...

  3. 《暗时间》前两篇的笔记和总结

    第一部分:省时.高效地学习和进步 总论:学习后要进行笔记.反思.总结.讨论,否则你永远只是在他人的思考中洋洋得意着. 1, 暗时间:习惯将问题放入大脑的潜意识思考 2, 习惯于专注所带来的成就感 3, ...

  4. 【5分钟一本书】暗时间:用时间管理把握产品的进度条

    导语 <暗时间>是本偏重心理学的时间管理类书籍,从心理学和神经科学的角度来印证更有效的思考方式.文中有谈到一些我非常认同的好习惯和好方法,使我迫不及待的想分享给大家,于是就有了这篇文章.喜 ...

  5. 《暗时间》-----摘记

    http://blog.sina.com.cn/s/blog_6af5df430101ab83.html -------整理 最近花了3天左右的下班时间和上班之前的时间把刘未鹏先生关于学习方法的相关博 ...

  6. 《暗时间》读后感(一)——确实需要学习一些心理学有关的内容

    写在前面 之前一段时间算是经历了一些事情,脑子里也总是乱糟糟的,身边并没有一个人可以去完全的诉说并给出一定的意见,总感觉自己的心理在悄悄的发生一些变化,但是自己又理不清楚.突然想到我可以看书呀,你经历 ...

  7. 《暗时间》 读书感悟

    近花了3天左右的时间把刘未鹏先生关于学习方法的相关博客看了一遍,觉得讲得很有道理,下面把觉得我感受很深的地方摘录下来了. 特别说明:本文是我对刘未鹏先生关于学习方法相关博文的阅读后的一些总结和整合.如 ...

  8. 读刘未鹏《暗时间》的总结和思考

    请访问我的个人博客:www.lijinma.com 花了两个晚上读完了刘未鹏的暗时间,心中窃喜.今天再次翻看这本书进行浏览总结并思考,通过这本书我到底学到了什么? 1. 为什么人人都应该学点心理学? ...

  9. 【如何学习】 -- 读刘未鹏《暗时间》有感

    记录是为了更好的成长,分享从书中学到的精华, 可能每一条都需要我们花上很多时间和精力去学习,不要着急,慢慢靠拢,每天都是更好的你~ 1.从各种抽象层面去掌握知识 2.努力掌握知识最深刻和本质的东西 3 ...

  10. 《暗时间》-知其所以然

    知其所以然 读<暗时间>知己所以然的个人理解 我们学习一个东西,光知道他的答案&做法,会存在脑海碎片中, 某时想起时只知道我好像见过,但是不能回想来知识的内容,它的核心是什么,以及 ...

最新文章

  1. c# winform快捷键设置
  2. C#操作项目配置文件
  3. 数据结构课上笔记11
  4. c盘清理代码_拒接卡顿,从c盘减负、系统修复及网络加速做起!奥利~~~
  5. PHP以xml形式获取POST数据
  6. Redis数据结构之有序集合
  7. 500个爆文标题_美食爆文大放送 | 烹饪技巧从细节着手,夏日消暑美食最为应时...
  8. java 开源地图引擎_开源三维地图框架-Cesium
  9. 后序遍历的非递归算法python_Python非递归实现二叉树的后续遍历
  10. Linux 之父拒绝 996,Swift、Python 之父痴迷深夜编程,程序员之神的 24 小时!
  11. 熵的性质:可加性和强可加性
  12. 【Keil 5】STM32F401CCU6 固件库配置(超详细教程)
  13. Eclipse插件(RCP)自定义透视图
  14. VUE项目学习(四):编写个人页面和配置路由
  15. 如何计算冲突域和广播域-图解分析
  16. 云计算大会超融合论坛分享
  17. 图解固件、驱动、软件的区别
  18. [ZZ]终极工程师的造诣 – 不迷信高科技的乔布斯给我们的启示
  19. AI如何让视频更智能?人工智能技术在视频监控中的应用
  20. Java基础 -> 笔记整合(eDiary),蓝奏云下载

热门文章

  1. 轻松办公信息化,六大OA产品优劣点评
  2. java替换特殊字符_Java处理特殊字符替换(正则表达式)
  3. Mstar官网下载转换成jpg格式的保姆级教程
  4. u盘linux系统 隐藏文件,轻松显示U盘隐藏的文件夹绝招
  5. 双交换消元:模合数多项式矩阵行列式、新伴随矩阵算法
  6. 操作必须使用一个可更新的查询
  7. Android Audio - HAL 层多声卡同时录音框架设计(多语言)
  8. 手持式频谱分析仪帮助实施毫米波无线信道调查
  9. Windows7主题包:Aero Pure 0.2 更像Win8
  10. 海克斯棋开源程序 FutaHex2 编译教程