思考学习Word文档格式.docx

上传人:b****6 文档编号:21563690 上传时间:2023-01-31 格式:DOCX 页数:12 大小:132.53KB
下载 相关 举报
思考学习Word文档格式.docx_第1页
第1页 / 共12页
思考学习Word文档格式.docx_第2页
第2页 / 共12页
思考学习Word文档格式.docx_第3页
第3页 / 共12页
思考学习Word文档格式.docx_第4页
第4页 / 共12页
思考学习Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

思考学习Word文档格式.docx

《思考学习Word文档格式.docx》由会员分享,可在线阅读,更多相关《思考学习Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

思考学习Word文档格式.docx

穿上别人的鞋"

),这样才能最有效地将他人的思维方式内化为自己的。

∙方法方面。

(我现在认为,)知识性的东西,在学习方法上最重要的应该是注意两点:

1)观其本质。

2)观其大略。

此外,只有当急着要用的时候,才需要去注意技术细节。

值得补充的是,我的意思并不是什么细节也不看。

有些细节是重要的,80%最重要的细节往往能在20%时间内掌握。

剩下的用到的时候查查就差不多了。

阅读的习惯

∙任何一点时间都可以用于阅读。

举个例子,我每天都会走去食堂,从实验室到食堂的路上一般有4~5分钟,我发现起码可以读两页书(而且还不是那种小说书,而是知识性的书)。

每天两页,两百页的书也就3个月就读完了。

点滴的时间汇聚起来就是一个“长尾”,想一想,每天有多少个这样的4~5分钟,3个月就可以读完多少本书。

(豆瓣上有一个小组“走哪都带着书”)。

利用这种方式的阅读,读完之后就像根本没有花任何时间一样。

∙一旦停下来,就不知道什么时候才会再拿起来读了。

所以一个“三天打渔,两天晒网”的人往往到最后会变成了“整天晒网,永不打渔”。

一本再厚的书,只要每天看一点,总有看完的一天,而且完全可以算出来需要用多久就能看完。

反之则永远没有开始的那一天。

思考的习惯

∙阅读过程中遇到任何值得思考的东西,可以放在任何大脑有空闲的时候思考:

刷牙洗脸时、休息时、走路时、睡前等等。

我相信一旦成为习惯,就连自己觉察不到的时候,无意识层面都在思考,积累起来就悄悄利用了别人无法利用的好多时间。

此外对知识的更深层思考也能够极大地加深记忆。

∙思考绝对不是一件疲劳的事,而是一件放松的事。

学习与记忆

By刘未鹏(pongba)

C++的罗浮宫(

TopLanguage(

正儿巴经学习算法算起来也有快两个月了,之前作为计算机工科生虽然算法和数据结构是必修课,但实际上只是停留在“理解”的层面,相当肤浅,更遑论举一反三灵活运用了。

因此,所谓“正儿巴经”学习算法,意即开始对算法思想的本质进行归根究底的过程、对思维方法论进行归纳抽象的过程、对各种解题技巧进行一般化的过程、通过不断练习来让记忆内隐化的过程..

在“正儿巴经”学习算法之前,我曾经有大半年时间都在用业余时间“正儿巴经”地学习心理学和认知神经科学。

所以在开始正经思考算法问题之前做的第一件事情就是仔细琢磨一直令我困惑的问题——那些看似抓不到摸不着的灵感到底是怎么来的。

现代心理学的一个最伟大的原则就是:

所有的心理活动同时都是生理活动。

——实际上,“心理活动”只不过是“大脑神经活动”的通俗称呼。

虽然大脑的结构极度复杂,然而许多人不知道的是,现代神经科学对大脑功能从高层原则上的认识已经可以说是相当完备了,而对于记忆和学习这块更加是因为EricKandel的突破性工作变得相当清晰。

可以说剩下的工作主要就是补充细节了。

于是乎,借助于三本关于记忆和学习的书,一本专门论述解题心理学的书,wikipedia,波利亚的三卷解题书,以及自己在思考有限多的问题的过程中对自己的思维过程的反省和总结,我试着对解题的心理学做了一个思考和总结(《跟波利亚学解题》)。

——这听起来很奇怪,一个本身只会初级算法的人又如何去思考涵盖所有问题解决的思维过程呢?

还是引用波利亚著名的发明者悖论吧:

有时候,一个一般性的问题反而要比它的一个特例更好解决。

然而,一般性的问题思考清楚了,清楚解题思维的本质了,并不代表我就万能了,就立即擅长解决所有算法问题了。

解题不是光靠思维的,巧妇难为无米之炊。

事实上,在《跟波利亚学解题》中总结的一个非常关键的要点就是:

启发法固然可贵,然而知识的重要性是不可替代的。

不存在通用的、万能的知识,要不然我们也不必到今天还在不断探索物质世界的规律了。

此外,获得知识的过程——学习——本质上是个体力活(尽管是有一定方法的体力活),这个体力活大致分为两步:

∙将外界(书本上的)知识转化为外显记忆。

∙通过不断练习,将外显记忆转化为内隐记忆。

(关于什么是外显记忆什么是内隐记忆请参考wikipedia或者《跟波利亚学解题》)

而第二步又包含两个过程:

∙将关于思维方法的知识转化为内隐记忆从而不知不觉就遵循。

∙将关于事实知识(例如“定理”、“性质”)的提取线索们转化为内隐记忆从而看到XX就能想到YY。

(参考《找寻逝去的自我》第二章“记忆的建构:

对现在和过去的编码和提取”)

关于第一点有本不错的书——《学习的艺术》。

关于第二点有一个不错的例子,最初从李笑来老师的blog上读到的(《把时间当作朋友》):

我李敖看的书很少会忘掉,什么原因呢?

方法好。

什么方法?

心狠手辣。

剪刀美工刀全部下来,把书给分尸掉了,就是切开了。

这一页我需要,这一段我需要,我把它分类分出来了。

那背面有怎么办呢?

把它影印出来,或者一开始就买两本书,把两本书都切开以后排出来,把要看的部分切开。

结果一本书看完了,这本书也被分尸掉了。

这就是我的看书方法。

那分类怎么分呢?

我有很多自己做的夹子,夹子我写上字,把资料全部分类。

一本书看完以后,全部进入我的夹子里面了。

我可以分出几千个类来,分的很细。

好比说按照图书馆的分类,哲学类,宗教类;

宗教类再分佛教类、道教类、天主教类。

我李敖分的更细了,天主教还可以分,神父算一类。

神父还可以细分,神父同性恋就是一类,神父还俗又是一类。

修女同性恋是一类,修女还俗这又是一类。

任何书里有关的内容都进入我的资料里来。

进入干什么呢?

当我要写小说的时候,需要这个资料,打开资料,只是写一下就好了。

或者发生了一个什么事件,跟修女同性恋有关系,我要发表对新闻的感想,把新闻拿过来,我的资料打开,两个一合并,文章立刻就写出来了。

换句话说,我这本书看完之后,被我大卸八块,五马分尸。

可是被我勾住了,这些资料我不凭记忆来记它,我凭用细部的很耐心的功夫把它勾紧,放在资料夹子里。

我的记忆力只要记这些标题就好了。

标题是按照我的习惯来分,基本上都翻译成英文字,用英文字母排出来,偶尔也有些中文的。

今天我把看家的本领告诉大家,李敖知道的那么多,博闻强记,记忆力那么好。

我告诉大家,记忆力是可以训练的。

记忆力一开始就是你不要偷懒,不要说躺在那里看书,看完了这本书还是干干净净的,整整齐齐的,这不对。

看完了这本书,这本书就大卸八块,书进了资料夹,才算看完这本书。

今天我为大家特别亮一手,把如何看书的招告诉大家。

不要以为这本书看完了,干干净净的新的算看过。

那个不算看过,因为当时是看过,可是浪费了。

你不能够有系统的扣住这些资料,跟资料挂钩。

可是找我这个方法,可以把你看过的书,都把它的精华抓出来,扣在一起。

这就是我的这种土法炼钢的治学方法。

恰恰运用了记忆最深刻的原理。

我们的大脑本质上是一个计算器,其物质基础是神经网络;

而不断的练习则是对该网络节点间联系强度(神经细胞间的突触联系强度)的训练。

——可惜的是像爱因斯坦大脑内的经过完美训练的神经网络参数不能直接导入到我大脑中,也许将来可以做到,但目前只有笨办法,实在是件郁闷的事。

所以,拿起书吧,训练你的神经网络,路漫漫其修远兮..

鱼是最后一个看到水的

《你的灯亮着吗?

》的最后一页画着一副大大的彩插:

鱼总是最后一个看到水的。

实际上,这句话有很多引申说法,其中最著名的一句是:

如果你有的是一把锤子,那么所有东西看起来都像是钉子。

不过后一句内涵文实在有误导嫌疑,因为这句话的表达方式很容易让人触摸不到问题的本质:

即之所以所有东西看起来都像钉子,是因为人倾向于在既有框架下去解决问题;

更重要的是,在这个过程中很难觉察到框架约束的存在,正如鱼觉察不到水的存在一样。

而这一切背后的本质原因则是:

人是有很强的适应性的。

这个谚语应该作为问题解决者的座右铭之一:

忽视既有框架的约束很容易导致sub-optimal的解决方案。

普通人遵守规则,牛人无视规则,伟人创造规则。

而要做到无视规则乃至创造规则,首先就要知道规则的存在才行。

最近的“征途”事件就很好的说明了这一点:

在既有框架下解决问题很多人都会,难就难在意识到框架的存在并突破它。

体现在程序员这个行业里面,也有很多相应的有趣现象:

#1设计模式

《设计模式》被许多初学者奉为圭臬,认为那些看上去精巧的东西才是真正牛13的,值得学习的。

而且,更聪明一点的人甚至会唯恐学的东西还不够复杂,因为越是复杂的东西搞出来越是有成就感。

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

实际上,《设计模式》里面曾经提到,其中大部分的模式都是建立在smalltalk/C++的前提之下的。

这个前提(框架)很可惜的被所有人扔到了风中,并将那些模式泛化为放之四海而皆准的准则。

PeterNorvig老大有一个著名的ppt,里面提到在《设计模式》的23个模式里面有16个模式放到动态语言(尤其是LISP)下面就根本不是什么模式,而是显而易见无需费力就能完成的任务。

c2上的老大们则将PeterNorvig的言论进一步泛化,提出“设计模式象征着语言所缺乏内建支持的特性”的说法,并罗列了一个“设计模式<

=>

语言特性”的对照表。

CodingHorror的Jeff也跟着掺和,换汤不换药的跟贴说“设计模式其实是语言进化的路标”(设计模式的大量重复使用便意味着应该集成到语言内建支持中去了)。

不管怎样,有一点是确定的,就是first-class的内建支持(简洁)永远优于补丁式的解决方案(绕来绕去)。

新版Javascript加入对multi-method(VisitorPattern)的直接支持——GenericFunction——就是一个极好的例子。

当然,Rubyers肯定也不会忘了跟着Lispers叫唤一把Closure是如何一个each方法搞定所有的迭代过程,全面打败笨拙的IteratorPattern的,并顺便奚落一下石器时代的Java。

总而言之,大众对设计模式的定性存在严重的问题,许多人把设计模式当成是精巧的利器,就如同解数学题时神来之笔的技巧一样。

然而实际上远非如此,设计模式是补丁,其出现往往意味着语言不够强大,其使用意味着大量的、与所要达到的编程目的无关的样板式代码。

著名的HeadFirst系列的《HeadFirstDesignPattern》在书的靠近结尾的地方也郑重提醒(Jeff同学觉得这个提醒应该用大号字体放在最前面):

不要觉得不用设计模式就不够好不够强大,以尽可能简单的方式完成任务才是王道。

(不过值得注意的是,简单并不意味着邋遢。

)所谓无码胜有码,设计模式,也是如此。

#2语言之争

语言之争是程序员群落永远的话题。

Flamewar是个一触即发的东西。

语言之争的原因之一就是人们容易在自己熟悉的语言框架下思考,并形成严重的偏见,只看到自己语言的好处,甚至于将并非好处的地方也觉知为好处。

#3语言的使用

一个程序员越是熟悉一门语言,越是容易为这门语言所累。

因为这门语言的特性对他来说就是鱼的水、木工的锤子。

一遇到问题首先脑子里就会闪出若干语言特性,既有方案。

当然,从统计意义上来说这并不是什么坏事,也许大多数时候是有助于问题的迅速解决的。

但那20%的时候这种思路带来的害处也许就带来了80%的头大。

比如熟悉Java/C#/C++的程序员可能会觉得“迭代器”的概念是非常直观的,甚至是非常漂亮的;

而介绍这个概念的书当然也不会上来就给自己一瓢冷水说迭代器的出现实在是没办法的补丁。

所以大家也就觉得这玩意好使,优美了,因为很多时候我们是用“足够”来定义好坏的;

只要还算能用,我们就可以觉得“不赖”。

然而,事实上,正如前文所说,翻一翻《设计模式》的IteratorPattern一节,再翻翻镐头书中介绍迭代的章节,就会发现更简单的迭代方案是根本无需定义多余的迭代器类和继承体系。

另一个思维被语言束缚的好例子是这篇“API考古之:

C风格的JavaAPI”,里面提到一个家伙设计了这样一个JavaAPI:

intenumerate(Thread[]list);

//listallthethreadsinthecurrentThreadGroup

避免思维被一门语言束缚的最好办法就是“学习其它语言”。

#4C++

之所以加上C++有两个原因。

一,这个Blog以往主要写C++。

二,C++在所有语言里面有特殊性。

在C++里面,存在无数的惯用法和技巧,好听一点叫技术。

无数本书用无数比特的唾沫描述这些技术并将它们吹得精妙无比。

然而,最近由TopLanguage的兄弟们群策群力汇集问题对Bjarne老大的一次“多对一”访谈(采访稿en版)中,我问了两个问题:

1.学习C++的第一原则是什么?

2.使用C++的第一原则是什么?

猜答案是什么?

关注基本的(fundamental)概念和技术,而并非特定的语言特性,尤其不是C++中细枝末节的语言细节。

有人肯定会问,那还叫学习C++吗?

学习一门语言自然要从它的语言特性开始不是?

否则还从何学起呢?

这个问题的关键在于要意识到,我们当然是需要掌握语言特性的,但重点在于要从语言特性看到特性背后蕴藏的支持设计和编程的概念(concept)。

比如类支持的概念,继承支持的概念,虚函数支持的概念,模板支持的概念...这个论点泛化之后的结论就是:

学习编程重在学习基本的概念和素养,这些是长期稳定不变的东西。

投入精力学习特定的细节,学得越是细,就越是容易淘汰。

Bjarne的说法就是:

一旦掌握了基本的概念,要用到细节的时候,细节自然会fallintoplaces。

将你的(pongba按:

与语言无关的)设计理念(概念)直接映射为C++中的类或模板。

也即是我前一阵子文章中建议的“脱离语言思考,使用语言实现”。

脱离语言思考的好处是显而易见的:

可以避免受到语言细节作为既有框架的干扰,避免过早被实现细节缠住,于是便容易找到最直观的解决方案,即便后来发现语言成了绊脚石,也可以选择换语言或者明确地知道自己做了什么折衷。

我不想与我不能

刘言|C++的罗浮宫(

事情开始往往是这样的:

你发现自己想做某事,但你同时又迅速发现,自己并不擅长做这件事或做不了这件事。

于是“我想做某事”这个念头被打败并暂时搁置起来——要不怎么办呢?

你反正又不擅长这件事。

一段时间过后,我问你,你想做某事吗?

你回答说想,但随后又加了一句,可是做不来。

就这样在“想做”与“不能做”之间痛苦徘徊了一阵子之后,我又问你,你想做某事吗?

你的回答变成了,不想。

你内心发生了什么变化?

首先,“想做”与“不能做”这两个冲突的念头是难以共存的,它们如果一起存在于你的脑子里的话就会不停地折磨你。

当你被折磨了足够长的时间之后你的内心就会作出一个选择,是改变“想做”还是改变“不能做”。

改变“想做”很简单,只要改成“不想做”就行了。

而改变“不能做”则难多了,需要你“做到”这件事情。

于是你作出了一个决定,放弃“想做”。

改为“不想做”。

最终你还是没有做成那件事情,但奇怪的是,你觉得你最终没有做是因为“不想做”,而不是因为“不能做”。

这下你的理由就充分了,你就舒坦了,因为因不想做而不做某事,这是一个天经地义的理由。

你不会承认自己是因为不能做所以不去做的。

可惜,事实是你把自己给骗了,为什么呢?

因为你“不想做”的原因正是因为发觉自己“不能做”。

你“不想做”并不是因为真正的不想做或没兴趣做,而是对“不能做”的一个妥协。

心理学上把类似这样的过程叫做“自利归因”。

术语挺能唬人,但其实很简单,比如你做一件事失败了,你说“唉,都怪XXX(这里的XXX可能代表人,也可能代表天气不好,情绪不好,路况不好这样的事儿)。

”(归结于客观原因,推卸自己的责任)。

比如一件事情成功了,你说“还不都是我的功劳”(归结于自己,抬高自己)。

简而言之自利归因就是把一件事情发生的原因归结为对自己有利的那种情况。

用大白话说就是不能给自己难堪,不能让自己下不来台。

功劳都给自己占,责任都给别人担。

其实,很多事情的发生都是多个原因共同造成的结果。

比如你上班迟到,你的解释是“路况不好”,但除此之外还有另一个原因就是你比平时起晚了半小时,遇上了高峰塞车。

这时,“起晚了”和“塞车”共同导致了“迟到”这个结果。

无论取消“起晚了”还是“塞车”都不可能“迟到”。

于是你就面临了一个选择,是把“迟到”这个事件的原因归结到“塞车”上,还是“起晚了”上呢?

你选择前者,因为这样你就好过了,就不是你的错了。

果真就没有你的错了吗?

别忘了,如果你起早半个小时的话,“迟到”这个结果同样也是不会发生的。

再比如,你今年考研没考上。

你怎么好意思说自己不行呢?

于是你说“唉,今年竞争激烈啊,报纸上说今年报考人数增加了XXX,再说我们宿舍的那谁谁,不也没考上么?

”。

有人问你,那你事前复习得怎样呢?

你怎么好意思说复习得不够刻苦呢?

于是你就说“唉,复习怎样又有什么用呢?

那谁谁,每天挑灯夜战,最后还不是挂了。

但问题是,“没考上”是由两个因素共同造成的,一是考试本身的难度,二是你没有足够努力。

无论这两个因素中的哪一个不成立都不可能造成那个结果。

而你通过选择这两个原因中的那个客观原因作为解释,让自己好过了。

如果别人再问你:

“那不是还有那谁谁,他不是考上了么?

考试难大家不也一样难,人家考上了你咋没考上呢?

”这时你貌似无路可退只能承认是自己技不如人了。

可你居然又想出了一招金蝉脱壳,你说“他运气好啊。

就算我复习得再好,考试这事情,总有个闪失的。

复习得再好,也可能挂掉啊”,你还理直气壮的加上一句“那谁谁,不就挂了么?

但问题是,运气固然会造成考试失败,但是你没有去努力从而最大化成功的几率,同样也是会导致失败的。

然而你却不会这么想,你怎么肯承认是自己不够别人努力的错呢?

你会把这件事情归因于其中的那个与你无关的因素上,即是运气的原因。

然而事实却是,你的确没有努力,这使得你本来可能享有的高成功率消失了。

你通过否认这一点,缩进了自己造成的保护壳中。

而另一方面,一旦你说出“这件事不是我的原因”这样的话之后,除了心理好受了之外,你也开始相信这件事的失败真的与你无关,你自己这方面不需要作任何改变(因为你觉得不是你的问题),于是结果你下次同样也不会成功。

俗语有谋事在人,成事在天的说法。

其实这话说的是,我们的努力是为了增大结果发生的几率,而不是为了那个确定的结果。

不要奢望你努力了就绝对会成功,你不会。

更不要以这个理由来作为不去努力的原因,因为不去努力,那就永远不会成功。

增大成功的几率,本来就是我们付出时间的原因。

为什么这么简单的道理被人们一次一次忽视,并不是人们不懂。

原因与这个道理本身无关,更与人们的智商无关。

而是根植在我们内心的一个毛病:

自利归因。

自利归因其实还有另一个表现形式。

有一句很有名的话叫做“注意力等于事实”。

这句话其实揭示了一个心理学上的深刻现象,用心理学领域的术语来说便是“观察者偏见所起的作用像一个过滤器”。

用M$的话来说就是“WYSIWYG”(所见即所得)。

用唯心主义人择原理的话来说就是“世界是这个样子是因为我看到它是这个样子”。

我们每个人内心的观念都会对我们看待周围的事物起到一个滤镜的作用,过滤一切所见之物。

扭曲它们以使它们符合我们内心的主观意识。

心理学家们在进行心理学实验的时候,为了防止观察者的主观判断影响实验的客观性发明了种种手法。

《20世纪最伟大的心理学实验》里面提到这样一则发人深省的实验:

当年的一个著名的心理学家,怀疑精神病院的医生们的主观判断会影响诊断的客观性,于是他和他的七个好友以身试法,他们花了一周时间,把自己各方面都装扮成精神病的样子,然后分头前往当地最大的七家精神病医院。

由于他们装得很像,所以医生们都判断他们为精神病——这无可厚非。

但接着令人吃惊的事实出现了,他们约好了,一旦住进了精神病院内,就开始立即表现出正常人的方方面面,也就是说,立即恢复他们原本的正常人状态。

但结果,每次他们要求出院的时候,都被复查的医生阻止,医生们在他们的病历上写到“有明显妄想和心理强迫倾向;

努力试图让别人认为他是正常人…”等各种带有主观倾向的病情判断。

很显然,在医生们脑袋里已经形成的“他们是精神病人”的这样一个观念影响了他们作出客观判断,他们会将那个装成精神病人的心理学家的行为往符合他们既有观念的方向解释和扭曲。

反而是精神病里面的真正的精神病人看出他们不对劲,有一个家伙偷偷趴在他耳边说,“你不是精神病,你肯定是记者或教授”。

这位心理学家出来后发表了一篇论文《精神病院里的正常人》,引起学界的轩然大波。

这事后来还有一个更好玩的续集——精神病专家们被他们的这次实验搞怒了,觉得尊严受到了挑战,于是悍然下出战书:

接下来的X月内,你们尽管派人过来装丫挺的,我们一概用火眼金睛将汝等识破。

但结果呢?

X月后,精神病专家们信心满满地说他们识别出了XX个假冒的,但实际上,那X个月中,对方一个人也没派过去。

话说回来,这事儿其实不新鲜,生活中一抓一大把。

俗语云“公说公有理,婆说婆有理。

”你敢于表达自己的观点,他说你喜欢炫耀。

你韬光养晦呢,他又

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1