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