CN117312810B - 基于博弈历史树的不完全信息攻防博弈对手识别方法 - Google Patents
基于博弈历史树的不完全信息攻防博弈对手识别方法 Download PDFInfo
- Publication number
- CN117312810B CN117312810B CN202311618095.9A CN202311618095A CN117312810B CN 117312810 B CN117312810 B CN 117312810B CN 202311618095 A CN202311618095 A CN 202311618095A CN 117312810 B CN117312810 B CN 117312810B
- Authority
- CN
- China
- Prior art keywords
- game history
- node
- game
- opponent
- graph
- 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
- 230000007123 defense Effects 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000013528 artificial neural network Methods 0.000 claims abstract description 20
- 230000009471 action Effects 0.000 claims description 107
- 230000008569 process Effects 0.000 claims description 20
- 238000009826 distribution Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 229940088594 vitamin Drugs 0.000 claims description 3
- 229930003231 vitamin Natural products 0.000 claims description 3
- 235000013343 vitamin Nutrition 0.000 claims description 3
- 239000011782 vitamin Substances 0.000 claims description 3
- 150000003722 vitamin derivatives Chemical class 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 abstract description 7
- 239000000284 extract Substances 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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/09—Supervised learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种基于博弈历史树的不完全信息攻防博弈对手识别方法,该方法设计了博弈历史树,并利用图神经网络提取其中的图结构信息作为对手特征,采用离线训练加在线识别的框架来实现在线对手识别;基于图神经网络模型构建对手识别器,通过与不同对手的博弈历史数据构建博弈历史树及其图数据集对识别器进行离线训练;通过收集在线博弈已结束博弈局的数据构建当前对手的博弈历史树及其图模型,将图模型数据输入离线训练好的对手识别器得到对手识别结果,防御方在后续网络攻防博弈中根据对手识别结果采用针对性的策略进行网络防御。该方法能快速准确地识别对手,使防御方可以尽早采用针对性策略进行防御,能大幅提高网络防御效能。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种基于博弈历史树的不完全信息攻防博弈对手识别方法。
背景技术
在不完全信息网络攻防博弈中,网络攻击方或网络防御方利用特定对手的针对性策略开展行动是一种有效的对手利用方法,能够大幅提升博弈的收益。在与已知范围内的对手开展博弈时,利用针对性策略开展对手利用,往往采用离线训练针对性策略加在线策略应用的框架来实施。这种框架的一个关键点是在线策略应用时应能确定当前对手是已知对手范围内的具体哪一个对手。因此,对手的在线准确识别是博弈中针对性策略在线应用的前提。
对手的在线识别本质是利用网络攻防博弈中观测到的对手信息对对手进行推断。利用博弈收益信息的贝叶斯策略重用方法,利用离线训练阶段获得的收益模型,根据在线博弈的收益观测利用贝叶斯推理来确定对手,然而当博弈中存在随机性因素时,短期(较短时间)观测的收益波动会导致推理不准确。利用策略信息的策略相似度判断方法,需要利用离线训练阶段的对手策略模型与在线博弈时构建的对手策略模型进行相似性比较。这种方法首先面临部分对手信息集无法确定的挑战,即使采用某些假设避开这一问题,仍然面临短期观测无法获得足够数据以构建准确策略模型的问题。而基于特征工程的方法大多基于行动的统计信息,通常基于人为设计的关于对手行动的特征统计量构建识别模型对对手进行识别,这类方法在现实中具有广泛应用,但由于其依赖人类经验知识构造的特征统计量只能提取部分对手信息,以及特征量的统计往往需要足够的数据才能保证准确,因此利用短期观测得到的统计特征开展对手识别会面临准确性受限的问题。
综上,现有的不完全信息网络攻防博弈的在线对手识别方法,由于随机性因素和不完全信息特性的影响,以及对数据量的较大需求,无法利用短期观测的对手信息实现准确的对手识别,也就无法在在线网络攻防博弈开始后的较短时间内实现对对手的有效识别,这将显著影响网络防御的效率。
发明内容
基于此,有必要针对上述技术问题,提供一种基于博弈历史树的不完全信息攻防博弈对手识别方法,以实现更准确的端到端的在线对手识别。
一种基于博弈历史树的不完全信息攻防博弈对手识别方法,所述方法包括:
获取已结束的网络攻防博弈中防御方与不同攻击方进行博弈的多局博弈历史数据。
根据每一局的博弈历史数据构建博弈历史链。
根据预设局数的博弈历史链集合构建博弈历史树,得到有向同质图数据集。
构建基于博弈历史树的对手识别器,所述对手识别器包括图神经网络、READOUT函数以及分类网络;所述图神经网络是以图消息传递模型为架构,以图同构神经网络为基础模型,使用多层消息传递的图神经网络。
采用所述有向同质图数据集对所述对手识别器进行训练,得到训练好的对手识别器,并保存所述对手识别器底层的神经网络参数。
根据在线博弈已结束博弈局中与当前攻击方的双方攻防行动数据构建在线博弈历史树有向图。
将所述在线博弈历史树有向图输入训练好的对手识别器,根据输出的当前对手属于不同已知对手的概率识别对手,在后续网络攻防博弈中防御方根据对手识别结果采用针对性的策略进行网络防御。
在其中一个实施例中,根据每一局的博弈历史数据构建博弈历史链,包括:
从一局博弈历史数据中提取行动历史数据,构建以博弈起始状态为起始节点的链。
遍历行动历史数据中每个轮次的行动数据,若当前行动是轮次起始时的行动,则首先添加一个表示轮次变化的自然节点,然后添加表示当前行动的行动节点,并记录对应的节点信息;若当前行动不是轮次起始时的行动,则直接添加行动节点,并记录对应的节点信息;所述节点信息包括对应的博弈方类型、博弈方对应的博弈位置、当前所在轮次、当前节点前各个轮次攻防双方的行动序列。
遍历所有行动数据后得到一条博弈历史链,所述博弈历史链是按照行动出现的先后顺序,从一个起始节点经若干中间节点到叶子节点的有向连接的链。
在其中一个实施例中,根据预设局数的博弈历史链集合构建博弈历史树,得到同质图数据集,包括:
获取预设局数的攻防双方行动数据,将每一局的行动序列结合轮次变化构建一个博弈历史链,构建博弈历史链的集合。
区分攻防双方的行动先后顺序,构造两个只有根节点的博弈历史树,其中,第一个为攻击方先行动的博弈历史树,第二个为防御方先行动的博弈历史树;所述根节点为自然节点。
遍历每一条博弈历史链,根据每一条博弈历史链的攻防双方行动先后顺序,选择对应的博弈历史树进行扩展,得到两个完整的博弈历史树。
对两个完整的博弈历史树的节点信息进行处理,并通过节点序号变更将两个博弈历史树拼接为一个完整的有向同质图模型。
根据预设局数遍历所有博弈历史数据,得到多个博弈历史树及其对应的有向同质图,并构成图数据集。
在其中一个实施例中,遍历每一条博弈历史链,根据每一条博弈历史链的攻防双方行动先后顺序,选择对应的博弈历史树进行扩展,得到两个完整的博弈历史树,包括:
通过遍历博弈历史链中的每一个节点,从博弈历史树中根节点开始搜索对应的节点;
若对应的节点存在,则将该节点出现次数增加1并记录节点其它信息;
若博弈历史树中不存在该节点则从前一个对应节点扩展该节点,并记录该节点的信息和该节点出现次数为1,不断扩展直到博弈历史链结束的叶子节点;
遍历完所有博弈历史链后,得到完整的攻击方先行动的博弈历史树和防御方先行动的博弈历史树。
在其中一个实施例中,对两个完整的博弈历史树的节点信息进行处理,并通过节点序号变更将两个博弈历史树拼接为一个完整的有向同质图模型,包括:
对两个完整的博弈历史树节点出现次数归一化,即将当前节点出现次数与根节点次数的比例作为节点特征信息之一。
根据节点记录的该节点前每个轮次的行动序列,得到博弈双方各类行动的数量并作为节点特征信息之一。
将从跟节点到叶子节点的扩展关系表示成边的有向连接,记录边的连接信息,以构成边列表。
将节点信息和所述边列表作为图元素,构成所述博弈历史树对应的有向同质图模型。
变更防御方先行动的博弈历史树的图模型的节点序号,将该图上的所有节点的序号加上所述攻击方先行动的博弈历史树对应的图模型的节点总数作为新的节点序号,进而将该图模型与攻击方先行动的博弈历史树的图模型的节点信息矩阵和边列表拼接在一起,构成一个完整的有向同质图模型。
在其中一个实施例中,所述图神经网络中每一层的消息传递过程中节点的特征更新公式为:
;
其中,是一个特征映射函数,/>是节点序号,/>是节点/>的特征向量,/>为更新后的节点/>的特征向量,/>为权重参数,/>为节点/>的邻居。
所述READOUT函数为:
;
其中,为表示整个图的特征向量/>的第/>维特征量,/>函数是对所有节点的第维特征取最大值,/>为第/>个节点的特征向量/>的第/>维特征量。
所述分类网络为带Dropout的全连接多层网络。
在其中一个实施例中,将所述在线博弈历史树有向图输入训练好的对手识别器,根据输出的当前对手属于不同已知对手的概率识别对手,在后续网络攻防博弈中防御方根据对手识别结果采用针对性的策略进行网络防御,包括:
将所述在线博弈历史树有向图输入训练好的对手识别器中,得到一个概率分布输出,表示当前对手属于已知范围内各个对手的概率。
若概率分布中有属于某个特定对手的概率超过给定的阈值,则认为当前对手为该特定对手,并为后续采取的针对性策略提供对手类别信息,在后续网络攻防博弈中防御方则根据所述对手类别信息采用针对性的策略进行网络防御。
若所有输出中没有超过给定阈值的概率,则在后续博弈过程中继续收集数据以更新在线博弈历史树有向图,并利用更新的在线博弈历史树有向图输入识别器后根据输出进行对手识别。
上述基于博弈历史树的不完全信息攻防博弈对手识别方法,设计了一种博弈历史树模型,并以其为基础利用图神经网络模型提取其中的图结构信息作为对手特征,采用离线训练加在线识别的框架来实现在线对手识别;基于图神经网络模型构建对手识别器,通过与不同对手的博弈历史数据构建博弈历史树及其图数据集对识别器进行离线训练。在识别器的在线应用中,通过收集在线博弈已结束博弈局的数据构建当前对手的博弈历史树及其图模型,将图模型数据输入对手识别器得到对手识别结果,防御方在后续网络攻防博弈中根据对手识别结果采用针对性的策略进行网络防御。该方法以端到端的方式实现对手识别,既不需要利用性能模型进行推理,也不需要构建策略模型进行相似性比较。该方法能快速准确地识别对手,使得防御方可以尽早采用针对性策略进行防御,能大幅提高网络防御效能。
附图说明
图1为一个实施例中基于博弈历史树的不完全信息攻防博弈对手识别方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种基于博弈历史树的不完全信息攻防博弈对手识别方法,该方法包括以下步骤:
步骤100:获取已结束的网络攻防博弈中防御方与不同攻击方进行博弈的多局博弈历史数据。
具体的,获取已结束的网络攻防博弈程中防御方与各种不同对手进行攻防博弈的多局博弈历史数据,并将这些对手视为在已知的范围内的对手。
对于这些在已知的范围内的攻击方对手,防御方根据经验和相关算法构建起相应的针对性策略。
步骤102:根据每一局的博弈历史数据构建博弈历史链。
具体的,在网络攻防博弈过程中防御方真正能感受到对手的差异是对手的不同行动选择,其反映的是对手的不同策略,而对手的策略实质是对手在不同信息集下的行动概率分布的集合。利用这些行动概率分布来作为特征信息进行端到端的对手识别是最直接的方法,既不用做贝叶斯概率推理,也不用重建对手的策略,只要能够找到一种合理的方式来表征这些行动概率分布并从中提取特征。
考虑到行动的不同选择可以用一个分支结构来表示,因此对手关于行动选择的概率分布在一定程度上可以认为是一种结构特征。这种分支结构在图数据中是一种典型的图连接结构。实际上这种分支结构也出现在博弈策略搜索时所使用的博弈树扩展方式中。因此受博弈树的启发,我们希望从在线博弈过程已结束博弈局的数据中,构建一种树形结构图来表征不同场景下的对手策略信息,称之为博弈历史树。
构建博弈历史树的目的是要通过合适的分支结构去表征对手的策略特征,其设计是受博弈树启发的。在不完全信息重复博弈中的任意一局中,博弈树作为表示博弈双方的交互过程的模型用于策略求解。博弈树中的节点表示博弈方的状态,博弈树的边表示当前节点博弈方的可能行动。由于不完全信息、随机性因素、及双方后续行动的未知性,博弈树从根节点开始不断扩展壮大直到叶子节点。在状态空间较小的问题中,通过完整地扩展博弈树,可以求得纳什均衡解作为策略。但在大状态空间的问题中,受计算复杂度限制很难完整扩展博弈树来求得纳什均衡解,而通常只能做有限深度的博弈树扩展,以搜索一个近似的均衡解作为策略。博弈树具有很多分支结构用于表示博弈双方的选择,但博弈树只能用来在一个未结束的局中做策略搜索,而不能用来作为识别的依据,因为它需要根据很多未知信息进行扩展,是一个不确定的对象。但我们可以从这种树状结构中得到启发,如果能够从博弈历史数据中构建起一定程度表征对手策略的确定的树状结构图,那么就能利用其开展识别。
在重复N局的博弈过程中,当一局博弈结束后,双方在之前博弈局中扩展博弈树时考虑的未知的后续行动和未知的随机因素,都变成为已知的事实,若不考虑对方的隐藏信息,那么之前扩展的博弈树可以缩简为一个从起始根节点到局结束叶子节点的确定支路。即从博弈局开始到博弈局结束的行动可以看做根节点到叶子节点的一个链,这种链称之为博弈历史链,因为链上的所有信息都已成为现实的历史。当我们从更多结束的博弈局中获得更多的链后,若能够将这些链统合成一个树,那么就能对对手的行动选择做统计性的描述,等价于描述了对手策略特征。因此在构建博弈历史树之前首先根据收集的博弈历史数据构建博弈历史链。
步骤104:根据预设局数的博弈历史链集合构建博弈历史树,得到有向同质图数据集。
具体的,博弈历史树用于描述不完全信息博弈过程中的双方行动特征,通过博弈历史链将攻防过程中各博弈局的双方行动信息统合在一个树中,以根节点表示每个博弈局开始时的自然状态,边表示博弈方在当前节点上做出的行动选择,后续节点表示博弈方行动选择后的状态,将当前节点前一个行动的类型、该行动所对应的博弈方、博弈方对应的博弈位置、当前所在轮次、当前节点前各类行动的数量、当前节点出现次数占根节点出现次数的比例等信息作为节点信息,将博弈历史树作为一种同质的有向图模型。
相比于特征工程的方法只能选择部分行动信息的统计来构造有限的特征,博弈历史树的构造完整利用了各博弈局中的博弈双方的行动序列信息,统计性地描述双方的行动选择,在不依赖对手不可观测隐藏信息的情况下能完整表征双方行动交互影响下的对手行动概率分布的特点,并利用图神经网络来提取博弈历史树结构特征以构建对手识别模型,能实现在线博弈时利用短期观测数据完整且准确地提取对手行动特点的目的,能有效提升在线对手识别的效率和准确性,进而能更快速地应用针对性策略从而获得更大的收益。
因此,我们根据预设局数的博弈历史链集合构建博弈历史树,进而得到同质图数据集,以便开展后续识别器的训练。
步骤106:构建基于博弈历史树的对手识别器,对手识别器包括图神经网络、READOUT函数以及分类网络;图神经网络是以图消息传递模型为架构,以图同构神经网络为基础模型,使用多层消息传递的图神经网络。
具体的,由于我们将博弈历史树作为整体来描述对手的特征,因此基于博弈历史树的对手识别任务是以整个图为单位的图分类任务,而不是以节点为单位的节点分类任务。图分类可以基于图之间的相似度度量实现,一类是基于两个图之间的图编辑距离、图同构关系、图的属性参数等构建度量指标,一类是基于图核的方法将图映射到高维空间,使得两个图在高维空间表示的内积相似度可以用核函数来计算。利用任意两个图之间的相似度度量,并结合类间的最大间隔等优化目标,可以利用支持向量机等分类器来实现不同类之间的有效区分。然而,由基于相似度分类器的单个样本的分类决策函数可知,要对一个新的样本进行分类需要计算该样本与所有训练样本之间的核函数,因此这种方法的计算复杂度比较高。另外这些方法中相似特征表示和分类过程是分离的,不能统一优化也限制了其最终的性能。
因此选择使用图神经网络的方法来构建图分类器以实现对手识别。其有两个优点:(1) 端到端的方式进行模型训练,能整合特征表示和分类过程的优化,提高图分类的准确率。(2) 以单个图数据作为输入,以所有可能类别的概率作为输出的方式,避免图之间的相似性计算,能有效降低模型的推理计算复杂度。
采用图消息传递模型作为图神经网络的架构,以图同构模型作为基础模型,使用5层消息传递。使用节点特征最大池化作为READOUT函数获得输入图的整体特征表示(且不考虑jump knowledge机制);最后将图的特征向量连接到带Dropout的全连接多层网络实现分类。图神经网络用于提取行动概率分布所对应的博弈历史树上的图结构特征。
步骤108:采用有向同质图数据集对对手识别器进行训练,得到训练好的对手识别器,并保存对手识别器底层的神经网络参数。
具体的,根据与不同对手攻防博弈的博弈历史数据以预设局数构建博弈历史树有向图数据集,并利用有向图数据集对基于博弈历史树的对手识别器进行离线训练,得到已知范围对手的识别器,并将其应用于在线的对手识别。
对手识别器构建训练过程如下:
(1) 从与已知范围的对手的博弈历史数据中构建基于博弈历史树的图数据集。
(2) 根据图数据集的数据特征,基于面向图分类任务的图神经网络模型构建对手识别器。
(3) 利用图数据集训练对手识别器直到收敛,并保存识别器底层的神经网络模型参数。具体的,在对手识别器的训练过程中,将图数据集区分为训练集和测试集,利用分类交叉熵作为损失函数,使用随机优化器Adam对损失进行后向传播,采用变化的批大小和学习率开展多次训练提升分类性能。训练完成后保存模型参数,并以分类准确率作为最终指标评价模型的最终性能。
步骤110:根据在线博弈已结束博弈局中防御方与当前攻击方的攻防行动数据构建在线博弈历史树有向图。
具体的,由于在线博弈时当前对手在已知的对手范围内,但不确定当前对手是哪一个,此时可根据与当前对手攻防博弈中已结束博弈局中的双方行动数据,构建博弈历史树及其对应的有向同质图模型,将其作为识别器的输入进行推理计算以便根据识别器输出的概率分布确定对手。
步骤112:将在线博弈历史树有向图输入训练好的对手识别器,根据输出的当前对手属于不同已知对手的概率识别对手,在后续网络攻防博弈中防御方根据对手识别结果采用针对性的策略进行网络防御。
具体的,当防御方与已知范围内的某一个对手开展博弈时,一个关键问题是如何快速识别当前对手是已知范围内的哪一个对手。一旦确定当前对手是哪一个,那么就可以快速的应用针对性策略从而获得更好的博弈效果。
通过离线训练从与不同对手的攻防博弈历史数据中构建起已知范围对手的识别(分类)器,然后在在线博弈时利用该识别器,在尽可能短的时间(即尽可能少的观测数据)内,根据与当前对手攻防博弈过程已结束博弈局中获取的数据,快速准确地识别对手,从而尽早地应用针对性策略,提高网络防御效率。
上述基于博弈历史树的不完全信息攻防博弈对手识别方法,设计了一种博弈历史树模型,并以其为基础利用图神经网络模型提取其中的图结构信息作为对手特征,采用离线训练加在线识别的框架来实现在线对手识别;基于图神经网络模型构建对手识别器,通过与不同对手的博弈历史数据构建博弈历史树及其图数据集对识别器进行离线训练。在离线训练完成后的识别器在线应用中,通过收集在线博弈已结束博弈局的数据构建当前对手的博弈历史树及其图模型,将图模型数据输入对手识别器得到对手识别结果,防御方在后续网络攻防博弈中根据对手识别结果采用针对性的策略进行网络防御。该方法以端到端的方式实现对手识别,既不需要利用性能模型进行推理,也不需要构建策略模型进行相似性比较。该方法能快速准确地识别对手,使得防御方可以尽早采用针对性策略进行防御,能大幅提高网络防御效能。
在其中一个实施例中,步骤102包括:从一局博弈历史数据中提取行动历史数据,构建以博弈起始状态为起始节点的链;遍历行动历史数据中每个轮次的行动数据,若当前行动是轮次起始时的行动,则首先添加一个表示轮次变化的自然节点,然后添加表示当前行动的行动节点,并记录对应的节点信息;若当前行动不是轮次起始时的行动,则直接添加行动节点,并记录对应的节点信息;所述节点信息包括对应的博弈方类型、博弈方对应的博弈位置、当前所在轮次、当前节点前各个轮次攻防双方的行动序列;遍历所有行动数据后得到一条博弈历史链,所述博弈历史链是按照行动出现的先后顺序,从一个起始节点经若干中间节点到叶子节点的有向连接的链。博弈历史链中的节点分三类:一类是表示博弈起始或轮次变化的自然节点,第二类是防御方的节点,第三类是攻击方的节点。
在其中一个实施例中,步骤104包括如下步骤:
步骤200:获取预设局数的攻防双方行动数据,将每一局的行动序列结合轮次变化构建一个博弈历史链,构建博弈历史链的集合。
步骤202:区分攻防双方的行动先后顺序,构造两个只有根节点的博弈历史树;其中,第一个为攻击方先行动的博弈历史树,第二个为防御方先行动的博弈历史树;根节点为自然节点。
步骤204:遍历每一条博弈历史链,根据每一条博弈历史链的攻防双方行动先后顺序,选择对应的博弈历史树进行扩展,得到两个完整的博弈历史树。
步骤206:对两个博弈历史树的节点信息进行处理,并通过节点序号变更将两个博弈历史树拼接为一个完整的有向同质图模型。
步骤208:根据预设局数遍历所有博弈历史数据,得到多个博弈历史树及其对应的有向同质图,并构成图数据集。
在其中一个实施例中,步骤204包括:通过遍历博弈历史链中的每一个节点,从博弈历史树中根节点开始搜索对应的节点;若对应的节点存在,则将该节点出现次数增加1并记录其它节点信息;若博弈历史树中不存在该节点则从前一个对应节点扩展该节点,并记录该节点的信息和该节点出现次数为1,不断扩展直到博弈历史链结束的叶子节点;遍历完所有博弈历史链后,得到完整的攻击方先行动的博弈历史树和防御方先行动的博弈历史树。
在其中一个实施例中,步骤206包括:对两个博弈历史树的节点出现次数归一化,即将当前节点出现次数与根节点次数的比例作为节点特征信息之一;根据节点记录的该节点前每个轮次的行动序列,得到博弈双方各类行动的数量并作为节点特征信息之一;将从跟节点到叶子节点的扩展关系表示成边的有向连接,记录边的连接信息,以构成边列表;将节点信息和边列表作为图元素,构成博弈历史树对应的有向同质图模型;变更防御方先行动的博弈历史树的图模型的节点序号,将该图上的所有节点的序号加上攻击方先行动的博弈历史树对应的图模型的节点总数作为新的节点序号,进而将该图模型与攻击方先行动的博弈历史树的图模型的节点信息矩阵和边列表拼接在一起,构成一个完整的有向同质图模型。
在其中一个实施例中, 步骤106中基于博弈历史树的对手识别器中的图神经网络中每一层的消息传递过程中节点的特征更新公式为:
;
其中,是一个特征映射函数,/>是节点序号,/>是节点/>的特征向量,/>为更新后的节点/>的特征向量,/>为权重参数,取常数,/>为节点/>的邻居。
READOUT函数为:
;
其中,为表示整个图特征向量/>的第/>维特征量,/>函数是对所有节点的第/>维特征取最大值,/>为第/>个节点的特征向量/>的第/>维特征量。
分类网络为带Dropout的全连接多层网络。
在其中一个实施例中,步骤112包括:将在线博弈历史树有向图输入训练好的对手识别器中,得到一个概率分布输出,概率分布表示当前对手属于已知范围内各个对手的概率;若概率分布中有属于某个特定对手的概率超过给定的阈值,则认为当前对手为该特定对手,并为后续采取的针对性策略提供对手类别信息,在后续网络攻防博弈中防御方则根据所述对手类别信息采用针对性的策略进行网络防御;若所有输出中没有超过给定阈值的概率,则在后续博弈过程中继续收集数据以更新在线博弈历史树有向图,并利用更新的在线博弈历史树有向图输入识别器后根据输出进行对手识别。
具体的,基于对手识别器的在线对手识别的步骤如下:
(1) 从在线博弈中已结束博弈局的博弈数据中构建博弈历史树有向图模型。当计算资源足够时,从博弈一开始就在每一局结束时更新得到一个新图。当计算资源有限时,则以预设的间隔局数更新新图。为尽可能快地识别出对手,间隔局数应尽可能的小。
(2) 将获得在线博弈历史树有向图输入离线训练得到的对手识别器,输出一个概率分布,表示当前对手属于已知范围内各个对手的概率。
(3) 若概率分布中有某个特定对手的概率超过给定的阈值,则认为当前对手为该特定对手,并为后续采取的针对性策略提供对手类别信息。若所有输出中没有超过给定阈值的概率,则认为当前数据不足以让识别器给出足够准确的判断,需要在后续博弈过程中继续收集数据以更新在线博弈历史树有向图,并利用其进行对手识别。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个验证性实施例中,我们希望在线博弈时能在尽可能短的时间内识别出对手,也就是要利用尽可能少的博弈局的数据来构建博弈历史树图实现对手识别,为分析使用博弈数据多寡对于识别效果的影响,我们考察以不同预设局数构建的博弈历史树图数据集上训练的识别器的识别效果。
首先考察了RCG500、RCG750、RCG1000以及 RCG3000四个识别器,分别应用在GHT500、GHT750、GHT1000以及GHT3000 四个数据集的测试集上的表现,其中RCG表示识别器,GHT表示数据集,其后的数值表示不同预设局数。其整体识别正确率如表1所示。
表1 不同识别器在各测试集上的识别正确率
注:表格中第一识别器为RCG500,第二识别器为RCG750、第三识别器为RCG1000以及第四识别器为 RCG3000。
第一数据集、第二数据集、第三数据集以及第四数据集分别为GHT500、GHT750、GHT1000以及GHT3000数据集。
可以看到,除了RCG3000应用在其他数据集上识别率较低外,其它识别器在各数据集上都表现良好。说明通过基于不同预设局数()的数据集训练的识别器可以在预设局数不同的数据集开展对手识别,也说明在线博弈时可使用从不同局数的数据中构建的博弈历史树图进行对手识别。注意到识别器RCG500的性能尤其好,在GHT750、GHT1000以及GHT3000 数据集上达到了99%以上的识别正确率,反而在与自身训练集相同预设局数的GHT500的测试集上识别率略低。这说明在GHT500数据集上训练的识别器RCG500已经能够表征出对手的关键特征,而且这些特征在预设局数更大的数据集上同样显著存在。而GHT3000数据集上训练的识别器RCG3000在预设局数更小的数据集上有明显的性能下降,说明该识别器利用了GHT3000数据集中图数据的更多特征用于识别,但部分特征在预设局数更小的数据集上并不明显。这一现象表明,识别器在预设局数较小情况下训练捕获得到的特征能够用于预设局数较大情况,而预设局数较大情况下捕获的特征则部分不能用于预设局数较小的情况。而预设局数较小情况下提取的特征足以体现对手的差别,这对于在线博弈时快速识别对手是一个利好。
实验与基于特征工程的方法进行了比较,使用四个简单的行动统计数据作为特征,以局数据中获得特征集训练的识别器在不同特征集上的整体识别正确率如表2所示,表格中/>识别器训练用特征集对应的预设局数,/>为测试用特征集对应的预设局数。
表2 不同识别器在各测试集上的识别正确率
可以看到只有在与/>相同时,识别器才有较好的识别正确率,说明预设局数不同时统计得到特征会有明显变化,在特定预设局数特征集上训练的识别器不能应用到预设局数不同的其它特征集上。而且只有在预设局数等于3000时,识别正确率才达到90%以上,说明只有从3000局数据中统计的特征才能比较有效地反映对手的差异,表明基于当前的特征很难在在线博弈早期实现对手的快速准确识别。
前述实验表明GHT500 和 RCG500 用于表征和识别对手时具有很好的性能,为考察预设局数更小时识别器的性能,我们在 GHT50、 GHT100、GHT200以及 GHT300 数据集上训练了 RCG50、RCG100、RCG200以及 RCG300识别器,其在不同数据集的测试集上的识别正确率如表3所示。
表3预设局数更小时不同识别器在各测试集上的识别正确率
注:第五识别器为RCG50,第六识别器为RCG100,第七识别器为RCG200,第八识别器为RCG300识别器,第一识别器为RCG500。
第五数据集、第六数据集、第七数据集、第八数据集、第九数据集、第十数据集、第一数据集、第二数据集、第三数据集以及第四数据集分别为GHT50、GHT100、GHT150、GHT200、GHT250、GHT300、GHT500、GHT750、GHT1000以及GHT3000数据集。
可以看到各个识别器在不同预设局数的测试集上也有良好的表现,识别正确率大多在90%以上。从识别率的变化规律看,当训练集和测试集预设局数接近时或训练集预设局数略小于测试集的预设局数时识别效果更好。说明在线识别时,为利用更少的观测来更快速地识别对手,需要在预设局数较小的数据集上训练识别器。RCG50在GHT100上的识别率达到了93%以上,说明在一个数千局的重复博弈过程中,可以在博弈早期就能够实现对对手的准确识别。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (4)
1.一种基于博弈历史树的不完全信息攻防博弈对手识别方法,其特征在于,所述方法包括:
获取已结束的网络攻防博弈中防御方与不同攻击方进行博弈的多局博弈历史数据;
根据每一局的博弈历史数据构建博弈历史链;
根据预设局数的博弈历史链集合构建博弈历史树,得到有向同质图数据集;
构建基于博弈历史树的对手识别器,所述对手识别器包括图神经网络、READOUT函数以及分类网络;所述图神经网络是以图消息传递模型为架构,以图同构神经网络为基础模型,使用多层消息传递的图神经网络;
采用所述有向同质图数据集对所述对手识别器进行训练,得到训练好的对手识别器,并保存所述对手识别器底层的神经网络参数;
根据在线博弈已结束博弈局中防御方与当前攻击方的攻防行动数据构建在线博弈历史树有向图;
将所述在线博弈历史树有向图输入训练好的对手识别器,根据输出的当前对手属于不同已知对手的概率识别对手,在后续网络攻防博弈中防御方根据对手识别结果采用针对性的策略进行网络防御;
其中,步骤:根据每一局的博弈历史数据构建博弈历史链,包括:
从一局博弈历史数据中提取行动历史数据,构建以博弈起始状态为起始节点的链;
遍历行动历史数据中每个轮次的行动数据,若当前行动是轮次起始时的行动,则首先添加一个表示轮次变化的自然节点,然后添加表示当前行动的行动节点,并记录对应的节点信息;若当前行动不是轮次起始时的行动,则直接添加行动节点,并记录对应的节点信息;所述节点信息包括对应的博弈方类型、博弈方对应的博弈位置、当前所在轮次、当前节点前各个轮次攻防双方的行动序列;
遍历所有行动数据后得到一条博弈历史链,所述博弈历史链是按照行动出现的先后顺序,从一个起始节点经若干中间节点到叶子节点的有向连接的链;
步骤:根据预设局数的博弈历史链集合构建博弈历史树,得到有向同质图数据集,包括:
获取预设局数的攻防双方行动数据,将每一局的行动序列结合轮次变化构建一个博弈历史链,构建博弈历史链的集合;
区分攻防双方的行动先后顺序,构造两个只有根节点的博弈历史树;其中,第一个为攻击方先行动的博弈历史树,第二个为防御方先行动的博弈历史树;所述根节点为自然节点;
遍历每一条博弈历史链,根据每一条博弈历史链的攻防双方行动先后顺序,选择对应的博弈历史树进行扩展,得到两个完整的博弈历史树;
对两个完整的博弈历史树的节点信息进行处理,并通过节点序号变更将两个博弈历史树拼接为一个完整的有向同质图模型;
根据预设局数遍历所有博弈历史数据,得到多个博弈历史树及其对应的有向同质图,并构成图数据集;
其中,遍历每一条博弈历史链,根据每一条博弈历史链的攻防双方行动先后顺序,选择对应的博弈历史树进行扩展,得到两个完整的博弈历史树,包括:
通过遍历博弈历史链中的每一个节点,从博弈历史树中根节点开始搜索对应的节点;
若对应的节点存在,则将该节点出现次数增加1并记录节点其它信息;
若博弈历史树中不存在该节点则从前一个对应节点扩展该节点,并记录该节点的信息和该节点出现次数为1,不断扩展直到博弈历史链结束的叶子节点;
遍历完所有博弈历史链后,得到完整的攻击方先行动的博弈历史树和防御方先行动的博弈历史树。
2.根据权利要求1所述的方法,其特征在于,对两个完整的博弈历史树的节点信息进行处理,并通过节点序号变更将两个博弈历史树拼接为一个完整的有向同质图模型,包括:
对两个完整的博弈历史树的节点出现次数归一化,即将当前节点出现次数与根节点次数的比例作为节点特征信息之一;
根据节点记录的该节点前每个轮次的行动序列,得到博弈双方各类行动的数量并作为节点特征信息之一;
将从跟节点到叶子节点的扩展关系表示成边的有向连接,记录边的连接信息,以构成边列表;
将节点信息和所述边列表作为图元素,构成所述博弈历史树对应的有向同质图模型;
变更防御方先行动的博弈历史树的图模型的节点序号,将该图上的所有节点的序号加上所述攻击方先行动的博弈历史树对应的图模型的节点总数作为新的节点序号,进而将该图模型与攻击方先行动的博弈历史树的图模型的节点信息矩阵和边列表拼接在一起,构成一个完整的有向同质图模型。
3.根据权利要求1所述的方法,其特征在于,所述图神经网络中每一层的消息传递过程中节点的特征更新公式为:
;
其中, 是一个特征映射函数,/>是节点序号,/>是节点/>的特征向量,/>为更新后的节点/>的特征向量,/>为权重参数,/>为节点/>的邻居;
所述READOUT函数为:
;
其中,为表示整个图的特征向量/>的第/>维特征量,/>表示第/>维,/>函数是对所有节点的第/>维特征取最大值,/>为第/>个节点的特征向量/>的第/>维特征量;
所述分类网络为带Dropout的全连接多层网络。
4.根据权利要求1所述的方法,其特征在于,将所述在线博弈历史树有向图输入训练好的对手识别器,根据输出的当前对手属于不同已知对手的概率识别对手,在后续网络攻防博弈中防御方根据对手识别结果采用针对性的策略进行网络防御,包括:
将所述在线博弈历史树有向图输入训练好的对手识别器中,得到一个概率分布输出,表示当前对手属于已知范围内各个对手的概率;
若概率分布中有属于某个特定对手的概率超过给定的阈值,则认为当前对手为该特定对手,并为后续采取的针对性策略提供对手类别信息,在后续网络攻防博弈中防御方则根据所述对手类别信息采用针对性的策略进行网络防御;
若所有输出中没有超过给定阈值的概率,则在后续博弈过程中继续收集数据以更新在线博弈历史树有向图,并利用更新的在线博弈历史树有向图输入识别器后根据输出进行对手识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311618095.9A CN117312810B (zh) | 2023-11-30 | 2023-11-30 | 基于博弈历史树的不完全信息攻防博弈对手识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311618095.9A CN117312810B (zh) | 2023-11-30 | 2023-11-30 | 基于博弈历史树的不完全信息攻防博弈对手识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312810A CN117312810A (zh) | 2023-12-29 |
CN117312810B true CN117312810B (zh) | 2024-02-23 |
Family
ID=89255768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311618095.9A Active CN117312810B (zh) | 2023-11-30 | 2023-11-30 | 基于博弈历史树的不完全信息攻防博弈对手识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312810B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3370219A1 (fr) * | 2017-03-03 | 2018-09-05 | MBDA France | Procédé et dispositif de prédiction de solutions d'attaque et de défense optimales dans un scénario de conflit militaire |
CN112329348A (zh) * | 2020-11-06 | 2021-02-05 | 东北大学 | 一种面向非完全信息条件下军事对抗博弈的智能决策方法 |
CN113599798A (zh) * | 2021-08-25 | 2021-11-05 | 上海交通大学 | 基于深度强化学习方法的中国象棋博弈学习方法及*** |
CN113806546A (zh) * | 2021-09-30 | 2021-12-17 | 中国人民解放军国防科技大学 | 一种基于协同训练的图神经网络对抗防御方法及*** |
CN116708042A (zh) * | 2023-08-08 | 2023-09-05 | 中国科学技术大学 | 一种用于网络防御博弈决策的策略空间探索方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9661003B2 (en) * | 2012-05-11 | 2017-05-23 | Thomas W. Parker | System and method for forensic cyber adversary profiling, attribution and attack identification |
EP3786823A1 (en) * | 2019-08-29 | 2021-03-03 | Darktrace Limited | An endpoint agent extension of a machine learning cyber defense system for email |
-
2023
- 2023-11-30 CN CN202311618095.9A patent/CN117312810B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3370219A1 (fr) * | 2017-03-03 | 2018-09-05 | MBDA France | Procédé et dispositif de prédiction de solutions d'attaque et de défense optimales dans un scénario de conflit militaire |
CN112329348A (zh) * | 2020-11-06 | 2021-02-05 | 东北大学 | 一种面向非完全信息条件下军事对抗博弈的智能决策方法 |
CN113599798A (zh) * | 2021-08-25 | 2021-11-05 | 上海交通大学 | 基于深度强化学习方法的中国象棋博弈学习方法及*** |
CN113806546A (zh) * | 2021-09-30 | 2021-12-17 | 中国人民解放军国防科技大学 | 一种基于协同训练的图神经网络对抗防御方法及*** |
CN116708042A (zh) * | 2023-08-08 | 2023-09-05 | 中国科学技术大学 | 一种用于网络防御博弈决策的策略空间探索方法 |
Non-Patent Citations (2)
Title |
---|
Imperfect Information Game in Multiplayer No-limit Texas Hold’em Based on Mean Approximation and Deep CFVnet;Yuan Weilin等;2021 China Automation Congress (CAC);2459-2466 * |
基于不完全信息随机博弈与Q-learning的防御决策方法;张红旗;杨峻楠;张传富;;通信学报(第08期);60-72 * |
Also Published As
Publication number | Publication date |
---|---|
CN117312810A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pang et al. | Finding the best from the second bests-inhibiting subjective bias in evaluation of visual tracking algorithms | |
Dereszynski et al. | Learning probabilistic behavior models in real-time strategy games | |
Vistro et al. | The cricket winner prediction with application of machine learning and data analytics | |
Effendy et al. | Handling imbalanced data in customer churn prediction using combined sampling and weighted random forest | |
CN110472296B (zh) | 一种基于标准化全连接残差网络的空战目标威胁评估方法 | |
CN113283590A (zh) | 一种面向后门攻击的防御方法 | |
Joash Fernandes et al. | Predicting plays in the national football league | |
CN110866134A (zh) | 一种面向图像检索的分布一致性保持度量学习方法 | |
Sikka et al. | Basketball win percentage prediction using ensemble-based machine learning | |
Sudhamathy et al. | PREDICTION ON IPL DATA USING MACHINE LEARNING TECHNIQUES IN R PACKAGE. | |
CN115577795A (zh) | 策略模型优化方法、装置及存储介质 | |
Scott et al. | How does AI play football? An analysis of RL and real-world football strategies | |
CN117312810B (zh) | 基于博弈历史树的不完全信息攻防博弈对手识别方法 | |
Soemers et al. | Learning policies from self-play with policy gradients and MCTS value estimates | |
CN112699957A (zh) | 一种基于darts的图像分类优化方法 | |
Tseng | Predicting victories in video games: using single XGBoost with feature engineering: IEEE BigData 2021 Cup-Predicting Victories in Video Games | |
CN106911512A (zh) | 在可交换图中基于博弈的链接预测方法及*** | |
CN111340125A (zh) | 基于随机森林算法训练子宫内膜异位囊肿破裂数据的方法 | |
CN112364566B (zh) | 一种基于典型时刻数据特征的推演预测方法 | |
CN114344916A (zh) | 一种数据处理方法及相关装置 | |
CN113887807A (zh) | 基于机器学习和证据理论的机器人博弈战术预测方法 | |
Hamilton et al. | Opponent resource prediction in starcraft using imperfect information | |
Hao et al. | Predication of NCAA bracket using recurrent neural network and combinatorial fusion | |
Papagiannis et al. | Applying gradient boosting trees and stochastic leaf evaluation to MCTS on hearthstone | |
Gupta et al. | Playing football game using AI agents |
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 |