Hitting-Set-Problem

Das Hitting-Set-Problem ist ein NP-vollständiges Problem aus der Mengentheorie.

Es gehört zur Liste der 21 klassischen NP-vollständigen Probleme, von denen Richard M. Karp 1972 die Zugehörigkeit zu dieser Klasse zeigte.

Gegeben ist eine Menge von Teilmengen S {\displaystyle S} eines „Universums“ T {\displaystyle T} , gesucht ist eine Teilmenge H {\displaystyle H} von T {\displaystyle T} so, dass jede Menge in S {\displaystyle S} mindestens ein Element aus H {\displaystyle H} enthält. Zusätzlich ist gefordert, dass die Anzahl der Elemente von H {\displaystyle H} einen gegebenen Wert k {\displaystyle k} nicht überschreitet.

Formale Definition

Gegeben sind

  • eine Kollektion von Mengen { S 1 , S 2 , , S n } {\displaystyle \{S_{1},S_{2},\ldots ,S_{n}\}} , wobei jedes S i {\displaystyle S_{i}} eine Teilmenge von T {\displaystyle T} ist und
  • eine positive ganze Zahl k | T | {\displaystyle k\leq \vert T\vert } .

Die Aufgabe besteht darin festzustellen, ob eine Teilmenge H {\displaystyle H} von T {\displaystyle T} so existiert, dass die beiden Bedingungen | H | k {\displaystyle |H|\leq k} und H S i {\displaystyle H\cap S_{i}\neq \emptyset } für jedes i { 1 , 2 , , n } {\displaystyle i\in \{1,2,\dotsc ,n\}} erfüllt sind.

NP-Vollständigkeit

Das Hitting-Set-Problem ist NP-vollständig, da das Knotenüberdeckungsproblem (Vertex Cover Problem) darauf reduzierbar ist.

Beweis: Es sei G , k {\displaystyle \langle G,k\rangle } eine Instanz des Knotenüberdeckungsproblems und G = ( V , E ) {\displaystyle G=(V,E)} .

Wir setzen T = V {\displaystyle T=V} und fügen für jede Kante ( u , v ) E {\displaystyle (u,v)\in E} eine Menge { u , v } {\displaystyle \{u,v\}} zur Kollektion hinzu.

Nun zeigen wir, dass es ein Hitting Set H {\displaystyle H} der Größe k {\displaystyle k} genau dann gibt, wenn G {\displaystyle G} eine Knotenüberdeckung C {\displaystyle C} der Größe k {\displaystyle k} hat.

( {\displaystyle \Rightarrow } ) Angenommen, es gibt ein Hitting Set H {\displaystyle H} der Größe k {\displaystyle k} . Da H {\displaystyle H} mindestens einen Endpunkt jeder Kante enthält, ergibt sich mit C = H {\displaystyle C=H} eine Knotenüberdeckung der Größe k {\displaystyle k} .

( {\displaystyle \Leftarrow } ) Angenommen, es gibt eine Knotenüberdeckung C {\displaystyle C} für G {\displaystyle G} der Größe k {\displaystyle k} . Für jede Kante ( u , v ) {\displaystyle (u,v)} ist u C {\displaystyle u\in C} oder v C {\displaystyle v\in C} (oder beides). Mit H = C {\displaystyle H=C} ergibt sich somit ein Hitting Set der Größe k {\displaystyle k} .

Literatur

  • Richard M. Karp: Reducibility Among Combinatorial Problems. In: Raymond E. Miller, James W. Thatcher (Hrsg.): Complexity of Computer Computations. Plenum Press, New York NY u. a. 1972, ISBN 0-306-30707-3, S. 85–103.

Erfüllbarkeitsproblem der Aussagenlogik | Cliquenproblem | Mengenpackungsproblem | Knotenüberdeckungsproblem | Mengenüberdeckungsproblem | Feedback Arc Set | Feedback Vertex Set | Hamiltonkreisproblem | Integer Linear Programming | 3-SAT | graph coloring problem | Covering by cliques | Problem der exakten Überdeckung | 3-dimensional matching | Steinerbaumproblem | Hitting set | Rucksackproblem | Job sequencing | Partitionsproblem | Maximaler Schnitt