一种用脉冲神经网络构建斗地主出牌程序的系统与方法与流程

文档序号:20836805发布日期:2020-05-22 16:58阅读:909来源:国知局
一种用脉冲神经网络构建斗地主出牌程序的系统与方法与流程

本发明属于人工智能、神经网络技术领域,特别涉及一种用脉冲神经网络构建斗地主出牌程序的系统与方法。



背景技术:

在早期的电子游戏中,棋牌类机器人玩家的实现方法主要是基于回溯法、遗传算法等经典算法进行改进的。这种依赖机械化的方法或者统计学方法往往需要大量运算,其效果无法摆脱机械性,不具有学习能力。人工智能的兴起和硬件设备算力的提高,使利用机器学习和神经网络实现智能玩家成为现实,目前,最先进的机器人玩家是采用第二代神经网络实现的,其原理还是基于梯度下降、误差反传等方法。这样的做法不但带来巨额的运算量,其耗时也较长,精度也较低,几乎不可能在节能、硬件算力一般的前提下保证准确性和时效性。

脉冲神经网络是第三代人工神经网络,它使用仿生学原理,填补神经科学和机器学习之间的鸿沟,将信息编码为神经元的膜电位和脉冲时延,利用脉冲来达到高效率低能耗的信息传递,该网络更贴近生物神经网络的结构。当前,脉冲神经网络已在数字识别,模式识别等问题上广泛应用。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供一种用脉冲神经网络构建斗地主出牌程序的系统与方法,可大量减小对算力的需求,提高处理速度和智能特性。

为了实现上述目的,本发明采用的技术方案是:

一种用脉冲神经网络构建斗地主出牌程序的系统,采用三层脉冲神经网络结构,包括:

牌型感知模块,对应第一层神经元,接收上家打出的扑克牌编码组合,感知自家持有扑克牌特征,由扑克牌编码信号刺激第一层神经元,第一层神经元向第二层神经元发出抑制信号或激发信号;

出牌决策模块,对应第二层神经元,综合抑制信号和激发信号,得出所有可能的出牌方法,推断当次最佳出牌方法,通过控制脉冲延时长短,向第三层神经元发送脉冲信号,使最先抵达第三层神经元的脉冲信号为当次出牌最佳方法,即最先被激活的神经元代表着当次最佳出牌;

出牌模块,对应第三层神经元,接收出牌决策模块的脉冲信号,完成出牌动作。

优选地,所述第一层神经元分为两组,每组包括54个神经元,对应感知54张不同的扑克牌编码而成的不同脉冲信号,其中组2的神经元负责接收上家打出的扑克牌的信息,并向第二层神经元传递抑制信号,所有不符合游戏规则的出牌方法,第二层对应的神经元会收到抑制信号;组1的神经元负责接收自家持有扑克牌的信息,并向第二层未收到抑制信号的神经元发送激发信号,所有能够打压上家出牌的牌型,对应的第二层神经元会被激活,并向第三层神经元发送带有一定时延的脉冲信号。

优选地,所述第二层神经元分为三组,每组包括276个神经元,分别对应276个扑克牌组合方式,其中组1的神经元对应“被动出牌且上家为敌”的对战策略,组2的神经元对应“主动出牌”的对战策略,组3的神经元对应“被动出牌且上家为友”的对战策略;当上家为友时,越大的出牌组合优先级越高,对应神经元具有越短的脉冲时延;当主动出牌时,出牌张数最多的出牌组合优先级越高,对应神经元具有越短的脉冲时延;当上家为敌时,越小的出牌组合优先级越高,对应神经元具有越越的脉冲时延。

优选地,所述第三层神经元为一组,包括276个神经元,分别对应276个扑克牌组合方式。

本发明还提供了一种基于所述用脉冲神经网络构建斗地主出牌程序的系统的方法,包括如下步骤:

1)通过扑克牌编码的信号刺激脉冲神经网络的第一层神经元,由第一层神经元向下一层发出抑制信号或激发信号;

2)综合抑制信号和激发信号,在第二层神经元中得出所有可能的出牌方法,通过控制脉冲延时长短,使最先抵达第三层神经元的脉冲信号即为当次出牌最佳方法,由此完成出牌动作。

进一步地,所述步骤1)包括如下步骤:

步骤1.1),输入上家打出的扑克牌编码和自家持有的扑克牌编码

将54张不同的扑克牌编码成不同的脉冲信号,根据上家的出牌向神经网络第一层负责处理上家出牌信号的神经元发送对应的电位脉冲,然后根据自家所持扑克牌,向第一层负责处理自家持有扑克牌信号的神经元发送对应的电位脉冲;

步骤1.2),抑制第二层部分神经元

由第一层负责处理上家出牌信号的神经元向第二层神经元传递抑制信号,按照斗地主的出牌规则,所有不符合游戏规则的出牌方法,对应第二层的神经元会收到抑制信号;

步骤1.3),激发第二层部分神经元

由第一层负责处理自家持有扑克牌信号的神经元向第二层未被步骤1.2)抑制的神经元发送激发信号,按照斗地主的出牌规则,所有能够打压上家出牌的牌型,对应的第二层神经元会被激活,并向下一层神经元发送带有一定时延的脉冲信号。

进一步地,所述步骤2)包括如下步骤:

步骤2.1),向第三层神经元发送脉冲信号

第二层被激活的神经元,根据不同场景,即主动出牌、被动出牌且上家为友、被动出牌且上家为敌,分不同的策略应对,当上家为友时,设定出牌牌型越大的方法对应神经元发出的脉冲具有越短时延,当主动出牌时,设定出牌张数越多的方法对应的神经元发出的脉冲具有越短时延,当上家为敌时,设定出牌牌型大小越小的方法对应神经元发出的脉冲具有越短时延;

步骤2.2),第三层神经元决定出牌并发送出牌编码

第三层神经元依次接收到由第二层发出的具有不同时延的脉冲信号,最先抵达的信号即为最优出牌方法,第三层神经元发出出牌编码后,冻结自家手牌检视层中已被出牌的神经元,到此完成一次出牌动作;

步骤2.3),循环操作

完成步骤2.2)的出牌动作后,进入等待上家出牌状态,直到上家已出牌,回到步骤1.1)进行下一轮出牌动作,直到牌局最终分出胜负。

与现有运动物体速度识别系统与方法相比,本发明的有益效果是:

1.本方法通过构建三层脉冲神经网络,能够在遵守斗地主游戏规则的同时灵活应对不同局势出牌,与当前时期其他技术相比,本方法对硬件算力要求更低,更具有普适性,同时效率也更高。

2.本方法利用多级神经元延时级联结构,使用脉冲传递信息,反应更灵活,速度更快,同时更加节能。

3.本方法是第三代神经网络在游戏中的一种具体实现,与当前时期其他技术相比,本方法的工作原理更接近神经细胞的功能原理,具有更先进的理论支撑,在人工智能领域有更多发展潜力。

附图说明

图1是本发明原理框图。

图2是本发明三层神经网络组成结构的示意图。

图3是第一层神经元接收来自上家和自家扑克牌信号,向第二层神经元传递抑制脉冲或正电位脉冲的示意图。

图4是第二层神经元根据不同分组对应不同优先规则项下一层神经元发送脉冲信号,其中各个脉冲信号具有不同时延,优先规则中越靠前的神经元发出的脉冲信号时延越短。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式,本实施例详细阐述了用脉冲神经网络去构建斗地主出牌程序的框架在自动出牌情况下具体实施时的例子。

本发明用脉冲神经网络去构建斗地主出牌程序的系统框架,包括由负责接收上家出牌的扑克牌编码组合、感知自家全部手牌编码的牌型感知模块,推断当次最佳出牌的决策模块,以及出牌模块。

参考图1,一种用脉冲神经网络构建斗地主出牌程序的系统,采用三层脉冲神经网络结构,包括:

牌型感知模块,对应第一层神经元,接收上家打出的扑克牌编码组合,感知自家持有扑克牌特征,由扑克牌编码信号刺激第一层神经元,第一层神经元向第二层神经元发出抑制信号或激发信号;其具体包括用于检视上家出牌和检视自家持有扑克牌的手牌检视层。

出牌决策模块,对应第二层神经元,综合抑制信号和激发信号,得出所有可能的出牌方法,推断当次最佳出牌方法,通过控制脉冲延时长短,向第三层神经元发送脉冲信号,使最先抵达第三层神经元的脉冲信号为当次出牌最佳方法,即最先被激活的神经元代表着当次最佳出牌;其采用分别对应主动出牌、被动出牌(上家是友或上家是敌)三种规则的规则匹配层-出牌决策层架构。

出牌模块,对应第三层神经元,接收出牌决策模块的脉冲信号,完成出牌动作。

参考图1和图4,第一层神经元分为两组,每组各有54个神经元,组1的神经元构成一个手牌检视层,负责接收自家持有扑克牌的信息,组2的神经元构成一个手牌检视层,负责接收上家打出的扑克牌的信息。第二层神经元分为三组,每组各有276个神经元,组1、组2、组3神经元分别对应上家为地主、自家为地主、上家和自家均不为地主三种对战策略。当上家为地主时,牌型越大的出牌组合优先级越高,对应神经元具有越短的脉冲时延。自家为地主时,出牌数量越多的出牌组合优先级越高,对应神经元具有越短的脉冲时延,即优先级顺序如下,五连飞机带翅膀,四连飞机带四对、六连飞机、四连飞机带翅膀……三带二,三带一,三张,对子,单张。上家和自家均不为地主时,牌型越小的出牌组合优先级越高,对应神经元具有越短的脉冲时延,以配合队友“斗地主”。第三层神经元只有一组,有276个神经元。

参考图2和图4,第一层神经元接收来自上家和自家扑克牌信号,向第二层神经元传递抑制脉冲或正电位脉冲的示意图,由图2可见,首先是第一层组2的神经元被上家打出的扑克牌激活,根据该牌型,需要在所有的出牌可能中排除不符合游戏规则的出牌组合(如上家出牌为“3”和“3”,自家就不能出牌“7”)。具体在神经网络中的操作就是第一层组2中被激活的神经元向第二层神经元发送抑制信号,所有不符合游戏规则的出牌方式对应的神经元即被抑制。然后是第一层组1的神经元被自家持有的扑克牌激活,向第二层神经元发送正电位脉冲信号。因此,第二层未被抑制的神经元中,能与上家牌型对上、自家持有的扑克牌中能形成的出牌组合对应的神经元即被激活。如图2中第二层组1的1号和3号神经元即被激活。

参考图3和图4,第二层神经元被激活后向第三层神经元发送具有不同时延的脉冲信号,例如,当上家为敌,打出的扑克牌为“3”和“3”时,经过第一层到第二层的信号处理和传递,1号和3号神经元均被激活,对应自家可以打出扑克牌为“4”和“4”,或“a”和“a”,而又由第二层组1的既定优先级规则,“a”和“a”的优先级更高,能最大程度压制上家,因此3号神经元发出脉冲的时延y小于1号神经元发出脉冲的时延x,故3号神经元发出的脉冲先抵达第三层神经元,第三层神经元收到信号即出牌,于是将最合适的牌打出去。

综上,本发明由以上三种模块构成一个独立的斗地主智能出牌系统框架,同其它技术相比,本方面提出一种全新的方式,将脉冲神经网络应用于斗地主牌类游戏,能够实现在保证迅速反应能力的前提下,整体运算量还相对较低。

以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1