第二章 不要启动程序(1 / 2)
技术会议继续进行,气氛不太热烈,因为这是技术讨论。
程序主管:陈兮,自从你把行星内部的演化也考虑进去后,系统变得极不稳定。我打算把这个功能去掉。
陈兮:没有这个功能,你连上个月的月食都预测不到。
程序主管:现在怎么办?下午就要出版本了。把版本的事情处理完再说。
陈兮:自从加入星系内部演化后,从宇宙爆炸模拟到现在,预测结果和观测结果完美契合。说明系统本身没有问题。
程序主管:这我知道。
陈兮:所以现在的问题是,我们模拟宇宙,宇宙中有地球,地球上有拉普拉斯系统,拉普拉斯模拟宇宙,宇宙有地球,地球有拉普拉斯,拉普拉斯模拟宇宙……
程序主管:好啦,我知道你的意思啦,资源耗尽,系统就会崩溃。
陈兮:是的,我是怕程序鼓励师他们不懂。
程序主管:程序鼓励师不用参加这个会议。
陈兮:好的,一会加个限制,第二层拉普拉斯不再启动。
会议结束,程序bug很快得到修正,知道问题出在哪里,改正只是敲几下键盘的事。
测试启动,拉普拉斯系统正常运行,程序运行到了“现在”,也就是刚刚启动第二层拉普拉斯系统这个时间点上。
程序没有崩溃。
所有人松了一口气。
项目经理特地跑来观看。
行啊小子!
这么多年来,他第一次没有批评手下。
大家没工夫庆祝,离版本可以使用,还有很多工作要做。
每个人都忙得不可开交,一晃就到了下午。
程序主管:陈兮版本怎么样了?
陈兮:我发现,拉普拉斯预测的短时间的宇宙状态,和观测结果有出入。
程序主管:先糊弄上吧,以后的结果谁知道呢?
陈兮:错的有点离谱。
技术会议紧急召开。
数学模型专家恍然大悟,我们运行拉普拉斯系统也是宇宙的一部分,会对宇宙变化产生影响。被影响的宇宙反过来又影响拉普拉斯模拟系统。
这就是经典的先有鸡还是先有蛋的问题。
解决办法有两个,就是小鸡炖蘑菇,再加个鸡蛋。
跑题啦,那是厨师的办法,我们可是软件工程师啊。
重来,解决办法一个是在另外一个平行宇宙中运行拉普拉斯。
这是废话,你得先找到平行宇宙。
第二个方法是允许一定深度递归,资源消耗和计算精度之间找到平衡。
你是选择第二种,还是选择第二种呢?
不用说,随便选一个吧。
预设深度递归保证对未来一年精准预测。
……
241年6月6日15点14分49秒,拉普拉斯启动。
128秒后,陈兮等待着运算结果。
他拿出便签再次看了看,嘴角泛起一丝诡异的笑。
团队成员们,很煎熬,这就是等待末日审判啊。
系统启动4分16秒后,拉普拉斯模拟器中的宇宙来到了,241年6月6日15点14分49秒。
系统通过了,继续运行。
一秒钟后,眼前一道白光闪过,接着眼前一片漆黑。
……
现实世界:时间来到了241年6月6日15点14分48秒。
一秒后,陈兮启动了拉普拉斯系统。
128秒后,陈兮看了看便签。
四分钟17秒后,眼前一道白光闪过,接着眼前一片漆黑。
……
时间又回到了241年6月6日15点14分48秒,一秒后,陈兮启动了拉普拉斯启动。