AI算法 每日算法 — 使用java实现Slitherlink:约束传播与回溯搜索求解 引言 Slitherlink(数回/Loop the Loop)是日本 Nikoli 出版社发明的经典逻辑谜题:在由点构成的网格中,部分格子标有数字...
AI算法 每日算法 — 使用java实现Hopcroft-Karp:二分图最大匹配的分层BFS优化 引言 二分图最大匹配是图论中的经典问题,在任务分配、资源调度、推荐系统等领域有广泛应用。匈牙利算法是基础的 O(VE) 解法,而 Hopcroft-Karp 算法通过分层 BFS + 多路 DFS...
AI算法 每日算法 — 使用java实现华容道:约束满足问题CSP建模与前向检查回溯 华容道是中国传统的滑块拼图游戏,玩家需要通过滑动棋子,将最大的"曹操"方块移动到出口位置。本文将华容道问题建模为约束满足问题(CSP),并使用前向检查(Forward...
AI算法 每日算法 — 使用java实现井字棋:蒙特卡洛树搜索与UCT算法 井字棋(Tic-Tac-Toe)是最简单的完全信息博弈游戏之一,但作为理解蒙特卡洛树搜索(MCTS)算法的入门案例非常合适。本文将使用Java实现基于MCTS和UCT(Upper Confidence Bound for...
AI算法 每日算法 — 使用java实现汉诺塔:动态规划最优解与状态压缩 汉诺塔(Tower of Hanoi)是经典的递归问题,传统解法使用分治递归。本文将从动态规划(DP)的角度重新分析汉诺塔问题,并引入状态压缩技术高效记录和查询子问题解。...