Hitting-Set-Problem

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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} {\displaystyle S} eines „Universums" T {\displaystyle T} {\displaystyle T}, gesucht ist eine Teilmenge H {\displaystyle H} {\displaystyle H} von T {\displaystyle T} {\displaystyle T} so, dass jede Menge in S {\displaystyle S} {\displaystyle S} mindestens ein Element aus H {\displaystyle H} {\displaystyle H} enthält. Zusätzlich ist gefordert, dass die Anzahl der Elemente von H {\displaystyle H} {\displaystyle H} einen gegebenen Wert k {\displaystyle k} {\displaystyle k} nicht überschreitet.

Formale Definition

[Bearbeiten | Quelltext bearbeiten ]

Gegeben sind

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

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

NP-Vollständigkeit

[Bearbeiten | Quelltext bearbeiten ]

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 } {\displaystyle \langle G,k\rangle } eine Instanz des Knotenüberdeckungsproblems und G = ( V , E ) {\displaystyle G=(V,E)} {\displaystyle G=(V,E)}.

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

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

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

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

  • 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.
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Hitting-Set-Problem&oldid=245140232"