Sie sind auf Seite 1von 2

EBKFS - Heimubung 8

Johannes Brandt Mtrklnr.: 6666666 Aufgabe 3


Es soll gezeigt werden, dass Partition p MaschinenScheduling Dazu muss gelten: w Partition f (w) MaschinenScheduling mit f (w) in polynomieller Zeit berechenbar. Idee: Sei w Partition, dann muss die Summe der Elemente einer Teilmenge / immer grer als die der anderen teilmenge sein, solange T1 T2 = T . o Konstruktion Sei die DTM Mf mit Eingabe w = T , die die Funktion f in polynomieller Zeit berechnet, wie folgt konstruiert: 1. Bilde die Summe uber alle Elemente aus T und schreibe das Ergebnis d auf ein leeres Band. d 2. Rechne d := . 2 3. Schreibe auf ein leeres Band T, d und akzeptiere. Berechenbarkeit 1. Wie fr das Rucksackproblem bereits in der Vorlesung benutzt wurde, kann die u Addition zweier Zahlen mit hchstens b Bits in O(b2 ) berechnet werden. Da o |T | = n, folgt eine solche Addition n-mal, wobei eine einzelne Zahl aus T nicht mehr als |w| Bits haben kann. Also ergibt sich fr Schritt 1 eine Laufzeit von O(n |w|2 ). u 2. Eine Division durch zwei ist nichts anderes als ein Rechtsshift im Binrsystem, a das und das beschreiben des Bandes luft also in Zeit O(n + |w|), da in Schritt a 1 maximal n-mal ein Ubertrag entsteht und somit das Ergebnis der Summe als Binrzahl die Lnge O(n + |w|) hat. a a Die Gesamtlufzeit ist polynomiell, da gilt O(n + |w|) + O(n |w|2 ) O(n |w|2 ) a Mf berechnet f mit Eingabe w in polynomieller Laufzeit. Korrektheit Die Funktion f soll die Tatsache ausnutzen, dass die beiden zu testenden Sprachen im Wesen nicht sehr verschieden sind. Beide bilden Teilmengen und beide Summieren

Markus Kuhn Mtrklnr.: 6666666

EBKfS Ubungsgruppe 07

Markus Kuhn Johannes Brandt

die Werte ihrer Teilmengen auf. Der unterschied liegt lediglich in der Ergebnisbetrachtung. Fr MaschinenScheduling mssen die Summierungen kleiner oder gleich eiu u ner Obergrenze d sein, bei Partition sollen die Aufsummierungen den gleichen Wert ergeben (wobei hier sogar gilt: T1 T2 = T und T1 T2 = ). Es bleibt zu zeigen: w Partition f (w) MaschinenScheduling: w Partition Es gibt eine Teilung T1 , T2 : T1 T2 = T und T1 T2 = mit ti =
iT1 iT2 ti
i{1,...,n}

ti
2

f (w) = T, d , wobei d = d=
iT1

ti =
iT2

ti ti , d
iT1 iT2

Es existiert eine Teilung, mit der d f (w) MaschinenScheduling

ti

w Partition Es gibt keine Teilung T1 , T2 : T1 T2 = T und T1 T2 = mit


iT1

ti =
iT2

ti
ti
i{1,...,n}

f (w) = T, d , wobei d =

Es existieren nur Teilung, mit d =


iT1

ti , d =
iT2

ti , da durch die Wahl von d

abgesichert wurde, das wenn die Summe der Elemente uber eine Teilmenge dem Wert von d entspricht, dies fr ihr Komplement auch gelten muss. Nicht Disjunkte u Mengen fallen somit natrlich auch heraus, da diese eine zu groe Summe bilden u wrden u f (w) MaschinenScheduling / Da nun w Partition f (w) MaschinenScheduling gezeigt wurde und Mf in polynomieller Zeit arbeitet, ist gezeigt, dass Partition p MaschinenScheduling.