2018年3月28日

新手立体四子棋AI教程(4)——启发式搜索与主程序

摘要: 通过前面几篇文章的学习,我们的四子棋程序已经有了框架、搜索几大部分,但是还有着不少问题,我们的程序只能迭代很有限的步骤,导致棋力低下,在这一篇我们将通过启发式搜索极大的优化搜索效率。 一、原因 我们之前的产生走子位置的函数很简单,即找到棋盘上的空余位置。它的不合理性体现在两方面: 还是前一章的那张图 阅读全文

posted @ 2018-03-28 13:37 Scobbing 阅读(1898) 评论(0) 推荐(0) 编辑

新手立体四子棋AI教程(3)——极值搜索与Alpha-Beta剪枝

摘要: 上一篇我们讲了评估函数,这一篇我们来讲讲立体四子棋的搜索函数。 一、极值搜索 极值搜索是game playing领域里非常经典的算法,它使用深度优先搜索(因为限制最大层数,所以也可以称为迭代加深搜索)来遍历未来n步的走子情况。在每层模拟中都会选择对自己最优的位置,通过最大化自己的利益(也就是上一篇提 阅读全文

posted @ 2018-03-28 13:10 Scobbing 阅读(3233) 评论(0) 推荐(0) 编辑

python实现维吉利亚密码加密(Vigenère cipher)

摘要: 最近有个朋友问我关于维吉利亚密码如何用python实现加密,研究之后发现这是个挺好玩的东西,遂决定写篇博文记录一下。 一、何谓维吉利亚密码 第一列是密钥字母列,第一行是明文字母行。不难看出维吉利亚密码是基于凯撒加密进一步的延伸,使用了密钥的概念来对抗字频统计。 维吉尼亚密码引入了“密钥”的概念,即根 阅读全文

posted @ 2018-03-28 12:09 Scobbing 阅读(2861) 评论(0) 推荐(0) 编辑

导航