Grundbegriffe der Informatik Kapitel 21: Relationen
Thomas Worsch KIT, Institut für Theoretische Informatik
Wintersemester 2015/2016
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
1 / 70
Überblick Äquivalenzrelationen Kongruenzrelationen Äquivalenzrelation von Nerode Halbordnungen Ordnungen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
2 / 70
Wo sind wir? Äquivalenzrelationen Kongruenzrelationen Äquivalenzrelation von Nerode Halbordnungen Ordnungen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
3 / 70
Äquivalenzrelationen — eine «Verallgemeinerung» der Gleichheit Relation R ⊆ M × M ist Äquivalenzrelation, falls reflexiv, symmetrisch und transitiv
typische Notation ≡, ∼, ≈, oder ähnlich Infixschreibweise
also ∀x ∈ M : x ≡ x, ∀x ∈ M : ∀y ∈ M : x ≡ y −→ y ≡ x ∀x ∈ M : ∀y ∈ M : ∀z ∈ M : x ≡ y ∧ y ≡ z −→ x ≡ z
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
4 / 70
Identität — einfachstes Beispiel einer Äquivalenzrelation I = {(x, x ) | x ∈ M } ist Äquivalenzrelation, denn ∀x ∈ M : x = x, ∀x ∈ M : ∀y ∈ M : x = y −→ y = x ∀x ∈ M : ∀y ∈ M : ∀z ∈ M : x = y ∧ y = z −→ x = z
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
5 / 70
Kongruenz ganzer Zahlen modulo n x, y ∈ Z heißen kongruent modulo n, wenn x und y gleichen Rest bei Division durch n liefern n teilt x − y x − y = kn für ein k ∈ Z
x ≡ y (mod n)
für n ∈ N+
Äquivalenzrelation, denn Reflexivität: x − x = 0 = 0n Symmetrie: wenn x − y = kn dann y − x = (−k )n Transitivität: wenn x − y = k 1n und y − z = k 2n dann x − z = (x − y) + (y − z) = (k 1 + k 2 )n
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
6 / 70
Beispiel: asymtptotisch gleiches Wachstum f д ∃c, c 0 ∈ R+ : ∃n 0 ∈ N0 : ∀n ≥ n 0 : c f (n) ≤ д(n) ≤ c 0 f (n) .
reflexiv, symmetrisch, transitiv siehe Kapitel 17
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
7 / 70
Urbilder von Funktionswerten — für jede Abbildung eine Äquivalenzrelation sei f : M → M 0
M0 M
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
8 / 70
Urbilder von Funktionswerten — für jede Abbildung eine Äquivalenzrelation sei f : M → M 0 binäre Relation ≡f ⊆ M × M
«Faserung von f »
∀x ∈ M ∀y ∈ M : x ≡f y ←→ f (x ) = f (y)
M0 M
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
8 / 70
Urbilder von Funktionswerten — für jede Abbildung eine Äquivalenzrelation sei f : M → M 0 binäre Relation ≡f ⊆ M × M
«Faserung von f »
∀x ∈ M ∀y ∈ M : x ≡f y ←→ f (x ) = f (y)
M0 M
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
8 / 70
Urbilder von Funktionswerten — für jede Abbildung eine Äquivalenzrelation sei f : M → M 0 binäre Relation ≡f ⊆ M × M
«Faserung von f »
∀x ∈ M ∀y ∈ M : x ≡f y ←→ f (x ) = f (y) ≡f ist eine Äquivalenzrelation reflexiv f (x ) = f (x ) also x ≡f x
M0 M
symmetrisch f (x ) = f (y) −→ f (y) = f (x ) also x ≡f y −→ y ≡f x
transitiv f (x ) = f (y) ∧ f (y) = f (z) −→ f (x ) = f (z) x ≡f y
GBI — Grundbegriffe der Informatik
∧
y ≡f z
−→
x ≡f z
KIT, Institut für Theoretische Informatik
8 / 70
Bild einer Äquivalenzrelation hier drücken Pfeile die Äquivalenzbeziehung aus
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
9 / 70
Bild einer Äquivalenzrelation hier drücken Pfeile die Äquivalenzbeziehung aus
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
10 / 70
Äquivalenzklassen und Faktormengen Äquivalenzklasse von x ∈ M ist {y ∈ M | x ≡ y} Schreibweise [x]≡ oder einfach [x], falls ≡ klar ist
Faktormenge (oder Faserung) von M nach ≡ ist die Menge aller Äquivalenzklassen ( ) Schreibweise M /≡ = [x]≡ x ∈ M
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
11 / 70
Beispiel: Äquivalenzklassen von Kongruenz modulo 2 schreibe ≡2 x ≡2 y genau dann, wenn x − y durch 2 teilbar,
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
12 / 70
Beispiel: Äquivalenzklassen von Kongruenz modulo 2 schreibe ≡2 x ≡2 y genau dann, wenn x − y durch 2 teilbar, je zwei gerade Zahlen sind äquivalent
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
12 / 70
Beispiel: Äquivalenzklassen von Kongruenz modulo 2 schreibe ≡2 x ≡2 y genau dann, wenn x − y durch 2 teilbar, je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
12 / 70
Beispiel: Äquivalenzklassen von Kongruenz modulo 2 schreibe ≡2 x ≡2 y genau dann, wenn x − y durch 2 teilbar, je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
12 / 70
Beispiel: Äquivalenzklassen von Kongruenz modulo 2 schreibe ≡2 x ≡2 y genau dann, wenn x − y durch 2 teilbar, je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent
zwei Äquivalenzklassen [0] = {. . . , −4, −2, 0, 2, 4, . . . } [1] = {. . . , −5, −3, −1, 1, 3, 5, . . . }
statt Z/≡n oft Zn
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
12 / 70
Beispiel: Äquivalenzklassen von Kongruenz modulo 2 schreibe ≡2 x ≡2 y genau dann, wenn x − y durch 2 teilbar, je zwei gerade Zahlen sind äquivalent je zwei ungerade Zahlen sind äquivalent eine gerade und eine ungerade Zahl sind nicht äquivalent
zwei Äquivalenzklassen [0] = {. . . , −4, −2, 0, 2, 4, . . . } [1] = {. . . , −5, −3, −1, 1, 3, 5, . . . }
statt Z/≡n oft Zn mehr z. B. in „Theoretische Grundlagen der Informatik“ Nerode-Äquivalenz für formale Sprachen GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
12 / 70
Was ist wichtig Das sollten Sie mitnehmen: Äquivalenzrelationen Beispiel Kongruenz modulo n
Das sollten Sie üben: definierenden Eigenschaften überprüfen Anzahl Äquivalenzklassen bestimmen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
13 / 70
Wo sind wir? Äquivalenzrelationen Kongruenzrelationen Äquivalenzrelation von Nerode Halbordnungen Ordnungen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
14 / 70
Äquivalenzrelationen auf Mengen mit «Struktur» Beispiel: ≡n auf additiver Gruppe (oder Ring) Z Wie ändern sich Funktionswerte, wenn man Argumente durch äquivalente ersetzt?
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
15 / 70
Verträglichkeit von Äquivalenzrelationen mit Abbildungen ≡ Äquivalenzrelation auf M und f : M → M eine Abbildung ≡ ist mit f verträglich, wenn ∀x 1 , x 2 ∈ M: x 1 ≡ x 2 −→ f (x 1 ) ≡ f (x 2 ) ≡ Äquivalenzrelation und t eine binäre Operation auf M u ≡ ist mit ut verträglich, wenn ∀x 1 , x 2 ∈ M ∀y1 , y2 ∈ M : x 1 ≡ x 2 ∧ y1 ≡ y2 −→ x 1 ut y1 ≡ x 2 ut y2
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
16 / 70
Veträglichkeit: Beispiel modulo Äquivalenz „modulo n“ mit Addition, Subtraktion und Multiplikation verträglich Beispiel wenn
und
x1 ≡ x2
(mod n)
also x 1 − x 2 = kn
y1 ≡ y2
(mod n)
also y1 − y2 = mn
dann (x 1 + y1 ) − (x 2 + y2 ) = (x 1 − x 2 ) + (y1 − y2 ) = (k + m)n also
GBI — Grundbegriffe der Informatik
x 1 + y1 ≡ x 2 + y2
(mod n)
KIT, Institut für Theoretische Informatik
17 / 70
Kongruenzrelationen Eine Äquivalenzrelation, die mit allen gerade interessierenden Funktionen oder/und Operationen verträglich ist, nennt man auch eine Kongruenzrelation.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
18 / 70
Eine Operation für Äquivalenzklassen modulo n? für die Äquivalenzklassen von ≡n schreiben wir [x]n Was ist hiermit: + : Zn × Zn → Zn : [x]n + [y]n = [x + y]n ??
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
19 / 70
Eine Operation für Äquivalenzklassen modulo n? für die Äquivalenzklassen von ≡n schreiben wir [x]n Was ist hiermit: + : Zn × Zn → Zn : [x]n + [y]n = [x + y]n ?? Ist das in Ordnung? Ist das eine Definition? Wo kann ein Problem sein?
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
19 / 70
Verträglichkeit erlaubt die Übertragung einer Abbildung auf die Faktormenge Wenn ≡ mit f : M → M verträglich ist, dann ist f 0 : M /≡ → M /≡ : f 0 ([x]) = [f (x )] wohldefiniert. Wenn ≡ mit ut : M × M → M verträglich ist, dann ist t u
0
: M /≡ × M /≡ → M /≡ : [x] tu 0 [y] = [x ut y]
wohldefiniert.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
20 / 70
Was ist wichtig Das sollten Sie mitnehmen: Kongruenzrelationen: Verträglichkeit induzierte Abbildungen/Operationen für Äquivalenzklassen
Das sollten Sie üben: mit Äquivalenzklassen rechnen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
21 / 70
Wo sind wir? Äquivalenzrelationen Kongruenzrelationen Äquivalenzrelation von Nerode Halbordnungen Ordnungen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
22 / 70
Motivation — Rückblick auf endliche Akzeptoren endlicher Akzeptor mit f ∗ (z 0 , w 1 ) = f ∗ (z 0 , w 2 )
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
23 / 70
Motivation — Rückblick auf endliche Akzeptoren endlicher Akzeptor mit f ∗ (z 0 , w 1 ) = f ∗ (z 0 , w 2 )
dann für alle w ∈ A∗ f ∗ (z 0 , w 1w ) = f ∗ (z 0 , w 2w )
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
23 / 70
Motivation — Rückblick auf endliche Akzeptoren endlicher Akzeptor mit f ∗ (z 0 , w 1 ) = f ∗ (z 0 , w 2 )
dann für alle w ∈ A∗ f ∗ (z 0 , w 1w ) = f ∗ (z 0 , w 2w )
also für alle w ∈ A∗ w 1w ∈ L ←→ w 2w ∈ L GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
23 / 70
Äquivalenzrelation von Nerode einer Sprache L ⊆ A∗ Relation ≡L auf A∗ : für alle w 1 , w 2 ∈ A∗ w 1 ≡L w 2 ←→ ∀w ∈ A∗ : w 1w ∈ L ←→ w 2w ∈ L w 1 .L w 2 : es gibt ein Wort w ∈ A∗ so, dass genau eines der Wörter w 1w und w 2w in L liegt, aber das andere nicht.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
24 / 70
Beispiel A = {a, b} L = ha*b*i ⊂ A∗ alle Wörter, in denen nirgends das Teilwort ba vorkommt Beispiele: 1. w 1 = aaa und w 2 = a Hängt man an beide Wörter ein w ∈ ha*i an, dann sind sowohl w 1w als auch w 2w in L. Hängt man ein w ∈ ha*bb*i an, dann sind sowohl w 1w als auch w 2w in L. Hängt man ein w an, das ba enthält, dann sind also beide nicht in L. Andere Möglichkeiten für w gibt es nicht, also sind die beiden Wörter ≡L -äquivalent.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
25 / 70
Beispiel A = {a, b} L = ha*b*i ⊂ A∗ alle Wörter, in denen nirgends das Teilwort ba vorkommt Beispiele: 1. w 1 = aaa und w 2 = a: äquivalent 2. w 1 = aaab und w 2 = abb Hängt man ein w ∈ hb*i an, dann sind sowohl w 1w als auch w 2w in L. Hängt man ein w an, das ein a enthält, dann sind also beide nicht in L. Andere Möglichkeiten gibt es nicht, also sind die beiden Wörter ≡L -äquivalent.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
25 / 70
Beispiel A = {a, b} L = ha*b*i ⊂ A∗ alle Wörter, in denen nirgends das Teilwort ba vorkommt Beispiele: 1. w 1 = aaa und w 2 = a: äquivalent 2. w 1 = aaab und w 2 = abb: äquivalent 3. w 1 = aa und w 2 = abb Hängt man w = a an, dann ist zwar w 1w = aaa ∈ L, aber w 2w = abba < L. Also sind die beiden Wörter nicht ≡L -äquivalent.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
25 / 70
Beispiel A = {a, b} L = ha*b*i ⊂ A∗ alle Wörter, in denen nirgends das Teilwort ba vorkommt Beispiele: 1. w 1 = aaa und w 2 = a: äquivalent 2. w 1 = aaab und w 2 = abb: äquivalent 3. w 1 = aa und w 2 = abb: nicht äquivalent 4. w 1 = aba und w 2 = babb Beide enthalten ba. Egal was man anhängt, es bleibt so, d. h. immer sind w 1w < L und w 2w < L. Also sind die beiden Wörter ≡L -äquivalent.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
25 / 70
Beispiel A = {a, b} L = ha*b*i ⊂ A∗ alle Wörter, in denen nirgends das Teilwort ba vorkommt Beispiele: 1. w 1 = aaa und w 2 = a: äquivalent 2. w 1 = aaab und w 2 = abb: äquivalent 3. w 1 = aa und w 2 = abb: nicht äquivalent 4. w 1 = aba und w 2 = babb: äquivalent 5. w 1 = ab und w 2 = ba Da w 1 ∈ L, aber w 2 < L, zeigt w = ε, dass die beiden nicht ≡L -äquivalent sind.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
25 / 70
Beispiel A = {a, b} L = ha*b*i ⊂ A∗ alle Wörter, in denen nirgends das Teilwort ba vorkommt Beispiele: 1. w 1 = aaa und w 2 = a: äquivalent 2. w 1 = aaab und w 2 = abb: äquivalent 3. w 1 = aa und w 2 = abb: nicht äquivalent 4. w 1 = aba und w 2 = babb: äquivalent 5. w 1 = ab und w 2 = ba: nicht äquivalent also drei Äquivalenzklassen ha*i ha*bb*i h(a|b)*ba(a|b)*i GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
25 / 70
Die Nerode-Relation ist immer eine Äquivalenzrelation Lemma Für jede formale Sprache L ist ≡L eine Äquivalenzrelation.
Beweis prüfe alle drei Eigenschaften Reflexivität: sehr einfach Symmetrie: sehr einfach Transitivität: einfach
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
26 / 70
Veträglichkeit: Beispiel Nerode-Äquivalenzen x ∈ A beliebig f x : A∗ → A∗ : w 7→ wx
Lemma ≡L ist mit f x verträglich: ∀w 1 , w 2 ∈ A∗ : w 1 ≡L w 2 −→ w 1x ≡L w 2x Beweis Anhängen von w an w 1x bzw. w 2x ist das Gleiche wie Anhängen von xw an w 1 bzw. w 2 also . . .
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
27 / 70
Eine Abbildung für Nerode-Äquivalenzklassen für jedes x ∈ A ist f x : w 7→ wx mit ≡L verträglich Also ist f x0 : A∗/≡L → A∗/≡L : [w] 7→ [wx] wohldefiniert.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
28 / 70
Eine Abbildung für Nerode-Äquivalenzklassen für jedes x ∈ A ist f x : w 7→ wx mit ≡L verträglich Also ist f x0 : A∗/≡L → A∗/≡L : [w] 7→ [wx] wohldefiniert. Also ist f 0 : A∗/≡L × A → A∗/≡L : f 0 ([w], x ) = [wx] wohldefiniert.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
28 / 70
Nerode-Äquivalenzen: Ausblick Theorem. Hat ≡L nur endlich viele Äquivalenzklassen, dann ist (Z , z 0 , A, f , F ) mit Z = A∗/≡L z 0 = [ε] f : Z × A → Z : f ([w], x ) = [wx] F = {[w] | w ∈ L}
ein endlicher Akzeptor, der genau L akzeptiert. Theorem. Wenn L regulär ist, dann hat ≡L nur endlich viele Äquivalenzklassen. Theorem. Der so konstruierte Akzeptor hat die kleinstmögliche Anzahl von Zuständen und es gibt bis auf Isomorphie nur einen so kleinen Akzeptor.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
29 / 70
Nerode-Äquivalenzen: Ausblick Beispiel L = ha*b*i mit Äquivalenzklassen ha*i ha*bb*i h(a|b)*ba(a|b)*i
Akzeptor
a, b b
a a*
GBI — Grundbegriffe der Informatik
b
a*bb*
a
· · · ba · · ·
KIT, Institut für Theoretische Informatik
30 / 70
Wo sind wir? Äquivalenzrelationen Kongruenzrelationen Äquivalenzrelation von Nerode Halbordnungen Ordnungen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
31 / 70
Antisymmetrische Relationen R ⊆ M × M antisymmetrisch, wenn für alle x, y ∈ M gilt: xRy ∧ yRx −→ x = y Beispiel Mengeninklusion: 0
zum Beispiel M = 2M Potenzmenge einer Menge M 0 Relation R ⊆ M × M mit R = {(A, B) | A ⊆ M 0 ∧ B ⊆ M 0 ∧ A ⊆ B} = {(A, B) | A ∈ M ∧ B ∈ M ∧ A ⊆ B} R ist antisymmetrisch: A ⊆ B ∧ B ⊆ A −→ A = B
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
32 / 70
Halbordnungen R ⊆ M × M heißt Halbordnung, wenn R reflexiv, antisymmetrisch und transitiv
Wenn R Halbordnung auf Menge M ist, nennt man M eine halbgeordnete Menge.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
33 / 70
Halbordnungen R ⊆ M × M heißt Halbordnung, wenn R reflexiv, antisymmetrisch und transitiv
Wenn R Halbordnung auf Menge M ist, nennt man M eine halbgeordnete Menge. Beispiel Mengeninklusion: A⊆A A ⊆ B ∧ B ⊆ A −→ A = B A ⊆ B ∧ B ⊆ C −→ A ⊆ C
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
33 / 70
Halbordnungen R ⊆ M × M heißt Halbordnung, wenn R reflexiv, antisymmetrisch und transitiv
Wenn R Halbordnung auf Menge M ist, nennt man M eine halbgeordnete Menge. Beispiel Mengeninklusion: A⊆A A ⊆ B ∧ B ⊆ A −→ A = B A ⊆ B ∧ B ⊆ C −→ A ⊆ C
im allgemeinen gibt es unvergleichbare Elemente: z. B. {1, 2, 3} * {3, 4, 5} und {3, 4, 5} * {1, 2, 3} GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
33 / 70
eine Halbordnung auf Wörtern — darauf bauen wir später noch auf M = A∗ Relation vp auf A∗ : w 1 vp w 2 ←→ ∃u ∈ A∗ : w 1u = w 2 zum Beispiel im Duden: „Klaus“ kommt vor „Klausur“ aber: vp ist echte Halbordnung keine Beziehung zwischen Klausur und Übung
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
34 / 70
Wenn man weiß, dass es eine Halbordnung ist, enthält der gesamte Graph Redundantes {a, b, c}
{a, b}
{a}
{a, c}
{b}
{b, c}
{c}
Beispiel (2 {a,b,c } , ⊆) {} GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
35 / 70
Wenn man weiß, dass es eine Halbordnung ist, genügt das Hassediagramm Beispiel (2 {a,b,c } , ⊆)
{a, b, c}
{a, b}
{a}
{a, c}
{b}
H R = (R r I ) r (R r I ) 2
{b, c}
{c}
{} GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
36 / 70
Das Hassediagramm enthält «alles Wesentliche» Wenn R Halbordnung auf einer endlichen Menge M ist, dann kann man aus H R das R wieder rekonstruieren:
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
37 / 70
Das Hassediagramm enthält «alles Wesentliche» Wenn R Halbordnung auf einer endlichen Menge M ist, dann kann man aus H R das R wieder rekonstruieren: H R∗ = R
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
37 / 70
Minimale und maximale Elemente sei (M, v) halbgeordnet und T ⊆ M. x ∈ T heißt maximales Element von T , wenn es kein y ∈ T gibt mit x v y und x , y.
x ∈ T heißt minimales Element von T , wenn es kein y ∈ T gibt mit y v x und y , x.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
38 / 70
Minimale und maximale Elemente sei (M, v) halbgeordnet und T ⊆ M. x ∈ T heißt maximales Element von T , wenn es kein y ∈ T gibt mit x v y und x , y.
x ∈ T heißt minimales Element von T , wenn es kein y ∈ T gibt mit y v x und y , x.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
38 / 70
Minimale und maximale Elemente sei (M, v) halbgeordnet und T ⊆ M. x ∈ T heißt maximales Element von T , wenn es kein y ∈ T gibt mit x v y und x , y.
x ∈ T heißt minimales Element von T , wenn es kein y ∈ T gibt mit y v x und y , x.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
38 / 70
Beispiele minimaler und maximaler Elemente ab
bc b
c
Teilmenge von (2 {a,b,c } , ⊆) zwei maximale Elemente: ab und bc ein minimales Element: {}
{}
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
39 / 70
Kleinste und größte Elemente sei (M, v) halbgeordnet und T ⊆ M. x ∈ T heißt kleinstes Element von T , wenn für alle y ∈ T gilt: x v y. x ∈ T heißt größtes Element von T , wenn für alle y ∈ T gilt: y v x.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
40 / 70
Beispiele kleinster und größter Elemente ab
bc b
c
Teilmenge von (2 {a,b,c } , ⊆) kein größtes Element kleinstes Element: {}
{}
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
41 / 70
Beispiele kleinster und größter Elemente ab
bc b
c
Teilmenge von (2 {a,b,c } , ⊆) kein größtes Element kleinstes Element: {}
{}
Vorsicht bei unendlichen Halbordnungen u. U. genau ein minimales Element aber trotzdem kein kleinstes!
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
41 / 70
Das kleinste und das größte Element sind eindeutig sei (M, v) halbgeordnet und T ⊆ M T kann nicht zwei verschiedene kleinste (bzw. größte) Elemente haben.
Beweis für Eindeutigkeit des kleinsten Elements seien x 1 und x 2 kleinste Elemente, dann ist x 1 v x 2 , weil x 1 kleinstes Element, und es ist x 2 v x 1 , weil x 2 kleinstes Element, also wegen Antisymmetrie: x 1 = x 2
analog Eindeutigkeit des größten Elements
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
42 / 70
Untere und obere Schranken von T — unter Umständen auch außerhalb von T sei (M, v) halbgeordnet und T ⊆ M. x ∈ M heißt obere Schranke von T , wenn für alle y ∈ T gilt: y v x. x ∈ M heißt untere Schranke von T , wenn für alle y ∈ T gilt: x v y.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
43 / 70
Untere und obere Schranken: Beispiele abc ab
ac
bc T = { {}, {a}, {b} }
a
b
c
T = { {}, {a}, {b}, {a, b} }
{}
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
44 / 70
Untere und obere Schranken: Beispiele abc ab
ac
bc
T = { {}, {a}, {b} } obere Schranken {a, b} und {a, b, c}
a
b
c T = { {}, {a}, {b}, {a, b} }
{}
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
45 / 70
Untere und obere Schranken: Beispiele abc ab
ac
bc
T = { {}, {a}, {b} } obere Schranken {a, b} und {a, b, c}
a
b
c
T = { {}, {a}, {b}, {a, b} } die gleichen oberen Schranken
{}
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
46 / 70
Untere und obere Schranken müssen nicht existieren Teilmenge muss keine obere Schranke besitzen In
GBI — Grundbegriffe der Informatik
hat z. B. Grundmenge keine obere Schranke
KIT, Institut für Theoretische Informatik
47 / 70
Untere und obere Schranken müssen nicht existieren Teilmenge muss keine obere Schranke besitzen In
hat z. B. Grundmenge keine obere Schranke
In (N0 , ≤) hat die Grundmenge keine obere Schranke.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
47 / 70
Supremum und Infimum Besitzt die Menge aller oberen Schranken einer Teilmenge T ein kleinstes Element, so heißt dies das Supremum von T Schreibweisen
F
T oder sup(T )
Besitzt die Menge aller unteren Schranken einer Teilmenge T ein größtes Element, so heißt dies das Infimum von T . brauchen wir hier nicht
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
48 / 70
Supremum und Infimum Besitzt die Menge aller oberen Schranken einer Teilmenge T ein kleinstes Element, so heißt dies das Supremum von T Schreibweisen
F
T oder sup(T )
Besitzt die Menge aller unteren Schranken einer Teilmenge T ein größtes Element, so heißt dies das Infimum von T . brauchen wir hier nicht
Supremum (bzw. Infimum) einer Teilmenge müssen nicht existieren weil gar keine oberen Schranken vorhanden oder weil von den oberen Schranken keine die kleinste ist
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
48 / 70
Supremum und Infimum: Beispiele 0
Bei Halbordnungen (2M , ⊆) existieren Suprema immer: 0
Supremum von T ⊆ 2M ist die Vereinigung aller Teilmengen von M, die in T liegen
Beispiel für das Beispiel: M 0 = {a, b}∗ 0
also ist M = 2M die Menge aller formalen Sprachen L ⊆ M 0 für i ∈ N0 sei Li = {aj bj | j ≤ i} L 0 = {ε} L 1 = {ε, ab} L 2 = {ε, ab, aabb} ...
sei T = {Li | i ∈ N0 } F S∞ dann ist T = i=0 L i = { a j b j | j ∈ N0 }
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
49 / 70
Aufsteigende Ketten aufsteigende Kette abzählbar unendliche Folge (x 0 , x 1 , x 2 , . . . ) von Elementen mit der Eigenschaft: ∀i ∈ N0 : x i v x i+1 . kurz x0 v x1 v x2 v x3 v · · ·
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
50 / 70
Aufsteigende Ketten aufsteigende Kette abzählbar unendliche Folge (x 0 , x 1 , x 2 , . . . ) von Elementen mit der Eigenschaft: ∀i ∈ N0 : x i v x i+1 . kurz x0 v x1 v x2 v x3 v · · ·
Beispiel: (2 {a, b } , ⊆) ∗
{ε} ⊆ {ε, ab} ⊆ {ε, ab, aabb} ⊆ {ε, ab, aabb, aaabbb} . . .
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
50 / 70
Vollständige Halbordnungen Eine Halbordnung heißt vollständig, wenn sie ein kleinstes Element ⊥ hat und jede aufsteigende Kette x 0 v x 1 v x 2 v · · · F ein Supremum i x i besitzt. 0
Beispiele: (2M , ⊆) kleinstes Element {} S Supremum von T0 ⊆ T1 ⊆ T2 ⊆ · · · ist Ti .
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
51 / 70
Vollständige Halbordnungen Eine Halbordnung heißt vollständig, wenn sie ein kleinstes Element ⊥ hat und jede aufsteigende Kette x 0 v x 1 v x 2 v · · · F ein Supremum i x i besitzt. 0
Beispiele: (2M , ⊆) kleinstes Element {} S Supremum von T0 ⊆ T1 ⊆ T2 ⊆ · · · ist Ti .
aufsteigende Ketten, die konstant werden, also x 0 v x 1 v x 2 v · · · v x k = x k +1 = x k+2 = · · ·
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
51 / 70
Vollständige Halbordnungen Eine Halbordnung heißt vollständig, wenn sie ein kleinstes Element ⊥ hat und jede aufsteigende Kette x 0 v x 1 v x 2 v · · · F ein Supremum i x i besitzt. 0
Beispiele: (2M , ⊆) kleinstes Element {} S Supremum von T0 ⊆ T1 ⊆ T2 ⊆ · · · ist Ti .
aufsteigende Ketten, die konstant werden, also x 0 v x 1 v x 2 v · · · v x k = x k +1 = x k+2 = · · · haben immer Supremum, nämlich x k
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
51 / 70
Vollständige Halbordnungen: weitere (Nicht-)Beispiele (N0 , ≤) ist keine vollständige Halbordung unbeschränkt wachsende aufsteigende Ketten wie z. B. 0 ≤ 1 ≤ 2 ≤ · · · besitzen kein Supremum in N0 .
ergänze Element u „über“ allen Zahlen: N = N0 ∪ {u} und x v y ←→ x, y ∈ N0 ∧ x ≤ y ∨ (y = u) also 0 v 1 v 2 v 3 v · · · v u
später noch nützlich N 0 = N0 ∪ {u 1 , u 2 } und x v y ←→ x, y ∈ N0 ∧ x ≤ y ∨ x ∈ N0 ∪ {u 1 } ∧ y = u 1 ∨ y = u 2 also 0 v 1 v 2 v 3 v · · · v u 1 v u 2
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
52 / 70
Monotone Abbildungen (M, v) halbgeordnete Menge Abbildung f : M → M monoton, wenn für alle x, y ∈ M gilt: x v y −→ f (x ) v f (y)
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
53 / 70
Monotone Abbildungen (M, v) halbgeordnete Menge Abbildung f : M → M monoton, wenn für alle x, y ∈ M gilt: x v y −→ f (x ) v f (y)
Beispiel: (N0 , ≤) mit Abbildung f (x ) = x + 1 x ≤ y −→ x + 1 ≤ y + 1
Nichtbeispiel: (N0 , ≤) mit Abbildung f (x ) = x mod 5 3 ≤ 10, aber f (3) = 3 0 = f (10).
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
53 / 70
Stetige Abbildungen (D, v) sei vollständige Halbordnung monotone Abbildung f : D → D heißt stetig, wenn für jede aufsteigende Kette x 0 v x 1 v x 2 v · · · G G f ( xi ) = f (x i ) i
GBI — Grundbegriffe der Informatik
i
KIT, Institut für Theoretische Informatik
54 / 70
Stetige Abbildungen: Beispiel 1 N 0 = N0 ∪ {u 1 , u 2 } mit v wie eben Abbildung f : N 0 → N 0 mit x +1 f (x ) = u 1 u 2
falls x ∈ N0 falls x = u 1 falls x = u 2
ist stetig. warum?
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
55 / 70
Stetige Abbildungen: Beispiel 1 x + 1 f (x ) = u j
falls x ∈ N0 falls x = u j
(für j = 1, 2)
zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · 1. Die Kette wird nicht konstant.
2. Die Kette wird konstant.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
56 / 70
Stetige Abbildungen: Beispiel 1 x + 1 f (x ) = u j
falls x ∈ N0 falls x = u j
(für j = 1, 2)
zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · 1. Die Kette wird nicht konstant. alle x i ∈ N0 , die Kette wächst unbeschränkt
2. Die Kette wird konstant.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
56 / 70
Stetige Abbildungen: Beispiel 1 x + 1 f (x ) = u j
falls x ∈ N0 falls x = u j
(für j = 1, 2)
zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · 1. Die Kette wird nicht konstant. alle x i ∈ N0 , die Kette wächst unbeschränkt ebenso die Kette der Funktionswerte
2. Die Kette wird konstant.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
56 / 70
Stetige Abbildungen: Beispiel 1 x + 1 f (x ) = u j
falls x ∈ N0 falls x = u j
(für j = 1, 2)
zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · 1. Die Kette wird nicht konstant. alle x i ∈ N0 , die Kette wächst unbeschränkt ebenso die Kette der Funktionswerte beide Ketten Supremum u 1 , f (u 1 ) = u 1 F F also f ( i x i ) = i f (x i )
2. Die Kette wird konstant.
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
56 / 70
Stetige Abbildungen: Beispiel 1 x + 1 f (x ) = u j
falls x ∈ N0 falls x = u j
(für j = 1, 2)
zwei Fälle für aufsteigende Kette x 0 v x 1 v x 2 v · · · 1. Die Kette wird nicht konstant. alle x i ∈ N0 , die Kette wächst unbeschränkt ebenso die Kette der Funktionswerte beide Ketten Supremum u 1 , f (u 1 ) = u 1 F F also f ( i x i ) = i f (x i )
2. Die Kette wird konstant. Fall klar?
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
56 / 70
Stetige Abbildungen: Beispiel 2 N 0 = N0 ∪ {u 1 , u 2 } mit v wie eben Abbildung д : N 0 → N 0 mit x + 1 д(x ) = u 2
falls x ∈ N0 falls x ∈ {u 1 , u 2 }
ist nicht stetig
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
57 / 70
Stetige Abbildungen: Beispiel 2 N 0 = N0 ∪ {u 1 , u 2 } mit v wie eben Abbildung д : N 0 → N 0 mit x + 1 д(x ) = u 2
falls x ∈ N0 falls x ∈ {u 1 , u 2 }
ist nicht stetig Unterschied zu f : д(u 1 ) = u 2 betrachte Kette mit x i = i, also 0 v 1 v 2 v · · · д( GBI — Grundbegriffe der Informatik
F
i
x i ) = д(u 1 ) = u 2 , u 1 =
F
i
д(x i )
KIT, Institut für Theoretische Informatik
57 / 70
Fixpunktsatz Satz Es sei f : D → D eine monotone, stetige Abbildung auf einer vollständigen Halbordnung (D, v) mit kleinstem Element ⊥ . Elemente x i ∈ D seien wie folgt definiert: x0 = ⊥ ∀i ∈ N0 : x i+1 = f (x i ) Dann gilt: 1. Die x i bilden eine Kette: x 0 v x 1 v x 2 v · · · . F 2. Supremum x f = i x i ist Fixpunkt von f , also f (x f ) = x f . 3. x f ist der kleinste Fixpunkt von f : f (yf ) = yf −→ x f v yf .
Anwendung: Semantik von Programmiersprachen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
58 / 70
Fixpunktsatz: Beweis Behauptung: ∀i ∈ N0 gilt x i v x i+1 vollständige Induktion: x 0 v x 1 , weil x 0 = ⊥ das kleinste Element wenn x i v x i+1 , dann wegen Monotonie von f auch f (x i ) v f (x i+1 ), also x i+1 v x i+2 .
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
59 / 70
Fixpunktsatz: Beweis Behauptung: ∀i ∈ N0 gilt x i v x i+1 vollständige Induktion: x 0 v x 1 , weil x 0 = ⊥ das kleinste Element wenn x i v x i+1 , dann wegen Monotonie von f auch f (x i ) v f (x i+1 ), also x i+1 v x i+2 .
Behauptung: x f =
F
i
x i ist Fixpunkt, also f (x f ) = x f
F F F da f stetig: f (x f ) = f ( i x i ) = i f (x i ) = i x i+1 Folge der x i+1 gleich Folge der x i ohne erstes Element ⊥ F F also gleiches Supremum x f (klar?) also i x i+1 = i x i = x f also ist f (x f ) = x f
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
59 / 70
Fixpunktsatz: Beweis Behauptung: ∀i ∈ N0 gilt x i v x i+1 vollständige Induktion: x 0 v x 1 , weil x 0 = ⊥ das kleinste Element wenn x i v x i+1 , dann wegen Monotonie von f auch f (x i ) v f (x i+1 ), also x i+1 v x i+2 .
Behauptung: x f =
F
i
x i ist Fixpunkt, also f (x f ) = x f
F F F da f stetig: f (x f ) = f ( i x i ) = i f (x i ) = i x i+1 Folge der x i+1 gleich Folge der x i ohne erstes Element ⊥ F F also gleiches Supremum x f (klar?) also i x i+1 = i x i = x f also ist f (x f ) = x f
Behauptung: x f ist kleinster Fixpunkt. Sei f (yf ) = yf . Induktion: ∀i ∈ N0 : x i v yf . also yf eine obere Schranke der Kette F also gilt für kleinste obere Schranke x f = i x i v yf . GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
59 / 70
Was ist wichtig Das sollten Sie mitnehmen: Halbordnungen sind reflexiv, antisymmetrisch und transitiv
vollständige Halbordnungen jede aufsteigende Kette hat Supremum
stetige Abbildungen: f ( Fixpunktsatz
F
xi ) =
F
f (x i )
Das sollten Sie üben: Nachweis der Eigenschaften von (vollständigen) Halbordnungen Beweise einfacher Aussagen an ungewohnte Eigenschaften von Halbordnungen gewöhnen Unendlichkeit lässt grüßen GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
60 / 70
Wo sind wir? Äquivalenzrelationen Kongruenzrelationen Äquivalenzrelation von Nerode Halbordnungen Ordnungen
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
61 / 70
Totale Ordnung — keine unvergleichbaren Elemente Relation R ⊆ M × M ist eine Ordnung oder genauer totale Ordnung, wenn R Halbordnung ist und gilt: ∀x, y ∈ M : xRy ∨ yRx
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
62 / 70
Totale Ordnung — keine unvergleichbaren Elemente Relation R ⊆ M × M ist eine Ordnung oder genauer totale Ordnung, wenn R Halbordnung ist und gilt: ∀x, y ∈ M : xRy ∨ yRx
Beispiele: (N0 , ≤) (Z × Z, v) mit (x 1 , x 2 ) v (y1 , y2 ) ←→ x 1 < y1 ∨ (x 1 = y1 ∧ x 2 ≤ y2 ) ({a, b}∗ , v1 ) mit v1 „wie im Wörterbuch“
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
62 / 70
Totale Ordnungen auf A∗ Relation vp auf {a, b}∗ : w 1 vp w 2 ←→ ∃u ∈ A∗ : w 1u = w 2 ist keine totale Ordnung z. B. sind a und b unvergleichbar Wie kann man aus vp eine totale Ordnung machen?
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
63 / 70
Totale Ordnungen auf A∗ Relation vp auf {a, b}∗ : w 1 vp w 2 ←→ ∃u ∈ A∗ : w 1u = w 2 ist keine totale Ordnung z. B. sind a und b unvergleichbar Wie kann man aus vp eine totale Ordnung machen? jedenfalls totale Ordnung vA auf A nötig, z. B. a vA b dann mehrere Möglichkeiten . . .
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
63 / 70
Milchstraße — Milch — Milchreis — in welcher Reihenfolge stehen sie im Wörterbuch?
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
64 / 70
Milchstraße — Milch — Milchreis — in welcher Reihenfolge stehen sie im Wörterbuch? Milch Milchreis Milchstraße
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
64 / 70
Lexikographische Ordnung v1 (Wörterbuch) Suche längstes gemeinsames Präfix v w1 v
?
w2
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) Suche längstes gemeinsames Präfix v w1 v
?
w2 ein gemeinsames Präfix gibt es immer: ε stets |v | ≤ min(|w 1 |, |w 2 |) es gibt ein längstes das längste ist eindeutig bestimmt
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten |v | = |w 1 | < |w 2 | |v | = |w 1 | = |w 2 | = |v | |w 1 | > |w 2 | = |v |
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten |v | = |w 1 | < |w 2 | : |v | = |w 1 | = |w 2 | = |v | |w 1 | > |w 2 | = |v |
definiere w 1 v1 w 2
w1 v w2
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten |v | = |w 1 | < |w 2 | : |v | = |w 1 | = |w 2 | = |v |: |w 1 | > |w 2 | = |v |
definiere w 1 v1 w 2 definiere w 1 v1 w 2 und w 2 v1 w 1
w1 v w2
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) 1. Fall: |v | = min(|w 1 |, |w 2 |) drei Möglichkeiten |v | = |w 1 | < |w 2 | : |v | = |w 1 | = |w 2 | = |v |: |w 1 | > |w 2 | = |v |:
definiere w 1 v1 w 2 definiere w 1 v1 w 2 und w 2 v1 w 1 definiere w 2 v1 w 1
w1 v w2
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) 2. Fall: |v | < min(|w 1 |, |w 2 |) w1 v w2
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) 2. Fall: |v | < min(|w 1 |, |w 2 |) x M
v
,
w1 w2
y M
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 (Wörterbuch) 2. Fall: |v | < min(|w 1 |, |w 2 |) x M
v
,
w1 w2
y M
wenn x vA y dann w 1 v1 w 2 wenn y vA x dann w 2 v1 w 1
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
65 / 70
Lexikographische Ordnung v1 «erster Art» — die im Wörterbuch für w 1 , w 2 ∈ A∗ sei v ∈ A∗ das maximal lange Präfix so, dass es u 1 , u 2 ∈ A∗ gibt mit w 1 = v u 1 und w 2 = v u 2 . Fallunterscheidung: 1. Falls v = w 1 ist, gilt w 1 v1 w 2 Falls v = w 2 ist, gilt w 2 v1 w 1 2. Falls w 1 , v , w 2 , gibt es x, y ∈ A und u 10, u 20 ∈ A∗ mit x , y und w 1 = v x u 10 und w 2 = v y u 20
dann w 1 v1 w 2 ←→ x vA y
Beispiele 1. „Klaus“ kommt vor „Klausur“ 2. „Klausur“ kommt vor „Übung“ GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
66 / 70
Lexikographische Ordnung v1 „harmlos“ bei nur endlich vielen Wörtern
a v1 aa v1 aaa v1 aaaa v1 ab v1 aba v1 abbb v1 b v1 baaaaaa v1 baab v1 bbbbb
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
67 / 70
Lexikographische Ordnung v1 „harmlos“ bei nur endlich vielen Wörtern
a v1 aa v1 aaa v1 aaaa v1 ab v1 aba v1 abbb v1 b v1 baaaaaa v1 baab v1 bbbbb nicht ganz so harmlos für A∗ ε v1 a v1 aa v1 aaa v1 aaaa v1 · · · hat kein Supremum: jedes Wort, das mindestens ein b enthält, ist obere Schranke, zu jeder oberen Schranke w ist a |w | b ist eine echt kleine obere Schranke (weil w ein b enthält)
b w1 ab w1 aab w1 aaab w1 aaaab w1 · · · hat kein Infimum (A∗ , v1 ) ist also keine vollständige Halbordnung
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
67 / 70
Lexikographische Ordnung v2 «zweiter Art» andere lexikographische Ordnung v2 auf A∗ : w 1 v2 w 2 gilt genau dann, wenn entweder |w 1 | < |w 2 | oder |w 1 | = |w 2 | und w 1 v1 w 2 gilt.
für A = {a, b} mit a v b beginnt Ordnung so ε v2 a v2 b v2 aa v2 ab v2 ba v2 bb v2 aaa v2 · · · v2 bbb v2 aaaa v2 · · · v2 bbbb ···
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
68 / 70
Die lexikografischen Ordnungen v1 und v2 sind total v1 auf Menge An totale Ordnung (für festes n) Halbordnung: nachprüfen . . . für verschiedene Wörter gleicher Länge niemals w 1 = v oder w 2 = v. da vA als total vorausgesetzt wird, ist bei w 1 = v x u 10 und w 2 = v y u 20 stets x vA y oder y vA x also stets w 1 v1 w 2 oder w 2 v1 w 1 .
also v2 auf A∗ totale Ordnung v1 für verschieden lange Wörter: nachprüfen . . .
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
69 / 70
Was ist wichtig Das sollten Sie mitnehmen: totale Ordnungen sind Halbordnungen ohne unvergleichbare Elemente
Anwendung an diversen Stellen in der Informatik z. B. Semantik, Testmuster, . . .
Das sollten Sie üben: Nachweis der Eigenschaften von totalen Ordnungen Beweise einfacher Aussagen an ungewohnte Eigenschaften von Ordnungen gewöhnen (Unendlichkeit . . . )
GBI — Grundbegriffe der Informatik
KIT, Institut für Theoretische Informatik
70 / 70