主要观点:一位退休工程师发现 55 年前《月球着陆器》电脑游戏代码中的漏洞,该游戏由吉姆·斯托勒于尼尔·阿姆斯特朗登月数月后编写,曾非常流行。作者探索游戏中最优燃料燃烧计划,发现理论最佳策略无效,经深入研究找到缺失“除以二”的漏洞。
关键信息:
- 游戏最初通过在最后时刻全油门燃烧燃料实现最短时间着陆以节省燃料,但实际着陆速度超 3.5MPH 被认为不佳。
- 吉姆使用精确的齐奥尔科夫斯基火箭方程及泰勒级数展开进行物理模拟,而非常见的欧拉积分。
- 游戏在着陆时面临最大挑战,需验证着陆过程中是否低于地面,吉姆的公式在求最低位置时存在错误,分母有平方根且误差较大。
- 作者重新推导公式发现吉姆公式中缺失分母内的 2,这导致对最低时间的估计偏低,影响着陆判断。
- 整体而言,这是 1969 年 18 岁高中生的 impressive 工作,该漏洞存在近 55 年未被发现,可能因其不影响游戏乐趣。
重要细节: - 游戏中所有运动垂直,每 10 秒决定燃烧燃料量。
- 火箭方程导致“自杀燃烧”最优,吉姆使用泰勒级数展开的五项使其精确到六位小数。
- 求最低位置时,吉姆公式与二次公式相关,其分母有平方根的形式更稳定。
- 修正漏洞后,用自杀燃烧法着陆速度接近完美着陆速度,但仍需进一步优化,且可通过其他方式轻柔着陆。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。