python实现采用Alpha-Beta剪枝搜索实现黑白棋AI源码(人工智能期末作业).zip 黑白棋 实验要求: 使用 『最小最大搜索』、『Alpha-Beta 剪枝搜索』 或 『蒙特卡洛树搜索算法』 实现 miniAlphaGo for Reversi(三种算法择一即可)。 使用 Python 语言。 算法部分需要自己实现,不要使用现成的包、工具或者接口。 Result: 实现 AIPlayer 类,采用 Alpha-Beta 剪枝搜索实现黑白棋 AI
python实现基于区域二元线性回归模型进行图像恢复源码+项目说明(人工智能期末作业).7z 图像恢复 实验要求: 生成受损图像,函数接口 noise_mask_image 受损图像是由原始图像添加了不同噪声遮罩(noise masks)得到的 噪声遮罩仅包含 {0,1} 值。对原图的噪声遮罩的可以每行分别用 0.8/0.4/0.6 的噪声比率产生的,即噪声遮罩每个通道每行 80%/40%/60% 的像素值为 0,其他为 1。 使用区域二元线性回归模型,进行图像恢复。 评估误差为所有恢复图像与原始图像的 2-范数之和,此误差越小越好。 Result: 使用线性模型以 10 x 10 的区域为单位,进行像素预测,直到完成整张图片的像素预测,完成图像恢复
python实现机器学习K-means聚类算法.zip对数据进行聚类并绘图。原理 ​ K-means算法属于八大经典的机器学习算法中的其中一种,是一种无监督的聚类算法。其中无监督是机器学习领域中一个专业名词,和有监督是相对的,两者最本质的区别就在于研究的样本是否包含标签。比如猫狗分类这个问题中,猫和狗就是标签。对于聚类,其实是和分类相对应的,其中分类就是之有标签的。而聚类则是只没有标签的,我们需要将这些无标签的数据,按照各自的属性将他们会聚成不同的类别,从而将他们区分开。 ​ 在k-means算法中,存在着质心和簇。在进行算法之前,我们需要人工的指定将数据分为K个簇,并随便选取K个质心。就拿认知实习学习中的例子举例,假如我们又8个数据,分别为a1-a8,我们需要将这八个数据分为三个簇,也就是说k=3。这是我们就需要在a1-a8中随机选取三个数据点作为质心我们将质心记为b11,b12,b13。确定了质心后,我们需要计算a1-a8和三个质心的距离,并将距离最短的归为一类。比如a5到b11距离为2,到b12距离为3,到b13距离为1,那么就将a5和质心b13归为同一个簇。如此一次计算8个数
运行start.py以启动游戏
2022-12-13 11:29:37 14.86MB python 游戏
1
最近需要用到遗传算法来优化一些东西,最初是打算直接基于某些算法实现一个简单的函数来优化,但是感觉单纯写个非通用的函数运行后期改进算子或者别人使用起来都会带来困难,同时遗传算法基本概念和运行流程相对固定,改进也一般通过编码机制,选择策略,交叉变异算子以及参数设计等方面,对于算法的整体结构并没有大的影响。这样对于遗传算法来说,就非常适合写个相对固定的框架然后给算子、参数等留出空间以便对新算法进行测试和改进。于是就动手写了个遗传算法的小框架gaft,本文对此框架进行一些介绍并分别以一个一维搜索和二维搜索为例子对使用方法进行了介绍。GitHub:https://github.com/PytLab/ga
1
Python实现霍夫曼树 霍夫曼树是一种特殊的二叉树,是一种带权路径长度最短的二叉树,又称为最优二叉树。 给定 N 个权值作为二叉树的 N 个叶节点的权值,构造一棵二叉树,若该二叉树的带权路径长度达到最小,则称该二叉树为霍夫曼树。 霍夫曼树中权值越大的节点离根越近。 霍夫曼树主要应用于信息编码和数据压缩领域,是现代压缩算法的基础。 一、霍夫曼树的相关术语 霍夫曼树要满足带权路径长度最小,那就要知道什么是权值?什么是路径?什么是带权路径长度? 1. 路径 在一棵树中,从一个节点往下可以到达子节点或子孙节点的通路,称为路径。 2. 节点的权值 在具体的应用场景中,二叉树的每个节点对应着具体的业务
2022-12-13 04:12:51 269KB
1
本文实例讲述了Python实现将照片变成卡通图片的方法。分享给大家供大家参考,具体如下: 之前的文章介绍了使用Photoshop将照片变成卡通图片,今次介绍用代码来实现这项任务,可以就此探查各种滤镜的内部机制。 制作环境:Windows10,Python2.7,Anaconda 任务描述:将D盘某文件夹中的所有图片使用代码进行卡通化,然后保存到另一文件夹中。 如前文所述,卡通化的关键是强化边缘与减少色彩,所以使用Photoshop进行卡通化的时候就使用了照亮边缘和干笔画的滤镜来处理。使用代码处理图片的时候也是在对边缘和色彩上做文章。以下使用OpenCV库来对照片处理,大致分为四步来完成。 1.
2022-12-12 19:14:16 78KB c nc num
1
对于一个多元函数,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中为负梯度方向,即最速下降方向,αkαk为搜索步长。 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比如精确线性搜索,但是更常用的是不精确线性搜索,主要是Goldstein不精确线性搜索和Wolfe法线性搜索。 为了调用的方便,编写一个Python文件,里面存放线性搜索的子函数,命名为linesearch.py,这里先只编写了Goldstein线性搜索的函数,关于Goldstein原则,可以参看最优化课本。 线性搜索的代码如下(使用版本为Python3.3): ''' 线性搜索子函数 ''' import n
2022-12-12 16:36:33 161KB matlab函数 python python函数
1
深度强化学习自动炒股 选取 `1002` 只股票,进行训练,共计 - 盈利: `44.5%` - 不亏不赚: `46.5%` - 亏损:`9.0%`
2022-12-12 16:27:40 8KB 深度强化学习 自动炒股 机器学习
基于生物启发式算法的多智能体强化学习算法matlab和python实现
2022-12-12 11:28:43 121.21MB matlab 强化学习 自学习 python