Kleinster Satz, der nicht in einer Zusammenstellung von Sätzen enthalten ist

14

Gegeben als Eingabe eine ganze Zahl n und ein Satz S von Sätzen von Elementen von {1,...,n} , was die Komplexität einen Satz zu finden , T von Elementen von {1,...,n} so, dass T eine minimale Kardinalität hat und T in keiner der Mengen von S ? enthalten ist.

a3nm
quelle
Beide Antworten erwähnen bisher Treffermengen. Beachten Sie, dass Treffersätze auch in Hypergraphen angezeigt werden, die als Transversal- und CNF DNF-Konvertierung von monotonen Booleschen Formeln bezeichnet werden.
vzn

Antworten:

16

Sei und sei F = { S 1 , S 2 , , S m } 2 [ n ] die Familie der Eingangssätze. Sofern ich Ihre Problemformulierung nicht falsch verstanden habe, wollen wir eine Menge T [ n ] mit einer Mindestgröße finden , bei der T S i für alle i = 1 , 2 ist[n]={1,2,,n}F={S1,S2,,Sm}2[n]T[n]TSi .i=1,2,,m

Zur Beantwortung Ihrer Frage, beachten Sie, dass , wenn und nur wenn T ( [ n ] S i ) & ne; . Das heißt, T muss das Komplement jedes S i schneiden . Dies bedeutet jedoch, dass Ihr Problem im Wesentlichen dem Schlagmengenproblem entspricht (betrachten Sie Schlagmenge mit Eingabe G = { [ n ] S i : i = 1 , 2 , , m } ):TSiT([n]Si)TSiG={[n]Si : i=1,2,,m}

Schlagsatz. Existiert bei einer Mengenfamilie und einer ganzen Zahl k eine Menge T [ n ] mit | T | k und T S & ne; für alle S F ?F2[n]kT[n]|T|kTSSF

Die Schlagmenge ist bekanntermaßen NP-vollständig und kann nicht schneller als in Zeit gelöst werden, es sei denn, die Hypothese der starken Exponentialzeit schlägt fehl.O(2n)

Janne H. Korhonen
quelle
Ah, ich habe darüber nachgedacht, das Set zu treffen, aber ich hatte die Reduktion nicht gesehen. Vielen Dank!
a3nm
11

Das Problem ist äquivalent zum Set Cover Problem / Hitting Set Problem:

Wenn eine Familie von Teilmengen von { 1 , , n } gegeben ist , finde eine Menge T { 1 , , n } von minimaler möglicher Größe, die jede Menge in der Familie F schneidet .F{1,,n}T{1,,n}F

Ihr Problem ist äquivalent zum Schlagmengenproblem, da genau dann in keiner Menge in S liegt, wenn es jede Menge in F = { ˉ A : A S } schneidet . (Um eine Instanz des Hitting-Set-Problems zu lösen, genügt es, die Instanz Ihres Problems mit S = { ˉ A : A F } zu lösen .)TSF={A¯:AS}S={A¯:AF}

Das Schlagsatzproblem ist NP-schwer [Karp '72]. Es gibt einen -Näherungsalgorithmus und eine passende Härte des Näherungsergebnisses [Lund, Yannakakis '94, Feige '98].O(logn)

Yury
quelle