• Keine Ergebnisse gefunden

Hausaufgaben zur Vorlesung Berechenbarkeit und Komplexit¨ at Niedermeier/Chen/Froese/Sorge

N/A
N/A
Protected

Academic year: 2021

Aktie "Hausaufgaben zur Vorlesung Berechenbarkeit und Komplexit¨ at Niedermeier/Chen/Froese/Sorge"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Hausaufgaben zur Vorlesung Berechenbarkeit und Komplexit¨ at Niedermeier/Chen/Froese/Sorge

SoSe 2016 TU Berlin 08.07.2016

2. Hausaufgabenblatt

Abgabe im Sekretariat TEL 509B jeweils

20.07., 10:00-13:00, oder 21.07., 10:00-13:00, oder 22.07., 09:00-10:00 Alle Antworten sind zu begr¨ unden!

Antworten ohne Begr¨ undung erhalten 0 Punkte.

Bitte beschr¨ anken Sie Ihre Abgabe auf maximal (!) 5 Seiten.

Aufgabe 1. Ein NP-vollst¨ andiges Matrixproblem 6+4(P) Betrachten Sie das folgende Matrixproblem:

MP

Eingabe: Eine Matrix M ∈ N n×m in der alle Zeilen paarweise verschieden sind und eine nat¨ urliche Zahl k ∈ N .

Frage: Ist es m¨ oglich, k 0 ≤ k Spalten von M so auszuw¨ ahlen, dass in der Ma- trix M 0 ∈ N n×k

0

, die genau diese k 0 Spalten enth¨ alt, alle Zeilen paarweise verschieden sind?

Als Beispiel betrachten Sie folgende (4 × 5)-Matrix M : 0

0 1 1

2 4 3 3

0 1 0 1

5 5 6 6

1 2 1 2

Die Instanz (M, k) mit k ≥ 2 ist eine Ja-Instanz f¨ ur MP , denn die letzten zwei Spalten bilden eine (4 × 2)-Matrix, in der alle Zeilen paarweise verschieden sind.

1. Zeigen Sie, dass MP NP-vollst¨ andig ist. Sie d¨ urfen hierbei davon ausgehen, dass das Hitting Set -Problem NP-vollst¨ andig ist, welches wie folgt definiert ist.

Hitting Set

Eingabe: Eine Grundmenge X = {x 1 , . . . , x m }, eine Familie F = {S i ⊆ X | 1 ≤ i ≤ n} von Teilmengen von X und eine nat¨ urliche Zahl k ∈ N.

Frage: Existiert eine Teilmenge X 0 ⊆ X mit |X 0 | ≤ k, sodass f¨ ur jedes S i ∈ F gilt, dass X 0 ∩ S i 6= ∅?

2. Mit BMP bezeichnen wir im Folgenden die spezielle Variante des MP -Problems, in der die Eingabematrix M folgende Eigenschaften erf¨ ullt:

(i) M ist eine bin¨ are Matrix, d.h. M ∈ {0, 1} n×m und

(ii) jedes Zeilenpaar in M unterscheidet sich in h¨ ochstens zwei Spalten.

Zeigen Sie, dass BMP in P liegt, indem Sie zun¨ achst zeigen, dass BMP in polynomieller Zeit auf den Spezialfall, in dem die Eingabematrix eine Zeile enth¨ alt, die nur aus 0’en besteht, reduziert werden kann. Zeigen Sie daraufhin, wie dieser Spezialfall in Polynom- zeit gel¨ ost werden kann. ¨ Uberlegen Sie dazu, welche Form eine solche Matrix hat, wenn sie mehr als drei Zeilen enth¨ alt, von denen jede mehr als eine 1 enth¨ alt.

L¨ osungsskizze

1

(2)

1. Um zu zeigen, dass MP NP-vollst¨ andig ist, m¨ ussen wir zeigen, dass MP in NP enthalten ist, und, dass MP NP-schwer ist.

Wir zeigen zun¨ achst, dass MP ∈ NP gilt. Hierf¨ ur verwenden wir die

” Zertifikatdefinition“

von NP. Sei also (M, k) eine Ja-Instanz von MP . Dann existieren k 0 ≤ k Spalten in M, sodass die (n×k 0 )-Submatrix M 0 paarweise verschiedene Zeilen enth¨ alt. Wir w¨ ahlen also die n × k 0 -Matrix M 0 der Gr¨ oße O(nk 0 ) als Zertifikat. Zum Verifizieren des Zertifiakts wird zun¨ achst ¨ uberpr¨ uft, ob k 0 ≤ k gilt und, ob M 0 tat¨ achlich eine Submatrix der Einga- bematrix M ist. Dies kann in O(nkm) Zeit durchgef¨ uhrt werden. Nun kann in O(n 2 k 0 ) Zeit ¨ uberpr¨ uft werden, ob jedes der O(n 2 ) Zeilenpaare in M 0 verschieden ist, indem wir f¨ ur jedes Paar ¨ uberpr¨ ufen, ob in einer der k 0 Spalten unterschiedliche Werte stehen.

Es bleibt zu zeigen, dass MP NP-schwer ist. Hierf¨ ur zeigen wir Hitting Set ≤ p m MP . Sei I := (X = {x 1 , . . . , x m }, F = {S 1 , . . . , S n }, k) eine Hitting Set -Instanz. Falls X =

∅ oder ∅ ∈ F , dann ist I eine Nein-Instanz von Hitting Set und wir bilden I auf eine triviale Nein-Instanz f (I) := (M, 1) von MP ab, wobei

M :=

 1 0 0 1 0 0

 .

Dieser Fall kann in O(nm) Zeit behandelt werden.

Andernfalls reduzieren wir I auf eine MP -Instanz I 0 := f (I ) = (M, k), wobei die ((n + 1) × m)-Matrix M wie folgt definiert ist:

F¨ ur alle i ∈ {1, . . . , n} und j ∈ {1, . . . , m} setze M i,j :=

( i, falls x j ∈ S i

0, sonst .

Außerdem setze M n+1,j := 0 f¨ ur alle j ∈ {1, . . . , m}.

Die so definierte Reduktionsfunktion f kann in O(nm) Zeit berechnet werden.

Wir zeigen nun die Korrektheit, also dass I genau dann eine Ja-Instanz von Hitting Set ist, wenn I 0 eine Ja-Instanz von MP ist.

• ” ⇒“: Sei I eine Ja-Instanz von Hitting Set . Dann existiert eine Teilmenge X 0 ⊆ X mit |X 0 | ≤ k, sodass X 0 ∩ S i 6= ∅ f¨ ur alle S i ∈ F . Wir w¨ ahlen nun als L¨ osung f¨ ur die MP -Instanz I 0 genau die k 0 := |X 0 | ≤ k Spalten in M aus, deren Indizes den Elementen aus X 0 entsprechen, und behaupten, dass in der resultierenden Subma- trix M 0 alle Zeilen paarweise verschieden sind. Dazu stellen wir fest:

Die (n + 1)-te Zeile in M 0 enth¨ alt nur 0’en, da M in dieser Zeile bereits nur 0’en enthielt. Jede Zeile i = 1, . . . , n in M 0 enth¨ alt jedoch in mindestens einer Spalte den Eintrag i. Dies gilt, da f¨ ur jedes S i ∈ F ein x j in X 0 existiert, sodass x j ∈ S i . Aus der Definition von M folgt also M i,j = i.

Daraus folgt aber schon, dass alle n + 1 Zeilen in M 0 paarweise verschieden sind, womit gezeigt ist, dass I 0 eine Ja-Instanz ist.

• ” ⇐“: Sei I 0 eine Ja-Instanz von MP . Dann k¨ onnen wir k 0 ≤ k Spalten in M so ausw¨ ahlen, dass die zugeh¨ orige Submatrix M 0 paarweise verschiedene Zeilen enth¨ alt. Als L¨ osung f¨ ur die Hitting Set-Instanz I w¨ ahlen wir die Teilmenge X 0 ⊆ X, die genau die k 0 Elemente enth¨ alt, deren Indizes den ausgew¨ ahlten Spalten entsprechen. Um zu zeigen, dass dies eine L¨ osung darstellt, betrachten wir die ausgew¨ ahlten Spalten in M 0 . Da die (n + 1)-te Zeile nur 0’en enthalten kann, muss f¨ ur jede andere Zeile i, 1 ≤ i ≤ n, mindestens eine Spalte j in M ausgew¨ ahlt worden sein, in der M i,j 6= 0, also M i,j = i gilt. Nach der Definition von M folgt also, dass f¨ ur jedes S i ∈ F ein x j in X 0 existiert, sodass x j ∈ S i .

Somit ist I auch eine Ja-Instanz.

2

(3)

2. Wir zeigen, wie BMP in polynomieller Zeit gel¨ ost werden kann.

Dazu reduzieren wir eine gegebene BMP -Instanz (M ∈ {0, 1} n×m , k) zuerst auf eine

¨ aquivalente Instanz (N, k), wobei N eine bin¨ are Matrix mit einer Nullzeile ist. Dazu w¨ ahlen wir eine beliebige (o.B.d.A. die erste) Zeile von M aus und invertieren in M jede Spalte j, in der in dieser Zeile eine 1 steht. Das heißt, wir definieren N wie folgt:

N i,j :=

( 1 − M i,j , falls M 1,j = 1 M i,j , sonst

f¨ ur alle i = 1, . . . , n, j = 1, . . . , m. Wir erhalten also in O(nm) Zeit eine Matrix N , in der die erste Zeile nur 0’en enth¨ alt. Da sich jedes Zeilenpaar in N genau in den selben Spalten unterscheidet wie in M , folgt, dass (N, k) genau dann eine Ja-Instanz ist, wenn (M, k) eine Ja-Instanz ist. Außerdem gilt, dass N analog zu M die Eigenschaft (ii) erf¨ ullt, also dass jedes Zeilenpaar sich nur in h¨ ochstens zwei Spalten unterscheidet.

Aus (ii) folgt wiederum, dass jede Zeile i = 2, . . . , n in N mindestens eine und maximal zwei 1’en enth¨ alt (da die erste Zeile nur 0’en enth¨ alt). Wir definieren f¨ ur jede Zeile i die Menge Z i := {j ∈ {1, . . . , m} | N i,j = 1} der Inidizes der Spalten, in denen in Zeile i eine 1 steht. Da alle Zeilen paarweise verschieden sind, gilt Z i 6= Z ` f¨ ur alle i 6= ` ∈ {1, . . . , n}.

Aus (ii) l¨ asst sich formal also Folgendes ableiten:

(a) |Z 1 | = 0 und |Z i | ∈ {1, 2} f¨ ur alle i = 2, . . . , n und

(b) (|Z i | ≥ 1) ∧ (|Z ` | = 2) ⇒ |Z i ∩ Z ` | = 1 f¨ ur alle {i, `} ⊆ {1, . . . , n}.

Die Implikation (b) gilt hierbei, da |Z i ∩ Z ` | ∈ {0, 2} bedeuten w¨ urde, dass entweder Zeile i und Zeile ` sich in mindestens 3 Spalten, n¨ amlich alle Spalten in Z i ∪ Z ` (f¨ ur den Fall Z i ∩ Z ` = ∅) unterscheiden, oder dass Zeile i und ` identisch sind (falls Z i = Z ` ).

Mit Hilfe dieser strukturellen Eigenschaften k¨ onnen wir nun eine Fallunterscheidung auf Basis der Anzahl der vorhandenen Zeilen mit zwei 1’en (also Zeilen i mit |Z i | = 2) in N durchf¨ uhren. F¨ ur jeden Fall werden wir zeigen, dass dieser in polynomieller Zeit gel¨ ost werden kann. Im Folgenden bezeichne I x := {i ∈ {1, . . . , n} : |Z i | = x} die Menge der Zeilen mit x ∈ {0, 1, 2} 1’en in N . Somit gilt, dass |I 0 | + |I 1 | + |I 2 | = n und |I 0 | = 1.

Fall 1: |I 2 | = 0. Die Matrix N enth¨ alt die Nullzeile und alle anderen Zeilen enthalten jeweils genau eine 1. Falls M nur eine Zeile enth¨ alt, dann ist jede Spalte eine L¨ osung f¨ ur M . Ansonsten muss f¨ ur jede Zeile i ∈ I 1 die eine Spalte aus Z i

ausgew¨ ahlt werden, um Zeile i von der Nullzeile zu unterscheiden. Die Instanz ist demnach genau dann eine Ja-Instanz, wenn k ≥ |I 1 | = n − 1 gilt.

Fall 2: 1 ≤ |I 2 | ≤ 3. Aus (b) folgt, dass |I 1 | ≤ 2·|I 2 | ≤ 6, denn f¨ ur jede Zeile i mit |Z i | = 1 und jede Zeile ` mit |Z ` | = 2 gilt, dass Z i ⊂ Z ` . Demnach gibt es nur | S n

i=1 Z i | ≤ 6 Spalten, die jeweils mindestens eine 1 enthalten (Spalten, die nur 0’en enthalten, k¨ onnen wir f¨ ur die L¨ osung ignorieren, da sie kein Paar von Zeilen voneinander unterscheiden) und h¨ ochstens n = |I 2 | + |I 1 | + |I 0 | ≤ 3 + 6 + 1 = 10 Zeilen in N.

Somit k¨ onnen wir das Problem also in konstanter Zeit O(1) l¨ osen.

Fall 3: |I 2 | > 3. Wir zeigen, dass (N, k) eine Ja-Instanz ist gdw. k ≥ n − 1. Sei i ∈ I 2

eine beliebige Zeile mit zwei 1’en. Dann gilt f¨ ur jedes andere Zeilenpaar a, b ∈ I 2 \ {i}, a 6= b, mit zwei 1’en, dass (Z i ∩ Z a ) = (Z i ∩ Z b ). Wir beweisen dies per Widerspruch. Sei Z i = {j, j 0 } ⊆ {1, . . . , m} mit j 6= j 0 und (Z i ∩ Z a ) 6= (Z i ∩ Z b ).

Dann folgt aus (b), dass o.B.d.A.

{j} = (Z i ∩ Z a ) 6= (Z i ∩ Z b ) = {j 0 }.

Desweiteren impliziert (b), dass Z a ∩ Z b = {j 00 } mit j 00 6∈ {j, j 0 }. Daraus ergeben sich also folgende Mengen

Z i = {j, j 0 }, Z a = {j, j 00 }, Z b = {j 0 , j 00 }.

3

(4)

Da aber |I 2 | ≥ 4, existiert also eine vierte Zeile c ∈ I 2 , sodass sich Z c mit jeder der drei obigen Mengen in genau einem Element schneidet (wegen (b)).

Dies ist aber nicht m¨ oglich da |Z c | = 2. Aufgrund des Widerspruchs folgt also (Z i ∩ Z a ) = (Z i ∩ Z b ) f¨ ur alle a, b ∈ I 2 \ {i} mit a 6= b.

Daraus folgt wiederum T

i∈I

2

Z i 6= ∅. Es existiert also genau eine Spalte j, so- dass j ∈ Z i f¨ ur alle i ∈ I 2 . In der j-ten Spalte steht f¨ ur jede Zeile mit zwei 1’en eine der beiden 1’en. Somit gilt Z a ∩ Z b = {j} f¨ ur alle a 6= b ∈ I 2 . Aus (b) folgt nun auch, dass |I 1 | ≤ 1, da eine Zeile mit genau einer 1 diese in genau einer m¨ oglichen Spalte, n¨ amlich j, haben kann. Falls also |I 1 | = 1, so m¨ ussen alle Spalten in S

i∈I

2

Z i ausgew¨ ahlt werden. Es muss also k ≥ |I 2 | + 1 = n − 1 gelten.

Andernfalls, reicht es f¨ ur |I 1 | = 0 z.B. die |I 2 | = n − 1 Spalten in S

i∈I

2

Z i \ {j}

auszuw¨ ahlen. Zudem sieht man leicht, dass es f¨ ur k < |I 2 | keine L¨ osung gibt, da sonst entweder eine Zeile aus I 2 nicht von der Nullzeile unterschieden wird, oder zwei Zeilen aus I 2 nicht unterschieden werden. Die Instanz ist also genau dann eine Ja-Instanz, wenn k ≥ n − 1 gilt.

Mit der obigen Fallunterscheidung erhalten wir also folgenden Algorithmus, um die In- stanz (N, k) zu l¨ osen: Z¨ ahle die Anzahl der Zeilen mit zwei 1’en in N in Zeit O(nm).

Entscheide je nach Fall, ob eine L¨ osung existiert. In allen drei F¨ allen, kann eine Antwort in konstanter Zeit gegeben werden.

4

Referenzen

ÄHNLICHE DOKUMENTE

• Eine aussagenlogische Formel ist in konjunktiver Normalform (KNF), wenn sie eine Konjunktion von Disjunktionen von Literalen ist.. Konjunktionen immer alle Variablen genau

Treffen Sie eine Aussage dar¨ uber, mit welcher Wahrscheinlichkeit der Anteil der Mo- lek¨ ule in der linken H¨ alfte gr¨ oßer als (1 + 10 −8 )/2 ist. Hinweis: Nutzen Sie

” Verdoppelungsstrategie“, d.h., er setzt im k-ten Spiel einen Einsatz von 2 k−1 Euro und bricht das Spiel ab, wenn er erstmals gewinnt.. (i) Nehmen Sie an, dass der Spieler

Treffen Sie eine Aussage dar¨ uber, mit welcher Wahrscheinlichkeit der Anteil der Mo- lek¨ ule in der linken H¨ alfte gr¨ oßer als (1 + 10 −8 )/2 ist.. Hinweis: Nutzen Sie

[r]

[r]

Übungen zu Funktionalanalysis Blatt 8. Besprechung in der Übung

Dafür ist es nützlich, von den konkreten Räumen und partiellen Ableitungen