博客专栏  >  编程语言   >  nine_sun算法专栏

nine_sun算法专栏

算法、数据结构相关

关注
7 已关注
107篇博文
  • C++ 遗传学SFLA混合蛙跳算法

    蛙跳算法(Shuffled Frog Leading Algorithm)是一种启发式算法,通过启发式函数进行启发式搜索,从而找到组合最优问题的解。 他结合了以遗传为基础的memetic算法和以社会行...

    2017-10-20 16:51
    290
  • node.js——麻将算法(七)简易版麻将出牌AI2.0

    *文本为上一篇博客http://blog.csdn.net/sm9sun/article/details/77898734的部分追加优化 上一篇博客已经实现了基本的出牌逻辑,大部分情况能够给出正确...

    2017-09-25 14:27
    980
  • node.js——麻将算法(六)简易版麻将出牌AI1.0

    普通麻将的出牌AI如果不是要求特别高的话,其实蛮容易实现的,毕竟大多数人打牌都只是看自己的手牌。 所以作为简易版的AI,出牌的策略只要奔着胡牌去就可以了。我们能想到的就是把相邻或相同的牌凑到一起,把单...

    2017-09-08 21:22
    1455
  • node.js——麻将算法(四)胡牌算法的一些优化处理方案(无赖子版)

    回想三月份刚接触棋牌时写过一些麻将的算法,转眼间半年过去了,回顾下曾经的代码,写的还真是蛮low的 http://blog.csdn.net/sm9sun/article/details/65448...

    2017-09-01 16:03
    1259
  • node.js——麻将算法(五)胡牌算法的一些优化处理方案(有赖子版)

    以前有赖子判胡算法 http://blog.csdn.net/sm9sun/article/details/65632646 以前的帖子说明了处理赖子的两种方案:枚举代替及插空补缺,并最终选择了...

    2017-09-01 18:11
    924
  • 全排列及相关扩展算法(一)——基础的回溯递归实现全排列算法

    1.全排列的定义和公式: 从n个数中选取m(m 2.时间复杂度: n个数(字符、对象)的全排列一共有n!种,所以全排列算法至少时O(n!)的。如果要对全排列进行输出,那么输出的时间要O(n*n!),因...

    2017-08-16 14:28
    667
  • 全排列及相关扩展算法(二)——求字典序下一组排列及全排列算法

    1.字典序排列的定义:为了便于理解,以数字为例,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列 12354和12345,排...

    2017-08-16 16:33
    620
  • 全排列及相关扩展算法(三)——利用中介数求排列在字典序排位算法

    1.中介数的定义及作用:很多时候,我们要通过一个排列得出它的字典序中的位置(序号),比如1234567应该排在第0位(开始位),1234576应该排在第1位,7654321排在第7!-1=5039位。...

    2017-08-16 20:46
    716
  • 全排列及相关扩展算法(四)——原始中介数通过逆推求原排列算法

    1.中介数逆推原排列:上一章我们讲到了中介数,通过一个排列可以很方便地求数它的中介数,通过中介数也可以很方便地求出排位序号。但是通过中介数逆推原排列就不是那么容易了。因为我们每求一位数,都需要对比其前...

    2017-08-17 10:29
    716
  • 全排列及相关扩展算法(五)——递增(递减)进位制数求原排列算法

    1.引入原因:通过上一章我们意识到通过原始中介数求原排列并不是那么的方便,于是我们延伸出几种新的中介数算法来方便计算原排列。 2.递增进位制数法:递增进位制是指数字的进制随着数字位置的不同递增,一般的...

    2017-08-17 20:59
    703
  • 全排列及相关扩展算法(六)——全排列最蛋疼的算法:邻位对换法

    1.引入原因:在此之前我们实现全排列本质上都是采用单向交换的思路,当交换到末端便要回溯至上一层面,如果我们采用双向的交换,便可以不断地交换下去,于是产生了邻位对换法。邻位对换法在找下一个排列的方法上在...

    2017-08-18 18:07
    652
  • 全排列及相关扩展算法(七)——组合数的字典序(另含全章代码整理)

    1.引入概念:要列出一个集合{1,2,3,4}的所有子集是很容易的,我们可以按照二进制数的顺序,0000,0001,0010,0011,0100,0101,0110,0111......来表示我们要取...

    2017-08-18 18:24
    830
  • 斗地主AI算法——第一章の业务逻辑

    转眼间快到了五月,帝都的天气也变的非常梦幻。 时而酷暑炎热,时而狂风席卷。 而不管外面如何,我们也只能在办公室里茕茕无依的撸着代码,无可奈何的负着韶华。 世界是寂寞的,寂寞到不只是寂寞,而是死一般的寂...

    2017-04-26 15:27
    3611
  • 斗地主AI算法——第二章の数据结构

    上一章我们已经确立了进本的业务逻辑处理流程。从本章开始,我们便进入开发阶段。 首先就是明确我们都需要哪些数据,且它们以怎样的形式存储。 首先从上一章反复提到的手牌权值结构说起,也就是F()的返回值...

    2017-04-26 16:00
    2928
  • 斗地主AI算法——第三章の数据处理

    上一章我们定义了基本的数据结构,相信大家看到手牌类里面那么多出牌序列时一定会比较愤慨。。。 其实一开始写的时候我也是觉得很脑残,不过后续开发证明了这样的结构还是可以的,因为只要我封装了一层数据转换,...

    2017-04-26 16:53
    2247
  • 斗地主AI算法——第四章の权值定义

    第一章业务逻辑结尾部分我提到了权值的计算方法: ①每个单牌都有一个基础价值②组合牌型的整体价值与这个基础价值有关,但显然计算规则不完全一样。③整手牌可以分成若干个组合牌,但分法不唯一。 当时,我说了...

    2017-04-26 18:04
    2331
  • 斗地主AI算法——第五章の总值计算

    本章算是比较重点的一章,前一章已经对各个牌型做出了价值定义,本章主要实现计算手牌总价值模块函数。 根据之前的思路,我们设定一下输入输出: 输入:手牌数据类(主要用手牌个数nHandCardCount以...

    2017-04-26 19:48
    2065
  • 斗地主AI算法——第六章の牌型判断

    本章实现了上一章提到的检查当前是否只是一手牌函数ins_SurCardsType /* 检查剩余的牌是否只是一手牌 是: 返回手牌类型数据 不是:返回错误类型(cgERROR) */ Card...

    2017-04-26 20:20
    1742
  • 斗地主AI算法——第七章の被动出牌(1)

    哎,之前扯了那么多蛋,重要讲出牌了! 本章开始讲被动出牌的逻辑算法。首先我们先把架子搭起来,被动出牌我们肯定是要知道场上目前打出的是什么牌型。 在第二章数据结构里我们定义过,游戏全局类里面有一个存...

    2017-04-26 20:53
    1841
  • 斗地主AI算法——第八章の被动出牌(2)

    上一章我们已经搭好了被动出牌的基本架子,本章我们主要解决面对不同牌型分支的出牌策略问题。 在这里我把出牌逻辑分为四个阶段,也就是策略的优先级。分别是:【直接打光手牌】→【同类型牌压制】→【炸弹王炸压制...

    2017-04-27 11:13
    1667
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部