17.11.2014 Aufrufe

Theoretische Informatik 2, Blatt 1 - Institut für Theoretische Informatik

Theoretische Informatik 2, Blatt 1 - Institut für Theoretische Informatik

Theoretische Informatik 2, Blatt 1 - Institut für Theoretische Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

@<br />

TECHNISCHE<br />

UNIVERSITÄT CAROLO-WILHELMINA ZU BRAUNSCHWEIG<br />

<strong>Institut</strong> für <strong>Theoretische</strong> <strong>Informatik</strong><br />

<strong>Theoretische</strong> <strong>Informatik</strong> 2, <strong>Blatt</strong> 1<br />

Abgabetermin 2012-05-03<br />

Prof. J. Adámek, Dr. J. Koslowski<br />

Braunschweig, 2012-04-26<br />

Aufgabe 1 (Übung)<br />

Betrachten Sie das folgende Problem “Bin-Packing“:<br />

Eingabe: eine endliche Menge U von Objekten, für jedes u ∈ U ein positives Gewicht g(u) ∈ IN , zwei<br />

positive natürliche Zahlen B und K .<br />

Aufgabe: entscheiden, ob es eine Partition von U in K disjunkte Mengen U 0 , U 1 , . . . U K−1<br />

dass für alle i < K gilt:<br />

∑<br />

g(u) ≤ B,<br />

u∈U i<br />

d. h., das Gesamtgewicht jeder der Teilmengen U i ist durch B nach oben beschränkt.<br />

gibt, so<br />

(Informell geht es darum zu entscheiden, ob die Objekte aus U so in K gleich große Kisten mit maximaler<br />

Tragekapazität B verteilt werden können, dass keine Kiste überlastet ist.)<br />

(a) [5 punkte] Wählen Sie ein geeignetes Alphabet X und ein Eingabeformat, mit dem Instanzen<br />

des Problems, d.h., Listen aus Schranken B , K , und Gewichten g(u) , als Eingabewörter einer<br />

TM über X dargestellt werden können.<br />

(b) [8 punkte] Beschreiben Sie informell aber klar und verständlich die Funktionsweise einer nichtdeterministischen<br />

TM M , die die in (a) angegebene Sprache akzeptiert.<br />

Lösungsvorschlag:<br />

(a) Eine Eingabeinstanz des Problems “Bin-Packing“ ist gegeben durch n Zahlen g i , i < n , wobei<br />

|U| = n gilt, zusammen mit den Zahlen B und K . Diese werden folgendermaßen als Wörter über<br />

dem Alphabet X = { 0, 1, $ } kodiert: man listet die Zahlen in der Reihenfolge K, B, g 0 , . . . , g n−1<br />

in binärer Codierung auf und trennt die einzelnen Zahlen durch das Symbol $.<br />

Beispiel: Die “Bin-Packing“-Instanz mit den Gewichten 1, 2, 3, 37, 42 und K = 2 , B = 45 hat<br />

die folgende Codierung<br />

10$101101$1$10$11$100101$101010$<br />

(b) Idee: Die TM ”<br />

rät“ nichtdeterministisch eine Lösung, also K Untermengen und überprüft, ob jede<br />

dieser Mengen die Ungleichung aus der Problemstellung erfüllt. Falls dies der Fall ist, wird das<br />

Eingabewort akzeptiert.<br />

Es wird eine 3-bändige NDTM M mit Bandalphabet B = X + {#, h} benutzt. Das erste Band ist<br />

das Eingabeband, auf dem zweiten Band wird die Lösung erzeugt und Band 2 dient als Arbeitsband.<br />

Im Detail ist die Arbeitsweise der TM folgendermaßen:<br />

1. potentielle Lösung auf Band 1 nichtdeterministisch erzeugen<br />

1.1. Kopiere die erste Zahl K aus der Eingabe auf Band 2.<br />

1.2. Schreibe ein Symbol h auf Band 1.<br />

1.3. Gehe auf Band 0 von links nach rechts über die Zahlen g i : Für jede der (noch vorhandenen)<br />

Zahlen entscheide nichtdeterministisch, ob sie (inklusive Trennzeichen $) auf Band 1<br />

kopiert und auf Band 0 gelöscht wird oder auf Band 0 belassen wird.<br />

1.4. Dekrementiere die Zahl K auf Band 2 um 1.<br />

1.5. Falls K > 0 goto 1.2 sonst lösche Band 2.<br />

2. Prüfe für jede der K (durch h getrennten) Listen, ob die Ungleichung der Problemstellung<br />

gilt, d.h., gehe von links nach rechts auf Band 1 wenn ein h gefunden wird, arbeite folgende<br />

Schritte ab:


2.1. Kopiere die erste Zahl der betrachteten Liste auf Band 2.<br />

2.2. Gehe von links nach rechts über die Liste bis ein h gefunden wird und addiere jede der<br />

durch $ getrennten Zahlen zu dem aktuellen Inhalt von Band 2.<br />

2.3. Vergleiche die Summe S von Band 2 mit der zweiten Zahl B der Eingabe von Band 0.<br />

2.4. Falls S > B stop und nicht akzeptieren.<br />

2.5. Falls das nächste Zeichen auf Band 1 ein h ist Band 2 löschen und goto 2.1<br />

3. Falls jetzt ein Blank-Symbol # gelesen wird stop und akzeptieren.<br />

Für die einzelnen Teilaufgaben benötigt unsere TM M verschiedene Teilmodule für folgende Aufgaben:<br />

– Kopieren einer Zahl von Band i nach Band j.<br />

– Löschen einer Zahl auf einem Band.<br />

– Addieren zweier Binärzahlen.<br />

– Vergleichen zweier Binärzahlen.<br />

Es ist nicht schwer deterministische Turing-Maschinen für jede dieser Aufgaben anzugeben. Dies<br />

lassen wir als Übungsaufgabe für zu Hause.<br />

Aufgabe 2 (Hausaufgabe)<br />

[8 punkte] Untersuchen Sie die Klassen der (semi-)entscheidbaren Sprachen auf ihre Abgeschlossenheit<br />

bzgl. Residuierung mit endlichen Sprachen. Genauer: Sind L, M ⊆ Σ ∗ (semi-)entscheidbar bzw. M<br />

endlich, was können Sie über die (Semi-)Entscheidbarkeit von M\L bzw. L/M aussagen?<br />

Aufgabe 3 (Hausaufgabe)<br />

[8 punkte] Zeigen Sie (ohne explizite Konstruktion von Turingmaschinen) die Abgeschlossenheit der<br />

Klasse der partiell Turing-berechenbaren Funktionen unter Komposition: (f ◦ g)(n) = f(g(n)) . Welches<br />

Problem ergibt sich, wenn man versucht, ausschließlich mit Einband-Maschinen zu arbeiten?<br />

Aufgabe 4 (Hausaufgabe)<br />

Unter einem ungerichtenten Graphen G versteht man ein Paar G = 〈V, E〉 aus einer endlichen Menge<br />

V von Knoten (“vertices”) und einer Menge E ⊆ P (V ) aus zwei-elementigen Teilmengen von V , den<br />

sogenannten Kanten (“edges”).<br />

Betrachten Sie das folgende Problem “Clique”:<br />

Eingabe: ungerichteter Graph, G , ganze Zahl k .<br />

Aufgabe: prüfen, ob G einen vollständigen Untergraphen (“Clique”) mit k Knoten hat.<br />

(a) [5 punkte] Wählen Sie ein geeignetes Alphabet X und ein Eingabeformat, mit dem Instanzen des<br />

Problems, d.h., Paare bestehend aus G und k , als Eingabewörter einer TM über X dargestellt<br />

werden können.<br />

(b) [8 punkte] Skizzieren Sie die Funktionsweise einer NTM M , die die in (a) angegebene Sprache<br />

akzeptiert.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!