知识卡片

问题求解四阶段及其非线性本质

专业/工作 · 1289.c

内容

数学家波利亚提出的问题求解四阶段——理解问题、构思解决方案、执行方案、评估方案——常被误解为一个必须依次走完的流程,但真正的问题求解过程往往是非线性的:求解者常常在完全理解问题之前就已经开始尝试策略,一旦策略失败(在执行或评估阶段),反而会因此加深对问题本身的理解,再带着这份理解回头重新构思。三个孩子年龄之谜的例子说明了这一点:直到按计划去演算的过程中,才真正弄懂”最大孩子会弹钢琴”这条线索原来是在暗示”只有一个孩子年龄最大”。发散:这提醒我们,把”充分理解问题”当作动手写代码前必须先满足的前置条件,某种程度上是一种理想化的迷思——很多时候恰恰是先写出一版不成熟的实现、看它哪里失败,才换来对问题真正的理解,这也是为什么”先写一个能跑的粗糙版本”常常比”先想清楚所有细节”更快抵达正确答案。

参考来源

《计算机科学概论》第5章《算法》