Logik für Informatiker - LS1

Werbung
Logik für Informatiker
Wintersemester 2007/08
Thomas Schwentick
Teil C: Nichtklassische Logiken
9. Temporallogiken
Version von: 4. Februar 2008(11:55)
Inhalt
9.1 Vorüberlegungen
9.2 Lineare Zeit: LTL
9.3 Verzweigende Zeit: CTL
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 1
Vorüberlegungen (1/3)
Nochmal: Ein Drucker und zwei Nutzer
0
end1
beg1
6
p1 , i2
end2
w1 , p2
req2
1
2
w 1 , i2
i1 , w 2
req2
beg2
4
end2
i1 , i2
req1
• In der Informatik ist es oft
req1
•
beg2
i1 , p2
end1
5
3
w1, w2
req2
7
beg1
p1 , w2
•
req1
•
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
interessant, Aussagen über das
Verhalten von Transitionssystemen
zu machen
In der Modallogik können wir solche
Eigenschaften im Prinzip
ausdrucken:
– 33p1 drückt aus, dass es
möglich ist, dass nach zwei
Systemübergängen der Drucker
einen Job für Nutzer 1 druckt
Aber: jede ML-Formel F kann
höchstens über md(F ) viele
Schritte des Systems sprechen
Interessante Systemeigenschaften
beziehen sich aber auf
unbeschränkte oder sogar
unendliche Berechnungen
Folie 2
Vorüberlegungen (2/3)
• Statt Kripkestrukturen betrachten wir im
folgenden Transitionssysteme:
– Statt Welten sagen wir: Zustände
– Zusätzlich: Menge I von initialen
Zuständen
• Eine Möglichkeit, um über längere
Berechnungen zu sprechen:
– Betrachte statt der Kantenrelation des
Transitionssystems ihren transitiven
Abschluss E ∗:
∗ Also: (u, v) ∈ E ∗ :⇐⇒ es gibt
einen Weg von u nach v
– Dann bedeutet 3F , dass die Formel F
irgendwann in der Zukunft gilt
– Dies ist der Weg, der auch in
[Kreuzer/Kühling] eingeschlagen wird
Logik für Inf. / Schwentick / WiSe 07/08
• Im Bereich der Automatischen Verifikation
wird jedoch meistens anders vorgegangen:
– Die Kanten des Transitionssystems
entsprechen Ein-Schritt-Übergängen
– Dafür werden neue logische Operatoren
verwendet, die über ganze Berechnungen
sprechen können
• Dabei werden vor allem zwei verschiedene
Logiken verwendet:
– LTL kann Aussagen über Eigenschaften
aller Berechnungen machen
– CTL kann Aussagen über den Baum der
möglichen Berechnungen machen
C: 9. Temporallogiken
Folie 3
Vorüberlegungen (3/3)
• Notation: Um eine Verwechslung mit den temporallogischen Operatoren
F, G, U , X zu vermeiden, werden in diesem Kapitel AL-Variablen mit
kleinen Buchstaben wie p, q bezeichnet und Formeln mit kleinen
griechischen Buchstaben wie ϕ oder ψ
Beispiel
1
2
a
a, b
4
3
a
• Eine Berechnung eines Transitionssystems T = (V, E, P, I) ist eine
Folge s0 , s1 , s2 , . . . von Zuständen mit (si, si+1 ) ∈ E , für jedes i
• Berechnungen können endlich oder unendlich sein:
– 1, 2, 3, 2, 3, 2, 3, ...
– 1, 4, 4, 4, 3, 2
• Eine Berechnung heißt initial, wenn ihr erster Zustand initial ist
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 4
Inhalt
9.1 Vorüberlegungen
9.2 Lineare Zeit: LTL
9.3 Verzweigende Zeit: CTL
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 5
Lineare Zeit: Grundbegriffe
• Jede Berechnung π = s0 , s1 , s2 , . . . induziert einen Trace
(„Spur“) P (π) = P (s0 ), P (s1 ), P (s2 ), . . .
• Die Linearzeitlogik LTL macht Aussagen über die möglichen Traces
•
•
eines Systems
Einige typische Aussagen:
– Jeder Druckjob von Nutzer 1 wird irgendwann gedruckt
– Es kommt nicht vor, dass ein Job für Nutzer 1 und einer für
Nutzer 2 gleichzeitig gedruckt werden
– Jederzeit kann einer der beiden Nutzer in einem Schritt zum
Warten übergehen
Dazu verwendet LTL die folgenden Operatoren:
– Fϕ: irgendwann in der Zukunft gilt ϕ
– Gϕ: immer in der Zukunft (und schon jetzt) gilt ϕ
– Xϕ: es gibt einen Ein-Schritt-Übergang, nach dem ϕ gilt
– ϕ U ψ : irgendwann in der Zukunft gilt ψ und bis dahin gilt ϕ
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 6
Illustration der LTL-Operatoren
Beispiel
?
Fϕ gilt
!"
(a)
ϕ
?
(b)
ϕ
?
(c)
(e)
Fϕ gilt
ϕ
?
(d)
Fϕ gilt nicht
?
Fϕ gilt nicht
ϕ
Logik für Inf. / Schwentick / WiSe 07/08
Fϕ gilt
C: 9. Temporallogiken
Folie 7
Illustration der LTL-Operatoren (Forts.)
Beispiel
?
Gϕ gilt
!"
(a)
ϕ
(d)
(e)
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
?
(b)
(c)
ϕ
ϕ
?
ϕ
ϕ
ϕ
?
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
?
ϕ
ϕ
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Gϕ gilt
Gϕ gilt nicht
Gϕ gilt nicht
Gϕ gilt nicht
Folie 8
Illustration der LTL-Operatoren (Forts.)
Beispiel
?
Xϕ gilt
!"
(a)
ϕ
?
(b)
ϕ
?
(c)
(e)
Xϕ gilt nicht
ϕ
?
(d)
Xϕ gilt nicht
?
Xϕ gilt nicht
ϕ
Logik für Inf. / Schwentick / WiSe 07/08
Xϕ gilt nicht
C: 9. Temporallogiken
Folie 9
Illustration der LTL-Operatoren (Forts.)
Beispiel
?
ψ U ϕ gilt
#$
%&
'(!
)"
(a)
(b)
(c)
(d)
(e)
(f)
ψ
ψ
ψ
ϕ
?
ψ U ϕ gilt
ϕ
?
ψ
ψ
ψ, ϕ
ψ U ϕ gilt
ϕ
?
ψ
ψ
ψ
ϕ
ϕ
ϕ
?
ψ
ψ U ϕ gilt nicht
ϕ
ψ
?
ψ
ψ
Logik für Inf. / Schwentick / WiSe 07/08
ψ
ψ
C: 9. Temporallogiken
ψ U ϕ gilt
ψ
ψ
ψ U ϕ gilt nicht
Folie 10
LTL: Beispielformeln
• Jeder Druckjob von Nutzer 1 wird irgendwann gedruckt:
G(w1 → Fp1 )
• Es kommt nicht vor, dass ein Job für Nutzer 1 und einer für Nutzer 2
gleichzeitig gedruckt werden
G¬(p1 ∧ p2 )
• Jederzeit kann einer der beiden Nutzer in einem Schritt zum
Warten übergehen
GX(w1 ∨ w2 )
• Es wird unendlich oft gedruckt
GF(p1 ∨ p2 )
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 11
LTL: Formal
Definition (LTL: Syntax)
Definition (LTL: Semantik)
• Für jedes p ∈ AV ist p eine
•
•
•
LTL-Formel
Sind ϕ und ψ LTL-Formeln, so auch
¬ϕ, ϕ ∧ ψ und ϕ ∨ ψ
Ist ϕ eine LTL-Formel, so auch
Fϕ, Gϕ und Xϕ
Sind ϕ und ψ LTL-Formeln, so auch
ψUϕ
• Für eine Berechnung
π = s0 , s1 , s2 · · · bezeichne π i
die Berechnung si, si+1 , . . .
• Bindungsstärke der Operatoren:
– Am stärksten unär: ¬, F, G, X
– Dann: U
– Dann: ∨, ∧
– Dann: →
• Also: p U q ∧ r ≡ (p U q) ∧ r
Logik für Inf. / Schwentick / WiSe 07/08
• Sei T ein Transitionssystem, π eine Berechnung
von T und sei P (π) = l0 l1 l2 · · ·
• Wir definieren π |= ϕ induktiv wie folgt:
–
–
–
–
–
–
–
–
π |= p,
falls p ∈ l0
π |= ¬ϕ,
falls π 6|= ϕ
π |= ϕ ∧ ψ ,
falls π |= ϕ und π |= ψ
π |= ϕ ∨ ψ , falls π |= ϕ oder π |= ψ
π |= Fϕ,
falls π i |= ϕ, für ein i ≥ 0
π |= Gϕ,
falls π i |= ϕ, für alle i ≥ 0
π |= Xϕ,
falls π 1 |= ϕ
π |= ψ U ϕ, falls
∗ es ein j gibt, so dass π j |= ϕ und
∗ für alle i, 0 ≤ i < j gilt π i |= ψ
• T |= ϕ : für alle initialen Berechnungen π von
T gilt π |= ϕ
C: 9. Temporallogiken
Folie 12
Inhalt
9.1 Vorüberlegungen
9.2 Lineare Zeit: LTL
9.3 Verzweigende Zeit: CTL
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 13
Linare und verzweigende Zeit
Beispiel
• Ein Transitionssystem T erfüllt eine
•
Linearzeit-Eigenschaft, wenn alle initialen
Berechnungen eine bestimmte Bedingung
erfüllen
Damit lassen sich viele interessante
Eigenschaften von Systemen beschreiben,
aber nicht alle
B,C
1
A
A
¬o C ¬o
B
3
¬o
A
4
o
B,C
• Das System im Beispiel hat die Eigenschaft,
➞
2
dass von jedem Zustand aus noch ein
Zustand mit o erreicht werden kann
das kann nicht von einer LTL-Formel
ausgedrückt werden
Beispiel
B
C
A
• Jetzt betrachten wir eine Logik, deren
➞
Aussagen sich stärker auf den
Berechnungsbaum beziehen
CTL: Computation Tree Logic
Logik für Inf. / Schwentick / WiSe 07/08
B
C: 9. Temporallogiken
C A
B
C A
C
B A
Folie 14
CTL: Zutaten
• In CTL ist es möglich über Berechnungen zu
quantifizieren:
– E: es gibt einen Pfad...
– A: für alle Pfade...
• Aber: hinter E und A muss sich direkt ein
temporaler Operator befinden:
– EF, EG, EX, E U
– AF, AG, AX, A U
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 15
CTL: EFblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 16
CTL: EGblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 17
CTL: EXblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 18
CTL: E(rot U blau)
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 19
CTL: AFblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 20
CTL: AGblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 21
CTL: AXblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 22
CTL: A(rot U blau)
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 23
CTL: Definition
Definition (CTL: Syntax)
•
•
•
•
•
•
•
Sei P eine Menge von Propositionen
> und ⊥ sind CTL-Formeln
Für jedes p ∈ P ist p eine CTL-Formel
Sind ϕ und ψ CTL-Formeln, so auch
¬ϕ, ϕ ∧ ψ und ϕ ∨ ψ
Ist ϕ eine CTL-Formel, so auch
EFϕ, EGϕ und EXϕ
Ist ϕ eine CTL-Formel, so auch
AFϕ, AGϕ und AXϕ
Sind ϕ und ψ CTL-Formeln, so auch
E(ψ U ϕ) und A(ψ U ϕ)
• LTL-Formeln sind Pfad-Formeln
• CTL-Formeln sind Zustands-Formeln
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 24
CTL: Definition (Forts.)
Definition (CTL: Semantik)
Definition (CTL: Semantik) [Forts.]
Sei T ein Transitionssystem und s ein Zustand
• T, s |= >, T, s 6|= ⊥
• T, s |= p, falls p ∈ P (s)
• T, s |= ϕ ∨ ψ falls T, s |= ϕ oder
T, s |= ψ
(∧ und ¬ analog)
• T, s |= EFϕ, falls es einen Weg
s, s1 , s2 , . . . und i ≥ 0 gibt mit
T, si |= ϕ
• T, s |= EGϕ, falls es einen Weg
s, s1 , s2 , . . . gibt so dass für alle i ≥ 0
gilt T, si |= ϕ
• T, s |= EXϕ, falls es einen Weg
s, s1 , s2 , . . . gibt mit T, s1 |= ϕ
• T, s |= E(ϕ U ψ), falls es einen Weg
s, s1 , s2 , . . . und i ≥ 0 gibt mit
T, si |= ψ und für alle j < i:
T, sj |= ϕ
Logik für Inf. / Schwentick / WiSe 07/08
• T, s |= AFϕ, falls es für jeden Weg
s, s1 , s2 , . . . ein i ≥ 0 gibt mit
T, si |= ϕ
• T, s |= AGϕ, falls für jeden Weg
s, s1 , s2 , . . . und jedes i ≥ 0 gilt:
T, si |= ϕ
• T, s |= AXϕ, falls für jeden Weg
s, s1 , s2 , . . . gilt: T, s1 |= ϕ
• T, s |= A(ϕ U ψ), falls es für jeden
Weg s, s1 , s2 , . . . ein i ≥ 0 gibt mit
T, si |= ψ und für alle j < i:
T, sj |= ϕ
• Für T = (V, E, P, I) gilt T |= ϕ ,
falls für alle s ∈ I gilt: T, s |= ϕ
C: 9. Temporallogiken
Folie 25
CTL-Eigenschaften: EFAGblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 26
CTL-Eigenschaften: EGAFblau
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 27
CTL: Typische Eigenschaften
• Es ist ein Zustand erreichbar, in dem Prozess A druckt:
EFpA
• Wenn Prozess A drucken will, wird er irgendwann drucken:
AG(wA → AFpA)
• Prozess A druckt in jeder Berechnung unendlich oft: AGAFpA
• In jeder Berechnung kann Prozess A irgendwann nie wieder
drucken:
AFAG¬pA
• Von jedem Zustand aus ist es möglich den kritischen Zustand zu
erreichen:
AGEFk
• B druckt in keiner Berechnung vor A:
¬E(¬pA U (pB ∧ ¬pA))
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 28
CTL: Weitere Beispiele
Beispiel
1
2
b
a, b
4
3
a
• Welche Formeln gelten in welchen Zuständen?
1. EXa
2. AXa
3. EFa
4. AFa
5. EGa
6. AGa
7. E(a U b)
8. A(a U b)
9. A(a U [EGa ∧ A(a U b)])
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 29
LTL und CTL: Eigenschaften
• Die Ausdrucksstärke von LTL und CTL sind unvergleichbar (also
keine mindestens so ausdrucksstark wie die andere):
– Die LTL-Formel Fp → Fq hat kein Pendant in CTL
– Die CTL-Formel AGEFp hat kein Pendant in LTL
• Gegeben ein Transitionssystem T und eine LTL-Formel ϕ kann in
Zeit O(|T |2|ϕ|) entschieden werden, ob T |= ϕ gilt
• Erfüllbarkeit von LTL-Formeln kann mit polynomiellem
Speicherplatz getestet werden
• Gegeben ein Transitionssystem T und eine CTL-Formel ϕ kann in
Zeit O(|T ||ϕ|) entschieden werden, ob T |= ϕ gilt
• (Aber: viele Eigenschaften lassen sich in LTL kompakter
ausdrücken als in CTL)
• Erfüllbarkeit von CTL-Formeln kann in exponentieller Zeit getestet
werden, aber im schlimmsten Fall (beweisbar!) nicht besser
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 30
Literatur und Ausblick
• Weitere Informationen zur Temporallogik finden sich beispielsweise
in den Büchern von Huth und Ryan und im Buch von Ben-Ari
• Außerdem in der Vorlesung Grundlagen des Model Checking
• Weitere Veranstaltungen, in denen Logik eine wichtige Rolle spielt
–
–
–
–
–
Darstellung, Verarbeitung und Erwerb von Wissen
Informationssysteme
Formale Methoden des Systementwurfs
Datenbanktheorie
Logik und Komplexität
• Weitere Veranstaltungen, in denen Logik vorkommt:
–
–
–
–
–
Softwarekonstruktion
Einführung in die Computational Intelligence
Commonsense Reasoning
Algebraische Grundlagen der Softwaretechnik
Natürlichsprachliche Systeme
Logik für Inf. / Schwentick / WiSe 07/08
C: 9. Temporallogiken
Folie 31
Herunterladen