2x4

Werbung
1
2
Gewinnstrategien in Zweipersonenspielen
Formelspiel:
Grundlagen der
Theoretischen Informatik
Zu quantifizierten Booleschen Formel in prenexer Normalform lässt
sich ein 2-Personenspiel ableiten: Die Quantoren einer gegebenen
Formel werden von links nach rechts abgearbeitet. Bei einem Existenzquantor ∃ darf Spieler E den Wahrheitswert der quantifizierten
Variablen festlegen, bei einem Allquantor ∀ darf Spieler A den Wert
der quantifizierten Variablen festlegen. E gewinnt, falls die Teilformel
ohne die Quantoren bei der gewählten Belegung erfüllt ist, ansonsten
gewinnt A.
Till Mossakowski
Fakultät für Informatik
Otto-von-Guericke-Universität
Magdeburg
Sommersemester 2015
formula-game = {φ | φ ist eine quantifizierte Boolesche Formel,
für deren assoziiertes 2-Personenspiel Spieler E
eine Gewinnstrategie besitzt}
3
4
Graph Game:
Beim Zweipersonenspiel Graph Game sind ein gerichteter Graph G
und ein Knoten b in G gegeben. Die Spieler A und E dürfen abwechselnd einen Knoten auswählen, der von dem zuletzt ausgewählten
Knoten aus über eine Kante erreichbar ist. Kein Knoten darf mehrmals ausgewählt werden. E beginnt mit b als zuletzt ausgewähltem
Knoten. Ein Spieler hat verloren, wenn er keinen nächsten Knoten
auswählen kann (weil es keine ausgehenden Kanten gibt oder alle
ausgehenden Kanten zu bereits besuchten Knoten führen).
Lemma:
formula-game ist in PSPACE.
Lemma:
tqbf P
formula-game.
Satz:
formula-game ist PSPACE-vollständig.
gg = {G, b | es gibt eine Gewinnstrategie für Spieler E}
Satz: gg ist PSPACE-vollständig.
5
6
Lemma: gg ∈ PSPACE.
Lemma: formula-game
Beweisskizze:
Beweisskizze:
graph-game(G, b)
1 if outdeg(b) = 0
2
then return false
3
else G ← G − b
4
w ← true
5
for all v ∈ N[b] − b
6
do w ← w & graph-game(G , v)
7
if w
8
then return false
9
else return true
P
gg.
Zu einer gegebenen quantifizierten Booleschen Formel φ können
wir in polynomieller Zeit in der Länge der Kodierung der Formel
eine quantifizierte Boolesche Formel φ konstruieren, die mit einem
Existenzquantor beginnt und in der sich Existenz- und Allquantoren
abwechseln, so dass Spieler E eine Gewinnstrategie für φ besitzt
genau dann wenn Spieler E eine Gewinnstrategie für φ besitzt.
Zu φ konstruieren wir nun einen Graphen G mit Knoten b, so dass
Spieler E eine Gewinnstrategie für φ besitzt genau dann wenn
Spieler E eine Gewinnstrategie für G beginnend mit b besitzt.
7
Für jede Quantifizierung einer Variablen Xi existiert in G ein
Teilgraph der folgenden Form:
Xi
8
Für jede Klausel C gibt es einen Knoten im Graphen, der (nur)
von einem Konten c aus erreichbar ist.
C1
Bei existenzquantifizierten Variablen hat Spieler E beim linken Knoten die Wahl, bei allquantifizierten Spieler A. Dies wird durch die
Gesamtkonstruktion sichergestellt. Die Wahl des Nachfolgeknotens
entspricht der Wahl des Wahrheitswertes der Variablen.
...
Cm
c
Bei Knoten c hat Spieler A die Wahl, kann also eine Klausel auswählen.
9
10
Illustration der Konstruktion an einem Beispiel:
Für jedes Vorkommen eines Literals in einer Klausel gibt es einen
Knoten, der (nur) von dem zugehörigen Klauselknoten aus erreichbar ist. Die Literale sind ihrerseits mit den den Wahrheitswerten
entsprechenden Knoten in den Variablengadgets verbunden, nicht
negierte mit den grünen und negierte mit den orangefarbenen Knoten.
λ1
...
∃X1 ∀X2 ∃X3 ∀X4 (X1 ∨ X2 ∨ X3 ) ∧ (X1 ∨ X3 ∨ X4 )
b
X1
X3
X2
X4
λk
C
c
Bei dem von A bestimmten Klauselknoten hat Spieler E die Wahl,
kann also eines der Literale auswählen.
11
12
Probleme bei regulären Sprachen
Äquivalenz nichtdeterministischer endlicher Automaten:
nfa-equivalence = {M1 , M2 | M1 und M2 sind
nichtdeterministische endliche Automaten
über dem gleichen Alphabet mit
L(M1 ) = L(M2 )}
Äquivalenz regulärer Ausdrücke:
regular-expression-equality =
{RE1 , RE2 | RE1 und RE2 sind reguläre Ausdrücke über dem
Alphabet {0, 1} mit L (RE1 ) = L (RE2 )}
Satz:
nfa-equivalence ist PSPACE-vollständig.
Satz:
regular-expression-equality ist PSPACE-vollständig.
13
14
Optimierungsprobleme
Definition:
Ein Optimierungsproblem (I , S, m, goal) gehört zur Klasse NPO,
falls
Definition:
Ein Optimierungsproblem ist charakterisiert durch ein 4-Tupel
(I , S, m, goal), wobei
• x ∈ I in polynomieller Zeit entscheidbar,
• I die Menge der Probleminstanzen ist,
• es ein Polynom q gibt, so dass für jedes x ∈ I für alle y ∈ S(x)
• S eine Funktion, die jeder Probleminstanz eine Menge
gilt |y| ≤ q(|x|), und für jedes y mit |y| ≤ q(|x|) in
polynomieller Zeit y ∈ S(x) entscheidbar ist, und
zulässiger Lösungen zuordnet,
• m eine Maßfunktion, die jedem Paar (x, y) mit x ∈ I und
• m in polynomieller Zeit berechenbar ist.
y ∈ S(x) einen positiven ganzzahligen Wert zuordnet, und
• goal ∈ {min, max}.
15
Definition:
Ein Optimierungsproblem (I , S, m, goal) gehört zur Klasse PO,
falls es in NPO liegt und es einen Algorithmus gibt, der für alle
x ∈ I in polynomieller Zeit eine optimale Lösung y ∈ S(x) und
m(x, y) berechnet.
Satz:
Falls P = NP, so ist PO = NPO.
16
Bei vielen NP-vollständigen Problemen sind Spezialfälle in
Polynomialzeit lösbar. Zum Beispiel sind viele NP-vollständige
Probleme auf Graphen für spezielle Graphklassen in Polynomialzeit
lösbar.
Beispiel:
Die Kanten eines bipartiten
Graphen kann man in
polynomieller Zeit mit Δ(G)
Farben zulässig färben.
65
89
86
48
46
44
43
41
39
37
35
33
31
29
27
25
23
22
20
18
16
14
12
10
8
6
4
2
0
99
97
95
94
93
91
87
85
84
82
81
79
78
77
76
75
74
72
70
69
67
63
61
59
58
55
53
52
50
17
18
Approximierbarkeit
Sei (I , S, m, goal) ein Optimierungsproblem und sei x ∈ I . Dann
bezeichnen wir mit m∗ (x) den Wert einer optimalen Lösung für x.
Definition:
Sei (I , S, m, goal) ein Optimierungsproblem. Die
Approximationsgüte einer zulässigen Lösung y ∈ S(x) für eine
Eingabe x ∈ I ist
m(x, y) m∗ (x)
R(x, y) = max
,
m∗ (x) m(x, y)
Bei einigen Optimierungsproblemen, deren Entscheidungsvariante
NP-vollständig ist, kann man statt nach einer optimalen Lösung
nach einer Lösung suchen, die nicht notwendigerweise optimal ist,
aber garantiert nicht viel schlechter“ ist.
”
19
Beispiel: Ein einfacher Approximationsalgorithmus, der ein Vertex
Cover in einem Graphen G = (V, E) berechnet:
Ein Algorithmus A für ein Optimierungsproblem (I , S, m, goal)
heißt r-approximierend, falls für alle Eingaben x ∈ I die
Approximationsgüte höchstens r ist.
approx-vertex-cover(G = (V, E) )
1 V ← 0/
2 E ← E
3 while (|E | > 0)
4
do e ← {u, v} ∈ E
5
V ← V ∪ {u, v}
6
entferne alle Kanten aus E , die zu u oder v inzident sind
Satz:
20
R(x, A (x)) ≤ r
Definition:
Ein Optimierungsproblem P aus der Klasse NPO gehört zur
Klasse APX, falls es einen c-approximierenden Algorithmus mit
polynomieller Laufzeit für P für eine Konstante c ≥ 1 gibt.
approx-vertex-cover erzielt Approximationsgüte 2.
21
Beispiel: maximum-3-sat
Gegeben sei eine Boolesche Formel in CNF, in der jede der m Klauseln genau drei Literale enthält, die zu verschiedenen Variablen gehören.
Es sollen möglichst viele Klauseln erfüllt werden.
22
Da wir bedingte Erfüllungswahrscheinlichkeiten effizient berechnen
können, erhalten wir durch Derandomisierung einen
Polynomialzeitalgorithmus, der mindestens 78 m Klauseln erfüllt.
Eine Klausel
Ck = (λ1k ∨ λ2k ∨ λ3k )
ist bei einer zufälligen Belegung der Variablen mit Wahrscheinlichkeit
7
8 erfüllt. Der Erwartungswert einer Zufallsvariablen Zk , die 1 ist,
falls Ck erfüllt ist, und 0 sonst, ist also 78 . Wegen der Linearität des
Erwartungswertes ist die erwartete Anzahl erfüllter Klauseln 78 m.
E[. . . | X1 = 0]
E[. . . | X1 = 1]
Satz: Die Derandomisierung liefert einen 87 -approximierenden
Algorithmus für das Optimierungsproblem maximum-3-sat.
Herunterladen