正確なカバレッジの問題 – 定義

導入

正確なカバレッジ問題は、Karp の 21 個の NP 完全問題の 1 つである NP 完全組み合わせ最適化問題です。

正確なカバレッジの問題 - 定義

声明

要素のユニバースUとコレクションが与えられると、

$$ {\mathcal{S}} $$
セットの集合体、正確なカバーはサブセットのコレクションです
$$ {\mathcal{S}^*} $$
$$ {\mathcal{S}} $$
つまり、 Uのすべての要素は、次のセットのいずれかの要素でもあります。
$$ {\mathcal{S}^*} $$

言い換えれば、正確なカバレッジはサブコレクションです

$$ {\mathcal{S}^*} $$
$$ {\mathcal{S}} $$
これはUの分割です: 内のセット
$$ {\mathcal{S}^*} $$
素であり、それらの和集合はUです。

要素のユニバースUとコレクションが与えられると、

$$ {\mathcal{S}} $$
セットの場合、正確なカバレッジの問題は、正確なカバレッジを見つけることで構成されます。
$$ {\mathcal{S}^*} $$
または、何も存在しないと判断します。

正確なカバレッジ問題は、制約満足問題の一例です。

例1

U = {0, 1, 2, 3, 4, …} を自然数の世界とし、

$$ {\mathcal{S}} $$
= { E , I , P } 3 組の自然数の集合:

  • 偶数E = {0, 2, 4, 6, 8, …};
  • 奇数I = {1, 3, 5, 7, 9, …};そして
  • 素数P = {2, 3, 5, 7, …}。

つまり、サブコレクションは

$$ {\mathcal{S}^*} $$
すべての自然数は偶数または奇数のいずれかであり、両方ではないため、 ={ E , I } は正確にカバーします。

一方、{ E , P } は、特定の自然数がどの集合にも含まれていないため、正確なカバーではありません。たとえば、1 は偶数でも素数でもありません。さらに、いくつかの自然数は複数の集合に含まれます。たとえば、2、偶数、素数などです。

正確なカバレッジの問題 - 定義

例 2

U = {1, 2, 3, 4, 5, 6, 7} を 7 つの要素からなる宇宙とし、

$$ {\mathcal{S}} $$
= { A , B , C , D , E , F } 6 つのセットのコレクション:

  • A = {1, 4, 7};
  • B = {1, 4};
  • C = {4, 5, 7};
  • D = {3, 5, 6};
  • E = {2, 3, 6, 7};そして
  • F = {2, 7}。

つまり、サブコレクションは

$$ {\mathcal{S}^*} $$
= { B , D , F } は、各要素がセットB = {1, 4}、 D = {3, 5, 6}、またはF = {2, 7} の 1 つに正確に含まれるため、正確なカバーです。 。

さらに、次の引数で示されるように、{ B , D , F } は唯一の正確なカバーです。正確なカバーは 1 をカバーする必要があり、1 を含むセットABだけです。したがって、正確なカバーにはAまたはB が含まれなければなりませんが、両方ではありません。正確なカバーにA が含まれる場合、これらのセットのそれぞれにAと共通の要素が少なくとも 1 つあるため、 BCEF のいずれも含まれません。この場合、正確なカバーの一部である残りのセットはDだけですが、コレクション { A , D } は要素 2 をカバーしません。結論として、 A を含む正確なカバーは存在しません。一方、正確なカバーにB が含まれる場合、これらのセットにはそれぞれBと共通の要素が少なくとも 1 つあるため、 AC も含まれません。この場合、5 を含む残りのセットはDだけであるため、 D は正確なカバーの一部である必要があります。正確なカバーにD が含まれる場合、 DEには共通の要素 3 と 6 があるため、 Eは含まれません。この場合、 F は正確なカバーの一部である唯一の残りのセットとなり、コレクション { B , D , F } が真に正確なカバーになります。この引数の行列ベースのバージョンについては、 Knuth の X アルゴリズムを参照してください。

一般化

標準的な正確なカバレッジの問題にはコレクションが含まれますが、

$$ {\mathcal{S}} $$
ユニバースU内の要素を含むセットの数を考慮すると、問題の構造は要素を含むセットの存在に依存しません。間に特定の二項関係を持つ 2 つのセットが存在する場合、同じ構造が存在します。

集合X 、集合Y 、およびXYの間の二項関係Rが与えられると正確な (一般化された) カバーはX*の要素サブセットX*になります。ここでR -1 はR逆数です。

一般に、 Y × X*限定されたR -1 は関数です。つまり、各要素YX*の 1 つの要素つまりYの一意の要素にR -1関係しています。

さらに、 R が完全に左の場合、つまりXの各要素がYの少なくとも 1 つの要素にR関連している場合、 Y × X*に限定されたR -1全射関数です。 ( Rが完全に残るという一般化問題の条件は、すべてが に設定される標準問題の条件に対応します。

$$ {\mathcal{S}} $$
空ではありません。明らかに、空のセットがカバーの一部であるかどうかに違いはありません。)

一般化された問題の行列表現では、関係Rは行列で表され、 Xの要素は行列の行で表され、 Yの要素は行列の列で表されます。次に、標準的な問題と同様に、正確な (一般化された) カバーは、各列の選択された行の 1 つに 1 が含まれるような行の選択です。

標準問題は、一般化された問題の特殊なケースです。

$$ {\mathcal{S}} $$
セットの場合、セットYは要素のユニバースUであり、二項関係Rはセットと要素の間の「包含」関係です。この場合、 Y × X*に制限されたR -1 は、指定された要素を含むカバー内の固有のセットを指定する、要素からセットへの関数です。さらに、 Rが完全に残っている場合、つまり空の集合がない場合、 Y × X*に制限されたR -1は全射関数です。つまり、カバー内の各要素には少なくとも 1 つの要素が含まれます。

例 4

上記の例 3 の行列は、6 要素のセットX = {1, 2, 3, 4, 5, 6} とコレクションY = { A , B , の間のバイナリ「に含まれる」関係を表すように再解釈できます。 CDEFG } の 7 セット:

  • A = {1, 2}
  • B = {5, 6}
  • C = {4, 5}
  • D = {1、2、3}
  • E = {3, 4}
  • F = {4, 5}
  • G = {1、3、5、6}

例 3 と同じ行列表現がここにも適用されますが、ラベルが異なります。

もっているB C D E F G
1 1 0 0 1 0 0 1
2 1 0 0 1 0 0 0
3 0 0 0 1 1 0 1
4 0 0 1 0 1 1 0
5 0 1 1 0 0 1 1
6 0 1 0 0 0 0 1

例 3 と同様、解決策の 1 つは、行列の2 行目4 行目、および6 行目を選択することです。

もっているB C D E F G
2 1 0 0 1 0 0 0
4 0 0 1 0 1 1 0
6 0 1 0 0 0 0 1

ただし、例 3 とは異なり、ここでの解釈は、解が要素のセットX* = {2, 4, 6} であり、 Yの各セットにはX*の要素が 1 つだけ含まれることを示しています。

  • A = {1, 2 }
  • B = {5, 6 }
  • C = { 4,5 }
  • D = { 1、2、3 }
  • E = {3, 4 }
  • F = { 4,5 }
  • G = { 1、3、5、6 }

言い換えれば、解は正確に交差する集合です。実際、正確なカバレッジ問題と正確な交差集合問題は互いに二重の関係にあり、つまり本質的には同じです。

正確なカバレッジの問題 - 定義
  1. Problem der exakten Überdeckung – allemand
  2. Exact cover – anglais
  3. Exacte overdekking – néerlandais
  4. Cobertura exata – portugais
  5. 精确覆盖问题 – chinois
  6. مشكلة – arabe

正確なカバレッジの問題 – 定義・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。