《如何求解问题+现代启发式方法(Modern Heuristics)》读书笔记2
2011-02-24 01:16
302 查看
如果说这本书的主菜是对启发式算法的介绍,那么开胃酒就是点缀其间的小问题了。如果把这些每个小问题整理整理,形成若干小主题,那么将会非常有意思。
主题一 扩大你的搜索空间
1 卓上有六根火柴棒,请搭建四个三角形。
问题的形式暗示这是一个二维的平面,这个形式误导了我们,使我们限制于此空间,难以求解。
然而,如果改变搜索空间。比如,假设是在三维空间中,六根火柴就可以完成搭建四个三角形的任务。
2 过河修桥问题
如下图所示,我们需要在城市A与城市B之间修建座桥,但是两个城市被河流给分隔开。我们需要使这两个城市之间的道路的总路程最小,且桥必须建得和河水垂直,该如何修桥?
常规思路,列式表达出AB之间的道路的距离,计算量很繁琐。
换一种想法,求AB之间的道路的距离的时候,我们其结果发现和桥的位置虽然相关,但是最后其实并没有包含桥的长度。这样,问题可以被转换为一个常见问题。
想象河流的宽度逐渐缩短到零,那么AB间的最短距离就是线段AB。现在,河流的宽度虽不为零,但可以把B点上移桥宽的距离至新的B’点,这样AB’就是要求的最短距离了,而AB’和桥岸的交点就是河道修建的位置了。
3 台球的运动轨迹
假设有个台球被撞击了一下,然后无限地在桌面上运动了起来,它遵循物理学的一个基本定律,角α总是等于角β,那么,在什么情况下台球会在桌面上做往返运动?
假设台球只反射1次,我们很容易作出到如上图所示的图画,然而,如果台球反射10次,我们的思维就会乱掉。
如果扩展问题的空间,问题会简单许多。当球反射第一次的时候,其实以下两幅图是等价的。
顺这个思路继续,每当球进行了一次反射,我们就扩展一次桌面,那么最后将出现如下图所示的结果:
也就是说,如果球能够回到原始位置,说明它将形成如上图所示的造型,
也就是说,经过水平方向的p个桌子和竖直方向的q个桌子。
也就是说,tan(α)=p/q,即tan(α)是个有理数。
主题二 不同的假设带来不同的结论
大前研一在《思考的技术》中强调的最核心的一句话便是:解答问题是有模型的,这个模型就是“假设-结论”模型。
这个模型提出的思维框架非常有力。它把你已有的一条条杂乱的思维线索以更明晰的方式组织了起来。虽然你的单独一条思维线索不能通过这个框架得到飞跃,但是它们之间相互构建的方式会得到改变。我认为这就是这个思维框架的优势。它没有花费大量时间成本去提升你的思维能力,它只用少量时间把原有的思维重新组合了一下却收效明显。这个模型很棒。
那么具体是什么模型呢?
常见的思维误区太渴望得到一个解答而忘记了其实可能有不止一个解答。
往往,解答可以有很多个。比发现一个解答更棒的,是发现一堆解答,比发现一堆解答更棒的,是发现在怎样的假设下会发生这样的解答。
案例来了,地面上有个半径为1的圆R,有个像两个方向无限延长的直线L丢在地上将圆分为两半。要求出该圆被切出的切弦的长度大于等于√3概率。
一方面,把切弦的中点叫做M,从上图可以看出来,如果中点M落在半径为R/2的小圆的范围内,那么切弦的长度小于√3,如果中点M落在圆环(大圆扣除小圆所形成的圆环)的范围内,那么切弦的长度大于等于√3。所以,所求的概率等于小圆的面积与圆环的面积的比值1/4。
另一方面,想象这条直线首先和圆相切,然后逐步向圆心靠近直到刚好切弦长度为√3,此时圆心距离直线R/2。也就是说,所求的概率等于R/2与R的比值1/2。
现在,发现这两个值居然不相等,是否有某个值计算出错?
其实,两个值不相等的真正原因是我们在求每个解的时候已经默认了随机线段的运动模型。对于第一个解,默认随机线段的中点在圆中是均匀分布的,对于第二个解,默认随机线段总是朝着一个方向运动而不发生旋转。
总结一下,这个问题真正的解决要点在于首先要识别出可能存在的假设,然后还要理解不同的假设如何对应不同的结论。
主题一 扩大你的搜索空间
1 卓上有六根火柴棒,请搭建四个三角形。
问题的形式暗示这是一个二维的平面,这个形式误导了我们,使我们限制于此空间,难以求解。
然而,如果改变搜索空间。比如,假设是在三维空间中,六根火柴就可以完成搭建四个三角形的任务。
2 过河修桥问题
如下图所示,我们需要在城市A与城市B之间修建座桥,但是两个城市被河流给分隔开。我们需要使这两个城市之间的道路的总路程最小,且桥必须建得和河水垂直,该如何修桥?
常规思路,列式表达出AB之间的道路的距离,计算量很繁琐。
换一种想法,求AB之间的道路的距离的时候,我们其结果发现和桥的位置虽然相关,但是最后其实并没有包含桥的长度。这样,问题可以被转换为一个常见问题。
想象河流的宽度逐渐缩短到零,那么AB间的最短距离就是线段AB。现在,河流的宽度虽不为零,但可以把B点上移桥宽的距离至新的B’点,这样AB’就是要求的最短距离了,而AB’和桥岸的交点就是河道修建的位置了。
3 台球的运动轨迹
假设有个台球被撞击了一下,然后无限地在桌面上运动了起来,它遵循物理学的一个基本定律,角α总是等于角β,那么,在什么情况下台球会在桌面上做往返运动?
假设台球只反射1次,我们很容易作出到如上图所示的图画,然而,如果台球反射10次,我们的思维就会乱掉。
如果扩展问题的空间,问题会简单许多。当球反射第一次的时候,其实以下两幅图是等价的。
顺这个思路继续,每当球进行了一次反射,我们就扩展一次桌面,那么最后将出现如下图所示的结果:
也就是说,如果球能够回到原始位置,说明它将形成如上图所示的造型,
也就是说,经过水平方向的p个桌子和竖直方向的q个桌子。
也就是说,tan(α)=p/q,即tan(α)是个有理数。
主题二 不同的假设带来不同的结论
大前研一在《思考的技术》中强调的最核心的一句话便是:解答问题是有模型的,这个模型就是“假设-结论”模型。
这个模型提出的思维框架非常有力。它把你已有的一条条杂乱的思维线索以更明晰的方式组织了起来。虽然你的单独一条思维线索不能通过这个框架得到飞跃,但是它们之间相互构建的方式会得到改变。我认为这就是这个思维框架的优势。它没有花费大量时间成本去提升你的思维能力,它只用少量时间把原有的思维重新组合了一下却收效明显。这个模型很棒。
那么具体是什么模型呢?
常见的思维误区太渴望得到一个解答而忘记了其实可能有不止一个解答。
往往,解答可以有很多个。比发现一个解答更棒的,是发现一堆解答,比发现一堆解答更棒的,是发现在怎样的假设下会发生这样的解答。
案例来了,地面上有个半径为1的圆R,有个像两个方向无限延长的直线L丢在地上将圆分为两半。要求出该圆被切出的切弦的长度大于等于√3概率。
一方面,把切弦的中点叫做M,从上图可以看出来,如果中点M落在半径为R/2的小圆的范围内,那么切弦的长度小于√3,如果中点M落在圆环(大圆扣除小圆所形成的圆环)的范围内,那么切弦的长度大于等于√3。所以,所求的概率等于小圆的面积与圆环的面积的比值1/4。
另一方面,想象这条直线首先和圆相切,然后逐步向圆心靠近直到刚好切弦长度为√3,此时圆心距离直线R/2。也就是说,所求的概率等于R/2与R的比值1/2。
现在,发现这两个值居然不相等,是否有某个值计算出错?
其实,两个值不相等的真正原因是我们在求每个解的时候已经默认了随机线段的运动模型。对于第一个解,默认随机线段的中点在圆中是均匀分布的,对于第二个解,默认随机线段总是朝着一个方向运动而不发生旋转。
总结一下,这个问题真正的解决要点在于首先要识别出可能存在的假设,然后还要理解不同的假设如何对应不同的结论。
相关文章推荐
- 《如何求解问题+现代启发式方法(Modern Heuristics)》读书笔记1
- 如何求解问题-现代启发式方法(3-7章)
- 读书-如何求解问题-现代启发式方法
- 如何求解问题-现代启发式方法(第8-9章)
- 如何求解问题-现代启发式方法_后
- 如何求解问题-现代启发式方法_总结
- 如何求解问题:现代启发式方法
- 普林斯顿微积分读本:第 25 章 如何求解估算问题
- 读书笔记-现代操作系统-3储存管理-3.5分页系统中的设计问题
- 『史上最简单的问题解决手册』读书笔记--如何更加了解自己
- 《人工智能——一种现代方法》(第二版)【第3章 用搜索法对问题求解】小结
- 『史上最简单的问题解决手册』读书笔记--如何改善自己
- 如何用穷举法求解截断切割问题?
- 《算法导论》读书笔记之第16章 0-1背包问题—动态规划求解
- 如何在Python中利用CVXOPT求解二次规划问题
- 读书笔记-现代操作系统-3储存管理-3.5分页系统中的设计问题
- 如何优雅地求解鸡蛋问题?
- [转载] 人工智能:一种现代方法——第3章 用搜索法对问题求解
- android createbitmap函数内存溢出,求解如何进行处理out of memory溢出问题
- 人工智能一种现代的方法 --第3章 通过搜索进行问题求解