DEA 0 Grammatik formulieren Beispiel von Grammatiken mit Terminalsymoblen Σ = {0, 1}: • Grammatik die jedes Wort enthält: L = Σ∗ 0 1 Formale Definition eines DEA: start A = (Q, Σ, δ, q0 , F ) 0 1 1 • Q: Endliche Menge von Zuständen 0 0 • Σ: Alphabet W → W0 | W1 | ε 1 • δ: Q × Σ → Q Übergangsfunktion start S 1 1 • q0 ∈ Q: Startzustand 1 E → ε | 0 | 1 | 0W 0 | 1W 1 A • F ⊂ Q: Menge der Akzeptierzustände W → W0 | W1 | ε 0 | 10∗ 1 • L enthält alle Wörter gerader Länge: NEA start S G → GP | ε 1 A = (Q, Σ, δ, q0 , F ) P → ZZ • Q: Endliche Menge von Zuständen • Σ: Alphabet • δ: Q × (Σ ∪ {ε}) → P (Q) Übergangsfunktion • q0 ∈ Q: Startzustand • F ⊂ Q: Menge der Akzeptierzustände DEA minimieren 1. Tabelle aller Zustandspaare {q, q 0 }, q 6= q 0 erstellen 2. Markiere alle Paare: {q, q 0 } mit q ∈ F und q 0 ∈ /F 3. Wiederhole folgende Schritte solange neue Markierungen hinzukommen Z→0|1 A Der Regu- • L = {0n 1m |n > m} läre Ausdruck lautet: (0 | 10∗ 1)∗ S → 0S | 0S1 | 0 Ln Sprachen Die Sprachen welche folgend Definiert werden sind regulär: • Erkennen von n-Tuple Addition: Lik = {w ∈ Σ∗ | |w|i ∼ =k mod n} = L(ik (in )∗ ) 0 1 0 1 1 0 Die Sprache L0k ∩L1k besteht aus Wörtern, in denen die Anzahl der 0 und den 1 den Rest k bei Teilung durch • Mindestens so viele o wie s (o, oo, os, oos, oso) n haben. Als Durchschnitt regulärer Sprachen ist diese auch regulär. In der S → ε | SS | oSs | oS Sprache Ln sind alle solche Wörter mit den Resten k = 0, . . . , n − 1: • Ausdrücke in korrekten Klammern Ln = n−1 [ min → number L0k ∩ L1k Bedeutet, von Zustand q0 geht es in Zustand q wenn der Input a enthält und auf dem Stack b zuoberst. Dabei wird c auf den Stack gelegt. Kontextfreie Sprache → min t min → kl.ausdruck max → number → max u max → kl.ausdruck kl.ausdruck → ( min ) → ( max ) number → digit → number digit • Vereinfachte LISP Grammatik liste → ’(’ lst.elem. ’)’ lst.elem. → ε | lst.elem element 0 2 E → N ’,’ E ’,’ N → N ’)’ ’+’ ’(’ N k=0 DEA: Durch 3 Teilbare Zahlen S → ’(’ E ’)’ N → ... 3.1. Für jedes unmarkierte Paar {q, q 0 } und jedes Zeichen Stack-Automat a ∈ Σ: 0 Wenn {δ(q, a), δ(q , a)} mar- Ein Stack-Automat verwendet ein kiert ist, dann markiere {q, q 0 } Stack als Errinerung um CFG erkennen zu können. 4. Verschmelze unmarkierte Zustäna, b → c q0 q de start • Wörter, die mit dm gleichen Symbol enden wie sie beginnen: L = (V, Σ, R, S) 1 NEA/DEA zu Regulärem Ausdruck • V : Endliche Menge von Variablen • Σ: Endliche Menge von Zeichen (disjunkt zu V ), Terminalsymbole. 1. Neue Start- und Akzeptierzustände • R Menge von Regeln 2. Zustände nacheinander entfernen • S ∈ V : Startvariable element → liste | atom atom → zahl | string | symbol zahl → ziffer | zahl ziffer symbol → buchstabe | symbol bchstb string → ’”’ stringinhalt ’”’ stringinhalt → ε | stringinhalt zeichen zeichen → ziffer | buchstabe Pumping Lemma Berechenbarkeit • Q: Endliche Menge von Zuständen Verifizierer Ein Verifizierer für die Sprache A ist eine Turingmaschine V mit Akzeptanzproblem Gesucht ist ein Reguläre Sprachen Die Pumping Sei Σ ein festes Alphabet, dann sind Automat, der entscheidet ob ein andeLenght ist die minimale Länge wel- folgende Mengen abzählbar unend- rer Automat ein Input akzeptiert. che ein Wort haben muss, dass es auf- lich: gepumpt werden kann. In einem Au- 1. Die Menge aller deterministischen ADEA = {hB, wi | tomaten muss das Wort eine Schleiendlichen Automaten. B ist ein DEA und akzeptiert w} fe mindestens einmal durchlaufen ha2. Die Menge aller nichtdeterministi- ANEA = {hB, wi | ben. B ist ein NEA und akzeptiert w} schen endlichen Automaten. w = xyz A REX = {hR, wi | 3. Die Menge der regulären Spra|y| > 0 R ist ein REX und akzeptiert w} chen. |xy| ≤ N 4. Die Menge aller kontextfreien ACFG = {hG, wi | die CFG G erzeugt w} xy k z ∈ L ∀k ≥ 0 ATM = {hM, wi | Grammatiken. Kontextfreie Sprachen M ist eine TM und erkennt w} 5. Die Menge aller kontextfreien w = uvxyz Sprachen. DEA, NEA, REX (Regular Expression) |vy| > 0 6. Die Menge aller Stackautomaten. und CFG sind entscheidbar, TM nicht. |vxy| ≤ N 7. Die Menge aller Turingmaschinen. uv k xy k z ∈ L für alle k ∈ N Gleichheitsproblem Gesucht ist Entscheidbarkeit ein Automat der entscheidet, ob zwei Chomsky-Normalform Eine Sprache ist Turing-erkennbar andere Automaten die gleiche SpraEine kontextfreie Grammatik ist in wenn es eine TM gibt, welche anhält che akzeptieren. Chomsky Normalform, wenn jede Re- und nur die Wörter der Sprache akgel in folgender Form ist: zeptiert. Wörter welche nicht in der EQDEA = {hA, Bi | A, B sind DEAs und Sprache sind, werden von der TM entA → BC L(A) = L(B)} weder verworfen oder die TM hält nie A→a EQCFG = {hG, Hi | G, H sind CFGs und an. S→ε L(G) = L(H)} Eine Sprache ist Turingentscheidbar wenn es eine TM gibt, EQTM = {hM1 , M2 i | Mi sind TMs und Wobei gilt: welche Wörter in der Sprache akzepL(M1 ) = L(M2 )} A ∈ V, a ∈ Σ tiert und Wörter welche nicht in der B, C ∈ V \ {S} Sprache sind, verwirft. DEA ist entscheidbar, CFG, TM nicht. CNF herstellen Algorithmus um ei- Entscheider Ein Entscheider ist eine Sprache in CNF zu bringen mit Σ = ne Turingmaschine, die auf jedem InLeerheitsproblem Gesucht ist ein {a, b}: put w ∈ Σ∗ anhält. Eine Sprache heisst Automat, der entscheidet, ob ein an1. Startvariable hinzufügen: entscheidbar, wenn eine Entscheider deren Automat irgendein Wort akzepsie erkennt. 2. ε-Übergänge entfernen: tiert. Eine nicht deterministische Turingma3. Unit-Rules entfernen: schine ist ein Entscheider, wenn jede EDEA = {hAi | mögliche Berechnungsgeschichte ter4. Verkettungen: A ist ein DEA und L(A) = ∅} miniert. Eine Sprache ist enscheidbar, Turing Maschine wenn sie von einer nicht determinisECFG = {hGi | Formale Definition einer TM tischen Turingmaschine entschieden G ist eine CFG und L(G) = ∅} wird. M = (Q, Σ, Γ, δ, q0 , qaccept , qreject ) E = {hM i | TM • Σ: Endliche Menge des InputAlphabets (ohne ␣) • Γ: Endliche Menge des Bandalphabets (mit ␣), Σ ⊂ Γ • δ: Q × Γ → Q × Γ × {L, R} als Übergangsfunktion Die Turing Maschine verwendet ein oder mehrere unendlich Lange Bänder um Sprachen erkennen zu können. a → b, d q0 q A = {w | ∃c ∈ C ∗ so dass V hw, ci akzeptiert} wobei C eine endliche Menge ist. Ein Verifizierer heisst polynomiell, wenn seine Laufzeit polynomiell ist in der Länge des Wortes w. Gibt es einen polynomiellen Verifizierer, so ist die Sprache in NP. Falls ein Verifizierer existiert, der das Von Zustand q0 wird in Zustand q ge- Problem in polynomieller Zeit verifiwechselt, wenn unter dem Kopf ein a zieren kann, kann das Problem auf gelesen wird. Dabei wird das a mit ei- einer nicht deterministischen Turingnem b überschrieben und der Kopf in maschine in polynomieller Zeit gelöst Richtung d bewegt. werden. M ist eine TM und L(M ) = ∅} DEA, CFG sind entscheidbar, TM nicht. Halteproblem Das ist nicht entscheidbar Halteproblem HALTTM = {hM i | M ist eine TM und hält auf w} Erzeugungsproblem Gesucht ist ein Automat der entscheidet ob eine CFG alle Wörter erzeugt. ALLCFG = {hGi | G ist CFG und L(G) = Σ∗ } Sprachprobleme Zahl n • Welche natürliche Zahlen sind Quadrate einer natürlichen Zahl L eine Sprache über Σ = {0, 1, :} w ist von der Form n:p :n : . . . :p :n 1 1 k k, und es gilt L = w ∈ Σ∗ n = pn1 1 pn2 2 . . . pnk k , wenn man die p und n als i i Binärzahlen interpretiert. L eine Sprache über Σ = {0, 1} ) ( w ist die Binär∗ L = w ∈ Σ darstellung einer Quadratzahl • Falls n ∈ N eine Quadratzahl ist, fin• Goldbach-Vermutung: Jede Zahl > 2 de man die Wurzel könne als Summe von zwei Primzahlen geschrieben werden L eine Sprache über Σ = {0, 1, :} L eine Sprache über Σ = {0, 1} w ist von der Form w :w , 1 2 w ist die Binär- ∗ wobei wi Binar L= w∈Σ codierung einer darstellungen einer geraden von Zahlen ni Zahl n, die als 2 ∗ sind mit n1 = n2 . L= w∈Σ Summe von zwei Primzahlen ge- schrieben werden • Hat die quadratische Darstellung kann. 2 ax + bx + c = 0 mit a, b, c ∈ N reele Lösungen • Primzahlenzwillings-Vermutung: Es L eine Sprache über Σ = {0, 1, :} w ist von der Form a:b:c, wo- bei a, b und c Bi närdarstellungen L = w ∈ Σ∗ der Koeffizienten einer quadrati- schen Gleichung sind, die reelle Lösungen hat. gibt unendlich viele Primzahlenzwillinge L eine Sprache über Σ = {0, 1} w ist die Binär- codierung einer Zahl n, die eine ∗ L = w ∈ Σ Primzahl ist so, dass n − 2 oder n + 2 ebenfalls eine Primzahl ist. k-Vertex-Coloring Die Vertizes eines Graphen können mit k Farben eingefärbt werden, wenn sich für jeden Vertex eine der k Farben wählen lässt, so dass nie zwei durch eine Kante verbundene Vertizes die gleiche Farbe bekommen. Das Problem ist eintscheidbar (man kann alle nk möglichen Färbungen ausprobieren). Als Lösungszertifkat verlant man die Farbzuordnung c = (c1 , . . . , cn ) der Ecken 1, . . . , n des Graphen. Hamiltonscher Pfad Ein Hamiltonscher Pfad in einem gerichteten Graphen ist ein Pfad, der jeden Vertex des Graphen genau einmal besucht. Binary Integer Programming Für eine ganzzahlige Matrix C und einen ganzzahligen Vektor d soll ein binären Vektor x gefunden werden, sodass: Cx = d Vertex-Cover Ein Graph G und eine Zahl k. Gibt es eine Teilmenge von k Vertizes, sodass jede Kante von G ein Ende in dieser Teilmenge hat. 1 2 3 4 5 6 7 Telefonüberwachung: Knoten sind die Anschlüsse, die Kanten verbinden die Anschlüsse welche tatsächlich miteinander telefonieren. Gesucht ist NP-Probleme die Menge ausk Knoten, sodass jedes Diese Sprache kann mit einer TM entschieden werden, die die Diskri- SAT Satisfiability ist eine beliebig mögliche Gespräch abgehört werden minante b2 − 4ac berechnet und im lange Sequenz aus Wahrheitswerten, kann, also jede Kante in einem Knoten dieser Menge endet. Zustand qaccept stehen bleibt genau zu denen eine Lösung gesucht wird. dann, wenn die Diskriminante ≥ 0 Feedback-Node-Set Gegeben ein ϕ = (x1 , . . . , xn ) ist. gerichteter Graph G und eine Zahl k. Ein Lösungszertifikat wird die Bele- Gibt es eine endliche Teilmenge von k • Hat die Gleichung an + bn = cn gung der Variablen verlangt und über- Vertizes von G so, dass jeder Zyklus ganzzahlige Lösungen, wobei min- prüft, ob ϕdurch einsetzten der Werte in G einen Vertex in der Teilmenge hat. destens eine der Zahlen a, b, c grös- wahr wird. 3 1 2 ser als 1 sein muss. 3SAT Eine Variante von SAT ist 3SAT, welche nur Formeln in konjunkL eine Sprache über Σ = {0, 1} tiver Normalsform vorkommen. Zu w ist die Bi- dem hat jede Klausel genau 3 Therme. 5 6 4 7 närdarstellung ϕ = (x ∨ x ∨ x ) 1 2 3 einer natürlichen Roboter: Robter fahren Zyklen in ei Zahl n, für die ∧ (x1 ∨ x3 ∨ x4 ) nem gerichteten Graphen ab. Sie müs Gleichung die ∧ (x1 ∨ x3 ∨ x5 ) n n n sen durch regelmässig durch Prüfstel∗ a + b = c eine L= w∈Σ len fahren. Gesucht ist eine Menge ganzzahlige Lö k-Clique Eine k-Clique ist eine Men von k Netzknoten sodass jeder Zyklus sung hat, wobei ge von k Ecken des Graphen, so dass des Graphen durch eine dieser Prüfmindestens eine im Graph jede Ecke der Teilmenge mit der Zahlen a, b jeder anderen Ecke verbunden ist. Das stellen verläuft. oder c grösser als Problem ist in O(nk ) lösbar. Als Lö- Feedback-Arch-Set Gegeben sei 1 sein muss. sungszertifikat verlangt man die Men- ein gerichteter Graph G und eine Zahl ge c = {v1 , . . . , vk } der Vertizes der an- k. Gibt es eine Teilmenge aus k Kan• Man finde die Primfaktoren einer geblichen Clique. ten, sodass jeder Zyklus in G eine Kante aus der Teilmenge enthält. 1 3 2 jeder Sträfling für mindestens ein Projekt ungeeignet ist, ist: U= n [ Si Hitting-Set Gegeben ist eine Menge von Teilmengen Si ⊂ S. Gibt es eine Menge H die jede Menge genau in einem Punkt trifft: i=1 5 6 4 7 Gesucht ist die Teilmenge von Projekten I = {i1 , . . . , im } ⊂ {1, . . . , n} soRoboter: Die Prüfstellen können die dass jeder Sträfling genau auf einem Roboter nun während er Fahrt prüfen. Projekt arbeitet, aber kein Sträfling Gesucht ist eine Menge von k Kanten, mehr als einem Projekt zugeteilt ist: sodass jeder Zyklus des Graphen über m [ eine dieser Kanten führt. S =U ij Set-Covering Gegeben eine endliche Familie endlicher Mengen (Sj )1≤j≤n und eine Zahl k. Gibt es eine Unterfamilie bestehend aus k Mengen, welche dieselbe Vereinigung haben. • • • • • • • • Si = i=1 [ Si i∈I Exact Cover Gegeben eine Familie (Sj )1≤j≤n von Teilmengen einer Menge U . Gibt es eine Unterfamilie von Mengen, die disjunkt sind, aber die gleiche Vereinigung haben. Die Unterfamilie (Sji )1≤i≤m muss folgendes erfüllen: Sji ∩ Sjk = ∅ n m [ [ Sj = Sji j=1 i=1 • • • • • • • • • • • • • • • • • • • • j=1 Fachgebiet:Sei Si eine Menge von Wissenschaftlern, die zum Thema i ∀j 6= k Stellung beziehen können. Gesucht ist Clique-Cover Gegeben ist ein eine Auswahl H von Wissenschaftlern, Graph und eine positive Zahl k. Gibt sodass jeder Wissenschaftler genau es k Anzahl Cliquen, sodass jede Ecke ein Fachgebiet hat, für das er Stellung nehmen kann, also: in genau einer Clique ist. Sij ∩ Sik = ∅ |H ∩ Si | = 1 Steuererleichterungen Jeder Wähler profitiert mindestens von einer Steuererleichterung. Es muss die kleinste Menge von Vereinigungen gefunden werden, sodass die gesamte Menge in der Vereinigung abgebildet ist. Die Steuervergünstigungen sind nummeriert 1 . . . n. Sei Sj die Menge der Wähler, welche von Vergünstigung i profitieren. Es muss nun eine Teilmenge I = {i1 , i2 , . . . , ik } gefunden werden, dass die Vereinigungsmenge von Steuervergünstigungen der Wähler (Sj ) und die Menge der Vergünstigung gleich sind. Also: n [ |H ∩ Si | = 1∀i Sträflingslager: Die Menge aller Sträflinge ist U . Die Projekte sind nummeriert: 1 . . . n. Die Menge Si ⊂ U besteht aus den Sträflingen, welche für das Projekt i ungeeignet sind. Weil Steiner-Tree Gegeben ist ein Graph, eine Teilmenge R von Vertizes und eine Gewichtsfunktion w : E 7→ Z und eine positive Zahl k. Gibt es einen Baum mit Gewicht ≤ k, dessen Knoten in R enhtalten sind. Das Gewicht des Baumes ist die Summer der Gewichte w({u, v}) über alle Kanten {u, v} im Baum. Gruppenarbeit: Für eine Gruppen5 A B arbeit sollen k Gruppen gebildet werden. Die Leute einer Gruppe sollen sich bereits gegenseitig kennen und 20 2 alle Leute sollen beschäftigt sein. Weak-Clique-Cover: Hier wird nicht verlangt, dass die Cliquen disjunkt sind. C D 10 3D-Matching Sei T eine endliche Bankgesellschaft Menge und U eine Menge von Tripeln Geldtransport: möchte Filialen mit Geld versorgen. aus T : U ⊂ T ×T ×T . Gibt es eine TeilGeldtransporte sollen auch zwischen menge W ⊂ U , sodass |W | = |T | und Filialen möglich sein. Vom Hauptsitz keine zwei Elemente von W stimmen werden Beträge für mehrere Filialen in irgendeiner Koordinate überein. verladen. Die Filialen nehmen die LieMarsbewohner: Auf dem Mars lebt ferung ausseinander und laden sie auf eine Spezies mit drei Geschlechter. neue Transporte. Die Frage ist, ob es Von allen Geschlechtern gibt es genau möglich ist, mit dieser Methode die n Personen. Es muss nun eine Liste Kosten unter den Betrag k zu senken. aus Tripeln erstellt werden, um alle diese Personen in einer "Dreier“-Ehe Sequencing Gegeben sei ein Vektor verheiraten zu können. (t1 , . . . , tp ) ∈ Zp von Laufzeiten von Zwangsheirat: Es gibt n unverheira- Jobs, ein Deadline Vektor (d1 , . . . , dp ) ∈ tete Frauen, Männer und Wohnungen. Zp , einem Strafenvektor (s1 , . . . , sp ) ∈ Es ist eine Liste mit einer Menge von Zp und eine positive Ganzzahl k. Gibt Tripeln erstellt worden (x, y, z), wobei es eine Permutation π der Zahlen die Zahlen x, y und z aus der Menge 1, . . . , p sodass die Gesamtstrafe für T = [n] = {1, . . . , n} stammen. Aus verspätete Ausführung bei der Ausdieser Teilmenge U ⊂ T × T × T soll führung der Jobs in der Reihenfolge jetzt eine Teilmenge W ⊂ U von ge- π(1), . . . , π(p) nicht grösser als k ist. nau n Tripeln ausgewählt werden, soJob Dauer Deadline Strafe dass jedes Mann, jede Frau und jede T1 4 5 30 Wohnung genau in einem Tripel vorT2 1 3 25 kommt. T3 2 2 20 Züge: Die Durchfahrzeit des Zuges i durch die Strecke ist ti . Wenn der Zug später als di ankommt ist die Strafe si fällig. Wenn die Züge in der durch die Permutation π permutierten Reihenfolge π(1), π(2), . . . , π(n) abgefertigt, beträgt die für Zug j anfallende Strafe: ϑ(tπ(1) +. . .+tπ(j) )Sπ (j) . Die Gesamtstrafe ist daher: n X ϑ(tπ(1) + . . . + tπ(j) )Sπ (j) j=1 Subset-Sum Gegeben ist eine Menge S von ganzen Zahlen. Kann darin eine Teilmenge gefunden werden, die als Summe einen bestimmten Wert t hat. Jahresbudget: Die Vorschläge des Teams, das Jahresbudget aufzubrauchen, bildet die Menge {b1 , . . . , bn } von Beträgen bi . Daraus soll eine Teilmenge I = {i1 , . . . , im } gebildet werden, sodass der Restbetrag r aufgebraucht wird. m X bik = r k=1 Partition Gegeben ist eine Folge von s ganzen Zahlen: c1 , . . . cs . Kann man die Indizes 1, . . . , s in zwei Teilmengen I und I teilen, sodass die Summer der zugehörigen Zahlen identisch ist. X X ci = ci tionen bilden einen Graphen, dessen • Bestimmen Sie den Rechenaufwand Kanten anzeigen, ob zwischen den beiIhrer Konstruktion in Abhängigkeit den Stationen ein Transport notwenvon n. dig ist. Jede Kante ist der mögliche • Wir müssen für jede Zahl n eine Gewinn zugeordnet, der winkt, wenn Formel ϕn in den Variablen xij mit der Transport grenzquerend durchge1 ≤ i, j ≤ n konstruieren, die genau führt werden kann. Gesucht wird eine dann erfüllbar ist, wenn sich n DaAufteilung der Produktionsstationen men auf dem Feld platzieren lassen, auf die beiden Landesteile so dass der die sich nicht schlagen lassen. Gewinn aus Subventionen die Ziele W Diese Formel muss ausdrücken, des Managements übersteigen. dass in der gleichen Zeile, Spalte Set-Packing Gegeben eine Familie und Diagonalen keine weitere Dame (Si )i∈I von Mengen und eine positive steht. Wenn auf dem Feld (i, j) eine Ganzzahl k. Gibt es eine k-elementige Dame steht, dann wird dies gemäss Teilfamilie (Si )i∈J mit J ⊂ I, dass die Hinweis dadurch ausgedrückt, dass Mengen der Teilfamilie paarweise disxij wahr ist. Wir müssen daher eine junkt sind: Formel bauen, die sicherstellt, dass in diesem Fall alle xkl falsch sind, |J| = k die zur gleichen Zeile, Spalte oder Si ∩ Sj = ∅ Diagonalen gehören. ∀i, j ∈ J mit i 6= j Wir schreiben ⊕ für die XORVerknüpfung. Die Bedingung, dass keine weiteren Damen in der glei• • • • chen Zeile stehen, kann man durch die Formel • • • • ϕij,Zeile = xij ⊕ (1) • • • • (xi1 ∨ · · · ∨ x̂ij ∨ · · · ∨ xin ) (2) _ = xij ⊕ xik Medizinische Studie: Für eine medizinische Studie ist eine grosse Zahl k6=j von Probanden rekrutiert worden. Sie sind bereits auf Allergien getestet ausdrücken. Dabei bedeutet x̂ij , worden, man weiss also von jedem i∈I i∈I / dass die Variable xij in der KlamProbanden, auf welche Allergene er mer auf der rechten Seite weggelasKöngiserbe: Zwei Söhne eines verallergisch reagiert. Die Untersuchung sen werden soll. Analog kann man storbenen Königs sollten genau densoll sich auf eine Teilmenge von k = 17 auch die Bedingungen für die Spalselben Betrag erben. Der Wert der Imoder noch mehr ausgewählten Allerten und die Diagonalen ausdrücken: mobilie i ist mit ci beziffert. Die Aufgagenen beschränken, die so beschaffen be besteht nun darin, eine Aufteilung ist, dass kein Proband auf mehr als eiϕij,Spalte = xij ⊕ (3) zu der Menge A aller Immobilien zu nes der ausgewählten Allergene reafinden, damit in die Summe der Men(x1j ∨ · · · ∨ x̂ij ∨ · · · ∨ xnj ) giert. _ gen I und A \ I genau diesselbe ist. X X Damen-Problem Das Acht-Damen= xij ⊕ xlj , ci = ci Problem ist die Schach-Aufgabe, acht l6=i i∈I i∈A\I Damen so auf einem Schachbrett auf_ ϕ = x ⊕ x ij kl . ij,Diagonalen Max-Cut Gegeben ist ein Graph mit zustellen, dass sie sich nicht gegenseik, l diagonal von i, j einer Gewichtsfunktion w : E 7→ Z und tig schlagen können. Eine Dame kann eine Ganzzahl W . Gibt es eine Teil- eine andere Figur schlagen, die sich in Die Variablen x repräsentieren gemenge S der Vertizes, so dass das Ge- der gleichen Zeile, Spalte oder Diagonau dann eine akzeptable Platziesamtgewicht der Kanten die S mit sei- nale befindet. Offenbar ist acht die marung wenn für jedes Paar (i, j) alnem Komplement verbinden, mindes- ximale Anzahl von Damen, die man auf le drei soeben entwickelten Formeln diese Art auf einem Schachbrett plattens so gross ist wie W : wahr werden: X zieren kann. w({u, v}) ≥ W Betrachten Sie jetzt das allgemeinere ϕij = ϕij,Zeile ∧ϕij,Spalte ∧ϕij,Diagonalen . {u,v}∈E∧u∈S∧v ∈S / Problem Die gesuchte Formel ist daher Es gibt eine Plat- 3 a c n ^ zierung von n 3 2 ϕ= ϕij . Damen auf einem i,j=1 DAMEN = n n × n-Schachbrett, . 4 s t 1 die sich nicht ge- • Für den Aufbau dieser Formel 3 genseitig schlagen braucht für jedes Paar (i, j) den 2 können 2 gleichen Aufwand O(n). Es gibt n2 b d • Konstruieren Sie eine Reduktion solche Paare, der gesamte Aufwand Grenzhandel: Die Produktionsstavon DAMEN auf SAT. ist daher O(n3 ). Turing-Vollständigkeit LOOP in RISC-LOOP: Allgemein übersetzen wir xj := xi ± c durch • i INCR Befehle • Zugriff r := xi • i DECR Befehle • Rechnung r := r ± c • j INCR Befehle • Speicherung xj := r • j DECR Befehle Analog übersetzen wir LOOPxi durch • i INCR Befehle • Zugriff r := xi • i DECR Befehle • Schleifenbefehl LOOP r. Auf diese Weise lässt sich jedes LOOPProgramm in eine RISC-LOOP Programm übersetzen, RISC-LOOP ist also mindestens so leistungsfähig wie LOOP. (LOOP ist jedoch nicht TuringVollständig)