环路检测算法 Floyd's Tortoise and Hare 保姆级详解
迭代是计算机中最基本的一种执行模式,几乎任何程序都需要用到迭代(即循环)。环路检测就是应用在具有迭代结构的程序里,用于检测程序是否会在一个环路中死循环,或是用来检测图、链表或状态机等结构中是否含有环。
alpha-beta剪枝算法详解
前言承接极小化极大算法,它穷举了所有的博弈树节点,从而计算出一条最佳路径,但实际上有些分支是没必要计算的。alpha-beta算法就是对博弈树进行剪枝操作,减少计算开销。但其剪枝效率一定程度取决于走步生成算法,这会在后面进行解释。alpha-beta剪枝我们构造一个简单的博弈树,如下图所示:我们无需
24点算法:思考与记录
前言突然回想起小时候玩扑克牌时常玩的游戏,24点。四张扑克牌,可以随意用加减乘除运算进行组合,最终能凑成24,是一个考验心算的小游戏。于是就想尝试用计算机实现,看看有多少种可能,不过24点是很容易穷举的,可能性并不多。最终程序跑出来,一共有28561种组合,其中22615种都可以凑出24点,成功率有
极小化极大算法保姆级详解
前言极小化极大算法通常用于完全信息的零和博弈中,即双方的所有信息都是已知的,例如五子棋、象棋。它基于这样一个假设,对方一定会走最利于自己的走法,于是我们在这样的条件下寻找一种最优的策略路径使得己方的收益最大。换句话说,如果在对方最优的走法下我们还能获得优势,则对方走出次优的走法,我们也一定能获得优势
- 1