
算法
@onelei
《游戏AI程序设计实战》作者
展开
-
【算法】洗牌算法Fisher–Yates shuffle
【算法】洗牌算法Fisher–Yates shuffle C#语言一般都是调用随机函数Random.Next函数,在一个范围内随机出一个数字。但是当我们需要将n个数据随机选择k个数。怎么办呢? 方案一:随机出一个数,然后从剩下的数里面接着随机。 方案二:每次都从n个数据里面随机出一个数,遇到重复的,放回去。接着随机,直到随机出k个数。 我们的目的是不管用哪个方案,我们都需要保证选出的数要是等概率的...原创 2020-03-03 18:32:03 · 611 阅读 · 0 评论 -
【数据结构】引言
【数据结构】引言 是什么 相信很多程序员对数据结构是既熟悉又陌生。熟悉的是学校里面要学,公司面试基本都会问数据结构相关的问题,但是呢,大部分程序员平时工作中用到的不多,所以是长时间不用会很陌生。。程序员对数据结构可谓是又爱又恨。 哈哈,其实数据结构并没有大家想象中这么难,由于最近在看数据结构相关的资料,故把里面比较好的地方分享出来,做个笔记,旨在通俗易懂。 为什么 很多人会觉得学个数据结构平时根本...原创 2019-11-09 15:35:10 · 553 阅读 · 0 评论 -
[算法]01背包问题
子问题的最优解也是全局最优解对于一个物品, 选择放还是不放,只有两个选择, 故属于01问题.// 物品; public class Item { // 重量; public int Weight; // 价值; public int Value; // 是否放入; public bool Input; }核心算法// 第n件物品,放入剩余容量为left原创 2015-11-07 15:31:40 · 658 阅读 · 0 评论 -
相邻六边形相对位置的判断
如图:很过关卡界面会用六边形作为策划配置关卡数据,有时候我们需要判断相邻的六边形之间的关系.这里提供一个简单的算法,方便计算相邻六边形,后一个六边形相对于前一个六边形的位置.public enum MapLineType { NONE, //没有关系; Left_UP, //左上角; Right_UP, //右上角; Right_H, //原创 2015-11-26 10:49:40 · 1972 阅读 · 0 评论 -
百行代码教你了解何为神经网络
神经网络解方程神经网络参见知乎大神的回答:http://www.zhihu.com/question/22553761#摘抄部分内容如下:就举一个简单的例子:区分苹果和橘子。1.问题:人为什么能判断正确?1.人的大脑就是一个牛逼的神经网络,通过从小的训练,见识,并且记住了苹果和橘子,我们分分钟能作出判断哪一个是苹果,哪一个是橘子(可能就是百分之百),即使我们蒙住了人的眼睛,我们还是可以通过气味,重量原创 2016-02-03 18:03:08 · 1003 阅读 · 0 评论 -
遗传算法(C#)
遗传算法示例为计算函数为y = -x*x+ 5的最大值,-32<=x<=31.参考: http://blog.youkuaiyun.com/ljp1919/article/details/42425281采用轮盘赌算法作为选择算子的算法核心算法轮盘赌 /// <summary> /// 更新下一代; /// 基于轮盘赌选择方法,进行基因型的选择; /原创 2017-07-01 11:40:12 · 6882 阅读 · 2 评论