在寻求问题的解答的时候,一般存在两种途径:算法式和启发式。
(一)算法式
算法式就是把所有能够解决问题的方法都一一列出来,然后一个一个的尝试,直至找到正确的方法,问题得以解决。比如说生活中有时我们会忘记行李箱的密码,如果这时候我们从“000”开始一一进行尝试,将每一个可能的密码组合都试一遍,直到找出正确密码,这就属于算法式的解决问题的策略。
(二)启发式
启发式是根据目标的指引,试图不断地将问题状态转化为与目标状态相接近的状态,从而试探那些只对成功趋向目标状态有价值的操作。几种比较常见的启发式方法:
1.手段目的分析法
手段目的分析法就是发现问题的当前状态与目标状态的差别,将要达到的问题的目标状态分解成若干子目标,通过选取不同的手段来实现一系列的子目标最终达到总目标的方法。
手段目的分析法的典型例子就是“河内塔”实验。或者说我们日常生活中拧魔方也是手段目的分析的过程,想要恢复一个魔方首先要拆解成六个子目标即六个面来一一恢复,所以就是选择手段实现每一个面从而去达成整个魔方恢复的目标状态。
2.逆向反推法
逆向反推法就是从目标开始,退回到未解决的最初的问题。常见于解决几何证明题时。比如经常有证明不出几何题的时候,就可以从结论推回已知条件,这种就叫做逆向反推。
3.爬山法
爬山法就是以渐进的步子逐步向目标状态逼近的一种方法。即采取一定的方法逐步降低初始状态和目标状态的距离,以达到问题解决,好像登山者,为了登上山顶,需要一步一步的登上山峰一样。例如:一个医生为了治愈一个患有慢性病的病人一样,要一点一点的用药,慢慢治愈,最终使病人痊愈。
爬山法和手段目的分析法的区别:在于运用手段目的分析法时,有时人们会为了达到目的选择暂时扩大目标状态和初始状态,比如拧魔方的时候,为了恢复成完整的魔方会先完成一个面,在完成下一个面的时候可能会先打破已经恢复好的一面,尽管看起来是距离完成整体任务更远了,但实际上是为了更快更好的达到总的目标。
以上就是算法式和启发式的主要内容,下面我们通过练习题来巩固理解一下这部分的知识:
【单选】小白在做“鸡兔同笼”的问题时,能把各种解法一一列出,加以尝试,最终找到最佳解法。小白的这种解题方法属于()。
A.归纳式B.算法式
C.启发式D.爬山法
【答案】B。解析:算法式就是把所有能够解决问题的方法都一一列出来,然后一个一个的尝试,直至找到正确的方法,从而解决问题的方法。故选B。