CN102456090B - 人工智能判定实现系统及方法 - Google Patents
人工智能判定实现系统及方法 Download PDFInfo
- Publication number
- CN102456090B CN102456090B CN201010511142.6A CN201010511142A CN102456090B CN 102456090 B CN102456090 B CN 102456090B CN 201010511142 A CN201010511142 A CN 201010511142A CN 102456090 B CN102456090 B CN 102456090B
- Authority
- CN
- China
- Prior art keywords
- condition
- newly
- built
- item
- method item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种人工智能判定实现系统,包括一个或多个条件接口模块、一多选一智能判断类、一是或否智能判断类、一新建条件模块;条件接口模块包括权重属性、检查是否满足条件的方法项;多选一智能判断类包括引用条件方法项、计算权重方法项、总权重属性项;是或否智能判断类包括引用条件方法项、判断方法项;新建条件模块用于存储新建条件,新建条件是将所述条件接口模块的权重属性项、检查是否满足条件的方法项进行具体化得到。本发明还公开了一种人工智能判定实现方法。本发明对多个智能判定使用到的同一个条件不需要重复进行条件编码。
Description
技术领域
本发明涉及计算机技术,特别涉及一种人工智能判定实现系统及方法。
背景技术
人工智能(AI,Artificial Intelligence),是指用计算机来模拟人的思维和行动。人工智能应用于计算机或家庭游戏机游戏中,就会使玩家感到他所面对的对手是同现实中一样拥有智能的。
在桌面游戏(Board Game)人工智能判定的设计中,通常要用到“交互设计过程”。
首先以一种惯用的方式开始程序设计,如“托管状态下对有多张卡牌可以出时如何选择最优的卡牌出牌”,再比如“面对一次行动时选择行动或是保持沉默”,这些都是在桌游规则中会涉及到的人工智能判定,尽管这样使用的算法也许会很简单,然而当你开始玩这个游戏时,你会发现很多时候人工智能AI会做一些蠢事(开始时应该用不了多长时间)。
接着就考虑以下问题:a.电脑做了什么蠢事;b.如果是你的话,会怎样做;c.是什么样的信息使(或帮助)你做这样的决定的,之后返回去重新设计算法来组合这些数据。
然后再次开始你的游戏,观察人工智能AI,直到他做了其他的蠢事,然后重复上述过程,通过不断的重复交互设计过程,这个游戏的人工智能AI就会变得越来越好的。AI就是通过纠正错误不断学习的,在你不断玩游戏和修改它的过程中,人工智能AI实际上是在积累经验以便在游戏中表现的越来越好。
在不同的桌面游戏的不同人工智能AI中,这些智能判定会随着不同的具体游戏逻辑往往有不同的复杂算法,人工智能判定的组合极多,而且开发过程中需要不断的去修善人工智能判定,以使之到达玩家预想的结果。
在常规的人工智能判定的设计中,对各桌面游戏的各个人工智能判定,都要进行相应的一些条件编码,而多个智能判定会使用到同一个条件,对多个智能判定会使用到的同一个条件需要重复进行条件编码,使这些智能判定的具体实现充斥着大量重复的工作。
发明内容
本发明要解决的技术问题是提供一种人工智能判定实现系统及方法,对多个智能判定使用到的同一个条件不需要重复进行条件编码。
为解决上述技术问题,本发明的人工智能判定实现系统,包括一个或多个条件接口模块、一多选一智能判断类、一是或否智能判断类、一新建条件模块;
所述条件接口模块包括权重属性、检查是否满足条件的方法项;所述权重属性项根据条件值生成条件权重,所述检查条件是否满足的方法项根据条件值输出真或假;
所述多选一智能判断类包括引用条件方法项、计算权重方法项、总权重属性项;所述引用条件方法项用于引用一个或多个所述新建条件模块中的新建条件;所述计算权重方法项用于计算所述引用条件方法项所引用的各新建条件在一条件值下的条件权重的总和;所述总权重属性项用于根据所述计算权重方法项所得到的各条件值的权重值的总和输出选中的条件值;
所述是或否智能判断类包括引用条件方法项、判断方法项;所述引用条件方法项用于引用一个或多个所述新建条件模块中的新建条件;所述判断方法项用于根据所述引用条件方法项所引用的各新建条件在该条件值下的检查条件是否满足的方法项输出的真假给出是或否判断;
所述新建条件模块用于存储新建条件,新建条件是将所述条件接口模块的权重属性项、检查是否满足条件的方法项进行具体化得到。
为解决上述技术问题,本发明的人工智能判定实现方法,包括以下步骤:
一.设置所述人工智能判定实现系统;
二.分析一判定需求所需要的全部条件;如果有一个或多个所需要的条件在所述新建条件模块中无对应的新建条件,就进行该一个或多个所需要的条件所对应的新建条件的编码,将所述条件接口模块的权重属性项、检查是否满足条件的方法项进行具体化得到各对应的新建条件并存储到所述新建条件模块;
三.分析该判定需求的类型,根据需求逻辑进行新建智能判断编码,
如果判定需求为多选一关系,进行新建多选一智能判断编码,新建多选一智能判断编码是将所述多选一智能判断类的引用条件方法项、计算权重方法项、总权重属性项根据需求逻辑进行具体化。
如果判定需求为是或否关系,进行新建是或否智能判断编码,新建是或否智能判断编码是将所述是或否智能判断类的引用条件方法项、判断方法项根据需求逻辑进行具体化。
本发明,新建条件存储在一新建条件模块中,新建条件的编码都是由条件接口模块扩展得到从而具有统一接口及标准设定项,所述多选一智能判断类、是或否智能判断类引用具有统一接口的新建条件,并根据条件接口模块的标准设定项进行判断,当有一个新的判定需求时,只需根据需求逻辑将是或否智能判断类或者多选一智能判断类具体化,确定所引用的新建条件即可,所述新建条件模块中的新建条件,所有判断需求进行新建智能判断编码时都可以引用,这样当不同的判断需求涉及的多个智能判定使用到同一个条件时,只需由条件接口模块扩展得到一个新建条件,再根据判断需求的类型将是或否智能判断类或者多选一智能判断类具体化,进行新建智能判断编码时只需分别引用该新建条件即可,对多个智能判定会使用到的同一个条件不需要重复进行条件编码,降低了智能判定的具体实现的工作量。
附图说明
下面结合附图及具体实施方式对本发明作进一步详细说明。
图1是本发明的人工智能判定实现系统一实施方式示意图;
图2是本发明的人工智能判定实现方法一实施方式流程图;
图3是一实施例示意图。
具体实施方式
本发明的人工智能判定实现系统如图1所示,包括一个或多个条件接口模块、一多选一智能判断类、一是或否智能判断类、一新建条件模块;
所述条件接口模块包括权重属性、检查是否满足条件的方法项;所述权重属性项根据条件值生成条件权重,所述检查条件是否满足的方法项根据条件值输出真或假;
所述多选一智能判断类包括引用条件方法项、计算权重方法项、总权重属性项;所述引用条件方法项用于引用一个或多个所述新建条件模块中的新建条件;所述计算权重方法项用于计算所述引用条件方法项所引用的各新建条件在一条件值下的条件权重的总和;所述总权重属性项用于根据所述计算权重方法项所得到的各条件值的权重值的总和输出选中的条件值;
所述是或否智能判断类包括引用条件方法项、判断方法项;所述引用条件方法项用于引用一个或多个所述新建条件模块中的新建条件;所述判断方法项用于根据所述引用条件方法项所引用的各新建条件在该条件值下的检查条件是否满足的方法项输出的真假给出是或否判断;
所述新建条件模块用于存储新建条件,新建条件是将所述条件接口模块的权重属性项、检查是否满足条件的方法项进行具体化得到。
本发明的人工智能判定实现方法如图2所示,包括以下步骤:
一.设置所述人工智能判定实现系统;
二.分析一判定需求所需要的全部条件;如果有一个或多个所需要的条件在所述新建条件模块中无对应的新建条件,就进行该一个或多个所需要的条件所对应的新建条件的编码,将所述条件接口模块的权重属性项、检查是否满足条件的方法项进行具体化得到各对应的新建条件并存储到所述新建条件模块;如果所需要的全部条件在所述新建条件模块中都分别有对应的新建条件,进行步骤三;
三.分析该判定需求的类型,根据需求逻辑进行新建智能判断编码,
如果判定需求为多选一关系,进行新建多选一智能判断编码,新建多选一智能判断编码是将所述多选一智能判断类的引用条件方法项、计算权重方法项、总权重属性项根据需求逻辑进行具体化。
如果判定需求为是或否关系,进行新建是或否智能判断编码,新建是或否智能判断编码是将所述是或否智能判断类的引用条件方法项、判断方法项根据需求逻辑进行具体化。
基于不同的判定需求可以抽象为两大类型的智能判定:多选一关系的智能判定、是或否关系的智能判定,本发明设置条件接口模块、多选一智能判断类、是或否智能判断类,多选一智能判断类利用条件值对应的各新建条件权值来选出满足特定需求逻辑的最优选择,是或否智能判断类利用条件值对应的各新建条件真假的组合作出满足特定需求逻辑的是否判断。
本发明,新建条件存储在一新建条件模块中,新建条件的编码都是由条件接口模块扩展得到从而具有统一接口及标准设定项,所述多选一智能判断类、是或否智能判断类引用具有统一接口的新建条件,并根据条件接口模块的标准设定项进行判断,当有一个新的判定需求时,只需根据需求逻辑将是或否智能判断类或者多选一智能判断类具体化,确定所引用的新建条件即可,所述新建条件模块中的新建条件,所有判断需求进行新建智能判断编码时都可以引用,这样当不同的判断需求涉及的多个智能判定使用到同一个条件时,只需由条件接口模块扩展得到一个新建条件,再根据判断需求的类型将是或否智能判断类或者多选一智能判断类具体化,进行新建智能判断编码时只需分别引用该新建条件即可,对多个智能判定会使用到的同一个条件不需要重复进行条件编码,降低了智能判定的具体实现的工作量。
一实施例,如图3所示,所有判定需求的条件都由条件接口模块实现。ICondition,AbstractParallelAI为多选一关系的智能判断类,AbstractSerialAI为是或否关系的智能判断类;
多选一关系的具体做法(Actionscript3实现代码),例举一个简单的例子:从一组卡牌数据中智能判断出点值最大的卡牌:
1.首先根据判断需求进行新建条件编码,这里我们只需要新建一个条件即将使用到卡牌的点值和条件的权重值关联的条件。
package com.cxy.ai.condition
{
import com.cxy.ai.IAICondition;
public class Simple2Condition implements IAICondition{
public function Simple2Condition(){
}
public function checkCondition(...args):Boolean{
var counter:uint=args[0];
weight=2*counter ;
if(counter>10){
return true;
}else{
return false;
}
}
public function get weight():uint{
return 0;
}
public function set weight(value:uint):void{
}
}
}
2.进行新建多选一智能判断编码,其作用是根据传入的某卡牌放入到所有使用到的条件中计算出总权值。
package com.cxy.ai.parallel
{
import com.cxy.ai.AbstractParallelAI;
import com.cxy.ai.condition.Simple2Condition;
public class SimpleParallelAI extends AbstractParallelAI
{
private var_counter:uint;
public function SimpleParallelAI(counter:uint)
{
super();
_counter=counter;
}
override public function createAIConditions():void
{
_simple2Condition=new Simple2Condition();
}
private var _simple2Condition:Simple2Condition;
override public function calWeight():void
{
_totalWeight=0;
if(_simple2Condition.checkCondition(_counter)){
_totalWeight+=_simple2Condition.weight;
}
}
}
}
3.新建一个该智能判断的帮助类,实现多卡牌数组的智能判定并且将选择逻辑写入该帮助类中,选择权值最大的那张卡牌。
package com.cxy.ai.parallel.util
{
import com.cxy.ai.parallel.SimpleParallelAI;
public class SimpleParallelAIUtil
{
public static function getMaxCounter(counters:Array):uint{
var dddd:Array=new Array();
var counter:uint=0;
for(var i:*in counters)
{
counter=counters[i];
var simpleAI:SimpleParallelAI=new
SimpleParallelAI(counter);
simpleAI.calWeight();
dddd.push({weigth:simpleAI.totalWeight,cc:counter});
}
dddd.sorton(″weigth″,Array.NUMERIC|Array.DESCENDING);
var result:uint;
if(dddd.length>0)
{
result=dddd[0].cc;
}
return result;
}
}
}
4.在游戏中使用该帮助类。
var cards:Array=[111,345,46,657,785,70,345,33,777];
var maxCard:uint=SimpleParallelAIUtil.getMaxCounter(counters);
这样一个简单的选择最大点值卡牌的智能判定就可以在游戏逻辑中简单容易的使用了,而且编写的新建条件的可以在其他智能判定逻辑中重复使用,很大程度上减少了重复编码的工作量。
Claims (2)
1.一种人工智能判定实现系统,其特征在于,包括一个或多个条件接口模块、一多选一智能判断类、一是或否智能判断类、一新建条件模块;
所述条件接口模块包括权重属性项、检查是否满足条件的方法项;所述权重属性项根据条件值生成条件权重,所述检查是否满足条件的方法项根据条件值输出真或假;
所述多选一智能判断类包括引用条件方法项、计算权重方法项、总权重属性项;所述引用条件方法项用于引用一个或多个所述新建条件模块中的新建条件;所述计算权重方法项用于计算所述引用条件方法项所引用的各新建条件在一条件值下的条件权重的总和;所述总权重属性项用于根据所述计算权重方法项所得到的各条件值的权重值的总和输出选中的条件值;
所述是或否智能判断类包括引用条件方法项、判断方法项;所述引用条件方法项用于引用一个或多个所述新建条件模块中的新建条件;所述判断方法项用于根据所述引用条件方法项所引用的各新建条件在该条件值下的检查条件是否满足的方法项输出的真假给出是或否判断;
所述新建条件模块用于存储新建条件,新建条件是将所述条件接口模块的权重属性项、检查是否满足条件的方法项进行具体化得到。
2.一种人工智能判定实现方法,其特征在于,包括以下步骤:
一.设置权利要求1所述的人工智能判定实现系统;
二.分析一判定需求所需要的全部条件;如果有一个或多个所需要的条件在所述新建条件模块中无对应的新建条件,就进行该一个或多个所需要的条件所对应的新建条件的编码,将所述条件接口模块的权重属性项、检查是否满足条件的方法项进行具体化得到各对应的新建条件并存储到所述新建条件模块;
三.分析该判定需求的类型,根据需求逻辑进行新建智能判断编码,
如果判定需求为多选一关系,进行新建多选一智能判断编码,新建多选一智能判断编码是将所述多选一智能判断类的引用条件方法项、计算权重方法项、总权重属性项根据需求逻辑进行具体化;
如果判定需求为是或否关系,进行新建是或否智能判断编码,新建是或否智能判断编码是将所述是或否智能判断类的引用条件方法项、判断方法项根据需求逻辑进行具体化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010511142.6A CN102456090B (zh) | 2010-10-19 | 2010-10-19 | 人工智能判定实现系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010511142.6A CN102456090B (zh) | 2010-10-19 | 2010-10-19 | 人工智能判定实现系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102456090A CN102456090A (zh) | 2012-05-16 |
CN102456090B true CN102456090B (zh) | 2018-11-13 |
Family
ID=46039275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010511142.6A Active CN102456090B (zh) | 2010-10-19 | 2010-10-19 | 人工智能判定实现系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102456090B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111111170A (zh) * | 2019-12-23 | 2020-05-08 | 黎明职业大学 | 一种人工智能判定实现系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1048460A (zh) * | 1989-06-30 | 1991-01-09 | 德克萨斯仪器股份有限公司 | 计算机辅助决策装置和方法 |
CN101732861A (zh) * | 2008-11-14 | 2010-06-16 | 康佳集团股份有限公司 | 一种电子扑克牌游戏中自动选牌方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2658997B2 (ja) * | 1995-09-25 | 1997-09-30 | 日本電気株式会社 | キーワード利用による文意評価装置 |
US7676446B2 (en) * | 2006-01-11 | 2010-03-09 | Decision Command, Inc. | System and method for making decisions |
-
2010
- 2010-10-19 CN CN201010511142.6A patent/CN102456090B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1048460A (zh) * | 1989-06-30 | 1991-01-09 | 德克萨斯仪器股份有限公司 | 计算机辅助决策装置和方法 |
CN101732861A (zh) * | 2008-11-14 | 2010-06-16 | 康佳集团股份有限公司 | 一种电子扑克牌游戏中自动选牌方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于DFL的多agent学习模型研究;谢丽萍;《中国优秀硕士学位论文全文数据库-信息科学辑》;20061215(第12期);第12页, 25页,第50页至63页,图4.1 * |
Also Published As
Publication number | Publication date |
---|---|
CN102456090A (zh) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109621422B (zh) | 电子棋牌决策模型训练方法及装置、策略生成方法及装置 | |
CN105049526B (zh) | 一种游戏礼包推送方法、装置及系统 | |
CN102859538B (zh) | 一种用于模拟生物神经元网络的计算机实施的神经网络装置和方法 | |
CN105354133B (zh) | 一种游戏日志数据的处理方法及装置 | |
CN108304427A (zh) | 一种用户客群分类方法和装置 | |
CN107704512A (zh) | 基于社交数据的金融产品推荐方法、电子装置及介质 | |
CN109272402A (zh) | 评分卡的建模方法、装置、计算机设备及存储介质 | |
CN107273204A (zh) | 用于基因分析的资源分配方法和装置 | |
CN105279148A (zh) | 一种app软件用户评论一致性判断方法 | |
CN102339278B (zh) | 信息处理装置和信息处理方法 | |
Soemers et al. | Deep learning for general game playing with ludii and polygames | |
CN102456090B (zh) | 人工智能判定实现系统及方法 | |
CN103810625B (zh) | 线上游戏系统通货膨胀的控制方法及装置 | |
CN109189795A (zh) | 一种数据处理方法、装置及存储介质 | |
CN113230650A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN101866355A (zh) | 基于云计算的社会网络划分方法及系统 | |
Shivaprakash et al. | The evolution of placentation in flowering plants: A possible role for kin selection | |
CN116401602A (zh) | 事件检测方法、装置、设备及计算机可读介质 | |
CN103020412A (zh) | 一种游戏平台用户属性统计方法及系统 | |
CN108805755A (zh) | 一种旅游套餐生成方法及装置 | |
CN106412125B (zh) | 一种基于负载平衡的并序化云监控系统及构建方法 | |
CN107491509A (zh) | 一种用户属性信息挖掘方法、装置和介质 | |
CN108159706A (zh) | 一种游戏状态控制系统和方法 | |
CN107506361A (zh) | 栅格数据聚合方法和装置、栅格数据解耦方法和装置及系统 | |
CN107577808A (zh) | 一种多级列表页排序的方法、装置、服务器及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190221 Address after: 201203 7, 1 Lane 666 lane, Zhang Heng Road, Pudong New Area, Shanghai. Patentee after: SHANGHAI ZHANGMEN TECHNOLOGY CO., LTD. Address before: 201203 No. 356 GuoShoujing Road, Pudong New Area, Shanghai Patentee before: Shengle Information Technology (Shanghai) Co., Ltd. |
|
TR01 | Transfer of patent right |