>[0078]規(guī)則庫中正向當前具體規(guī)則,為在規(guī)則庫中當前正待進行正向推理的具體規(guī)則,在該正向當前具體規(guī)則前進行正向推理具體規(guī)則為正向上一具體規(guī)則,在該正向當前具體規(guī)則后進行正向推理具體規(guī)則為正向下一具體規(guī)則。
[0079]步驟S310:通過當前事實庫中所有事實判斷所述正向當前具體規(guī)則中if子句是否成立,若成立,則進入步驟S320,若不成立,則進入步驟S350 ;
[0080]步驟S320:判斷所述正向當前具體規(guī)則中then子句是否成立,若是,則進入步驟S330,若否,則進入步驟S340 ;
[0081]若通過當前事實庫中所有事實判定正向當前具體規(guī)則中if子句成立,則繼續(xù)判斷該正向當前具體規(guī)則中then子句是否成立。
[0082]步驟S330:將所述正向當前具體規(guī)則的結論作為新的事實,加入所述當前事實庫中,得到下一事實庫,進入步驟S350;
[0083 ]若正向當前具體規(guī)則中then子句成立,則將該正向當前具體規(guī)則的結論作為新的事實,加入當前事實庫中,得到下一事實庫。
[0084]步驟S340:將所述正向當前具體規(guī)則的結論作為新的可能事實,加入第一臨時事實庫中,將所述當前事實庫作為下一事實庫,進入步驟S350;
[0085]若正向當前具體規(guī)則中then子句不成立,則將該正向當前具體規(guī)則的結論作為新的可能事實,加入第一臨時事實庫中,將當前事實庫作為下一事實庫。
[0086]步驟S350:獲取所述規(guī)則庫中正向下一具體規(guī)則,通過所述下一事實庫中所有事實判斷所述正向下一具體規(guī)則中if子句是否成立,直至所述規(guī)則庫中所有具體規(guī)則均被獲取。
[0087]若通過當前事實庫中所有事實判定正向當前具體規(guī)則中if子句不成立,貝Ij直接獲取規(guī)則庫中正向下一具體規(guī)則,通過下一事實庫中所有事實判斷所述正向下一具體規(guī)則中if子句是否成立,此時,下一事實庫與當前事實庫相比,未加入新的事實,即下一事實庫與當前事實庫相同。
[0088]若通過當前事實庫中所有事實判定正向當前具體規(guī)則中if子句成立,則在將新的可能事實加入第一臨時事實庫中,得到下一事實庫后,或是將新的可能事實加入第一臨時事實庫中,將當前事實庫作為下一事實庫后,獲取規(guī)則庫中正向下一具體規(guī)則,通過下一事實庫中所有事實判斷正向下一具體規(guī)則中if子句是否成立,直至該規(guī)則庫中所有具體規(guī)則均被獲取。
[0089]可選的,圖4示出了本發(fā)明實施例提供的基于故障樹的故障診斷方法中對第一臨時事實庫進行反向推理,將通過反向推理確認為真的新的可能事實加入新的事實庫中的方法流程圖,參照圖4,該對第一臨時事實庫進行反向推理,將通過反向推理確認為真的新的可能事實加入新的事實庫中的方法可以包括:
[0090]步驟S400:獲取第一臨時事實庫中當前可能事實,和所述規(guī)則庫中反向當前具體規(guī)則;
[0091]步驟S410:通過所述當前可能事實判斷所述反向當前具體規(guī)則中if子句是否成立,若成立,則進入步驟S420 ;
[0092]步驟S420:判斷所述反向當前具體規(guī)則中then子句是否成立,若是,則進入步驟S430;
[0093]若通過當前可能事實判斷反向當前具體規(guī)則中if子句成立,則繼續(xù)判斷該反向當前具體規(guī)則中then子句是否成立。
[0094]步驟S430:將所述反向當前具體規(guī)則的結論加入第二臨時事實庫中,獲取所述規(guī)則庫中反向下一具體規(guī)則,直至所述規(guī)則庫中所有具體規(guī)則均被獲取,進入步驟S440;
[0095]若該反向當前具體規(guī)則中then子句成立,則將該反向當前具體規(guī)則的結論加入第二臨時事實庫中,獲取規(guī)則庫中反向下一具體規(guī)則,直至規(guī)則庫中所有具體規(guī)則均被獲取。
[0096]步驟S440:判斷所述第二臨時事實庫是否存在沖突,若存在,則進入步驟S450;
[0097]在規(guī)則庫中所有具體規(guī)則均被獲取后,判斷得到的第二臨時事實庫是否存在沖關O
[0098]步驟S450:確定所述當前可能事實為真,將所述當前可能事實加入所述新的事實庫中,獲取第一臨時事實庫中下一可能事實,直至所述第一臨時事實庫中所有可能事實均被獲取。
[0099]若判定得到的第二臨時事實庫存在沖突,則確定當前可能事實為真,將該當前可能事實加入所述新的事實庫中,獲取第一臨時事實庫中下一可能事實,直至該第一臨時事實庫中所有可能事實均被獲取。
[0100]本發(fā)明實施例提供的基于故障樹的故障診斷方法,基于規(guī)則庫推理來得到診斷結果,解決了故障樹在非單調的情況下診斷準確性較低的問題,且根據規(guī)則庫和事實庫進行正向推理和/或反向推理得到終端結果,充分對規(guī)則庫進行推理,進一步提高了診斷結果的準確性。
[0101]下面對本發(fā)明實施例提供的基于故障樹的故障診斷裝置進行介紹,下文描述的基于故障樹的故障診斷裝置與上文描述的基于故障樹的故障診斷方法可相互對應參照。
[0102]圖5為本發(fā)明實施例提供的基于故障樹的故障診斷裝置的系統(tǒng)框圖,參照圖5,該基于故障樹的故障診斷裝置可以包括:建立分解模塊100、規(guī)則生成模塊200和推理模塊300;其中,
[0103]建立分解模塊100,用于建立故障樹,將所述故障樹以邏輯門為單位分解為各小單元;
[0104]規(guī)則生成模塊200,用于將各所述小單元均通過相對應的邏輯門規(guī)則分別生成一具體規(guī)則,根據得到的所有所述具體規(guī)則建立規(guī)則庫;
[0105]推理模塊300,用于根據已知的數據和事實建立事實庫,根據所述規(guī)則庫和事實庫進行正向推理和/或反向推理,得到診斷結果。
[0106]可選的,圖6示出了本發(fā)明實施例提供的基于故障樹的故障診斷裝置中推理模塊300的結構框圖,參照圖6,該推理模塊300可以包括:正向推理單元310和反向推理單元320;其中,
[0107]正向推理單元310,用于對所述規(guī)則庫進行正向推理,得到包括新的事實的新的事實庫,和/或包括新的可能事實的第一臨時事實庫;
[0108]反向推理單元320,用于所述新的事實庫存在沖突,且所述第一臨時事實庫不為空時,對所述第一臨時事實庫進行反向推理,通過反向推理確認各所述新的可能事實是否為真,將反向推理確認為真的新的可能事實加入所述新的事實庫中,生成最終事實庫。
[0109]可選的,圖7示出了本發(fā)明實施例提供的基于故障樹的故障診斷裝置中正向推理單元310的結構框圖,參照圖7,該正向推理單元310可以包括:第一判斷子單元311、第二判斷子單元312、第一添加子單元313和第二添加子單元314;其中,
[0110]第一判斷子單元311,用于獲取所述規(guī)則庫中正向當前具體規(guī)則,通過當前事實庫中所有事實判斷所述正向當前具體規(guī)則中if子句是否成立;在將新的事實加入所述當前事實庫中后,或將新的可能事實加入第一臨時事實庫中后,獲取所述規(guī)則庫中正向下一具體規(guī)則,通過所述下一事實庫中所有事實判斷所述正向下一具體規(guī)則中if子句是否成立,直至所述規(guī)則庫中所有具體規(guī)則均被獲??;
[0111 ]第二判斷子單元312,用于當第一判斷子單元311判定所述正向當前具體規(guī)則中if子句成立時,判斷所述正向當前具體規(guī)則中then子句是否成立;
[0112]第一添加子單元313,用于當第二判斷子單元312判定所述正向當前具體規(guī)則中then子句成立時,將所述正向當前具體規(guī)則的結論作為新的事實,加入所述當前事實庫中,得到下一事實庫;
[0113]第二添加子單元314,用于當第二判斷子單元312判定所述正向當前具體規(guī)則中then子句不成立時,將所述正向當前具體規(guī)則的結論作為新的可能事實,加入第一臨時事實庫中,將所述當前事實庫作為下一事實庫。
[0114]可選的,圖8示出了本發(fā)明實施例提供的基于故障樹的故障診斷裝置中反向推理單元320的結構框圖,參照圖8,該反向推理單元320可以包括:獲取判斷子單元321、第三判斷子單元322和第四判斷子單元323;其中,
[0115]獲取判斷子單元321,用于獲取第一臨時事實庫中當前可能事實,和所述規(guī)則庫中反向當前具體規(guī)則,通過所述當前可能事實判斷所述反向當前具體規(guī)則中if子句是否成立;
[0116]第三判斷子單元322,用于當獲取判斷子單元321判定所述反向當前具體規(guī)則中if子句成立時,判斷所述反向當前具體規(guī)則中then子句是否成立,若是,則將所述反向當前具體規(guī)則的結論加入第二臨時事實庫中,獲取所述規(guī)則庫中反向下一具體規(guī)則,直至所述規(guī)則庫中所有具體規(guī)則均被獲??;
[0117]第四判斷子單元323,用于判斷所述第二臨時事實庫是否存在沖突,若存在