CN110458295B - 基于人工智能的棋牌关卡生成方法、训练方法及装置 - Google Patents
基于人工智能的棋牌关卡生成方法、训练方法及装置 Download PDFInfo
- Publication number
- CN110458295B CN110458295B CN201910764301.4A CN201910764301A CN110458295B CN 110458295 B CN110458295 B CN 110458295B CN 201910764301 A CN201910764301 A CN 201910764301A CN 110458295 B CN110458295 B CN 110458295B
- Authority
- CN
- China
- Prior art keywords
- card
- game
- chess
- artificial intelligence
- initial
- 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Mathematical Physics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Game Theory and Decision Science (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于人工智能的棋牌关卡生成方法、训练方法、装置及终端,属于人机交互领域。所述方法包括:生成棋牌初始牌局;根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到所述棋牌初始牌局的n个对战结果;所述第一人工智能模型是采用固定策略的机器学习模型,所述第二人工智能模型是采用随机策略的机器学习模型,n为正整数;根据所述棋牌初始牌局的n个对战结果,得到所述棋牌初始牌局对应的统计数据;根据所述棋牌初始牌局对应的对战统计数据确定所述棋牌初始牌局的难度系数,所述难度系数用于确定所述棋牌初始牌局在棋牌关卡中的关卡位置。
Description
技术领域
本申请实施例涉及人工智能领域,特别涉及一种基于人工智能的棋牌关卡生成方法、训练方法及装置。
背景技术
在线棋牌类游戏是基于计算机网络技术将多个客户端连接起来以实现联机棋牌的应用程序。在线棋牌类游戏提供有闯关模式,用户可以参与闯关模式来完成多级对战。
以麻将棋牌类游戏为例,服务器按照第一代码规则生成每个用户的棋牌初始牌局,棋牌初始牌局中包括若干个将、刻子和顺子等,使得玩家胡牌难度降低。再按照第二代码规则为每个用户分配对局中的棋牌。其中,第一代码规则和第二代码规则是由程序员设计的代码。
但是上述方式中的第一代码规则和第二代码规则的设计难度较大,也无法衡量每个棋牌初始牌局的难易程度,有时候会出现排序较早的棋牌初始牌局的难度很大,而排序较晚的棋牌初始牌局的难度较小的情况。
发明内容
本申请提供了一种基于人工智能的棋牌关卡生成方法、训练方法及装置,可以解决由代码规则所生成的棋牌初始牌局,无法衡量难易程度的问题。所述技术方案如下:
根据本申请的一方面,提供了一种基于人工智能的棋牌关卡生成方法,所述方法包括:
生成棋牌初始牌局;
根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到所述棋牌初始牌局的n个对战结果;所述第一人工智能模型是采用固定策略的机器学习模型,所述第二人工智能模型是采用随机策略的机器学习模型,n为正整数;
根据所述棋牌初始牌局的n个对战结果,得到所述棋牌初始牌局对应的统计数据;
根据所述棋牌初始牌局对应的对战统计数据确定所述棋牌初始牌局的难度系数,所述难度系数用于确定所述棋牌初始牌局在棋牌关卡中的关卡位置。
根据本申请的另一方面,提供了一种人工智能模型的训练方法,所述方法包括:
获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据;
对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
将所述输入数据输入至第一人工智能模型进行对局行为预测,得到第i+1手预测对局行为;
根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
根据所述第一损失函数对所述第一人工智能模型中的模型参数进行误差反向传播。
根据本申请的另一方面,提供了一种人工智能模型的训练方法,所述方法包括:
获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据和样本胜负情况;
对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
将所述输入数据输入至第二人工智能模型进行对局行为预测,得到第i+1手预测对局行为和预测胜负情况;
根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
根据所述预测胜负情况和所述样本胜负情况计算第二损失函数,所述第二损失函数是用于衡量胜负情况的预测准确性的损失函数
根据所述第一损失函数和所述第二损失函数对所述第二人工智能模型中的模型参数进行误差反向传播。
根据本申请的另一方面,提供了一种基于人工智能的棋牌关卡生成装置,所述装置包括:
生成模块,用于生成棋牌初始牌局;
对战模块,用于根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到所述棋牌初始牌局的n个对战结果;所述第一人工智能模型是采用固定策略的机器学习模型,所述第二人工智能模型是采用随机策略的机器学习模型,n为正整数;
统计模块,用于根据所述棋牌初始牌局的n个对战结果,得到所述棋牌初始牌局对应的统计数据;
确定模块,用于根据所述棋牌初始牌局对应的对战统计数据确定所述棋牌初始牌局的难度系数,所述难度系数用于确定所述棋牌初始牌局在棋牌关卡中的关卡位置。
根据本申请的另一方面,提供了一种人工智能模型的训练装置,所述装置包括:
获取模块,用于获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据;
转换模块,用于对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
预测模块,用于将所述输入数据输入至第一人工智能模型进行对局行为预测,得到第i+1手预测对局行为;
计算模块,用于根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
训练模块,用于根据所述第一损失函数对所述第一人工智能模型中的模型参数进行误差反向传播。
根据本申请的另一方面,提供了一种人工智能模型的训练装置,所述装置包括:
获取模块,用于获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据和样本胜负情况;
转换模块,用于对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
预测模块,用于将所述输入数据输入至第二人工智能模型进行对局行为预测,得到第i+1手预测对局行为和预测胜负情况;
计算模块,用于根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,根据所述预测胜负情况和所述样本胜负情况计算第二损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数,所述第二损失函数是用于衡量胜负情况的预测准确性的损失函数;
训练模块,用于根据所述第一损失函数和所述第二损失函数对所述第二人工智能模型中的模型参数进行误差反向传播。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的基于人工智能的棋牌关卡生成方法,和/或,人工智能模型的训练方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的基于人工智能的棋牌关卡生成方法,和/或,人工智能模型的训练方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到棋牌初始牌局的n个对战结果;根据棋牌初始牌局的n个对战结果,得到棋牌初始牌局对应的统计数据;根据棋牌初始牌局对应的对战统计数据确定棋牌初始牌局的难度系数,该难度系数用于确定棋牌初始牌局在棋牌关卡中的关卡位置;由于第一人工智能模型是采用固定策略的陪玩AI模型,第二人工智能模型是采用随机策略的拟人化模型,因此该统计结果能够较为准确地预测出每个棋牌初始牌局的难易系数,从而能够生成由易到难的棋牌关卡,减少了研发人员需要设置较为复杂的代码规则的繁重研发工作量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的流程图;
图2示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的原理图;
图3示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的流程图;
图4示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的流程图;
图5示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的原理图;
图6示出了本申请一个示例性实施例提供的第一人工智能模型的框图;
图7示出了本申请一个示例性实施例提供的第二人工智能模型的框图;
图8示出了本申请一个示例性实施例提供的棋牌初始牌局的框图;
图9示出了本申请一个示例性实施例提供的二值化矩阵的框图;
图10示出了本申请一个示例性实施例提供的通道矩阵的框图;
图11示出了本申请一个示例性实施例提供的人工智能模型的训练方法的流程图;
图12示出了本申请一个示例性实施例提供的人工智能模型的训练方法的流程图;
图13示出了本申请一个示例性实施例提供的棋牌关卡的界面图;
图14示出了本申请一个示例性实施例提供的棋牌关卡的界面图;
图15示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的流程图;
图16示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成装置的框图;
图17示出了本申请一个示例性实施例提供的人工智能模型的训练装置的框图;
图18示出了本申请一个示例性实施例提供的计算机设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
棋牌类人工智能(Artificial Intelligence,AI)分为两大类:完美信息类AI和非完美信息类AI。
完美信息类AI是指针对单个玩家来讲,牌局信息完全公开的第一类棋牌游戏所设置的AI,第一类棋牌游戏包括:中国象棋、中国围棋、国际象棋等。
非完美信息类AI是指针对单个玩家来讲,牌局信息不是完全公开的第二类棋牌游戏所设置的AI,第二类棋牌游戏包括:麻将、斗地主等,每个玩家仅能看到自己手中的牌。
麻将:一种博弈游戏,起源于中国,北方麻将每副136张,包含万、条、筒、字,南方麻将多八张花牌,分别为春夏秋冬、梅兰竹菊,共计144张。将,指玩家手中有两张相同花色相同数值的牌,例如“二万、二万”。刻子指玩家手中有三张相同的牌,“一万、一万、一万”。顺子指玩家手中有三张花色相同,数值之间相差为1的牌,如“一万、二万、三万”。
关卡生成:一种在算法上创建数据而不是手动创建数据的方法,例如在闯关游戏中,每一个关卡的生成。
卷积神经网络(Convolutional Neural Network,CNN):是一种多层前馈神经网络,擅长处理图像特别是大图像的相关机器学习问题。
拟人化模型:在传统的CNN模型中加入引导信息和附加的分类器,促使模型如人类玩家一样,根据目标的不同而采取不同的策略。
随机策略:在相同的游戏状态下,对CNN模型输出的概率分布,以某一个概率值a选择随机采样,以1-a的概率选择概率最高的模型输出。即每次模型做预测时,并不总是选择概率值最高的预测结果。
图1示出了本申请一个示例性实施例提供的基于人工智能棋牌关卡生成方法的流程图。该方法可以由计算机设备来执行。该方法包括:
步骤102,生成棋牌初始牌局;
对于在线棋牌类游戏,在每次对战开始时需要生成棋牌初始牌局。棋牌初始牌局包括至少两个用户分别对应的初始牌局。
在一个示例中,计算机设备随机生成一个或多个棋牌初始牌局。在另一个示例中,计算机设备按照预设的代码策略来生成一个或多个棋牌初始牌局。该预设的代码策略能够保证棋牌初始牌局中包含若干个将、刻子、顺子等,使得胡牌难度降低。
以在线两人麻将为例,需要为每个玩家生成13张初始牌局;又比如以中国象棋的残局对战为例,需要为每个玩家生成残局初始牌局。
至少两个玩家(或人工智能模型)采用各自对应的棋牌初始牌局进行棋牌对战。
步骤104,根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到棋牌初始牌局的n个对战结果;
计算机设备中同时设置有第一人工智能模型和第二人工智能模型。第一人工智能模型和第二人工智能模型用于模拟不同的玩家。示例性的,第一人工智能模型用于模拟第一玩家,第二人工智能模型用于模拟第二玩家。
第一人工智能模型是陪玩AI,第二人工智能模型是拟人化AI。第一人工智能模型是采用固定策略的机器学习模型,第二人工智能模型是采用随机策略的机器学习模型,n为正整数。
示例性的,固定策略是在预测出所有可能的对局行为中,选择概率最高的第一对局行为作为最终输出的策略。其中,所有可能的对局行为是第一人工智能模型根据当前牌局所预测出的。
示例性的,随机策略是在预测出所有可能的对局行为中,采用随机性方式选择出第二对局行为作为最终输出的策略。其中,所有可能的对局行为是第二人工智能模型根据当前牌局所预测出的。
结合参考图2,采用第一人工智能模型22和第二人工智能模型24模拟不同的玩家,基于棋牌初始牌局进行棋牌对战,直至满足胜负条件时,得到对战结果。重复该对战过程,能够得到n个对战结果。其中,n为正整数。示例性的,n为200个、400个、1000个等。
步骤106,根据棋牌初始牌局的n个对战结果,得到棋牌初始牌局对应的统计数据;
对于同一个棋牌初始牌局的n个对战结果,按照至少一个对局统计维度进行统计,得到该棋牌初始牌局对应的统计数据。至少一个对局统计维度包括:用于表征对局难度的统计维度。
比如,以在线麻将为例,对局统计维度包括但不限于:番型分布、牌局难度、胡牌深度、番数统计中的至少一种。用于表征对局难度的统计维度包括:胡牌深度。
步骤108,根据棋牌初始牌局对应的对战统计数据确定棋牌初始牌局的难度系数,难度系数用于确定棋牌初始牌局在棋牌关卡中的关卡位置。
示例性的,从棋牌初始牌局对应的对战统计数据中,获取用于表征对局难度的统计维度的统计数据;根据用于表征对局难度的统计维度的统计数据确定棋牌初始牌局的难度系数。
示例性的,对于多个棋牌初始牌局,按照难度系数由低到高的顺序来生成棋牌关卡。该棋牌关卡的生成过程,可以由服务器或棋牌客户端来执行。
综上所述,本实施例提供的方法,通过根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到棋牌初始牌局的n个对战结果;根据棋牌初始牌局的n个对战结果,得到棋牌初始牌局对应的统计数据;根据棋牌初始牌局对应的对战统计数据确定棋牌初始牌局的难度系数,该难度系数用于确定棋牌初始牌局在棋牌关卡中的关卡位置;由于第一人工智能模型是采用固定策略的陪玩AI模型,第二人工智能模型是采用随机策略的拟人化模型,因此该统计结果能够较为准确地预测出每个棋牌初始牌局的难易系数,从而能够生成由易到难的棋牌关卡,减少了研发人员需要设置较为复杂的代码规则的繁重研发工作量。
图3示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的流程图。该方法可以由计算机设备来执行。该方法包括:
步骤102,生成棋牌初始牌局;
对于在线棋牌类游戏,在每次对战开始时需要生成棋牌初始牌局。棋牌初始牌局包括至少两个用户分别对应的初始牌局。
在一个示例中,计算机设备随机生成一个或多个棋牌初始牌局。在另一个示例中,计算机设备按照预设生成规则来生成一个或多个棋牌初始牌局。该预设生成规则能够保证棋牌初始牌局中包含若干个将、刻子、顺子等,使得胡牌难度降低。
以在线两人麻将为例,需要为每个玩家生成13张初始牌局;又比如以中国象棋的残局对战为例,需要为每个玩家生成残局初始牌局。
至少两个玩家(或人工智能模型)采用各自对应的棋牌初始牌局进行棋牌对战。
步骤104-1,在第k次模拟对战中,根据棋牌初始牌局交替调用第一人工智能模型和第二人工智能模型进行棋牌对战,在满足胜负条件时得到第k个对战结果;
计算机设备中同时设置有第一人工智能模型和第二人工智能模型。第一人工智能模型和第二人工智能模型用于模拟不同的玩家。示例性的,第一人工智能模型用于模拟第一玩家,第二人工智能模型用于模拟第二玩家。
第一人工智能模型是陪玩AI,第二人工智能模型是拟人化AI。第一人工智能模型是采用固定策略的机器学习模型,第二人工智能模型是采用随机策略的机器学习模型,n为正整数。
示例性的,固定策略是在预测出所有可能的对局行为中,选择概率最高的第一对局行为作为最终输出的策略。其中,所有可能的对局行为是第一人工智能模型根据棋牌当前牌局所预测出的。
示例性的,随机策略是在预测出所有可能的对局行为中,采用随机性方式选择出第二对局行为作为最终输出的策略。其中,所有可能的对局行为是第二人工智能模型根据棋牌当前牌局所预测出的。
其中,k的起始值为0或1,本实施例以k的起始值为1来说明。
本步骤可以包括如下子步骤,如图4所示:
步骤1、设棋牌初始牌局为当前牌局;
步骤2、检测是否满足胜负条件;
胜负条件是指在线棋牌游戏中获胜的条件。以在线麻将为例,胜负条件为某一方玩家胡牌;又以中国象棋为例,胜负条件为某一方吃掉对方的将。
当不满足胜负条件时,进入步骤3;当满足胜负条件时,进入步骤6。
步骤3、检测是否为奇数手牌局;
在当前牌局是奇数手牌局时,进入步骤4;在当前牌局是偶数手牌局时,进入步骤5,如图5所示。
步骤4、当当前牌局为奇数手牌局且不满足胜负条件时,调用第一人工智能模型采用预测出的概率最高的第一对局行为,输出下一手牌局;
对局行为(action)是在线棋牌游戏的对战中的所有可能的用户行为中的一种。每种棋牌游戏所对应的对局行为为n种,n为正整数。
示例性的,将棋牌初始牌局、棋牌初始牌局和当前牌局之间的历史对局行为转换为通道矩阵信息,通道矩阵信息是采用二值化矩阵来表达的信息;调用第一人工智能模型对通道矩阵信息进行预测,得到概率最高的第一对局行为,输出下一手牌局。
其中,历史对局行为包括:当前玩家的打牌历史、对手玩家的打牌历史、当前玩家的碰杠吃状态、对手玩家的碰杠吃状态、上一家(或最近n手)的对局行为中的至少一种。
以在线麻将为例,存在39种对局行为:打万牌“1-9”、打筒牌“1-9”、打条牌“1-9”、打“东南西北中发白”共3*9+7=34种打牌行为,以及碰、杠、吃、过、胡共5种碰杠吃状态,总计39种。
第一人工智能模型根据当前牌局对39种对局行为进行预测,得到每种对局行为的概率,预测出概率最高的第一对局行为,执行第一对局行为输出下一手牌局。将下一手牌局作为新的当前牌局,再次执行步骤2。
步骤5、当当前牌局为偶数手牌局且不满足胜负条件时,调用第二人工智能模型在第一概率情况下随机确定出的第二对局行为或第二概率情况下采用预测出的概率最高的第一对局行为,输出下一手牌局;
示例性的,将棋牌初始牌局、棋牌初始牌局和当前牌局之间的历史对局行为转换为通道矩阵信息,通道矩阵信息是采用二值化矩阵来表达的信息;调用第二人工智能模型在第二概率情况下对通道矩阵信息进行预测,得到概率最高的第一对局行为,输出下一手牌局。
其中,历史对局行为包括:当前玩家的打牌历史、对手玩家的打牌历史、当前玩家的碰杠吃状态、对手玩家的碰杠吃状态、上一家(或最近n手)的对局行为中的至少一种。
以在线麻将为例,存在39种对局行为:打万牌“1-9”、打筒牌“1-9”、打条牌“1-9”、打“东南西北中发白”共3*9+7=34种,以及碰、杠、吃、过、胡共5种,总计39种。
第二人工智能模型根据当前牌局对39种用户行为进行预测,在第一概率情况a下随机确定出的第二对局行为,执行第二对局行为输出下一手牌局。或者,第二人工智能模型根据当前牌局对39种用户行为进行预测,在第二概率情况(1-a)下预测出概率最高的第一对局行为,执行第一对局行为输出下一手牌局。0<a≤1。其中,第一概率和第二概率之和等于1。
比如,第二人工智能模型根据当前牌局对39种用户行为进行预测,在30%的概率下随机确定出第二对局行为,执行第二对局行为输出下一手牌局。或者,第二人工智能模型根据当前牌局对39种用户行为进行预测,在70%的概率下预测出概率最高的第一对局行为,执行第一对局行为输出下一手牌局。0<a≤1。将下一手牌局作为新的当前牌局,再次执行步骤2。
步骤6、当当前牌局满足胜负条件时,得到棋牌初始牌局的第k个对战结果。
步骤104-2,检测k是否等于n;
当k小于n时,进入步骤104-3;当k等于n时,进入步骤108。
步骤104-3,在k小于n时,将k加一后,再次根据棋牌初始牌局交替调用第一人工智能模型和第二人工智能模型进行棋牌对战,在满足胜负条件时得到第k个对战结果;
其中,k和n均为正整数。
步骤104-4,在k等于n时,得到棋牌初始牌局的n个对战结果;
步骤106,根据棋牌初始牌局的n个对战结果,得到棋牌初始牌局对应的统计数据;
对于同一个棋牌初始牌局的n个对战结果,按照至少一个对局统计维度进行统计,得到该棋牌初始牌局对应的统计数据。至少一个对局统计维度包括:用于表征对局难度的统计维度。
比如,以在线麻将为例,对局统计维度包括但不限于:番型分布、牌局难度、胡牌深度、番数统计。用于表征对局难度的统计维度包括:胡牌深度。
在一个示例中,对局统计维度包括:棋牌初始牌局,对手手牌,牌墙,玩家手牌统计数据、玩家胡牌番型统计数据、玩家胡牌番数统计数据。
步骤108,根据棋牌初始牌局对应的对战统计数据确定棋牌初始牌局的难度系数,难度系数用于确定棋牌初始牌局在棋牌关卡中的关卡位置。
示例性的,从棋牌初始牌局对应的对战统计数据中,获取用于表征对局难度的统计维度的统计数据;根据用于表征对局难度的统计维度的统计数据确定棋牌初始牌局的难度系数。
示例性的,对于多个棋牌初始牌局,按照难度系数由低到高的顺序来生成棋牌关卡。
综上所述,本实施例提供的方法,通过根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到棋牌初始牌局的n个对战结果;根据棋牌初始牌局的n个对战结果,得到棋牌初始牌局对应的统计数据;根据棋牌初始牌局对应的对战统计数据确定棋牌初始牌局的难度系数,该难度系数用于确定棋牌初始牌局在棋牌关卡中的关卡位置;由于第一人工智能模型是采用固定策略的陪玩AI模型,第二人工智能模型是采用随机策略的拟人化模型,因此该统计结果能够较为准确地预测出每个棋牌初始牌局的难易系数,从而能够生成由易到难的棋牌关卡,减少了研发人员需要设置较为复杂的代码规则的繁重研发工作量。
图6示出了本申请一个示例性实施例提供的第一人工智能模型600的结构框图。该第一人工智能模型600包括:N个卷积层和1个输出层。示例性的,N=5。每个卷积层采用Adam优化算法来进行优化。
其中,第一人工智能模型600是根据第一损失函数训练得到的,第一损失函数是用于衡量对局行为的预测准确性的损失函数。
以在线麻将为例,第一损失函数是用于衡量39种对局行为的预测准确性的损失函数。也即,采用为当前牌局预测出概率最高的对局行为相对应的第一损失函数。
图7示出了本申请一个示例性实施例提供的第二人工智能模型700的结构框图。该第二人工智能模型700包括:N个卷积层和1个输出层。示例性的,N=5。每个卷积层采用Adam优化算法来进行优化。也即,第二人工智能模型700与第一人工智能模型600采用相同或不同的模型结构。
其中,第二人工智能模型700是根据第一损失函数和第二损失函数训练得到的,第一损失函数是用于衡量对局行为的预测准确性的损失函数。第二损失函数是用于衡量胜负情况的预测准确性的损失函数。
以在线麻将为例,第一损失函数是用于衡量39种对局行为的预测准确性的损失函数,第二损失函数是用于衡量胡牌番数的预测准确性的损失函数来确定。
可选地,第一损失函数和第二损失函数具有各自的权重。在一个示例中,第一损失函数的权重为1,第二损失函数的权重为0。
示例性的,上述第一人工智能模型600和第二人工智能模型700为CNN网络。第一人工智能模型600和第二人工智能模型700的模型输入包括:
将棋牌初始牌局和各个用户的历史对局行为进行信息二值化,将信息二值化后的数据组织成通道矩阵,作为第一人工智能模型600和第二人工智能模型700的输入。
在一个示例中,如图8所示,假设用户的棋牌初始牌局包括“一万、一万、三万、四万、四万、七万、八万、九万、四条、五条、五条、八条和七饼”为例,相应的信息二值化后的矩阵如图9所示。
采用相同或相似的方式对各个用户的历史对局行为进行信息二值化,得到按照时序排列的多个通道矩阵(比如每手对局行为作为一个通道矩阵),作为第一人工智能模型600和第二人工智能模型700的输入,如图10所示。
示例性的,上述第一人工智能模型600和第二人工智能模型700为CNN网络。第一人工智能模型600和第二人工智能模型700的模型输出包括:
CNN模型输出一个N维向量,N是该项目的分类数量。例如将大众麻将当做分类问题,那么对于一个玩家,他有39种action可以采用,包括,万条筒和字牌,34种,和碰、扛、吃、过、胡,5种。那么N就等于39,这个N维向量中的每一位代表某一对局行为的概率。
图11示出了本申请一个示例性实施例提供的人工智能模型的训练方法的流程图。该方法应用于计算机设备中,该计算机设备可以是用于训练人工智能模型的设备。该方法包括:
步骤1101,获取多组训练样本,每组训练样本包括:样本棋牌初始牌局和样本棋牌初始牌局的历史对局行为数据;
计算机设备获取多组训练样本。示例性的,该训练样本的获取方式包括:计算机设备随机生成一个或多个棋牌初始牌局,或者,计算机设备按照预设生成规则来生成一个或多个棋牌初始牌局。该预设生成规则能够保证棋牌初始牌局中包含若干个将、刻子、顺子等,使得胡牌难度降低。
对于一局棋牌对战,由两个真实玩家采用各自对应的棋牌初始牌局进行棋牌对战,直至得到该棋牌对战的输赢结果。在一局棋牌对战结束后,将该棋牌对战过程中的棋牌初始牌局、基于该棋牌初始牌局所产生的历史对局行为数据,作为一组训练样本。
重复上述过程,得到多组训练样本。在一些示例中,对于每组训练样本中在所述样本麻将初始牌局的历史对局行为数据中,去除未获胜的选手方的历史对局行为数据,只保留获胜的选手方的历史对局行为数据。
步骤1102,对于每组训练样本,将样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
在每组训练样本中,历史对局行为数据中除第1手之外的其它手对局行为均可进行一次训练。示例性的:
将样本棋牌初始牌局的历史对局行为数据中的第1手样本对局行为转换为一组输入数据,将第2手样本对局行为作为样本对局行为,进行一次训练;
将样本棋牌初始牌局的历史对局行为数据中的第1-2手样本对局行为转换为一组输入数据,将第3手样本对局行为作为样本对局行为,进行一次训练;
将样本棋牌初始牌局的历史对局行为数据中的第1-3手样本对局行为转换为一组输入数据,将第4手样本对局行为作为样本对局行为,进行一次训练;
将样本棋牌初始牌局的历史对局行为数据中的第1-4手样本对局行为转换为一组输入数据,将第5手样本对局行为作为样本对局行为,进行一次训练,以此类推,不再赘述。
步骤1103,将输入数据输入至第一人工智能模型进行对局行为预测,得到第i+1手预测对局行为;
结合图6,第一人工智能模型通过对局行为分类器对第i+1手预测对局行为进行预测。以在线麻将为例,根据第1至i手对局行为得到39种对局行为的概率。将概率最高的对局行为确定为第i+1手预测对局行为。
步骤1104,根据第i+1手预测对局行为和历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,第一损失函数是用于衡量对局行为的预测准确性的损失函数;
步骤1105,根据第一损失函数对第一人工智能模型中的模型参数进行误差反向传播。
可选地,使用Adam优化算法根据第一损失函数对第一人工智能模型中的模型参数进行误差反向传播。
综上所述,本实施例提供的方法,通过多组训练样本对第一人工智能模型进行训练,能够得到准确预测用户的对局行为的第一人工智能模型。
同时,采用将历史对局行为中的未获胜的选手方的对局行为进行筛除的方式,能够提高训练样本的有效性,减弱训练样本中的噪声,提高训练得到的第一人工智能模型的预测准确性。
图12示出了本申请一个示例性实施例提供的人工智能模型的训练方法的流程图。该方法包括:
步骤1201,获取多组训练样本,每组训练样本包括:样本棋牌初始牌局和样本棋牌初始牌局的历史对局行为数据和样本胜负情况;
计算机设备获取多组训练样本。示例性的,该训练样本的获取方式包括:计算机设备随机生成一个或多个棋牌初始牌局,或者,计算机设备按照预设生成规则来生成一个或多个棋牌初始牌局。该预设生成规则能够保证棋牌初始牌局中包含若干个将、刻子、顺子等,使得胡牌难度降低。
对于一局棋牌对战,由两个真实玩家采用各自对应的棋牌初始牌局进行棋牌对战,直至得到该棋牌对战的输赢结果。在一局棋牌对战结束后,将该棋牌对战过程中的棋牌初始牌局、基于该棋牌初始牌局所产生的历史对局行为数据,作为一组训练样本。
重复上述过程,得到多组训练样本。在一些示例中,对于每组训练样本中在所述样本麻将初始牌局的历史对局行为数据中,去除未获胜的选手方的历史对局行为数据,只保留获胜的选手方的历史对局行为数据。
步骤1202,对于每组训练样本,将样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
在每组训练样本中,历史对局行为数据中除第1手之外的其它手对局行为均可进行一次训练。示例性的:
将样本棋牌初始牌局的历史对局行为数据中的第1手样本对局行为转换为一组输入数据,将第2手样本对局行为作为样本对局行为,进行一次训练;
将样本棋牌初始牌局的历史对局行为数据中的第1-2手样本对局行为转换为一组输入数据,将第3手样本对局行为作为样本对局行为,进行一次训练;
将样本棋牌初始牌局的历史对局行为数据中的第1-3手样本对局行为转换为一组输入数据,将第4手样本对局行为作为样本对局行为,进行一次训练;
将样本棋牌初始牌局的历史对局行为数据中的第1-4手样本对局行为转换为一组输入数据,将第5手样本对局行为作为样本对局行为,进行一次训练,以此类推,不再赘述。
此外,还需要将样本棋牌初始牌局在最终胜利时的胜利结果作为样本胜负情况,以在线麻将为例,将胡牌时的番型作为样本番型结果。
步骤1203,将输入数据输入至第二人工智能模型进行对局行为预测,得到第i+1手预测对局行为和预测胜负情况;
结合图7,第二人工智能模型通过对局行为分类器对第i+1手预测对局行为进行预测。以在线麻将为例,根据第1至i手对局行为得到39种对局行为的概率。将概率最高的对局行为确定为第i+1手预测对局行为。
第二人工智能模型还通过胜负条件分类器对第i+1手预测对局行为进行预测。以在线麻将为例,根据第1至i手对局行为预测本次胡牌为各种番型的概率,将概率最高的番型作为第i+1手预测胜负情况。
步骤1204,根据第i+1手预测对局行为和历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,第一损失函数是用于衡量对局行为的预测准确性的损失函数;
步骤1205,根据预测胜负情况和样本胜负情况计算第二损失函数,第二损失函数是用于衡量胜负情况的预测准确性的损失函数;
步骤1206,根据第一损失函数和第二损失函数对第二人工智能模型中的模型参数进行误差反向传播。
可选地,使用Adam优化算法根据第一损失函数和第二损失函数对第一人工智能模型中的模型参数进行误差反向传播。
综上所述,本实施例提供的方法,通过多组训练样本对第二人工智能模型进行训练,能够得到准确预测用户的对局行为的第二人工智能模型。
同时,采用将历史对局行为中的未获胜的选手方的对局行为进行筛除的方式,能够提高训练样本的有效性,减弱训练样本中的噪声,提高训练得到的第一人工智能模型的预测准确性。
在一些可选的实施例中,第一人工智能模型和第二人工智能模型都是根据第一损失函数训练得到的,第一损失函数是用于衡量对局行为的预测准确性的损失函数,本实施例对此不加以限定。
在得到每个棋牌初始牌局的难度系数后,按照难度系数生成由易到难的棋牌关卡。在一个具体的例子中,如图13所示,本局开局手牌为“三万、三万、三万、四万、九万、九万、三条、七条、二筒、二筒、二筒、东”,闯关要求为胡碰碰胡。当玩家完成当前关卡的相应要求时,即挑战成功进入下一关游戏,如图14所示。
图15示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成方法的流程图。该方法可以由计算机设备来执行。该方法包括:
步骤1501,从游戏方收集和整理游戏日志,把每局游戏日志转换成一行日志代表一个对局行为的形式;
步骤1502,筛选数据,对每局游戏筛除没有胡牌的玩家所对应的游戏动作;
步骤1503,训练陪玩AI和拟人化AI(模型中加入了引导信息和附加分类器);
步骤1504,随机生成二人大众麻将开局数据;
步骤1505,对每一个开局,陪玩AI和拟人化AI对战200局,统计玩家手牌数据、玩家胡牌番型统计数据,玩家胡牌番数统计数据;
步骤1506,提供麻将开局及对应的统计数据给游戏方。
综上所述,本实施例提供的方法,本方案利用模型之间的大规模对战,得到可量化评估的游戏开局以及详尽的统计数据,解决了游戏方难以生成多样化、可解、可玩性高、难度可控牌局的问题,在线应用反响良好,玩家的通关率与本申请统计的胡牌难度的数据成正比。
图16示出了本申请一个示例性实施例提供的基于人工智能的棋牌关卡生成装置的框图。所述装置包括:
生成模块1620,用于生成棋牌初始牌局;
对战模块1640,用于根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到所述棋牌初始牌局的n个对战结果;所述第一人工智能模型是采用固定策略的机器学习模型,所述第二人工智能模型是采用随机策略的机器学习模型,n为正整数;
统计模块1660,用于根据所述棋牌初始牌局的n个对战结果,得到所述棋牌初始牌局对应的统计数据;
确定模块1680,用于根据所述棋牌初始牌局对应的对战统计数据确定所述棋牌初始牌局的难度系数,所述难度系数用于确定所述棋牌初始牌局在棋牌关卡中的关卡位置。
在一个可选的实施例中,所述对战模块1640,用于在第k次模拟对战中,根据所述棋牌初始牌局交替调用第一人工智能模型和第二人工智能模型进行棋牌对战,在满足胜负条件时得到第k个对战结果;在所述k小于n时,将所述k加一后,再次根据所述棋牌初始牌局交替调用第一人工智能模型和第二人工智能模型进行棋牌对战,在满足胜负条件时得到所述第k个对战结果;
其中,k和n均为正整数。
在一个可选的实施例中,所述对战模块1640,包括:
设置子模块,用于设所述棋牌初始牌局为当前牌局;
第一调用子模块,用于当所述当前牌局为奇数手牌局且不满足胜负条件时,调用所述第一人工智能模型采用预测出的概率最高的第一对局行为,输出下一手牌局;
第二调用子模块,用于当所述当前牌局为偶数手牌局且不满足胜负条件时,调用所述第二人工智能模型在第一概率情况下随机确定出的第二对局行为或第二概率情况下采用预测出的概率最高的第一对局行为,输出所述下一手牌局;
结果子模块,用于当所述当前牌局满足所述胜负条件时,得到所述棋牌初始牌局的所述第k个对战结果;
其中,所述第一概率和所述第二概率之和等于1。
在一个可选的实施例中,所述第一调用子模块,用于将所述棋牌初始牌局、所述棋牌初始牌局和所述当前牌局之间的历史对局行为转换为通道矩阵信息,所述通道矩阵信息是采用二值化矩阵来表达的信息;调用所述第一人工智能模型对所述第一通道矩阵信息进行预测,得到概率最高的第一对局行为,输出所述下一手牌局。
在一个可选的实施例中,所述第二调用子模块,用于将所述棋牌初始牌局、所述棋牌初始牌局和所述当前牌局之间的历史对局行为转换为通道矩阵信息,所述通道矩阵信息是采用二值化矩阵来表达的信息;调用所述第二人工智能模型在第二概率情况下对所述第一通道矩阵信息进行预测,得到概率最高的第一对局行为,输出所述下一手牌局。
在一个可选的实施例中,所述第一人工智能模型和所述第二人工智能模型是根据第一损失函数训练得到的,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数。
在一个可选的实施例中,所述第一人工智能模型是根据第一损失函数训练得到的,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
所述第二人工智能模型是根据所述第一损失函数和第二损失函数训练得到的,所述第二损失函数是用于衡量胜负情况的预测准确性的损失函数。
图17示出了本申请一个示例性实施例提供的人工智能模型的训练装置的框图。所述装置包括:获取模块1710、转换模块1730、预测模块1750、计算模块1770和训练模块1790。
在一个可能的设计中:
获取模块1710,用于获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据;
转换模块1730,用于对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
预测模块1750,用于将所述输入数据输入至第一人工智能模型进行对局行为预测,得到第i+1手预测对局行为;
计算模块1770,用于根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
训练模块1790,用于根据所述第一损失函数对所述第一人工智能模型中的模型参数进行误差反向传播。
在另一个可能的设计中:
获取模块1710,用于获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据和样本胜负情况;
转换模块1730,用于对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
预测模块1750,用于将所述输入数据输入至第二人工智能模型进行对局行为预测,得到第i+1手预测对局行为和预测胜负情况;
计算模块1770,用于根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,根据所述预测胜负情况和所述样本胜负情况计算第二损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数,所述第二损失函数是用于衡量胜负情况的预测准确性的损失函数;
训练模块1790,用于根据所述第一损失函数和所述第二损失函数对所述第二人工智能模型中的模型参数进行误差反向传播初始牌局初始牌局初始牌局初始牌局初始牌局初始牌局初始牌局初始牌局。
图18示出了本申请一个示例性实施例提供的计算机设备的结构示意图。示意性的,计算机设备1800包括中央处理单元(Central Processing Unit,简称:CPU)1801、包括随机存取存储器(random access memory,简称:RAM)1802和只读存储器(read-onlymemory,简称:ROM)1803的系统存储器1804,以及连接系统存储器1804和中央处理单元1801的系统总线1805。所述计算机设备1800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1806,和用于存储操作系统1813、客户端1814和其他程序模块1815的大容量存储设备1807。
所述基本输入/输出系统1806包括有用于显示信息的显示器1808和用于用户输入信息的诸如鼠标、键盘之类的输入设备1809。其中所述显示器1808和输入设备1809都通过连接到系统总线1805的输入/输出控制器1180连接到中央处理单元1801。所述基本输入/输出系统1806还可以包括输入/输出控制器1180以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1180还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1807通过连接到系统总线1805的大容量存储控制器(未示出)连接到中央处理单元1801。所述大容量存储设备1807及其相关联的计算机可读介质为计算机设备1800提供非易失性存储。也就是说,所述大容量存储设备1807可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(erasable programmable read-only memory,简称:EPROM)、电可擦除可编程只读存储器(electrically erasable programmable read-onlymemory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(DigitalVersatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1804和大容量存储设备1807可以统称为存储器。
根据本申请的各种实施例,所述计算机设备1800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1800可以通过连接在所述系统总线1805上的网络接口单元1811连接到网络1812,或者说,也可以使用网络接口单元1811来连接到其他类型的网络或远程计算机系统(未示出)。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的基于人工智能的棋牌关卡生成方法,和/或,人工智能模型的训练方法。
可选地,本申请还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述各个方法实施例所提供的基于人工智能的棋牌关卡生成方法,和/或,人工智能模型的训练方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种基于人工智能的棋牌关卡生成方法,其特征在于,所述方法包括:
生成棋牌初始牌局;
根据第一人工智能模型和第二人工智能模型之间的棋牌对战,得到所述棋牌初始牌局的n个对战结果;所述第一人工智能模型是采用固定策略的机器学习模型,所述第二人工智能模型是采用随机策略的机器学习模型,n为正整数;
根据所述棋牌初始牌局的n个对战结果,按照至少一个对局统计维度进行统计,得到所述棋牌初始牌局对应的统计数据;所述至少一个对局统计维度包括番型分布、牌局难度、胡牌深度、番数统计中的至少一种;
根据所述棋牌初始牌局对应的对战统计数据确定所述棋牌初始牌局的难度系数,所述难度系数用于确定所述棋牌初始牌局在棋牌关卡中的关卡位置,所述棋牌关卡是按照至少一个所述棋牌初始牌局分别对应的难度系数由低到高的顺序生成的。
2.根据权利要求1所述的方法,其特征在于,所述根据第一人工智能模型和第二人工智能模型进行棋牌对战,得到所述棋牌初始牌局的n个对战结果,包括:
在第k次模拟对战中,根据所述棋牌初始牌局交替调用第一人工智能模型和第二人工智能模型进行棋牌对战,在满足胜负条件时得到第k个对战结果;
在所述k小于n时,将所述k加一后,再次根据所述棋牌初始牌局交替调用第一人工智能模型和第二人工智能模型进行棋牌对战,在满足胜负条件时得到所述第k个对战结果;
其中,k和n均为正整数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述棋牌初始牌局交替调用第一人工智能模型和第二人工智能模型进行棋牌对战,在满足胜负条件时得到第k个对战结果,包括,
设所述棋牌初始牌局为当前牌局;
当所述当前牌局为奇数手牌局且不满足胜负条件时,调用所述第一人工智能模型采用预测出的概率最高的第一对局行为,输出下一手牌局;
当所述当前牌局为偶数手牌局且不满足胜负条件时,调用所述第二人工智能模型在第一概率情况下随机确定出的第二对局行为或第二概率情况下采用预测出的概率最高的第一对局行为,输出所述下一手牌局;
当所述当前牌局满足所述胜负条件时,得到所述棋牌初始牌局的所述第k个对战结果;
其中,所述第一概率和所述第二概率之和等于1。
4.根据权利要求3所述的方法,其特征在于,所述调用所述第一人工智能模型采用预测出的概率最高的第一对局行为,输出下一手牌局,包括:
将所述棋牌初始牌局、所述棋牌初始牌局和所述当前牌局之间的历史对局行为转换为通道矩阵信息,所述通道矩阵信息是采用二值化矩阵来表达的信息;
调用所述第一人工智能模型对所述通道矩阵信息进行预测,得到概率最高的第一对局行为,输出所述下一手牌局。
5.根据权利要求3所述的方法,其特征在于,所述调用所述第二人工智能模型在第二概率情况下采用预测出的概率最高的第一对局行为,包括:
将所述棋牌初始牌局、所述棋牌初始牌局和所述当前牌局之间的历史对局行为转换为通道矩阵信息,所述通道矩阵信息是采用二值化矩阵来表达的信息;
调用所述第二人工智能模型在第二概率情况下对所述通道矩阵信息进行预测,得到概率最高的第一对局行为,输出所述下一手牌局。
6.根据权利要求1至5任一所述的方法,其特征在于,
所述第一人工智能模型和所述第二人工智能模型是根据第一损失函数训练得到的,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数。
7.根据权利要求1至5任一所述的方法,其特征在于,
所述第一人工智能模型是根据第一损失函数训练得到的,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
所述第二人工智能模型是根据所述第一损失函数和第二损失函数训练得到的,所述第二损失函数是用于衡量胜负情况的预测准确性的损失函数。
8.一种人工智能模型的训练方法,其特征在于,所述方法用于训练如权利要求1至7所述的第一人工智能模型,所述方法包括:
获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据;
对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
将所述输入数据输入至所述第一人工智能模型进行对局行为预测,得到第i+1手预测对局行为;
根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
根据所述第一损失函数对所述第一人工智能模型中的模型参数进行误差反向传播。
9.一种人工智能模型的训练方法,其特征在于,所述方法用于训练如权利要求1至7所述的第二人工智能模型,所述方法包括:
获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据和样本胜负情况;
对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
将所述输入数据输入至所述第二人工智能模型进行对局行为预测,得到第i+1手预测对局行为和预测胜负情况;
根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
根据所述预测胜负情况和所述样本胜负情况计算第二损失函数,所述第二损失函数是用于衡量胜负情况的预测准确性的损失函数
根据所述第一损失函数和所述第二损失函数对所述第二人工智能模型中的模型参数进行误差反向传播。
10.一种基于人工智能的棋牌关卡生成装置,其特征在于,所述装置包括:
生成模块,用于生成棋牌初始牌局;
对战模块,用于根据第一人工智能模型和第二人工智能模型之间的棋牌对战,得到所述棋牌初始牌局的n个对战结果;所述第一人工智能模型是采用固定策略的机器学习模型,所述第二人工智能模型是采用随机策略的机器学习模型,n为正整数;
统计模块,用于根据所述棋牌初始牌局的n个对战结果,按照至少一个对局统计维度进行统计,得到所述棋牌初始牌局对应的统计数据;所述至少一个对局统计维度包括番型分布、牌局难度、胡牌深度、番数统计中的至少一种;
确定模块,用于根据所述棋牌初始牌局对应的对战统计数据确定所述棋牌初始牌局的难度系数,所述难度系数用于确定所述棋牌初始牌局在棋牌关卡中的关卡位置,所述棋牌关卡是按照至少一个所述棋牌初始牌局分别对应的难度系数由低到高的顺序生成的。
11.一种人工智能模型的训练装置,其特征在于,所述装置用于训练如权利要求1至7所述的第一人工智能模型,所述装置包括:
获取模块,用于获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据;
转换模块,用于对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
预测模块,用于将所述输入数据输入至所述第一人工智能模型进行对局行为预测,得到第i+1手预测对局行为;
计算模块,用于根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数;
训练模块,用于根据所述第一损失函数对所述第一人工智能模型中的模型参数进行误差反向传播。
12.一种人工智能模型的训练装置,其特征在于,所述装置用于训练如权利要求1至7所述的第二人工智能模型,所述装置包括:
获取模块,用于获取多组训练样本,每组所述训练样本包括:样本棋牌初始牌局和所述样本棋牌初始牌局的历史对局行为数据和样本胜负情况;
转换模块,用于对于每组所述训练样本,将所述样本棋牌初始牌局的历史对局行为数据中的第1手至第i手样本对局行为转换为一组输入数据,i为正整数;
预测模块,用于将所述输入数据输入至所述第二人工智能模型进行对局行为预测,得到第i+1手预测对局行为和预测胜负情况;
计算模块,用于根据所述第i+1手预测对局行为和所述历史对局行为数据中的第i+1手样本对局行为计算第一损失函数,根据所述预测胜负情况和所述样本胜负情况计算第二损失函数,所述第一损失函数是用于衡量对局行为的预测准确性的损失函数,所述第二损失函数是用于衡量胜负情况的预测准确性的损失函数;
训练模块,用于根据所述第一损失函数和所述第二损失函数对所述第二人工智能模型中的模型参数进行误差反向传播初始牌局初始牌局初始牌局初始牌局初始牌局初始牌局初始牌局初始牌局。
13.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的基于人工智能的棋牌关卡生成方法,或如权利要求8所述的人工智能模型的训练方法,或如权利要求9所述的人工智能模型的训练方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的基于人工智能的棋牌关卡生成方法,或如权利要求8所述的人工智能模型的训练方法,或如权利要求9所述的人工智能模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764301.4A CN110458295B (zh) | 2019-08-19 | 2019-08-19 | 基于人工智能的棋牌关卡生成方法、训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764301.4A CN110458295B (zh) | 2019-08-19 | 2019-08-19 | 基于人工智能的棋牌关卡生成方法、训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110458295A CN110458295A (zh) | 2019-11-15 |
CN110458295B true CN110458295B (zh) | 2021-10-26 |
Family
ID=68487598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910764301.4A Active CN110458295B (zh) | 2019-08-19 | 2019-08-19 | 基于人工智能的棋牌关卡生成方法、训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110458295B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111265878B (zh) * | 2020-01-14 | 2022-05-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112402982B (zh) * | 2020-02-13 | 2022-12-23 | 上海哔哩哔哩科技有限公司 | 基于机器学习的用户作弊行为检测方法和系统 |
CN112274935B (zh) * | 2020-11-20 | 2024-01-23 | 超参数科技(深圳)有限公司 | Ai模型训练方法、使用方法、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106215420A (zh) * | 2016-07-11 | 2016-12-14 | 北京英雄互娱科技股份有限公司 | 用于创建游戏场景的方法和设备 |
CN107694094A (zh) * | 2017-10-10 | 2018-02-16 | 电子科技大学 | 一种桥牌牌局样本生成方法 |
CN109508789A (zh) * | 2018-06-01 | 2019-03-22 | 北京信息科技大学 | 预测手牌的方法、存储介质、处理器以及设备 |
CN109621422A (zh) * | 2018-11-26 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 电子棋牌决策模型训练方法及装置、策略生成方法及装置 |
CN109847367A (zh) * | 2019-03-06 | 2019-06-07 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9630115B2 (en) * | 2013-01-23 | 2017-04-25 | Zynga Inc. | Shared social asset in game |
US9905076B2 (en) * | 2013-12-31 | 2018-02-27 | Todd L. Landen | System and method of bet-matching and chance-element features for multi-player online skill games |
US20180339213A1 (en) * | 2017-05-25 | 2018-11-29 | International Business Machines Corporation | Machine logic for timeout forecasting in sports and competitive games |
CN109034397B (zh) * | 2018-08-10 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 模型训练方法、装置、计算机设备及存储介质 |
-
2019
- 2019-08-19 CN CN201910764301.4A patent/CN110458295B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106215420A (zh) * | 2016-07-11 | 2016-12-14 | 北京英雄互娱科技股份有限公司 | 用于创建游戏场景的方法和设备 |
CN107694094A (zh) * | 2017-10-10 | 2018-02-16 | 电子科技大学 | 一种桥牌牌局样本生成方法 |
CN109508789A (zh) * | 2018-06-01 | 2019-03-22 | 北京信息科技大学 | 预测手牌的方法、存储介质、处理器以及设备 |
CN109621422A (zh) * | 2018-11-26 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 电子棋牌决策模型训练方法及装置、策略生成方法及装置 |
CN109847367A (zh) * | 2019-03-06 | 2019-06-07 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
Non-Patent Citations (2)
Title |
---|
Predicting Moves in Chess using Convolutional Neural Networks;Barak Oshri 等;《SEMANTIC SCHOLAR》;20151231;第1-8页 * |
基于手牌预测的多人无限注德州扑克博弈方法;李翔 等;《计算机学报》;20180131;第47-64页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110458295A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109621422B (zh) | 电子棋牌决策模型训练方法及装置、策略生成方法及装置 | |
Khalifa et al. | Intentional computational level design | |
CN110458295B (zh) | 基于人工智能的棋牌关卡生成方法、训练方法及装置 | |
CN111282267B (zh) | 信息处理方法、装置、介质及电子设备 | |
Hsieh et al. | Building a player strategy model by analyzing replays of real-time strategy games | |
Fogel | An overview of evolutionary programming | |
Mendes et al. | Hyper-heuristic general video game playing | |
CN112016704B (zh) | Ai模型训练方法、模型使用方法、计算机设备及存储介质 | |
CN111506514B (zh) | 一种应用于消除类游戏的智能测试方法及系统 | |
Gao et al. | Bloody Mahjong playing strategy based on the integration of deep learning and XGBoost | |
Ashlock et al. | General video game playing escapes the no free lunch theorem | |
Qader et al. | Evolving and training of neural network to play DAMA board game using NEAT algorithm | |
Miranda et al. | A Neuroevolution Approach to Imitating Human-Like Play in Ms. Pac-Man Video Game. | |
Mantere | Improved ant colony genetic algorithm hybrid for sudoku solving | |
CN112446424A (zh) | 一种字牌游戏数据处理方法、系统及存储介质 | |
CN112274935A (zh) | Ai模型训练方法、使用方法、计算机设备及存储介质 | |
CN114404976B (zh) | 决策模型的训练方法、装置、计算机设备及存储介质 | |
Purmonen | Predicting game level difficulty using deep neural networks | |
Rodríguez et al. | Parallel evolutionary approaches for game playing and verification using Intel Xeon Phi | |
WO2016132297A1 (en) | Simulator and automated selection module for strategies to play baseball | |
Nakashima et al. | Performance evaluation of an evolutionary method for robocup soccer strategies | |
Wang et al. | Team recommendation using order-based fuzzy integral and NSGA-II in StarCraft | |
Azuaje | A computational evolutionary approach to evolving game strategy and cooperation | |
CN114004359A (zh) | 一种麻将对手定口预测方法、装置、存储介质及设备 | |
Chia et al. | Designing card game strategies with genetic programming and monte-carlo tree search: A case study of hearthstone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |