第一千零六十九章、鏖战宽城(17)(1/2)
孙子说的是开战前就预计能够取胜,是因为筹划周密,胜利条件充分;开战之前就预计不能取胜,是因为筹划不周,胜利条件不足。
筹划周密,条件充分就能取胜;筹划疏漏,条件不足就会失败,更何况不作筹划,毫无条件呢?
我们根据这些观察,谁胜谁负就显而易见了。
简单说意思就是,算计多的就胜利,算计少的就不能胜利,不算计的呢死路一条。
这强调的是要打有准备的仗,算度越周密,取胜可能性越大。
但这话放到今天,也有局限性。
一则事情涉及到的因素太多太复杂,人们难以算清楚怎么办?
比如说下围棋,都是职业棋手会采用枚举法,其实未必。
否则,藤泽秀行为什么会说,棋道一百,吾仅知其七?
二则,很多比赛是有时间限制的,大部分都是“短平快”,怎么能保证足够的计算时间?
日本围棋的传统的二日制赛制,最初被吹嘘得神乎其神,久而久之,随着日本围棋的积弱不振,“神话”不攻自破。
因此,人们痛切地认识到,枚举法本身绝非有什么不好,实在是,“臣妾做不到”啊。
话又说回来,何为枚举法呢?
其实,枚举法又叫穷举法。
枚举法通常是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的全面性。
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。
这两种类型经常(但不总是)重叠。
将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,合适就保留,不合适就丢弃。
例如:找出1到100之间的素数,需要将1到100之间的所有整数进行判断。
枚举算法因为要列举问题的所有可能的答案,所有它具备以下几个特点:
1、得到的结果肯定是正确的;
2、可能做了很多的无用功,浪费了宝贵的时间,效率低下;
3、通常会涉及到求极值(如最大,最小,最重等);
4、数据量大的话,可能会造成时间崩溃。
即使是纯粹服务于人类的大型计算机或者巨型计算机甚至最最先进的计算机,运用穷举法解决实际科技问题时,都经常会出现问题;使得人们不得不正视穷举法的弊端。
这就是前面提到的,后来大行其道的“剪枝”算法诞生的理由所在。
实际上,绝大多数人类本来就习惯于用“剪枝”算法,只有极少数人(怀疑一定患有强烈的强迫症)才喜欢穷举法。
人类的剪枝算法和穷举法,都只是相对的。
打比方说,老白经常讽刺有些人打牌时“长考”,直截了当地怀疑,你是不是根本就在发呆呢?
这绝对是根本不相信穷举法存在的表现。
很奇妙,打桥牌的人群中,他基本只相信李铁如,肯定地认为,李铁如从来不发呆。
而剪枝法吗,说得难听点,很多人根本只是没办法深入思考,只好想一想,随便选出一个自认为不错的办法;其他的事情,干脆不考虑就得了。
论思考的专注度、深入度以及可靠度,综合起来看,李铁如确实还是不错的。
不能考量敏捷度,这方面他就差远了。
此处还有一个争议话题,那就是围棋、中国象棋和国际象棋三种最高级智力竞技棋类,哪一种才是世界上最高级、最复杂的?
这里有几种不同看法,可以看一看,谁更有道理。
1、从数学统计的方法来说,毫无疑问,自然是围棋的变化感觉上多一点。
但是这只是人们表面的、肤浅的数字感知。
以中国象棋为例,目前来说象棋开局基本上大体变化已经确定,再开创新的象棋布局体系和定式已无可能,除非有下法的改变和创新,如目前非常流行的象棋街棋,三分运气,七分实力,纵使是最顶尖的电脑也无法确保说必胜人类。
中国象棋的魅力在于中残局。
象棋开局可以通过有限的时间去记住有限的开局变化,但是到了中局、残局,计算的深度和量度呈现几何数量级倍增。
如今象棋软件的电脑计算力非常强大,有攻势、优劣明显的局面电脑可以做到秒算所有最佳走法,但是到了优劣不明显,或者局势均衡被打破,如一方少子有攻势,一方多子防守的局面,电脑单单凭借单调机械的数字计算是行不通的。
人类棋手则不同,除了计算力,还有大局观,以实战经验为基础的棋感,还有下棋时临场的心理博弈等,这些都是电脑不具备的能力。
再说说象棋残棋的变化。围棋是子越下越多,不用把子力下满所有棋盘就可以分出胜负。
象棋则恰恰相反,交战的双方如果开局,中局没有分出胜负,则要通过残局的较量来分胜负。
象棋残棋子少,棋盘空旷,可供走棋的选择更多和无法通过直白计算来获取最佳走法,要通过棋手过往经验和棋感,对棋局作出判断,才走下一步棋。
最后再说说比赛的结果。
在当今围棋贴目的规则下,围棋基本上盘盘分出胜负。
而象棋有和棋,或是平分秋色握手言和,或是顽强拼搏劣势守和,因而显得象棋更具人性化
第1页完,继续看下一页