AI算法 每日算法 — 使用java实现贪吃蛇:D* Lite增量重规划与动态障碍应急寻路 一、从一个真实痛点说起 写过贪吃蛇 AI 的读者大多踩过同一个坑:每一帧都重新跑一次 A*。 在 20×20 的棋盘上,A* 单次搜索大约访问 200~400...
AI算法 每日算法 — 使用java实现24点游戏:逆波兰表达式与交换律去重剪枝 为什么 24 点值得认真写一遍 24 点规则简单:4 张牌(1~13),用 + - * / 和括号,每张牌用且仅用一次,求 24。但实现它时几乎所有人都会踩三个坑: 浮点误差:0.1+0.2...
AI算法 每日算法 — 使用java实现青蛙过河:ST表区间最小值与二分答案可行性判定 问题比看起来复杂 青蛙过河有一长串变体,其中最有算法价值的是"带高度限制的过河":河面有 n 块石头,第 i 块石头的最大承载高度是 h[i]。青蛙从岸边(位置...
AI算法 每日算法 — 使用java实现四连环:位棋盘与迭代加深负极大值搜索 四连环(Connect Four)是「规则一分钟讲完、棋力一辈子练不完」的典型:7 列 6 行,双方轮流落子,先连成四子者胜。它的理论分支因子是 7,看似简单,但 1974...
AI算法 每日算法 — 使用java实现Hidato:约束传播与MRV回溯求解哈密顿路径 Hidato(数字链,英文也写作 Numbrix/Number Snake)是一款纯逻辑谜题:给你一个网格和几个预置数字,要求把 1 到 N 全部填进去,形成一条「相邻数字必须在 8...
AI算法 每日算法 — 使用java实现贪吃蛇:Dinic最小割逃生通道判定与Menger定理 贪吃蛇 AI 最难的部分不是"怎么吃到食物",而是"吃到之后怎么不被自己困死"。绝大多数启发式(曼哈顿距离、贪心、甚至...