Blog Post
给 Flappy Bird AI 存档:模型持久化、继续训练与环境适应
前三期解决了状态、奖励和探索,但还有一个真正决定它能不能变成“长期玩家”的问题:关掉程序之后,经验还在不在?这篇配套博客从真实 Scratch 与 Python 代码出发,讲清楚 Q-Table 如何保存、何时读取、为什么换了更难的水管之后它还能继续适应。
阅读全文
在这里,我们分享关于 AI 编程教育的最新见解、技术实践以及真实的课堂故事。
前三期解决了状态、奖励和探索,但还有一个真正决定它能不能变成“长期玩家”的问题:关掉程序之后,经验还在不在?这篇配套博客从真实 Scratch 与 Python 代码出发,讲清楚 Q-Table 如何保存、何时读取、为什么换了更难的水管之后它还能继续适应。
第三期视频会用“好奇心”和“望远镜”带你建立直觉;这篇配套博客则回到真实实现,讲清楚 epsilon 为什么让 AI 故意试错、gamma 为什么让它提前为下一根水管做准备,以及 next_max_q 究竟是怎么算出来的。
第一期里,小鸟已经学会了描述世界;但光有状态和 Q-Table 还不够,它仍然不知道什么叫“做对了”。这一期我们从真实代码出发,讲清楚奖励函数、稀疏反馈、奖励塑形,以及 Q 值到底是怎么在一次次试错中被更新出来的。
这不是一篇视频口播稿的文字版,而是一份真正补足技术细节的配套讲义。我们从 Flappy Bird 项目的真实代码出发,系统讲清楚状态、状态空间、离散化、动作设计,以及 Q-Table 为什么能让一只小鸟逐渐学会飞行。
这不仅仅是'两两交换'。从1962年的经典命名,到现在依然活跃在嵌入式芯片中的'原地排序'王者。让我们通过交互式实验室,重新认识这个被误解的算法。
面对 1,000,000 个可能的选项,你只需要 20 次尝试就能锁定目标?这不是魔法,而是对数增长的降维打击。本文将深入探讨二分查找的暴力美学。
通过 OpenSimplex 噪声、双网格系统和 AI 素材流水线,构建无限平滑的 2D 游戏世界——告别柏林噪声的轴向偏差,用极少素材实现自然过渡。