读书笔记2013第6本:《棋与人生》(一)
个人喜欢下象棋、打桥牌,作为一名程序员,一直也想写出一个中国象棋引擎来,所以很早就关注这本书了。人生如棋,一生中需要做大量决策和选择,棋如人生,也有类似青年、中年和老年的开局、中局和残局。这本书在豆瓣上评分8.6,也说是卡斯帕罗夫的自传,但实际上是讲述了卡斯帕罗夫如何自我认识和挑战,如何挑战自己和他人,进而如何做出最佳决策的思考过程。
看到这个决策过程,使我想到了之前看的一本书《How We Decide》,这里只讲了一章棋类博弈的决策过程。
作者一直是国际象棋的冠军,处于这个领域的最高峰,所以需要不断的自我研究。而作为普通人,如何通往高手的道路?不仅在国际象棋上,在其它领域应该也是一样。
我们必须了解自己的决策制定过程,并通过不断的练习来提高自己的直觉,一种无意识的效果。
第一篇
1 教训
21岁时的卡斯帕罗夫在与国际象棋世界冠军卡尔波夫48盘棋的大战过程中得到的深刻教训:第一次真正剖析自己而不是仅仅依靠直觉来做判断。
“我能够找出自己的错误,明白为什么出现错误,并知道如何最好地避免这些错误,以及如何改进决策过程本身。”
22岁时卡斯帕罗夫就赢得了世界冠军头衔并保持了15年。
要将知识、经验和天分结合在一起取得最好成绩,自我剖析非常关键。
2 人生如棋
现在的象棋引擎主要都采用全面搜索+评估的方法,既然我们已经明白全面搜索方法无法使这个古老游戏达到更高的水平,那么我们需要返回头去看看米哈伊尔·鲍特维尼克关于教计算机模拟人类思考的一些理念。
【机器博弈的启发】现在的人工智能机器博弈中还是搜索和评估方法的天下,毕竟当前的计算机就擅长快速的数字运算,计算机还不能像人一样先设定一个战略目标,然后在每步棋中不断地贯彻执行它。如果将来计算机能够快速地表达这些博弈知识,可能这个机器博弈领域就能够产生质的飞跃吧。
3 战略
一个不好的计划也比没计划强,是一句古老的国际象棋谚语。每一步棋、每一个反应、每一个决定都必须与透彻理解的计划相结合。
【人生思考】类比到人生上才发现没有计划是多么的可怕,在40岁的时候才开始思考“我做了哪几件事才能够无悔地离开人世”这个问题,才发现自己原来一直没有计划,连个不好的年度计划也没有。执行GTD之后让我慢慢地有了点计划,还制定不了超过1年的计划,但确实一个不好的年度计划也比没有计划强,当你在年度回顾时,能够清楚地发现哪些花了很多时间追逐的可能并不是你所想要的,哪些追逐的东西背后真实的想法就是金钱,哪些行动在向你的目标方向前进了一步。
【机器博弈的启发】计算机象棋引擎也应该这样,要有一定的计划,编程序的人要给它作战计划,根据引擎的计算特点,是选择激烈的开局,还是选择稳健的开局,是把局面弄成激烈的搏杀,还是讲究均衡的发展,如果引擎有全面的残局库,该如何引向自己引擎的优势,这些可能是高水平引擎所必须要考虑的。
在快棋中(作者所说的快棋是指每方25分钟的包干计时制),快速计算和直觉是最重要的,缜密的计划和战略目标则是次要的甚至可以忽略掉。
只着眼于对你来说下一步是否是最优的,你所走的棋不能为最终目标服务。
必须首先制定战略,然后才能遵循战略。
【机器博弈的启发】象棋引擎能不能设定一个长远的目标?
【人生思考】又谈到了长远目标,如果知道自己的长远目标,那么每次决策不一定都是最优的。
要设定一个一个的中间目标。
【机器博弈的启发】象棋引擎就是不断地对局面进行评估打分,对它来说取得分数上的领先就是永远的目标,如果它能算到20步之后的优势,那这一步它才可能弃子。
【人生思考】在长远目标之下要有3-5年目标、1年目标、季度甚至月度目标,这些阶段目标要不要这么细?
在比赛中指望对手犯错误不是一个可行的战略。
【机器博弈的启发】指望对手的引擎在开局库有缺陷、不能判断长将等,这些不是可行的战略,这种战略只能打败一些低级水平的引擎。要想提高引擎水平,必须有快速和准确的计算和评估,必须要不断地优化搜索和评估算法。
在即将获胜时坚持自己的计划听起来似乎很简单,但此时,棋手很容易变得过于自信而被对手挽回局势。
【人生思考】这就是指被胜利冲昏了前脑的情况。
提格兰·彼得罗相的防守极其出色,他的战略是寻找对手的机会,然后将其打消。只有当自己的局面无懈可击时,他才会开始寻找自己的机会。很少有人能够模仿他那种耐心的防守型棋风。有时,最佳的防守就是最佳的进攻。
【机器博弈的启发】象棋引擎评估了大量局面,应该是稳健型的,还是进攻型的?
你必须了解你的能力所限,同时也必须了解自己的优势所在。
【人生思考】想了解自身的优势和缺点并不太容易。找时间读读这本书《现在,发现你的优势》。
不能适应变化就会带来可怕的后果,但频繁改变战略就等于没有战略。
我们必须知道要问什么问题,并应不断地发问。条件是否已变?战略是否需要改变或是否需要做小调整?基本目标是否因某种原因而改变?不要为了改变而改变。
我们还必须避免因竞争而迷失战略方向。
【Action】把上述几句话放在Evernote的回顾笔记中,在月度回顾和年度回顾的时候思考这几个问题。
在走每一步棋、做每个决定之前停下来问问:“为什么要走这步棋?我想达到什么目的?这步棋如何能够帮我达到目的?”
质疑自己必须要成为一个习惯,一个能够克服过度自信和沮丧的习惯。
【Action】把这几句话放在Evernote的回顾笔记中,在月度回顾和年度回顾的时候思考这几个问题。做某件事的时候,在某个时间点停下来问问自己:“我为什么做这件事?我想到达什么目的?做这件事如何帮我达到目的?”
4 战略与战术
战术是指当有可为时知道如何为之,战略是指当无可为时知道如何为之。----塔塔科维尔
战略是抽象的,以长期目标为基础。战术是具体的,以立即发现最佳着法为出发点。战术的内容不外乎威胁和防御,有条件、有时机性。如果不及时利用战术机会,对局肯定会朝不利方向发展。
当局面没什么可走的时候,我们到底该做什么?此时的目标是改善局面,我们必须避免产生弱点,找到一些微妙的方法来改善进行细微的思考,但绝不能停止思考。为获得一个又一个微小优势而进行长久调动,但表面上好像没采取任何实际行动。真正的战略家能够找到加强局面的方法,并对不可避免的冲突做好准备。不要忘了,冲突是不可避免的。
战略指导战术。如果战略代表结果,战术则是方法。
我们的战术或每天的决定是否都基于我们长期的目标?信息的潮流会使战略变得模糊不清,使其淹没在细节、数字、计算和分析、反应及战术中。要形成强大的战术,我们必须一方面具有强大的战略,另一方面具有准确的计算。这两方面都需要有远见卓识。
【人生思考】战略应该对应着长远目标,在GTD里需要通过回顾从6个高度来不断地思考和强化,战术则对应着GTD中的一个一个的Project和Action。
5 计算
递减律:搜索到了一定程度后,递减律开始生效,即使投入更多的时间和精力,也只能得到越来越模糊的结果。
如果不理解你所看到的局面,那么向前看多少步也没有用。
【机器博弈的启发】按照人工智能中的搜索理论,如果能够一直搜索到最后被将死的状态,那么就会得到对当前的局面的准确判断,但这个搜索深度实在太深了,当前的算法和计算机能力是达不到(如果不剪枝,算5层都相当困难,一个局面通常有40种着法,第5层就要评估40*40*40*40*40=1亿个局面)。象棋引擎中的局面评估如果不准确,那么搜索再深也用处不大,在搜索和评估之间要达到一定的平衡。
卡斯帕罗夫一般会选择两到三个候选着法重点思考,搜索8-10层(ply)是一个比较合适的深度。
【机器博弈的启发】看来提高评估和剪枝的能力,对象棋引擎水平的提高应该更有帮助,如果每层只评估4个候选着法,那10层也就是4^10=1百万个局面。
我们常常假定某些东西是显而易见的,从而匆忙做出反应,招致大错。
【机器博弈的启发】程序不会犯这种错误,它拿到一个局面,不管多少简单,也会按照程序设定的流程来评估,不会受到心理因素的影响,评估得不准又是另外一回事。
6 天赋
如果在早年没有展现天赋的机会,成年后一样可以创造这样的机会。为此,我们需要在各个领域去实验,去努力发挥自己的能力。
【人生思考】需要不断地尝试一些新的领域、新的事物,挑战自己。
象棋特级大师的记忆力也并不很强,给他们一组随机的局面,他们也记不住太多。但对于一些有含义的局面,他们可以记住许多,在记忆方面的理论中这些称为模式(pattern),在心理学家中称为“块(block)”。这里与《冠军记忆术》里的观点是一样的。
每天结束时我们会回顾自己的表现吗?我们看到了什么?学到了什么?是否观察或体验了应该记录下来的新鲜事物?我们是否识别出了这种情况、机会或模式?它会再次发生或出现吗?
【人生思考】吾日三省吾身。睡前如果能够思考这些,该多么强大啊?
培养想象习惯:只有将幻想当做习惯、让“不走寻常路”的思维占据大脑中的重要阵地时,你才能真正地找到那把钥匙。
每天我们会做出许多个决定,而每次做决定都是激发幻想的好机会。只有大胆尝试未尝试过的新途径,才能找到解决问题的新方法。
【人生思考】当在做决定的时候,想想一些不同寻常的解决办法。
7 准备
卡斯帕罗夫对于开局的准备包括:研究、创新、记忆。开局体系不仅仅是模仿,更是创新之路。
【机器博弈的启发】对于计算机引擎来说,必须要支持开局库,提高开局库的质量。毕竟这些开局库都是历史上无数盘棋沉淀下来的定式。研究这些开局意味着理解它更深的变化;创新则让计算机搜索得更深,只要有更深更复杂的变化,还有获得优势的机会就是可选的着法;记忆少量的开局库没有问题,如果利用现在的云计算技术,记住TB级的开局局面,会发生什么情况?
坚持努力终究会带来回报,哪怕回报不是立杆见影和触手可及。努力使人获得知识,而知识从来都不会浪费。越是努力工作,机遇就越多。坚持自己的日常习惯。
尽管已经退出了职业棋坛,但我仍坚持自己的日常习惯,坚持生活规律,只要不破坏自己的安排,我就会有很高的积极性。
具有勤勉工作的道德标准并不意味着成为一个工作狂,而是意味着认识到勤奋工作的重要性并付诸行动。
【人生思考】原来老卡也有着超强的时间管理能力,能够高效地利用时间。
----==== Email: slofslb (GTD) qq.com 请将(GTD)换成@ ====----
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
作者:申龙斌的程序人生
---- 魔方、桥牌、象棋、游戏人生...
---- BASIC、C++、JAVA、C#、Haskell、Objective-C、Open Inventor、程序人生...
---- GTD伴我实现人生目标
---- 区块链生存训练
---- 用欧拉计划学Rust编程
---- 申龙斌的读书笔记(2011-2019)
----