AI算法 每日算法 — 使用java实现摩天楼数独:视线计数约束与位掩码回溯求解 一、从"看的见几栋楼"说起 摩天楼数独(Skyscrapers)的规则一句话能说完,却藏着比标准数独更紧的约束: 在一个 N×N 的网格里填入 1..N...
AI算法 每日算法 — 使用java实现拱猪:双人零和求解与风险牌规避决策 一、拱猪是一个"负分游戏" 拱猪(Black Lady / Hearts 家族)是规避型纸牌游戏:所有分牌都是负分。红桃各 −1(或在某些规则里为 0),黑桃 Q(猪)−13,方块 J(羊)+10...
AI算法 每日算法 — 使用java实现数独:X-Wing与剑鱼结构推理 数独是大家最熟悉的逻辑游戏:在 9×9 的盘面上填入 1~9,使每行、每列、每个 3×3 宫内数字不重复。多数人写求解器时第一反应是回溯(DFS +...
AI算法 每日算法 — 使用java实现迷宫生成:Hunt-and-Kill猎杀算法与随机游走生成 迷宫的生成算法有很多种:DFS 回溯产生长走廊、Prim 产生大量分支、Wilson 算法保证均匀分布。Hunt-and-Kill(猎杀算法)是一个位置尴尬但极其好用的选择——它没有 Wilson...
AI算法 每日算法 — 使用java实现数独:MRV启发式与位掩码候选域回溯 数独求解器的性能差距常常不在"用什么搜索算法",而在下一步该填哪一格。同样一套朴素回溯,不做任何格序优化时求解一道 Hard...
AI算法 每日算法 — 使用java实现五子棋:增量棋型评分与Zobrist置换表 五子棋的搜索深度通常只能做到 6~10 层,瓶颈几乎全在评估函数:一面 15×15 的棋盘有 572 条可能的五连线(15 行 + 15 列 + 29 条主对角线 + 29...
AI算法 每日算法 — 使用java实现Hidato:约束传播与MRV回溯求解哈密顿路径 Hidato(数字链,英文也写作 Numbrix/Number Snake)是一款纯逻辑谜题:给你一个网格和几个预置数字,要求把 1 到 N 全部填进去,形成一条「相邻数字必须在 8...
AI算法 每日算法 — 使用java实现火柴棒谜题:七段显示等式约束建模与增量枚举求解 火柴棒谜题(Matchstick Puzzle)是那种"一看就懂、一做就卡"的经典脑筋题:给一个用火柴棒摆成的错误等式,比如 6 + 4 =...