张 凯
(上海振华重工(集团)股份有限公司,上海 200125)
目前针对船舶结构计算以及总体性能开发的智能设计程序比较多,但面向船舶布置尤其是舾装布置的设计软件或程序较少,布置设计的知识的重复利用率相当低。本文基于知识工程的理论对船舶救生布置设计知识进行研究,选用适当的知识表示形式和推理机制构建船舶救生设计知识顾问程序。
知识工程是以知识为处理对象,研究知识系统的知识表示、处理和应用的方法和开发工具的学科。本文选取船舶救生系统为例,阐述按照知识工程的一般实施步骤如何对船舶舾装设计知识工程化。
船舶救生设备的配备和布置主要由船型、航区/船舶等级、船员人数、载客人数、船长、船宽、型深、总吨位、满载水线、最轻载水线以及推进器位置等因素决定。船舶设计时,设计人员根据这些要素进行船舶救生设备配置和布置设计。基于此,本文救生设备布置设计的知识源为《国内航行海船法定检验技术规则》《船舶设计手册(舾装分册)》《国际海上人命安全公约(SOLAS)》《国际救生设备规则(LSA)》以及相关的船舶救生设备标准和国内船舶救生设备生产厂家的设备资料。本文基于对这些法规及公约的分析、归纳和整理,提炼出救生设备布置知识。
救生设备布置设计涉及的主要是判断类知识,而且对于一条船的整个救生系统来说,其各个设备的配备和布置问题集合在一起是一个规模较大较繁杂的问题,由于不同类别的救生设备之间的知识具有相对的独立性,因此可以采用可分解的产生式规则法进行表达,把这个系统的问题分成若干规模较小较简单的子问题,分别对于每个子问题进行求解。
在产生式系统中,这些不同类别的设备所运用的产生式规则的前提条件都不相同,每一个子问题的求解条件都不同。在推理过程中,如果用每一个事实去匹配所有规则的触发条件,会影响推理效率,为避免匹配冲突、有利于之后的推理机构建,先把各设备对应的触发事实进行梳理,如表1所示。
表1 救生设备知识推理触发事实表
基于可分解的产生式表示方法,依照各个设备之间知识的关联性,把救生设备布置按照知识类型将知识分为配备知识和位置知识,然后对每一类设备进行知识表示,以船舶的救生载具配备为例,提炼归纳表1的相关救生设备配备知识,按照产生式系统的形式对相关知识进行树形结构表示,最后均已包含相关输出结果的事实作为结束,见图1。另外应该注意,在产生式知识中,所有的子产生式的排列顺序是有意义的,因为一般的推理过程都是按照顺序进行匹配以寻找可被运用的产生式,排列在前面的产生式会优先进行匹配,从而执行下一部动作或判断,或先导出结论。
图1 船舶救生载具配备知识与/或树
例如,救生艇一般位于船舶某层甲板的两舷,以方便救生艇筏快速下水。同时,规范对救生艇沿船长方向和垂直高度方向也有要求。对船舶救生艇的位置确定的知识表示,其中救生艇长度的确定是由推出的救生艇类型和乘员人数的中间结论与存在知识库里的相关救生艇主尺度数据表匹配得到,而救生艇位置知识表示的其他规则表示如下:
其中规则01~04是典型的产生式表示,而规则05~08均为动态知识的表示,强调知识的利用,为知识的过程表示。
推理机的构建以知识表示为主体,然后选用合适的推理方式和推理方向来保证推理效率。
推理方式的选择。关于救生系统的知识推理所使用的知识都是精确的,因此本系统属于确定性推理。基于船舶救生系统的知识特点,使用可分解式产生式系统对救生系统进行合理完整的知识表示,因此继续以可分解的产生式规则构建推理机,把救生系统设计的推理过程分成若干小组,再根据已知事实和上下文的匹配情况,确定选择某组中的某条知识。这种方法既可以减少冲突的发生,也提高了推理效率。
推理方向的选择。本文在知识表示中已经将各设备的推理触发条件进行了整理,这其实就是一种以结论寻找产生前提的逆向的过程,这个过程有助于简化构建救生系统推理机的工作,并提高推理效率。救生系统的知识推理实质上是一个基于过程的产生式推理的集合,这是由救生系统本身的设计特点决定的,它的知识推理以产生式规则为主,因此直接使用相应的初始参数进行正向推理即可。
救生设备布置设计的基本工作流程是:用户输入布置船舶的相关参数,系统结合用户输入的参数和知识库中存储的知识按照排列顺序逐项对各子设备开始推理,每个子推理程序从事实库中寻找匹配其产生推理的触发条件,然后以触发条件的实际参数按照其对应的知识推理过程进行推理,得到子系统的推理结果,并将产生的次级参数返回到事实库中供后面的子推理程序使用,这样反复进行,直到所有子推理程序均完成推理,然后将所推得的所有结果统一按照格式进行输出,形成相关救生设备的配置和布置的建议方案。
图2 救生系统推理工作流程
首先,确定输入参数。船舶救生设备的配备和布置主要由船型、航区/船舶等级、船员人数、载客人数、船长、船宽、型深、总吨位、满载水线、最轻载水线以及推进器位置等主要参数来决定。船舶设计时,设计人员根据这些要素来进行船舶救生设备配置和布置设计。
其次,推理机的编制。基于前文针对船舶救生系统的知识特点,使用可分解式产生式系统对救生系统进行合理完整的知识表示,因此这里依然以可分解的产生式系统来构建整个救生系统推理机。针对各子推理程序,按照之前整理的相关法规和设计手册的知识表示结合用户输入的参数进行正向推理程序编制,以对救生艇垂向位置推理为例:
其他设备的推理不再赘述。
确定输出结果后,将船舶救生设备从类到具体设备的层次进行输出,分为救生载具类(救生艇、筏和救助艇)、降落设备与存放位置(救生载具的架及登乘梯)、个人救生设备类(救生圈、救生衣、救生服等)以及其他救生设备(视觉信号、抛绳设备),如3图所示。
本文针对舾装布置设计工作,结合知识工程理论,按照知识分析、知识表示、构建推理机的步骤对典型的舾装系统进行研究。以船舶救生系统为例介绍了舾装详细设计在上述3个阶段的特点,并选用适合的方法对其展开具体的工作,最终完成船舶救生系统的推理设计程序。
图3 某集装箱船救生系统参考方案输出
本文针对舾装布置设计工作,结合知识工程理论,按照知识分析、知识表示、构建推理机的步骤对典型的舾装系统进行研究。以船舶救生系统为例介绍了舾装详细设计在上述3个阶段的特点,并选用适合的方法对其展开具体的工作,最终完成船舶救生系统的推理设计程序。