DEA NEA Stack-Automat Kontextfreie Sprache

Werbung
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)
Herunterladen