“你不是想改变世界吗?怎么现在在朋友圈天天做菜?”

被朋友一句话问懵了,其实早就想聊一下这个事情,做饭烹饪的原因其实很简单,因为我觉得烹饪的逻辑跟做任何事的逻辑都是一样的。

编程的逻辑

我是学计算机出身的,编程的思维自然深入脑海。那么什么是编程思维呢?

按我的理解,就是将一个问题定性定量的用计算机编程语言描述出来。

这说简单也简单,说难也很困难。

问题有很多类型,从良构问题到劣构问题,根据条件边界、目标、要素和关系的明确程度,可以大致分为从运算问题到两难问题的大致九种类型。

有了这样的问题分类,其实我们已经能得到很多有用的结论了。比如,为什么会有“小镇做题家”的产生?他们能考高分,取得好成绩,却感觉什么事也不会做,这是为什么呢?因为他们做题解决的大多都是运算问题、故事问题,这些都是边界清晰、目标明确的问题,甚至很多问题都是明确有解的,而现实中多数问题都是非常劣构的,至少也是决策问题的等级,边界不明确,逻辑不清晰,所以在这些问题面前,习惯了良构问题的做题家们就会束手无策。

当然,这不是我们今天的重点,只是想简单说明一下我的问题分类模型的有效性。

那么编程是做了一件什么事呢?编程就是对现实世界中劣构问题的一个抽象和约束,逐渐明确问题的边界、目标、要素和关系,使得问题的结构越来越清楚,最终让问题可以使用计算机编程语言来进行描述,而计算机这个工具就是用来做最后的求解工作的。

这是我对“编程”这个词的广义的理解,狭义的理解很简单,就是写代码呗,可我觉得那是没有前途的,学学语法,照葫芦画瓢,谁沉下心来都能慢慢学会,并不难,也不稀缺。解决问题的能力才是重要的。

程序员,不仅仅是要写好代码,更重要的是能将问题从现实生活中抽象出来,然后利用计算机这个强大的工具来解决它。

烹饪问题

烹饪的问题其实是很复杂的决策问题,甚至可以说是策略问题。它要解决的是一系列问题的组合,从今天吃什么开始,去哪里买到食材,如何判断食物新鲜与否,食材如何保存,菜切的大小,什么时候放油,火候的掌握…

要完全量化是非常困难的,不过好在它还比较简单,很多地方的容错空间很大,比如,如果你还不太会把握火候就尽量使用中火,不要大火爆炒,如果你无法判断食物是否熟了,那就多煮一会儿,就算老了点,也不至于不熟。

其次,烹饪问题涉及的科学领域也十分庞杂,医学、营养学、生物学、化学、物理,甚至包括一些规划管理方面的内容。

当然,糊弄也是很好糊弄的,只是填饱肚子不至于饿死是很简单的事情,但营养、效率和美味不能顾及的话,实在不能说是好的烹饪。

再就是,对于我的留学生活来说,自己做饭是必不可少的一环。

综上,烹饪问题对我来说,足够陌生,足够有难度,也不乏趣味和必要性。

所以我最终决定,就从“烹饪”这件“小事”着手,实践我的学习框架,或者说学习方法论。

这就是我留学之后经常发一些做菜的朋友圈的原因。

目标是什么?

这个实验的目标是,应用我的学习框架进行一个新的领域知识系统的学习,把象牙塔里学到的东西应用的实际生活中。在这样的实验中继续完善和改进我的方法论,终极目标是很雄伟的:实现一个能完成任何事达成任何目标的通用方法论。

具体的目标:营养方面,要尽量符合中国居民膳食指南和美国居民膳食指南;经济方面,选购的食材要在保证营养和新鲜的基础上,节省开支;时间方面,在逐渐形成体系和流程之后,要着手改进和优化整个流程,通过合理的规划、预处理等手段,解决“做饭麻烦耗时的问题”;口味方面,尝试各式各样的食材和调料,这也是一个了解欧洲文化的好方法(这不是重点),至少达到自己觉得自己做饭好吃。

成果

成果很可喜,就是我的目标已经基本达成了,现在只剩下一些文本编辑的工作,每天每顿饭只需要花10-15分钟就能做完(包括刷碗刷锅),每周买的食材能被精准地在其变质腐败之前吃完,几乎没有浪费,来欧洲之后胖了五斤(口味达标),然后肌肉量增加了(健康达标)。因为吃啥都提前规划好了,也不会为每天吃什么发愁,而体系中的创新系统也保证了每一段时间都会有新的菜品,不至于腻。

下面是我的菜谱的几个截图:

每个菜都有图片,分类,食材,点开之后有详细的步骤、流程和注意事项。

大约七八十道菜吧。

这是只是整个框架的其中一个方法,就是最基础的记录和复用,积累一定数量之后就可以对这些已经生成的记录进行总结和归纳,得出一些烹饪的基本原理,接下来就是验证这些归纳出来的结论,再应用它们创造新的菜品。

也不是很复杂嘛,就是完成了一个经验定律到还原论的转换。

之后会先放出解决烹饪问题的整个框架,再放出生成解决烹饪问题框架的框架。(狗头)

哈哈哈,哲学真是绕死人,不过我喜欢把高度抽象的哲学结论应用到实际生活中的感觉。

有了哲学的指导,虽然越活越像个逗比,但多多少少也少了一些迷茫和不安。

敬请期待!