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