Paritätsspiele - HolgerJanssen.de

Werbung
Rheinisch-Westfälische Technische Hochschule Aachen
Lehrgebiet Mathematische Grundlagen der Informatik
Prof. Dr. Erich Grädel
Seminar Fixpunktlogiken im WS 2000/01
Paritätsspiele
Holger Janßen
(Matrikelnummer 219613)
November 2000
Betreuer: Dietmar Berwanger
Paritätsspiele
Inhalt
Inhalt
1
Einleitung...........................................................................................................................2
2
Paritätsspiele .....................................................................................................................3
2.1
Definition des Spiels ...................................................................................................3
2.2
Strategie ......................................................................................................................4
2.3
Beispiel .......................................................................................................................4
2.4
Progress-Measures ......................................................................................................5
3
Anwendung für den µ-Kalkül........................................................................................10
3.1
Grundlegende Definitionen.......................................................................................10
3.2
Ein Spiel für den µ-Kalkül........................................................................................11
3.3
3.4
Beispiel .....................................................................................................................12
Beweis zur Semantik.................................................................................................14
4
Algorithmen.....................................................................................................................18
4.1
Ein Reduktions-Algorithmus ....................................................................................18
4.2
Ein Algorithmus für Paritätsspiele............................................................................19
5
Literatur...........................................................................................................................21
-1-
Paritätsspiele
1 Einleitung
1 Einleitung
In dieser Ausarbeitung geht es um eine spieltheoretische Deutung des µ-Kalküls. Zunächst
werden die hierfür geeigneten Paritätsspiele in Kapitel 2 allgemein eingeführt. In Kapitel 3
werden diese Spiele dann auf den µ-Kalkül angewendet, um mit diesen das ModelcheckingProblem zu lösen. Dazu wird der Beweis erbracht, dass die spieltheoretische Semantik der
ursprünglichen Semantik der Formel entspricht. Als Ergebnis wird in Kapitel 4 ein
Algorithmus für das Modelchecking-Problem entwickelt.
Die Verbindung zwischen den Gewinnstrategien in Paritätsspielen und der Gültigkeit von LµFormeln wird durch Progress-Measures hergestellt. Ein Progress-Measure ist eine Markierung
der Spielpositionen, aus der Gewinnstrategien abgelesen werden können. In Kapitel 3 werden
dann zu Formeln des µ-Kalküls Signaturen eingeführt, aus denen sich die Progress-Measures
aus Kapitel 2 bestimmen lassen.
Der Modelchecking-Algorithmus aus Kapitel 4 schließlich wird ein solches Progress-Measure
(falls vorhanden) zwar in exponentiellen Laufzeit aber mit linearem Platzbedarf bestimmen.
-2-
Paritätsspiele
2 Paritätsspiele
2 Paritätsspiele
In diesem Kapitel werden Paritätsspiele allgemein als Spiele auf Graphen eingeführt. Diese
Paritätsspiele sind (potentiell unendliche) Spiele auf einem Graphen, dessen Knoten mit
Prioritäten beschriftet sind. Gespielt wird von zwei Spielern (◊ und ), denen jeweils eine
Partition der Knotenmenge zugeordnet ist. Ein Zug besteht darin, dass der Spieler, in dessen
Menge sich der aktuelle Knoten befindet, eine Ausgangstransition dieses Knotens auswählt.
Die Partie wird dann im Zielknoten dieser Transition fortgeführt.
Die spätere Aufgabe wird sein, bei einem gegebenen Graphen und einem gegebenen
Startknoten zu entscheiden, welcher der beiden Spieler das Spiel unabhängig von den Zügen
des Gegners gewinnen kann.
2.1 Definition des Spiels
Definition 2.1 (Paritätsspiel)
Ein Paritätsspiel
*
= (V, V◊, V , E, p) besteht aus einem endlichen, irreflexiven Spielgraphen
G = (V, E)1, einer Prioritätsfunktion p : V → 1 und einer Knotenaufteilung V = V◊ V . Ein
Spiel * = (V, V◊, V , E, p, v0) besitzt zusätzlich einen ausgezeichneten Startknoten v0.
Mit Index von G wird die höchste auftretende Priorität bezeichnet, vE bezeichnet die Menge
aller E-Nachfolger eines Knoten v.
Das Spiel wird von den Spielern ◊ und
gespielt. Eine Partie ist ein endlicher oder
unendlicher Pfad π = v0 v1 v2 v3 ... mit (vi,vi+1) ∈ E, wobei an einer Stelle vi ◊ den nächsten
Zug wählt, wenn vi ∈ V◊, sonst zieht .
Spieler ◊ gewinnt eine Partie, wenn
•
ein Knoten vi ∈ V erreicht ist, der keine ausgehenden Kanten hat, oder
•
das Spiel unendlich ist und die größte Priorität eines unendlich oft im Pfad
π auftretenden Knotens
Paritätsbedingung).
Andernfalls gewinnt das Spiel.
(
max(Inf(π))
)
gerade
ist
(starke
Ein Unterspiel *Q mit Q⊆V ist definiert als *Q = (Q, V◊∩Q, V ∩Q, E ∩ Q×Q, pQ).
1
Die Kantenrelation E des Spielgraphen wird nur durch die Irreflexivität eingeschränkt. Insbesondere werden
keine Knoten ohne ausgehende Kanten ausgeschlossen. Dies macht die Paritätsspiele zwar schwieriger,
ermöglicht aber dafür ist die Anwendung auf den µ-Kalkül.
-3-
Paritätsspiele
2 Paritätsspiele
2.2 Strategie
Definition 2.2 (Strategie)
Eine speicherfreie Strategie für Spieler ◊ ist ein Teilgraph G◊ = (V, E◊), so dass es zu jedem
Knoten v ∈ V◊ genau ein w∈ V mit (v,w) ∈ E◊ gibt. Für alle v ∈ V bleiben die Nachfolger
vE◊ = vE.
Eine Strategie G◊ ist eine Gewinnstrategie für Spieler ◊ von einem Knoten v0∈V, wenn jede
Partie, die mit dem Knoten v0 beginnt und G◊ befolgt, von Spieler ◊ gewonnen wird. Ein
Spieler gewinnt ein Spiel, wenn er eine Gewinnstrategie besitzt.
Für Spieler werden Strategie und Gewinnstrategie analog definiert.
Unter Strategie soll im Folgenden immer eine speicherfreie Strategie verstanden werden.
Satz 2.1 von Emerson, Jutla, Mostowski (Determiniertheit von Paritätsspielen)
Für jedes Paritätsspiel
*
= (V, V◊, V , E, p, v0) hat genau einer der Spieler (◊ oder ) eine
Gewinnstrategie.
2.3 Beispiel
Der Spielgraph G = (V, E) mit der Prioritätenfunktion p (die Zahlen in den Konten) sei nach
Abb. 2.1 gegeben.
2
v0
v1
5
3
4
2
5
2
6
6
6
Abb. 2.1: Beispiel eines Paritätsspiels
Dann gewinnt ◊ das Spiel von v0 aus, während das Spiel von v1 als Startknoten gewinnt.
-4-
Paritätsspiele
2 Paritätsspiele
2.4 Progress-Measures
Für den späteren Algorithmus und für den Beweis in Kapitel 3 werden an dieser Stelle
Progress-Measures eingeführt. Die Idee ist, jeden Knoten im Spielgraphen mit einer
Bewertung zu beschriften, die angibt, wie weit Spieler ◊ noch davon entfernt ist, das Spiel zu
gewinnen. Die Progress-Measures werden algorithmisch einfacher zu handhaben sein, als die
Gewinnstrategien direkt.
Nach der formalen Definition wird gezeigt, dass die Existenz eines (beschränkten) ProgressMeasures ausreicht, um ein Spiel zu gewinnen, und umgekehrt.
Notation
Das Vergleichssymbol < bezeichnet auf Tupeln die lexikographische Ordnung. Die
Notationen <i und =i für ein i ∈
1
bezeichnen ebenfalls die lexikographische Ordnung bzw.
Gleichheit, bezogen auf die ersten i Elemente der Tupel. Zur Vereinfachung wird für < ein
Top-Element eingeführt.
Definition 2.3 (Progress-Measure)
Sei * = (V, V◊, V , E, p, v0) ein Paritätsspiel mit Index d.
Ein Progress-Measure für Spieler ◊ in
*
ist eine Funktion pm: V →
1
d
∪ {}, so dass für
alle Knoten v ∈ V mit p(v) < gilt:
•
Wenn v ∈ V◊, so gibt es ein w ∈ vE mit pm(w) ≤p(v) pm(v) und
•
wenn v ∈ V , dann gilt für alle w ∈ vE: pm(w) ≤p(v) pm(v).
Zusätzlich wird gefordert, dass die obigen Ungleichungen strikt sein müssen, wenn p(v)
ungerade ist.
Die nächsten beiden Lemmata (2.1 und 2.2) sollen die Beziehung zwischen Gewinnstrategien
und Progress-Measures verdeutlichen. Es wird gezeigt, dass ein beschränktes ProgressMeasure in eine Gewinnstrategie überführt werden kann und umgekehrt.
Lemma 2.1
Besitzt Spieler ◊ ein Progress-Measure mit pm(v0)< für das Spiel * = (V, V◊, V , E, p, v0), so
gewinnt er dieses Spiel.
Beweis2
Sei pm ein Progress-Measure mit pm(v0)< für das Spiel * = (V, V◊, V , E, p, v0).
Dann konstruieren wir die zur Strategie Gpm gehörige Kantenrelation Epm wie folgt:
2
aus [Ber00]
-5-
Paritätsspiele
2 Paritätsspiele
v ∈ V◊:
•
Wenn pm(v) < , wähle w∈vE mit pm(w) ≤p(v) pm(v) und setze vEpm := {w}.
Sonst setze vEpm := ∅.
v∈V :
•
Setze vEpm := vE.
Behauptung
Gpm ist eine Gewinnstrategie für Spieler ◊.
Beweis
Wenn ein Knoten v eine beschränkte Bewertung besitzt (pm(v) <
), so hat nach Definition
von Epm auch die Bewertung eines jeden Nachfolgeres w∈vEpm beschränkt. Da pm(v0) <
verläuft jede Partie, die Gpm befolgt, nur durch beschränkt bewertete Knoten. Außerdem hat
jeder Knoten v ∈ V◊ mit einer Bewertung kleiner
einen Nachfolger w∈vEpm mit ebenfalls
beschränkter Bewertung. Spieler ◊ kann also nicht stecken bleiben und gewinnt somit jede
endliche Partie.
Angenommen π = v0 v1 v2 ... sei eine unendliche Partie und gewinne diese, d.h. die kleinste
unendlich oft auftretende Priorität i ist ungerade. Nach Definition von Gpm vergrößert sich die
Bewertung pm niemals endlang seiner Pfade. Vielmehr verkleinert sie sich jedes Mal dann,
wenn ein Knoten v mit der Bewertung pm(v)=i durchlaufen wird. Da die Ordnung < keine
unendlichen absteigenden Ketten enthält, kann dies nicht unendlich oft vorkommen, was ein
Widerspruch zur Annahme darstellt.
a
Lemma 2.2
Wenn Spieler ◊ eine Gewinnstrategie für das Spiel * = (V, V◊, V , E, p, v0) besitzt, so auch ein
Progress-Measure mit pm(v0)<.
Beweis3
Sei G◊ eine Gewinnstrategie für das Spiel
von
*
*
= (V, V◊, V , E, p, v0) für Spieler ◊, d der Index
. Das Ziel ist es, hieraus ein Progress-Measure pm zu konstruieren, indem die Knoten
rekursiv mit einer Zeitmarke versehen werden. Die Zeitmarke wird in einer globalen Variable
s∈1d gespeichert, die mit 0 initialisiert ist.
3
aus [Ber00]
-6-
Paritätsspiele
2 Paritätsspiele
Der folgende Algorithmus Stamp(+) markiert die einzelnen Knoten eines Unterspiels
⊆ G◊:
•
Wenn + keine Knoten enthält, ist nichts zu tun.
•
Andernfalls
sei
Q
=
(Q1,
...,
Qn)
eine
Aufteilung
von
+
in
starke
Zusammenhangskomponenten. Die Zusammenhangskomponenten werden in der
topologischen Ordnung rückwärts wie folgt abgearbeitet:
o streichen: Qk besteht aus nur einem Knoten v.
Wenn i = p(v) ungerade ist, so erhöhe die i-te Position von s, ansonsten bleibt s
unverändert.
Markiere v mit s.
o angreifen: Qk besteht aus mehr als einem Knoten.
Sei i die kleinste Priorität in Qk und Vi := { v∈V: p(v) = i }.
Markiere alle Knoten aus Vi ∩ Qk mit s.
Sei M := Qk\Vi, dann fahre mit Stamp(+M) fort.
Wird Stamp auf das Unterspiel
*0
⊆ G◊, das genau alle von v0 aus erreichbaren Knoten
enthält, angewandt, so werden alle diese Knoten markiert. Alle anderen Knoten werden mit bewertet.
Um zu beweisen, dass die Markierungen nun ein Progress-Measure pm definieren, wird
zunächst gezeigt, dass der Algorithmus folgende Regeln beachtet:
(a) Kein Zyklus wird gestrichen, bevor er angegriffen wurde.
(b) Wenn eine strenge Zusammenhangskomponente angegriffen wird, hat keiner der
Knoten unmarkierte Nachfolger.
(c) Eine strenge Zusammenhangskomponente Q mit minimaler Priorität i wird nur mit s
angegriffen, wenn alle seine Knoten zuvor mit pm(v) =i s markiert wurden.
(d) Ein Knoten wird erst dann gestrichen, nachdem alle seine Nachfolger bearbeitet
wurden.
Beweis
(a) Da die Spiele keine Selbstzyklen enthalten, ist jeder Zyklus Teil einer
Zusammenhangskomponente mit mehr als einem Knoten. Nach dem Angriff dieser
bleibt der Zyklus entweder unberührt oder wird selbst angegriffen.
(b) Wenn eine Komponente Ql attackiert wird, sind alle topologisch nachfolgenden
Komponenten bereits abgearbeitet. Daher enthält Ql alle unmarkierten Nachfolger
seiner Knoten.
(c) Nach (a) werden die Knoten einer Komponente Q zuerst durch einen Angriff markiert.
Damit erhalten alle Knoten minimaler Priorität die Markierung s. Jeder weitere
-7-
Paritätsspiele
2 Paritätsspiele
Knoten aus Q wird erst später markiert und erhält damit eine Marke die
lexikographisch mindestens gleich groß ist. (Die Annahme, dass es einen Knoten mit
einer kleineren Markierung gibt, führt zu einem Widerspruch, da die Positionen unter i
nur erhöht werden, wenn eine ungerade Priorität kleiner als i angetroffen wird. i ist
jedoch minimal. a)
(d) Sei v der erste gestrichene Knoten mit unmarkiertem Nachfolger w. Das bedeutet, dass
w in der Topologie nicht nach v kommt. Also gibt es einen Zyklus, der v und w enthält
und noch nicht angegriffen wurde, was einen Widerspruch zu (a) darstellt. a
Nun kann gezeigt werden, dass das durch die Markierungen definierte Progress-Measure pm
konsistent ist:
Da der Algorithmus jeden Knoten des Unterspiels besucht, werden alle Knoten, die von v0 aus
erreichbar sind, markiert, insbesondere v0 selbst. Daher gilt pm(v0) <
. Da G◊ eine
Gewinnstrategie ist, haben alle Knoten aus V◊ mindestens eine ausgehende Kante.
Für alle Knoten v und jeden Nachfolger w∈vE◊ gilt: pm(v) ≥p(v) pm(w): Für gestrichene v folgt
dies direkt aus (d). Für angegriffene v, sei Q die angegriffene Komponente. Für w ∈ Q gilt die
Behauptung nach (a), sonst nach (c).
Außerdem gilt bei p(v) = i ungerade, dass der Algorithmus zunächst die i-te Position von s
erhöht, bevor s angewandt wird. Ein Knoten ungerader Priorität wird niemals angegriffen.
Nach (d) erhalten wir also pm(v) >i pm(w) für alle Nachfolger w∈vE◊.
Bemerkungen
s wird immer nur dann erhöht, wenn ein Knoten mit gerader Priorität i besucht wird. In
diesem Fall wird die i-te Position von s erhöht. Daher kann der Wertebereich von s wie folgt
eingeschränkt werden: (si bezeichne die i-te Position von s)
•
si ≤ | Vi | für alle i gerade,
•
si = 0 sonst.
Sei also PM ⊆ 1d die Menge mit den obigen Eigenschaften.
Damit und aus den Lemmata 2.1 und 2.2 ergibt sich direkt das Ergebnis:
Satz 2.2 (über Progress-Measures)
Spieler ◊ gewinnt das Spiel
*
= (V, V◊, V , E, p, v0) genau dann, wenn er ein Progress-
Measure mit pm: V → PM∪{} und pm(v0)< hat.
-8-
Paritätsspiele
2 Paritätsspiele
Nach diesem Satz ist es leicht einzusehen, dass das Problem der Entscheidung, welcher der
beiden Spieler eine Gewinnstrategie hat, in NP∩Co-NP liegt. Die Größe eines ProgressMeasures ist linear in der Knotenanzahl und der höchsten Priorität. Wenn ein solche
Beschriftung geraten wird, kann in polynomineller Zeit verifiziert werden, ob es sich wirklich
um ein Progress-Measure handelt.
-9-
3 Anwendung für den µ-Kalkül
Paritätsspiele
3 Anwendung für den µ-Kalkül
In diesem Kapitel wird das Modelchecking-Problem des µ-Kalküls auf Paritätsspiele
übertragen. Um dies zu erreichen, wird eine Übersetzung angegeben, die an einem Beispiel
nachvollzogen wird. Die Übersetzung erfolgt durch die Konstruktion eines Spielgraphen aus
einer Formel und der zugrunde gelegten Kripkestruktur.
Anschließend folgt dann der formale Beweis dazu, dass die Semantik des konstruierten Spiels
der Semantik der ursprünglichen Formel entspricht. Hierzu werden Signaturen von Formeln
eingeführt, die eine Entsprechung in den Progress-Measures der Paritätsspiele haben.
3.1 Grundlegende Definitionen
Zunächst müssen einige Begriffe eingeführt werden, darunter zunächst die hier zugrunde
gelegte Definition des µ-Kalküls.
Definition 3.1 (Kripkestruktur)
Eine Kripkestruktur
.
= (V, (Ea)a∈A, (Pi)i∈I) ist ein Graph mit beschrifteten Kanten Ea ⊆ V×V
und Knoteneigenschaften Pi ⊆ V.
(.,X) bezeichnet eine Erweiterung von K um eine zusätzliche Eigenschaft X⊆ V.
Definition 3.2 (Syntax des µ-Kalküls Lµ)
Sei τ eine Menge von Aussagenvariablen.
Lµ ist eine Menge von Formeln über Kripkestrukturen definiert durch:
•
Die Bool’schen Konstanten tt und ff sind Lµ-Formeln.
•
Für i∈I ist Pi∈ Lµ .
•
Für X∈τ ist X eine Formel.
•
Wenn ϕ und ψ Formeln sind, dann auch (ϕ ∨ ψ), (ϕ ∧ ψ) und ¬ϕ.
•
Für a∈ A und ϕ∈ Lµ sind auch [a] ϕ und ⟨a⟩ϕ Formeln.
•
Wenn ϕ ∈ Lµ und X in ϕ nur positiv (d.h. unter einer geraden Anzahl von Negationen)
vorkommt, so sind auch µX.ϕ und νX.ϕ Formeln. X wird dann gebunden genannt.
Mit τ(ϕ) wird die Menge der in ϕ frei (i.e. nicht gebunden) vorkommenden Variablen
bezeichnet.
Meistens interessiert man sich nur für Formeln ϕ mit τ(ϕ)=∅, sogenannte Sätze. Freie
Variablen X∈τ(ϕ) können durch eine Erweiterung (.,X) der Kripkestruktur immer als
Eigenschaften ausgefasst werden.
Mit Sub(ϕ) wird die Menge aller Unterformeln von ϕ bezeichnet.
ϕ[X/ψ] bezeichnet die syntaktische Ersetzung aller Vorkommen von X in ϕ durch ψ.
- 10 -
3 Anwendung für den µ-Kalkül
Paritätsspiele
Definition 3.3 (Semantik des µ-Kalküls)
Sei ϕ ∈ Lµ ein Satz, . = (V, (Ea)a∈A, (Pi)i∈I) eine Kripkestruktur und v∈ V.
Dann gilt für die Modellbeziehung :
•
ϕ=tt, ϕ=ff:
.
•
•
•
,v tt, .,v tt.
ϕ=ψ1∨ψ2, ϕ=ψ1∧ψ2, ϕ=¬ψ:
.
,v ψ1∨ψ2 :⇔
.
,v ψ1 oder .,v ψ2
.
,v ψ1∧ψ2 :⇔
.
,v ψ1 und .,v ψ2
.
,v ¬ψ
:⇔
.
,v ψ
ϕ=[a] ψ, ϕ=⟨a⟩ψ:
.
,v [a] ψ
:⇔
a
Für alle v’ mit v 
v' gilt .,v’ ψ
→
.
,v ⟨a⟩ψ
:⇔
a
Es gibt ein v’ mit v 
v' und .,v’ ψ
→
ϕ=µX.ψ, ϕ=νX.ψ:
ψ(X) definiert auf V einen Operator ψ : V → V mit X { v : (.,X),vϕ }.
Dann gilt:
.
,v µX.ψ
:⇔
v ∈ lfp (ψ )
.
,v νX.ψ
:⇔
v ∈ gfp (ψ )
Eine Formel ϕ ist in Normalform, wenn alle gebundenen Variablen unterschiedlich benannt
sind und alle Negationen vor atomaren Formeln stehen.
Definition 3.4 (Ordnung der Fixpunktvariablen)
Seien X,Y Fixpunktvariablen in ϕ. Dann gilt X <ϕY genau dann, wenn das syntaktisch erste
Auftreten von X vor dem ersten Auftreten von Y liegt.
3.2 Ein Spiel für den µ-Kalkül
Hier wird nun die Konstruktion eines Paritätsspiels aus einem Modelchecking-Problem
angegeben.
Definition 3.5 (Modelchecking-Spiel)
Sei ϕ ∈ Lµ ein Satz in Normalform, . = (W, (Ea)a∈A, (Pi)i∈I) eine Kripkestruktur und v∈ W.
Dann wird das Modelchecking-Spiel *(.,v,ϕ) wie folgt als Paritätsspiel definiert:
Das Spieluniversum V besteht aus Tupeln (ψ,w) ∈ Sub(ϕ) × W.
Die Relation E des Spiels wird über die Nachfolger eines jeden Knoten definiert:
•
Für (ψ,w) mit ψ=ψ1∨ψ2 oder ψ=ψ1∧ψ2:
- 11 -
3 Anwendung für den µ-Kalkül
Paritätsspiele
(ψ,w)E := { (ψ1,w), (ψ2,w) }
•
Für (ψ,w) mit ψ=[a] ψ1 oder ψ=⟨a⟩ψ1:
(ψ,w)E := { (ψ1,w’) : (w,w’) ∈ Ea }
•
Für (ψ,w) mit ψ=µX.ψ 1 oder ψ=νX.ψ 1:
(ψ,w)E := { (ψ 1,w) }
•
Für (X,w) für eine gebundene Fixpunktvariable X aus der (eindeutig) zugehörigen
Formel σX.ψ mit σ∈{µ,ν}:
(X,w)E := { (σX.ψ,w) }
•
Sonst (ψ,w)E :=∅.
Die Knotenaufteilung ergibt sich aus
V◊ := { (ψ,w): ψ =ff, ψ=ψ1∨ψ2, ψ=⟨a⟩ψ1 oder ψ=Pi mit .,v Pi }
und V := V \ V◊. Der Startpunkt ist (ϕ,v).
Sei X1 <ϕ X2<ϕ ... <ϕ Xk die Ordnung der Fixpunktvariablen von ϕ.
Dann wird die Prioritätsfunktion p:V→V schließlich durch
 2i + 1 falls % = µX i .ϑ

p(ψ , w) =  2i
falls % = νX i .ϑ
2 k + 2
sonst

definiert.
Bemerkung
Durch die Wahl der Prioritätsfunktion wird bei unendlichen Partien nach dem „äußersten“
unendlich oft durchlaufenen Fixpunkt entschieden, welcher Spieler gewonnen hat: Handelt es
sich um einen größten Fixpunkt, so gewinnt Spieler ◊, andernfalls Spieler .
3.3 Beispiel4
Gegeben sind die Struktur
.
(nach Abb. 3.1), eine Formel ϕ, deren Struktur nach Abb. 3.2
gegeben ist. Daraus ergibt sich dann der Spielgraph G nach Abb. 3.3. Die dunkleren Knoten
sind dabei die von Spieler ◊. Die Zahlen oben rechts an den einzelnen Knoten bezeichnen die
Prioritätsfunktion.
4
vgl. [Vög00]
- 12 -
3 Anwendung für den µ-Kalkül
6
6
6
6
6
1
2
6
Paritätsspiele
a
2
3
b
4
b
6
Abb. 3.1:
6
Abb. 3.3: G
6
6
6
6
6
1
2
6
6
6
6
6
6
1
6
6
1
Abb. 3.2: ϕ
6
6
6
a
2
1
2
b
- 13 -
3 Anwendung für den µ-Kalkül
Paritätsspiele
3.4 Beweis zur Semantik
Im Beweis zur Semantik (Satz 3.1) wird ein Progress-Measure für das konstruierte
Paritätsspiel aufgebaut. Dieses wird aus den noch zu definierenden Signaturen von Formeln
geschehen.
Ähnlich zu dem Seminarthema „Reduktion der Alternierungstiefe“ wird der Fixpunkt einer
Formel durch syntaktische Operationen approximiert.
Definition 3.6 ((syntaktischer) Approximant)
Für eine Fixpunktformel µx.ϕ(x) und ein i ∈
1
sei ein (syntaktischer) Approximant ϕi(x)
induktiv wie folgt definiert:
•
ϕ0(x) := ff,
ϕi+1(x) := ϕ [x/ϕi(x)].
Nach dem Satz von Tarski und Knaster und wie im Vortrag zu „Reduktion der
•
Alternierungstiefe“ gesehen, existiert ein k ∈ 1, so dass
(.,v) νx.ϕ(x)
⇔
(.,v) ϕk(x)
gilt.
Wenn X1 <ϕ X2<ϕ ... <ϕ Xk die Ordnung aller Fixpunktvariablen von ϕ und s = (s1, ... , sk) ein
Tupel aus 1k ist, so bezeichnet
ϕs := ϕ[Xk/D(Xk)][Xk-1/D(Xk-1)] … [X1/D(X1)],
wobei
 X falls X i zu einer Formel ; i .% ∈ Sub(ϕ ) gehört
D( X i ) :=  sii
.
% falls X i zu einer Formel µX i .% ∈ Sub(ϕ ) gehört
Definition 3.7 (Signatur)
Die µ-Signatur von (ϕ,v) in
.
.
mit v∈V ist als das (lexikographisch) kleinste Tupel s mit
,v ϕ definiert, bezeichnet als Sigµ (ϕ,v).
s
Da es sich bei Sigµ (ϕ,q) um das kleinste Tupel handelt, sind alle si, die zu Variablen mit
größtem Fixpunkt gehören, gleich 0. Außerdem besitzen nur durch (.,v) erfüllbare Formeln
eine Signatur.
Lemma 3.1 (über Signaturen)
(a) Wenn (ψ∧ϑ, v) eine Signatur s in
.
besitzt, dann haben auch (ψ, v) und (ϑ, v) keine
größere Signatur.
(b) Wenn (ψ∨ϑ, v) eine Signatur s in . besitzt, dann auch (ψ, v) oder (ϑ, v).
- 14 -
3 Anwendung für den µ-Kalkül
Paritätsspiele
(c) Wenn ([a] ψ, v) eine Signatur s in
besitzt, dann gilt für alle w ∈ vE: (ψ,w) hat eine
.
nicht größere Signatur in ..
(d) Wenn (⟨a⟩ψ, v) eine Signatur s in
.
besitzt, dann gibt es ein w ∈ vE, so dass (ψ,w)
ebenfalls eine Signatur in . besitzt.
(e) Wenn (σXi.ψ, v), σ∈{ν,ψ} eine Signatur s in . besitzt, dann Sigµ (ψ,v) =i-1 s.
(f) Wenn (Xi,v) eine Signatur s in . besitzt und Xi zu der Unterformel µXi.ψ gehört, dann
gilt Sigµ (ψ,v) <i s.
(g) Wenn (Xi,v) eine Signatur s in . besitzt und Xi zu der Unterformel νXi.ψ gehört, dann
gilt Sigµ (ψ,v) = s.
Beweis5
Es ist klar, dass für jede monotone Formel ϕ .,v ϕs auch .,v ϕt für alle t > s impliziert.
(a) Nach der Definition von ϕs gilt
.
.
,v
(ψ∧ϑ)s genau dann, wenn
.
,v
ψs und
,v ϑs gelten. Daher haben sowohl (ψ, v) als auch (ϑ, v) eine Signatur ≤ s.
(b) Folgt analog zu (a).
(c) Klar ist, dass
wenn .,w
.
([a] ψ)s ⇔
,v
.
,v
[a] ψs gilt.
.
,v
[a] ψs gilt aber genau dann,
ψs für jeden Nachfolger w ∈ vE gilt. Daher hat jedes (ψ,w) eine Signatur
t ≤ s.
(d) Folgt analog zu (c).
(e) Keine der Variablen Xj mit j > i erscheint frei in σXi.ψ. Damit ist
.
,v
(σXi.ψ)s
äquivalent zu
.
,v (σXi.ψ) [Xi/D(Xi)][Xi-1/D(Xi-1)] … [X1/D(X1)].
(3.1)
Mit ϑ:=ψ[Xi-1/D(Xi-1)] … [X1/D(X1)] folgt, dass Xi die einzige freie Variable in ϑ ist.
Damit ist (3.1) äquivalent zu .,v
σXi.ϑ. Nach der Fixpunktsemantik kann das auch
als .,v ϑ[Xi/(σXi. ϑ)] geschrieben werden.
Rückeinsetzen der Definition von ϑ am Anfang der Formel liefert
.
,v ψ[Xi-1/D(Xi-1)] … [X1/D(X1)] [Xi/(σXi. ϑ)].
Die Reihenfolge der Substitutionen kann nun vertauscht werden und wir sind bei
.
,v ψ [Xi/(σXi. ϑ)][Xi-1/D(Xi-1)] … [X1/D(X1)].
Die ersten i-1 Stellen des Tupels s sind also gleich mit den entsprechenden Stellen der
Signatur von (ψ,v).
(f) Wiederum taucht keine der Variablen Xj, j>i frei in µXi.ψ auf, so dass .,v Xi als
.
,v ψ si [Xi-1/D(Xi-1)]... [X1/D(X1)]
geschrieben werden kann.
5
vgl. [Ber00]
- 15 -
3 Anwendung für den µ-Kalkül
Paritätsspiele
Nach der Definition der Approximanten bedeutet dies
.
,v ψ [Xi/ψ si −1 ][Xi-1/D(Xi-1)]... [X1/D(X1)].
Daraus folgt direkt, dass die ersten i Stellen von Sigµ (ψ,v) (s1, ... , si-1, si-1) sind.
(g) .,v (Xi)s ist nach Definition zu
.
,v ψ[Xi/D(Ti)]…[X1/D(X1)]
äquivalent. Daher sind die Signaturen von (Xi,v) und (ψ,v) gleich.
Nach den vorbereitenden Definitionen und Lemmata kann nun der angestrebte Beweis zur
Reduktion des Modelchecking-Problems geführt werden:
Satz 3.1 (Reduktion des Modelcheckings)
Sei ϕ ein Satz des µ-Kalküls,
.
= (V, (Ea)a∈A, (Pi)i∈I) eine Kripkestruktur und v∈V ein
Knoten.
Dann gilt:
(.,v) ϕ
genau dann, wenn
Spieler ◊ das Spiel *(.,v,ϕ) gewinnt.
Beweis6
⇒
Das Lemma 3.1 liefert schon fast das Ergebnis, dass Signaturen Progress-Measures
entsprechen. Ein solches Progress-Measure pm: W→12n+2∪{} kann aus Sigµ wie
folgt definiert werden:
•
pm(w) := , wenn w keine µ-Signatur in . besitzt.
•
Sonst setzte für alle µ-Variablen Xi pm(w)2i+1 := Sigµ (w)2i+1. Die übrigen
Stellen von pm(w) werden auf 0 gesetzt.
Aus dem obigen Lemma folg direkt, dass pm ein Progress-Measure für Spieler ◊ in
( ,v,ϕ) ist.
* .
Da (ϕ,v) keine freien Variablen enthält und
.
,vϕ, gilt Sigµ (ϕ,v)=0 und damit pm
(ϕ,v) = 0 < .
Nach Satz 2.2 gewinnt damit Spieler ◊ das Spiel.
6
vgl. [Ber00]
- 16 -
3 Anwendung für den µ-Kalkül
Paritätsspiele
⇐
Angenommen (.,v) ϕ.
Für jede Formel ψ ∈ Sub(ϕ) sei ψ die Formel, die man erhält, wenn man ¬ψ in
Normalform bringt. Dann gilt (.,v)
Diese wird ν-Signatur von ϕ in
.
ϕ ⇔ (.,v) ϕ . Damit ist Sigµ ( ϕ ,v) definiert.
(i.Z. Sigν (ϕ,v) ) genannt. (Der Name kommt daher,
dass bei der Negation der Formel alle µ-Operatoren in ν-Operatoren transformiert
werden und umgekehrt.)
Das Ziel ist es, Sigν (ϕ,v) als Beweis für den Gewinn von
anzusehen. Durch
Dualisierung der Definition des Progress-Measure für Spieler ◊ erhalten wir diese für
Spieler . Dann ergibt sich als duale Aussage zu Lemma 2.1 direkt:
Lemma 4.10
Besitzt Spieler ein Progress-Measure mit pm(v0)< für das Spiel * = (V, V◊,V , E, p,
v0), so gewinnt er dieses Spiel.
Entsprechend gelten für ν-Signaturen die dualen Aussagen zu Lemma 3.1. Analog zu
der anderen Richtung wird ein Progress-Measure pm: W→12n+2∪{} für
wie folgt
definiert:
•
pm(w) := , wenn w keine ν-Signatur in . besitzt.
•
Sonst setzte für alle ν-Variablen Xi pm(w)2i+1 := Sigν (w)2i+1. Die übrigen
Stellen von pm(w) werden auf 0 gesetzt.
Da (.,v) ϕ ist die ν-Signatur Sigν (ϕ,v) gleich 0 (und ist insbesondere definiert).
Also gilt pm(ϕ,v)=0 < und Spieler gewinnt das Spiel.
- 17 -
Paritätsspiele
4 Algorithmen
4 Algorithmen
In diesem Kapitel werden nun zwei Algorithmen angegeben, die zusammen das
Modelchecking-Problem des µ-Kalküls lösen. Zunächst wird aus einem gegebenen
Modelchecking-Problem ein nach Satz 3.1 äquivalentes Paritätsspiel erzeugt. Mit dem
zweiten Algorithmus wird dann entschieden, ob Spieler ◊ das Spiel gewinnt oder nicht (i.e. ob
die Formel durch die gegeben Kripkestruktur erfüllt wird oder nicht).
4.1 Ein Reduktions-Algorithmus7
Der folgende Algorithmus bekommt als Eingabe eine Formel ϕ ∈ Lµ, eine Kripkestruktur . in
Form einer Liste, die alle Paare der Kantenrelationen Ei in . enthält, und einen Startknoten v.
Im erstellten Spiel werden lediglich von (ϕ,v) aus erreichbare Positionen berücksichtigt, da
der Algorithmus eine Art Breitensuche durchführt.
Eingabe: ., v, ϕ
V := 0; E:= 0;
U := {(ϕ, v)}
for each (ψ, w) ∈ U
V := V ∪ { (ψ, w) }
berechne p(ψ, w);
W := vE;
for each (ϑ,x) ∈ W
E := E ∪ {((ψ, w), (ϑ,x))};
end;
end;
Ausgabe: V,E,p
Es ist leicht einzusehen, dass die Laufzeit des Algorithmus linear in der Größe des
resultierenden Spiels ist, wobei das Spiel durch |.| * |Sub(ϕ)| beschränkt ist.
7
aus [Ber00]
- 18 -
Paritätsspiele
4 Algorithmen
4.2 Ein Algorithmus für Paritätsspiele8
Um ausgehend von Satz 2.2 einen Algorithmus für Paritätsspiele zu konstruieren, sind noch
ein paar Vorbereitungen notwendig.
Zunächst sei mip(i,q) mit 1 ≤ i ≤ d und q ∈ PM∪{} eine Abkürzung für die minimale
Bewertung über q bis zur Stelle i:
q =


mip(i,q) = min{ p ∈ PM : q ≤ i p} wenn q < und i gerade .
min{ p ∈ PM : q < p}
q < und i ungerade
i

Die Menge P := {pm : pm: V→ PM∪{}} enthält alle Kandidaten für Progress-Measures.
Für zwei gegebene Funktionen pm1, pm2 wird die Relation durch
pm1 pm2 :⇔ pm1(v) ≤ pm2(v) für alle v ∈ V.
(P, ) stellt dann einen vollständigen Verband dar.
Auf diesem Verband sei für jedes v ∈ V der Operator Liftv: P×V→P definiert:
pm(u )
u≠v


Liftv (pm)(u) := min w∈vE mip ( p(v), pm( w)) wenn u = v ∈ V◊ .
 max mip( p(v), pm( w))
u = v ∈V
w∈v

Da Liftv (pm) bei seinem Argument immer nur den Wert beim Konten v ändert, ist Liftv
monoton.
Weiterhin gilt, dass, wenn ein pm ∈ P kein Progress-Measure ist, es einen Knoten v gibt, an
dem pm mittels Liftv angehoben werden kann, d.h. pm Liftv (pm).
Jeder simultane Fixpunkt des Operators Lift := (Liftv)v∈ V (der Dimension |V|) ist damit ein
Progress-Measure. Nach dem Satz von Knaster und Tarski hat der Operator Lift im
vollständigen Verband (P, ) einen durch Iteration berechenbaren Fixpunkt.
Der folgende Algorithmus berechnet ein minimales Progress-Measure für ein gegebenes
Paritätsspiel:
Eingabe: *
pm := (v 0 für alle v ∈ V)
while (pm < Liftv (pm) für ein v ∈ V)
pm := Liftv(pm)
end;
Ausgabe: pm
8
aus [Ber00]
- 19 -
Paritätsspiele
4 Algorithmen
Zum Erreichen des kleinsten Fixpunktes von Liftv sind O(d*|vE|) Schritte nötig, dies ist
maximal |PM| oft nötig. Für den gesamten Algorithmus ergibt sich daher:

O ∑ d * | vE | * | PM
 v∈V

|  = O(d * k * | PM |).

|PM| kann durch
d / 2 
 n 

PM = ∏ (| PM 2i −1 | +1) = 
i =1
 d / 2 
d / 2 
abgeschätzt werden.
Insgesamt liegt also die Laufzeit des Algorithmus in
  n  d / 2  
.

O k * 
  d / 2 



Der Speicherplatz des Algorithmus ist durch den zu errechnenden Progress-Measure gegeben.
Um ihn abzuspeichern ist ein d-Tupel für jeden Knoten des Spielgraphen nötig. Insgesamt
ergibt sich also eine Speicherplatzkomplexität von O(n*d).
- 20 -
Paritätsspiele
5 Literatur
5 Literatur
[Ber00]
Dietmar Berwanger, Games and Model Checking for Guarded Logics,
Diplomarbeit an der RWTH Aachen, Aachen 2000
[Vög00]
Jens Vöge, Strategiesynthese für Paritätsspiele auf endlichen Graphen,
Dissertation an der RWTH Aachen, Aachen 2000
- 21 -
Herunterladen