Page 157 - 《软件学报》2025年第12期
P. 157

5538                                                      软件学报  2025  年第  36  卷第  12  期


                 conflict  set  is  inseparable.  The  efficiency  of  the  HSDiag  algorithm  optimized  by  equivalence  class  is  improved  by  more  than  2  times  in
                 standard Polybox and Fulladder circuits.
                 Key words:  model-based diagnosis (MBD); system description; minimal conflict set (MCS); minimal hitting set (MHS); equivalence class

                    基于模型诊断      (model-based diagnosis, MBD) 是人工智能的一个重要领域, MBD     专家  Reiter 提出的开创性工
                 作是根据系统描述利用基于推理的方法来解释系统观测产生不一致的原因                           [1] . MBD  被广泛应用于芯片检测     [2] 、
                 国家配电网    [3,4] 、软件故障定位  [5] 等众多领域  [6,7] . 图  1  是模型诊断框架, 首先对真实的环境系统进行建模编码, 然
                 后通过系统观测对实际值和理论值进行一致性检测, 若不一致则产生冲突, 利用                         SAT/ATMS  求解器找到所有的极
                 小冲突集   [8,9] . 最后计算极小冲突集的极小碰集就是待诊断系统的故障元件. 这里需要注意的是, 因为极小冲突集
                 和极小不可满足子集在模型诊断中是相同的概念, 所以本文统一称为极小冲突集                          [10,11] .

                        Real system         System model        System encoding
                                                               p wcnf 6 17 25
                                                               o-7 8 9 10 11 14 15
                                                               1-12-9-10
                                                               1 12 9
                                                               1 12 10
                                                               2-13-8-12
                                                               2 13 8               1  2  3
                                                               2 13 12
                                                               5-16-7-9            1, 2 1, 3 2, 3
                                                               5 16 7              1, 2, 3
                                                               5 16 9                  MHS
                                                               6-17-12-11
                                                               6 17 12
                                                               6 17 11
                                                               3-14-16-13                   Candidate
                                                               3 14 16                      diagnosis
                                                               3 14 13
                                                               ···
                                     Monitoring        Predicting
                                              a    i                                 1, 2, 3
                                              b    j
                                                ?                                  1, 2  1, 3  2, 3
                                              c    m            Inconsistent               SAT/ATMS
                                                                                    1  2  3
                                              d    n
                                                                                         MCS
                      System observation  Consistency checking
                                                      图 1 MBD  框架

                    计算极小冲突集主要基于枚举树和哈斯图               [12] . 2009  年赵相福等人  [13] 提出了  CSISE  算法, 该算法首先将待诊
                 断系统描述及观测用合取范式编码给出, 最后调用成熟的                  SAT  求解器判断组件子集是否是冲突集            [14] , 然而该算法
                 需要遍历枚举树中大部分节点, 求解花费往往较高. 2013               年  Liffiton  等人  [15] 结合哈斯图提出了  MARCO  算法, 该
                 算法是求解极大化模型中枚举极小冲突集效率较高的算法, 但是它没有进一步对有解空间进行剪枝. 2016                                   年
                 Liffiton  等人  [16] 结合  eMUS  对该算法进行了优化, 在哈斯图未求解的空间中利用启发式策略优先选取极大节点, 进
                 而快速得到一个极小冲突集. 2019        年欧阳丹彤等人      [12] 在极大化模型  MARCO  算法基础上增加了中间模型, 利用中
                 间节点对冗余解进行剪枝, 缩小了求解范围. 2024            年蒋璐宇等人     [11] 提出了  MARCO-ABC  算法, 有效地利用极小冲
                 突集和极小碰集二元性关系, 大幅度减少了求解时间, 是目前求解极小冲突集最快的算法.
                    计算碰集方法主要是基于树, 2003         年姜云飞等人      [17] 提出  Boolean  算法, 通过深度优先规则, 把冲突集递归的
                 分成左右分支, 很多情况下都优于其他集中式算法, 后续有很多基于                     Boolean  算法的优化策略被提出      [18] . 2015  年
                 Zhao  等人  [19] 提出了等价类概念, 通过连接关系把冲突集分成若干等价类, 缩减了问题规模的同时也省去了解集合
                 并时间. 同年   Jannach  等人  [20] 利用分布式思想把碰集算法并行化, 提高了求解效率. 2018           年刘思光等人     [21] 提出了
                 布尔结合增量独立覆盖策略          (Boolean with increment independent coverage checking, BWIICC) 算法, 利用独立覆盖
                 策略保证生成解的都是极小的, 大幅度减少解集极小化的时间. 2022                   年赵相福等人     [22] 结合独立覆盖及增量策略提
   152   153   154   155   156   157   158   159   160   161   162