November 25, 2018

有关Flood-it!游戏的解

摘要

这篇文章中我们会介绍游戏Flood-It,并比较它的数种解法。

Flood-It

Flood It是这样一个游戏,它要求玩家每次选择一种颜色(称为一种“操作”),使得一个色彩斑斓的棋盘最后变成一种颜色,使用的操作数越少就越好。

图一. 一个典型的Flood-It游戏过程,从初始状态开始,一共进行了蓝、橙、红、蓝四个操作。

如果你还是不清楚这个游戏是怎么回事,最好的办法可能就是去玩一玩它。

在线:https://unixpapa.com/floodit/

github项目:htt......

January 03, 2018

欧几里得与扩展欧几里得

18冬数论作业-15121709

欧几里得算法简介与实现

欧几里得算法,又称辗转相除法,是一种古老的求最大公约数(greatest common division,GCD)的算法。辗转相除法首次出现于欧几里得的《几何原本》中,而在中国则可以追溯至东汉出现的《九章算术》。

欧几里得算法基于如下的原理:一个正整数a和b,设a<b,GCD(a, b)为a和b的最大公约数,则GCD(a, b) = GCD(a, b - a)。

由此可以写出一个基于递归的朴素欧几里得算法实现:

int __gcd(int a, int b)

{

if(a == b){

return a;

}......

August 21, 2017

构建自己的AlphaGo

新的旅程

目的

我们的终极目标非常简单:那就是做一个自己的AlphaGo!

为了让我们的工作更简单些,我们把对弈的对象改成五子棋。由于五子棋的问题空间小上一些(五子棋棋盘15x15,围棋19x19),这可以让我们不用拥有DeepMind那么烧钱的硬件也能训练出能看的AI,同时也会出现一些领域相关的小细节和挑战。最后我们会去在线游戏平台上面看看它到底水准如何。

这篇半教程半工程日志的读者可以是没有任何机器学习基础的计算机学院学生(因为至少你得看得懂人话和Python代码,对吧?),我们会从最简单的井字棋游戏和深度优先搜索一直介绍到由卷积神经网络和蒙特卡罗搜索树构建的AI。半途中可能会有一些概......