1-bit削除したものがE_k全てと重なりを持てば極小でない 再帰してビットを追加したとき、極小性を満たさない場合は枝刈りする → t が k-MHSであるかチェックする必要がある(極小性判定) tに含まれるbit数がBの時、計算量はO(kB) bool check_minimal(mybit t, int k, mybits &e) { mybit v = t; while (v) { mybit t2 = v & -v;mybit t3 = t ^ t2; bool flag = true; for (int i = 0; i < k; i++) { flag &= ((e[i] & t3) != 0);if(!flag)break; } if (flag) return false; v = v ^ t2; } return true; } ナイーブな実装
110 Hypeedges 101 101 110 011 MHS Critical Hyperedge of this bit Critical Hyperedge of this bit tが極小頂点被覆であるなら、どのビットを削ってもカバーできない辺が出現する → tの全てのビットに最低ひとつはCHが存在する