基于python实现的广度优先遍历搜索(BFS)实验源码+代码详细注释+项目说明+实验结果及总结.7z 广度优先搜索算法(英语:Breadth-First-Search,缩写为BFS),是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。BFS是一种盲目搜索法,目的是系统地展开并检查图中的所有节点,以找寻结果。 BFS会先访问根节点的所有邻居节点,然后再依次访问邻居节点的邻居节点,直到所有节点都访问完毕。在具体的实现中,使用open和closed两个表,open是一个队列,每次对open进行一次出队操作(并放入closed中),并将其邻居节点进行入队操作。直到队列为空时即完成了所有节点的遍历。closed表在遍历树时其实没有用,因为子节点只能从父节点到达。但在进行图的遍历时,一个节点可能会由多个节点到达,所以此时为了防止重复遍历应该每次都检查下一个节点是否已经在closed中了。
基于python实现的遗传算法实验源码+详细注释+项目说明+实验结果及总结.7z 人工智能课程作业 遗传算法具体步骤: (1)初始化:设置进化代数计数器t=0、设置最大进化代数T、交叉概率、变异概率、随机生成M个个体作为初始种群P (2)个体评价:计算种群P中各个个体的适应度 (3)选择运算:将选择算子作用于群体。以个体适应度为基础,选择最优个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代 (4)交叉运算:在交叉概率的控制下,对群体中的个体两两进行交叉 (5)变异运算:在变异概率的控制下,对群体中的个体进行变异,即对某一个体的基因进行随机调整 (6) 经过选择、交叉、变异运算之后得到下一代群体P1。
python实现基于改进的差分进化算法求解柔性作业车间调度问题源码+项目说明.7z 问题规模以(工件J*工序P*机器M)表示,例如J20P10M10表示共有20个工件,每个工件有10个工序,总共有10个加工机器可供选择。data文件夹中的文件表示程序所用的数据,其中data_first文件的问题规模是J10P5M6,data_second文件的问题规模是J20P10M10,data_third文件的问题规模是J20P20M15。对于其中数据的解释:横向表示工序,纵向表示机器,每个数值表示机器加工工序的耗时,工序和机器都是按顺序排列的。以data_first.txt文件为例,前五行分别表示第一个工件的5个工序分别在6台机器上加工的时间,第5-10行表示第二个工件的5个工序分别在6台机器上加工的时间,以此类推。 关于编码,本项目采用的是同类问题常用的编码方式,参考论文“基于改进遗传算法的柔性作业车间调度问题研究”,与该论文所述的编码方式不同的是,本项目的编码中第一段为工序编码,第二段为机器编码。
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