APP下载

基于知识的舰空武器智能综合控制系统设计*

2019-06-13孙海文谢晓方王诚成

指挥控制与仿真 2019年3期
关键词:谓词知识库火力

孙海文,谢晓方,孙 涛,王诚成

(海军航空大学,山东 烟台 264000)

在舰艇防空作战中,随着各种高新技术在兵器研制中的广泛应用,空中目标的技术性能和空袭战术发生了很大变化。在技术性能方面,目标的速度、射程、机动能力、抗干扰能力以及隐身能力都得到了较大提升;在空袭战术方面,目标更多地实施低空、超低空突防,实施饱和攻击以及防区外攻击[1]。这就使得传统单型号单平台舰空武器控制系统开始转向多型号多平台舰空武器综合控制系统。此外,未来防空作战中,一方面防空系统要面对复杂多变的空袭环境,来自各传感器的信息量将非常庞大[2];另一方面要控制多种型号武器的火力单元,平台数量大。传统的人工判断分析已无法满足防空作战的实时性和适应性的需求。随着计算机和人工智能技术的发展,基于知识的智能系统已成为武器控制系统研究的热点之一[3-6]。

为了提高舰艇防空系统的实时性和适应能力,提出了一种基于知识的舰空武器智能综合控制系统的设计方法。该方法将目标信息、装备信息以及作战原则以特定的知识方式存放在不同的知识库中,变动更新数据只需将信息以特定的知识表示格式存储到知识库中即可,从而使得整个作战系统具有较强的扩展性,适应性强。知识库的构建是整个系统的设计核心之一,针对该问题,本文全局采用Petri网[7]来设计系统的目标任务处理流程;局部采用面向对象、逻辑以及产生式规则来进行混合知识表示;最后,通过Visual Prolog智能语言构建舰空武器智能综合控制系统的知识库,验证了该设计思想的可行性和表示方法的有效性。

1 系统的主要功能

舰空武器智能综合控制系统能够将各传感器获得有效信息存放到事实库中,并根据规则库和推理机,确定目标任务的执行序列,适时调用各功能模块,完成威胁评估、火力分配以及重分配等功能。该系统可以综合控制多型号多平台武器系统,同时对连续多批次目标进行持续性梯次拦截。具体功能如下:

1)系统具有良好的人机交互界面,根据作战需要输入相关信息,并能通过图形、数据、表格形式显示目标、各火力资源以及作战过程中主要状态和参数信息。

2)具有知识库管理功能,可以根据需要维护和完善知识库。使得系统具有较强的作战灵活性,可根据不同的作战任务和不同的舰空导弹火力资源配置,快速调整完善知识库的数据信息。

3)预留网络串口,可实时接收各传感器以及上级传入的数据信息,并从中获取有用的知识信息,对知识库进行更新。

4)具有模型库和方法库,根据推理规则,在不同情况下,选择调用不同的模型和相应的求解方法进行行动,使得系统具备综合控制多型舰空导弹武器系统对连续多批次空袭目标进行梯次拦截的能力。

2 系统任务的处理流程

Petri网[8]是一种可用图形表示的组合模型,其不仅可以用于静态结构分析,也可用于动态行为分析。随着Petri网理论及应用的不断扩展,近年来,Petri网在知识表示及推理领域被广泛应用。本文结合舰空武器智能综合控制系统的功能特点,利用Petri网构建了系统任务处理流程。如图1所示。

图1 基于Petri网的目标任务处理流程

图1中的库所及变迁含义如表1所示。

表1 库所及变迁的含义

系统任务处理的具体流程如下:

1)发现并跟踪目标

输入:来袭目标状态 (雷达探测并跟踪)

输出:目标类型、位置信息、运动特征、目标攻击意图以及目标状态转到已被发现并跟踪的目标状态。

2)威胁判断

输入:目标类型特征(目标类型、干扰能力量化值)、位置信息(目标高度、目标方位角、目标距离)、运动特征(目标径向速度、航路捷径)、目标攻击意图量化值等。

输出:各目标的威胁值,并且目标状态转到等待被分配火力通道的目标状态。

3)火力分配方案制定

输入:目标的威胁值、目标的类型、目标的位置信息、目标的运动特征、火力资源的状态信息、战技指标、作战空域信息。

输出:目标状态转到已分得火力通道的目标状态和非分得火力通道的目标状态(即生成拦截方案),将未分得火力通道的目标转转到已发现并跟踪的目标状态。

4)分配方案开始执行

输入:当前时间(到达方案执行时刻)

输出:目标状态转到正在被拦截的目标状态。

5)拦截评估

输入:当前时间(到达目标与导弹遭遇的时刻)。

输出:目标是否被拦截成功,若成功拦截,则该目标任务结束;否则转到待再次拦截目标状态。

6)同一火力通道进行二次拦截

输入:目标位置信息、该火力通道作战空域信息(目标处于该火力打击范围内)。

输出:目标状态转到正在被拦截的目标状态。

7)更换火力通道进行二次拦截

输入:目标位置信息、该火力通道作战空域信息(目标不处于该火力打击范围内)。

输出:目标状态转到已发现并跟踪的目标状态。

根据7个任务处理过程和6个目标任务状态来进行知识的获取与表示,进而构建知识库。

3 知识获取及表示

舰空武器智能综合控制系统主要包括知识库和推理机两部分。其中,知识库的构建是整个系统的核心部分,其构建的完备程度直接影响到系统的智能决策能力。知识库用于存放两种知识,一种是陈述性知识包括目标事实库、舰艇事实库、火力资源事实库以及辅助资源事实库;另一种是过程性知识包括在线任务规划规则库、威胁评估规则库以及火力分配规则库。知识库的构建需4个层次,知识获取;获取知识后,通过知识表示单位进行知识预处理;然后,一系列最小知识单位构成知识单元;最后,一系列知识单元组合构成知识库。层次结构关系如图2所示。

图2 知识库构建层次图

3.1 知识获取

知识获取是构建知识库的关键性步骤[9]。其通过特定方式从知识源中提取出有用的知识和经验,并将知识和经验通过编码转化为知识库中的知识结构存储起来。知识主要从以下3个方面获取:

1)获取各传感器探测到的信息,并经过数据处理,提取出有用的知识,将其转化为知识库信息。

2)根据文档、书籍以及数据库记录等具体规则规范,人工提取有用信息,转化为知识库信息。

3)从专家知识及经验中提取有用信息,转化为知识库信息。

3.2 知识单位

获取知识后,提取有用的知识,将其用知识单位进行表示。知识单位是指表示知识的最小单位,这其中包括:值、域、属性、谓词、关系、公式。

1)值:具体数值或可信度。

2)域:表示值的范围或基本数据类型。

3)属性:用于描述对象的某一特征。

4)谓词:用于定义对象间的逻辑关系或是动作行为。

5)关系:用于表示各属性值的二元关系,包括:=,<,>等。

6)公式:数学模型。

3.3 知识单元

将各知识单位通过一定的表达方式组合起来就构成了知识单元。常用的表达方式有框架[10]、语义网络[11]、产生式规则[12]、逻辑[13,14]以及面向对象[15]等。这些表示方法都存在各自的优缺点,为了更好地表示复杂武器控制系统的知识,本文提出了一种将面向对象、逻辑以及产生式规则相结合的混合知识表示方法。

1)面向对象(类和对象)。对象是客观事物的抽象,类是对象的抽象。类是一种抽象的数据类型。对象是类的实体,类是对象的模板。一个类可以有多个子类,但一个类最多有一个父类。子类可以继承父类所有的属性,并可保留自己独有的属性。不同类之间通过属性之间的关系进行联系,从而构成了一个类知识网,充分表达对象之间的关系。特点:描述事物的内部结构以及事物间的类属关系。具体结构如下。

对象标识符:

类属:

属性1:子属性1:

子属性2:

属性2:…

2)产生式规则。其结构为if 前提条件,then结果、结论或执行动作。每个前提条件和结论都是由一个或多个逻辑子句构成,各逻辑子句由and/or进行连接。

具体结构如下。

if子句1 or/and 子句2,then子句3 or/and 子句4。

3) 逻辑子句是一个逻辑句,其定义对象的动作、对象属性与值之间的关系、对象属性与属性之间的关系等。

3.4 知识库

针对某一领域的问题,将求解该问题的所有知识按照一定的结构形式组织起来形成知识库。其中包括事实库和规则库。陈述性知识通过面向对象构建事实库;过程性知识通过产生式规则以及逻辑子句构建规则库。

4 Visual Prolog开发过程及实例

Visual Prolog[16]是一种可视化逻辑程序设计语言。它不仅可以用于逻辑程序设计,而且还支持模块化和面向对象程序设计。它是一个融合逻辑、函数、过程和面向对象等程序设计为一体的综合型程序设计语言。创建一个工程来产生一个类的对象。其中,有三个文件.cl用于存放声明的类谓词,.i用于存放声明的对象谓词,.pro用于存放执行代码。通常一个Visual Prolog程序由6段组成,具体如下:

1)域段(domains) 域是用于描述变量值得取值范围或是谓词的类型的。常见的域有整数域、实数域、类型名、复合域、表域、谓词域等,域的声明有很多,适用于代码的各种应用。

2)常数段(constants) 常数是一个程序中始终取相同的变量,主要使程序容易理解。常数段用于定义程序中常用的数值段,可以对当前范围声明一个或多个常数。

3)事实段(facts) 事实用于描述对象或类的一个或多个属性值。事实有两类,一类是事实变量,用于表示单个属性值;另一类是事实函子,用于表示多个属性值。Prolog中的事实存放在数据库中,每个事实都拥有自己的数据库。

事实段用来声明存放在当前范围内一个事实数据库中的事实。事实数据库既可存在于类的级别上也可存在于对象的级别上。若是对象级别的事实,则需调用对象谓词进行事实的添加、更改或删除;若是类级别的事实,则需调用类谓词进行事实的添加、更改或删除。

4)谓词段(predicates) 谓词段用于在当前范围中声明一组对象或类的谓词,谓词是由事实和规则定义的。Visual Prolog中有很多内建谓词,其不需要在谓词段进行声明,而要在子句段中定义新的谓词,必须要在谓词段进行声明,否则该谓词不能被识别执行。

5)子句段(clauses) 子句段顾名思义包含一系列子句。一个程序中可包含多个子句段,子句段用于定义谓词的实现和初始化事实。一个子句段可以包含若干谓词或事实,而一个谓词或事实的所有子句必须在同一个子句段中集中起来,不能插入别的谓词或事实子句。一个谓词是由一个或多个子句定义的,每个子句按顺序执行,直到执行完当前范围的所有子句。

6)目标段(goal) 目标段定义了Visual Prolog中程序的起始入口。Visual Prolog的程序是需要编译的,之后执行的程序都是经过编译器编译的程序。为了得到编译过的程序,专门有一个以关键字goal开始的特殊段。这个段包含了一个特殊谓词run,此谓词是一个程序执行的起点,所有目标段就是一个程序的入口。

这里采用Visual Prolog来构建知识库,进行系统开发。以舰空武器综合控制系统开发为例,具体开发工作如下。

1)分析舰空武器综合控制系统需要用到的相关领域概念以及相互关系。

2)定义相关域和属性。域:string、integer、float以及boolean等;属性包括目标状态、目标类型、目标位置以及火力资源状态等属性。

3)采用面向对象进行事实库的构建,包括目标事实库和舰船事实库。事实库的结构形式如表2和表3所示。

4)采用逻辑及产生式规则进行规则库构建,这里以整个系统在线任务规划规则为例,规则结构如表4所示。

5)对规则进行语法和完备性检查,并通过Visual Prolog的深度优先搜索进行推理。

表2 目标知识表示

表3 舰艇知识表示

5 结束语

本文提出了一种基于知识的舰空武器智能综合控制系统的设计方法。该方法对系统整个运作过程进行了规划设计;与此同时,提出了一种适用于该系统知识库构建的混合知识表示方法,其将面向对象、逻辑以及产生式规则3种知识表示方法相结合;最后,利用Visual Prolog智能语言完成了对系统知识库的构建。该设计方法可以使舰艇防空系统综合控制多型号多平台武器系统,同时对连续多批次目标进行持续性梯次拦截;此外,还可以通过更新知识库使其具有较强的作战适应能力。本文为今后舰载防空武器控制系统的设计提供了一种可参考的研究思路。

表4 在线任务规划规则表示

猜你喜欢

谓词知识库火力
汉语近义词辨析知识库构建研究
燃!燃!燃!海军陆战队某旅火力全开
火力全开
被遮蔽的逻辑谓词
——论胡好对逻辑谓词的误读
实在谓词一定是综合命题的谓词吗?
——就Sein论题中实在谓词的理解与胡好商榷
火力全开! 广州上半年20条村改造,投入超800亿!
党项语谓词前缀的分裂式
轻度火力
我国联合虚拟参考咨询系统知识库现状研究*
——基于与QuestionPoint的对比
位置与方向测试题