AI算法 每日算法 — 使用java实现扫雷:桶消元与因子图精确边际概率 一、从"猜雷"到"算雷" 扫雷的难点从来不是标数字,而是面对一片未揭开的格子时判断"哪一格是雷的概率最低"。玩家凭直觉点,AI 需要给出一个可计算的数字。...
AI算法 每日算法 — 使用java实现黑白棋:空着裁剪与验证式剪枝优化 一、为什么黑白棋的搜索特别难剪 黑白棋(Othello)规则一句话说完:落子夹住对方棋子,两端之间的敌子全部翻色,无子可下就跳过,两方都无子可下时子多者胜。...
AI算法 每日算法 — 使用java实现打砖块:连续碰撞检测与反弹角度的几何最优解 高速小球为什么会"穿墙" 打砖块(Breakout)的经典实现大多写成这样:小球每帧位移 p += v,然后判断 p...
AI算法 每日算法 — 使用java实现塔防:Dinic最小割塔位封锁与距离场覆盖评估 塔防的本质是"割" 塔防(Tower Defense)的核心博弈常常被误解成"哪块地放塔伤害最高"。真正决定胜负的是另一件事:能不能把敌人的行进路线掐断或者拉长。...
AI算法 每日算法 — 使用java实现羊了个羊:卡槽容量约束的可解性判定与分层A*前瞻 七格卡槽里藏着一个 NP-hard 问题 羊了个羊的规则极简:牌堆里散落着若干层卡片,同色三张凑齐即消除;点击一张卡进入底部卡槽,卡槽最多放 7...
AI算法 每日算法 — 使用java实现推箱子:逆向拉取搜索与宏观路径压缩 为什么正向搜索会爆炸 推箱子(Sokoban)规则只有一句话:小人可以推箱子,不能拉箱子,把所有箱子推到目标格即通关。看起来简单,可它是 PSPACE-hard...