正確なカバー問題の有名なアルゴリズムは、Knuth のアルゴリズム X と呼ばれる Donald Knuth によって与えられました。
Input: List of subsets of a Universal sets
Output: All the possible disjoint subset whose union is Universal set
入力が であるとします{ab, ac, cd, c, d, a, b}
。事前定義されたブロックサイズに従って出力を与えるように、Knuth のアルゴリズム X を作成することは可能ですか? たとえば、{2, 2}
がブロック サイズ セットの場合、出力: 、 がブロック サイズ セットの{ab, cd}
場合{2,1,1}
、出力: {ab, c, d}
、{ac, b, d}
およびが得られます{cd, b, a}
。