張 凱
(上海振華重工(集團)股份有限公司,上海 200125)
目前針對船舶結構計算以及總體性能開發(fā)的智能設計程序比較多,但面向船舶布置尤其是舾裝布置的設計軟件或程序較少,布置設計的知識的重復利用率相當低。本文基于知識工程的理論對船舶救生布置設計知識進行研究,選用適當的知識表示形式和推理機制構建船舶救生設計知識顧問程序。
知識工程是以知識為處理對象,研究知識系統(tǒng)的知識表示、處理和應用的方法和開發(fā)工具的學科。本文選取船舶救生系統(tǒng)為例,闡述按照知識工程的一般實施步驟如何對船舶舾裝設計知識工程化。
船舶救生設備的配備和布置主要由船型、航區(qū)/船舶等級、船員人數、載客人數、船長、船寬、型深、總噸位、滿載水線、最輕載水線以及推進器位置等因素決定。船舶設計時,設計人員根據這些要素進行船舶救生設備配置和布置設計?;诖耍疚木壬O備布置設計的知識源為《國內航行海船法定檢驗技術規(guī)則》《船舶設計手冊(舾裝分冊)》《國際海上人命安全公約(SOLAS)》《國際救生設備規(guī)則(LSA)》以及相關的船舶救生設備標準和國內船舶救生設備生產廠家的設備資料。本文基于對這些法規(guī)及公約的分析、歸納和整理,提煉出救生設備布置知識。
救生設備布置設計涉及的主要是判斷類知識,而且對于一條船的整個救生系統(tǒng)來說,其各個設備的配備和布置問題集合在一起是一個規(guī)模較大較繁雜的問題,由于不同類別的救生設備之間的知識具有相對的獨立性,因此可以采用可分解的產生式規(guī)則法進行表達,把這個系統(tǒng)的問題分成若干規(guī)模較小較簡單的子問題,分別對于每個子問題進行求解。
在產生式系統(tǒng)中,這些不同類別的設備所運用的產生式規(guī)則的前提條件都不相同,每一個子問題的求解條件都不同。在推理過程中,如果用每一個事實去匹配所有規(guī)則的觸發(fā)條件,會影響推理效率,為避免匹配沖突、有利于之后的推理機構建,先把各設備對應的觸發(fā)事實進行梳理,如表1所示。
表1 救生設備知識推理觸發(fā)事實表
基于可分解的產生式表示方法,依照各個設備之間知識的關聯(lián)性,把救生設備布置按照知識類型將知識分為配備知識和位置知識,然后對每一類設備進行知識表示,以船舶的救生載具配備為例,提煉歸納表1的相關救生設備配備知識,按照產生式系統(tǒng)的形式對相關知識進行樹形結構表示,最后均已包含相關輸出結果的事實作為結束,見圖1。另外應該注意,在產生式知識中,所有的子產生式的排列順序是有意義的,因為一般的推理過程都是按照順序進行匹配以尋找可被運用的產生式,排列在前面的產生式會優(yōu)先進行匹配,從而執(zhí)行下一部動作或判斷,或先導出結論。
圖1 船舶救生載具配備知識與/或樹
例如,救生艇一般位于船舶某層甲板的兩舷,以方便救生艇筏快速下水。同時,規(guī)范對救生艇沿船長方向和垂直高度方向也有要求。對船舶救生艇的位置確定的知識表示,其中救生艇長度的確定是由推出的救生艇類型和乘員人數的中間結論與存在知識庫里的相關救生艇主尺度數據表匹配得到,而救生艇位置知識表示的其他規(guī)則表示如下:
其中規(guī)則01~04是典型的產生式表示,而規(guī)則05~08均為動態(tài)知識的表示,強調知識的利用,為知識的過程表示。
推理機的構建以知識表示為主體,然后選用合適的推理方式和推理方向來保證推理效率。
推理方式的選擇。關于救生系統(tǒng)的知識推理所使用的知識都是精確的,因此本系統(tǒng)屬于確定性推理。基于船舶救生系統(tǒng)的知識特點,使用可分解式產生式系統(tǒng)對救生系統(tǒng)進行合理完整的知識表示,因此繼續(xù)以可分解的產生式規(guī)則構建推理機,把救生系統(tǒng)設計的推理過程分成若干小組,再根據已知事實和上下文的匹配情況,確定選擇某組中的某條知識。這種方法既可以減少沖突的發(fā)生,也提高了推理效率。
推理方向的選擇。本文在知識表示中已經將各設備的推理觸發(fā)條件進行了整理,這其實就是一種以結論尋找產生前提的逆向的過程,這個過程有助于簡化構建救生系統(tǒng)推理機的工作,并提高推理效率。救生系統(tǒng)的知識推理實質上是一個基于過程的產生式推理的集合,這是由救生系統(tǒng)本身的設計特點決定的,它的知識推理以產生式規(guī)則為主,因此直接使用相應的初始參數進行正向推理即可。
救生設備布置設計的基本工作流程是:用戶輸入布置船舶的相關參數,系統(tǒng)結合用戶輸入的參數和知識庫中存儲的知識按照排列順序逐項對各子設備開始推理,每個子推理程序從事實庫中尋找匹配其產生推理的觸發(fā)條件,然后以觸發(fā)條件的實際參數按照其對應的知識推理過程進行推理,得到子系統(tǒng)的推理結果,并將產生的次級參數返回到事實庫中供后面的子推理程序使用,這樣反復進行,直到所有子推理程序均完成推理,然后將所推得的所有結果統(tǒng)一按照格式進行輸出,形成相關救生設備的配置和布置的建議方案。
圖2 救生系統(tǒng)推理工作流程
首先,確定輸入參數。船舶救生設備的配備和布置主要由船型、航區(qū)/船舶等級、船員人數、載客人數、船長、船寬、型深、總噸位、滿載水線、最輕載水線以及推進器位置等主要參數來決定。船舶設計時,設計人員根據這些要素來進行船舶救生設備配置和布置設計。
其次,推理機的編制?;谇拔尼槍Υ熬壬到y(tǒng)的知識特點,使用可分解式產生式系統(tǒng)對救生系統(tǒng)進行合理完整的知識表示,因此這里依然以可分解的產生式系統(tǒng)來構建整個救生系統(tǒng)推理機。針對各子推理程序,按照之前整理的相關法規(guī)和設計手冊的知識表示結合用戶輸入的參數進行正向推理程序編制,以對救生艇垂向位置推理為例:
其他設備的推理不再贅述。
確定輸出結果后,將船舶救生設備從類到具體設備的層次進行輸出,分為救生載具類(救生艇、筏和救助艇)、降落設備與存放位置(救生載具的架及登乘梯)、個人救生設備類(救生圈、救生衣、救生服等)以及其他救生設備(視覺信號、拋繩設備),如3圖所示。
本文針對舾裝布置設計工作,結合知識工程理論,按照知識分析、知識表示、構建推理機的步驟對典型的舾裝系統(tǒng)進行研究。以船舶救生系統(tǒng)為例介紹了舾裝詳細設計在上述3個階段的特點,并選用適合的方法對其展開具體的工作,最終完成船舶救生系統(tǒng)的推理設計程序。
圖3 某集裝箱船救生系統(tǒng)參考方案輸出
本文針對舾裝布置設計工作,結合知識工程理論,按照知識分析、知識表示、構建推理機的步驟對典型的舾裝系統(tǒng)進行研究。以船舶救生系統(tǒng)為例介紹了舾裝詳細設計在上述3個階段的特點,并選用適合的方法對其展開具體的工作,最終完成船舶救生系統(tǒng)的推理設計程序。