对《如何解题》思路的补充

1.前言

《如何解题》(《How to Solve it》)是波利亚的经典著作,列举了很多数学问题,总结了解决问题的主要思路和步骤,即定义问题,设计方案、实现、验证。虽然全书主要是以数学问题为例,但其思路适用于生活和学习的其他方面。比如在软件开发领域,我们通常也是按照这四步。首先收集客户需求、找到客户的痛点和要解决的问题,然后进行产品设计、架构设计和每个模块的详细设计,接下来就是编码实现和最终测试验证了。

这四步法的确非常有效,然而很多时候,现实世界的问题与纯粹的数学问题还是有很大差别的。最近读了一些其他这方面的书,也自己思考了很多,发现其实有三点是可以补充的。


2.三点补充

2.1 从现象到本质

以前我也曾有过类似得想法,就是感觉科学家与我们的工作有很大不同。比如我们在写代码时本质上是在“创建世界”,我们指定这个世界的一切结构、运行规律。但科学家本质上却是在做“逆向工程”,就像在用反汇编解构世界一样。在《Conceptual Blockbusting》一书中,作者提到了类似的观念。

所以其实,有时我们解决问题时并不是像解决数学问题一样直接,一开始就知道自己面对的问题。我们经常是从现象(Result)出发,要先分析出到底哪里有问题(Cause)。而且经常我们一开始发现的并不是根本原因(Root Cause),要顺着因果关系的链条一直找下去。

2.2 问题 vs. 目标

现实世界往往不像数学问题那样纯粹,做一道数学题可能只是为了好玩、锻炼大脑、打发时间,但也可能是为了应付老师和考试。现实世界也是一样的,我们要解决的问题背后,都是有一个最终目的的。这个目的可能很明显,也可能是隐含的。但最重要的一点就是,不要以为要解决的问题就是最终目标。

定义好问题后,往往解决问题的路有很多条,现实世界里问题的答案常常不止一个。这时想想你的目标是什么,就会对你的思路选择起到很大作用。而且目标是分长期和短期的,解决方案要综合考虑两者,不能牺牲其中一个太多。比如你要解决的问题是如何设计一款能吸引客户的XX产品,你的短期目标是尽快研发和推出一款产品来抢占市场,那么一个耗时耗力的方案可能不是一个选项。但如果你现在就很看重长期目标的话,可能一个快速但质量很一般的方案也不在考虑之内。

2.3 这是个问题吗?

在《Principles》一书中作者提到,解决问题时一般要问自己:这是一个问题吗?是否必须要解决吗?有没有办法绕过它?如果确实是问题,无法绕开的话,接下来要做的才是遵循《如何解题》里的思路去解决。很多时候,这种反问会帮我们避免浪费时间去解决一个错的问题。即便我们还是要解决这个问题,你也并没有浪费时间。这些反问能帮你更深地理解,为什么要解决这个问题,不解决的后果是什么。所以,下次当你面对一个问题时,试试这“灵魂三问”,能帮你亲身体会到它的威力。

《Conceptual Blockbusting》一书里也有类似的例子,作者设计过一种装置,结果发现是完全不需要的,他耗费时间精力却在解决一个根本不存在的问题!


3.总结:完整的解题思路

所以,把整个思路补全的话,应该是有时从现象入手找问题,有时直接拿到要解决的问题。在问题背后,明确自己的目标。在定义问题的过程中,思考是否真的是个要解决的问题。在此之后,按照《如何解题》一书的四步法,完成剩下的设计、实现、验证三步。

而且整个过程很可能不是一蹴而就,而是多次循环迭代的。比如根据设计甚至实现时的反馈,回头修正问题的定义,于测试驱动开发的反馈循环很像。从这一点上来看,解决数学问题、软件开发流程、以及现实世界中其他问题的解决,真的都是相通的。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
对于数学建模国赛的C题,我可以给出一些思路作为参考。请注意,以下思路仅供参考,具体的解题方法需要根据题目的具体要求进行调整和补充。 首先,我们需要仔细阅读题目,理解题目的背景和要求。C题通常是一个实际问题,涉及多个变量和多个约束条件。 接下来,我们可以根据题目所给信息进行变量的建立和模型的构建。可以尝试以下步骤: 1. 识别出问题中的关键因素和变量:从问题描述中出对问题起到关键作用的因素和变量,并给它们命名。 2. 建立数学模型:根据问题中的关键因素和变量,考虑它们之间的关系并建立数学模型。这包括构建方程、不等式、约束条件等。 3. 进行数值计算和求解:使用数学软件或编程语言对模型进行数值计算和求解。这可能涉及到线性规划、非线性规划、动态规划等方法。 4. 分析和解释结果:对求解结果进行分析和解释,回答问题中提出的具体问题。 5. 模型验证与改进:对模型的结果进行验证,并根据实际情况对模型进行改进和优化。 需要注意的是,C题的解题过程中还要注意合理假设、适当简化问题、合理选取计算方法等。 总之,数学建模国赛C题的解答思路是多样的,关键是理解题目、建立模型、进行求解和分析。希望这些思路对你有所帮助。如果你有具体的题目,可以提供更详细的信息,我可以给出更具体的解题思路
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值