Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o...

134
Institut für Programmstrukturen und Datenorganisation (IPD) Prof. Dr. Gerhard Goos Informatik I WS 03/04 Kapitel 2 Halbgruppen und Relationen 2.1 Halbgruppen und Monoide 2.2 Relationen und Graphen 2.3 Ordnungsrelationen, Halbverbände, Verbände 2.4 Endliche Automaten 2.5 Petri-Netze 2.6 Relationale Algebra

Transcript of Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o...

Page 1: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Institut für Programmstrukturen und Datenorganisation (IPD) Prof. Dr. Gerhard Goos

Informatik I WS 03/04

Kapitel 2Halbgruppen und

Relationen2.1 Halbgruppen und

Monoide

2.2 Relationen und Graphen

2.3 Ordnungsrelationen, Halbverbände, Verbände

2.4 Endliche Automaten

2.5 Petri-Netze

2.6 Relationale Algebra

Page 2: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

1/1332 MotivationSatz: „Das Haus hat vier Wände.“

beschreibt Beziehung (Relation) zwischen System Haus und seinen Komponenten des Typs Wand☛ Haus ist ein Begriff

Satz: „Das Haus hat vier Buchstaben.“beschreibt Aufbau des Wortes Haus☛ Begriff: Wort bestehend aus Buchstaben☛ auch hier handelt es sich um eine Relation

Relationen gehören zu den Grundlagen der Informatik

Beispiele:kausale Abhängigkeiten (Zustandsfolgen)Ableitungsrelationenrelationale Datenbanken

Page 3: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

2/1332 MotivationKausale Abhängigkeiten sind Ordnungsrelationen

Anwendungen in der Systemspezifikation: endliche Automaten und Petri-Netze

Darstellung von Relationen als Graphen

einfachste Relation: Nebeneinanderschreiben von Buchstaben in Texten

☛ Halbgruppen und Monoide

Voraussetzung: Mengenlehre

Page 4: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

3/1332.1 Halbgruppen und MonoideZiel: Untersuchung der Struktur von Zeichenreihen (Texten)

Zeichenreihen sind Daten

können Informationen wiedergeben

werden umgeformt, z.B. durch Markov-Algorithmen

Zeichenreihe ist System mit Zeichen als elementaren Gegenständen

Beziehung zwischen Zeichen: „folgt auf"

Page 5: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

4/1332.1 EinleitungKonkatenation (Verkettung): Hintereinanderschreiben von Zeichen

Das Zeichen · notiert diese Operation explizit

Beispiel:3 · 7 = 37I · n · f · o · r · m · a · t · i · k = Informatik

Verallgemeinerung: Auch Zeichenreihen können verkettet werden:(Infor) · (matik) = Infor · matik =I · n · f · o · r · m · a · t · i · k = Informatik

die Klammern (… ) sind sogenannte Metazeichen und gehören ebenso wie der Operator · nicht zu den zu verkettenden Zeichenreihen

Page 6: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

5/1332.1 HalbgruppenHalbgruppe:Menge U mit binärer Operation ·, so daß für alle a, b, c ∈ U gilt:

a · b ∈ U ( algebraische Abgeschlossenheit )(a · b ) · c = a · (b · c ) ( Assoziativgesetz ) (HG1)

kommutative oder abelsche Halbgruppe:Es gilt zusätzlich für alle a,b ∈ U :

a · b = b · a ( Kommutativgesetz ) (HG2)Die meisten Halbgruppen in der Informatik sind nicht kommutativ

Algebra: Tripel A = (A, O, G) wobeiA ist Menge ( Trägermenge )O ist Menge algebraisch abgeschlossener OperationenG ist Menge von Gesetzen

Beispiel: Halbgruppe H = (U, {·} , {HG1}) der Zeichenreihen über dem Zeichenvorrat U

Page 7: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

6/1332.1 Beispiele für HalbgruppenBeispiele:

natürliche Zahlen ℕ mit Addition +natürliche Zahlen ℕ mit Multiplikation ⋅

Mengen mit Vereinigung ⋃Mengen mit Durchschnitt ∩

alle diese Halbgruppen sind abelschdie Halbgruppe der Zeichenreihen mit · zur Verkettung ist nicht abelsch!jede Gruppe i.S.d. Mathematik ist auch eine Halbgruppeendliche Halbgruppen werden über Verknüpfungstabellen definiert

⋅ 0 1 viele0 0 1 viele1 1 viele viele

viele viele viele viele

Page 8: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

7/1332.1 MonoideMonoid: Halbgruppe (U, ·) mit Element ε ∈ U, so daß für alle a ∈ U gilt:

ε · a = a und a · ε = a ( Einselement, neutrales Element oder kurz Eins )

Beispiele:leerer Text in der Halbgruppe der Zeichenleere Menge ∅ bei Mengen mit Vereinigung ⋃0 in der additiven Halbgruppe der ganzen Zahlen1 in der multiplikativen Halbgruppe der ganzen Zahlen

Page 9: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

8/1332.1 MonoideLinkseins: 1l · a = a für alle a ∈ URechtseins: a · 1r = a für alle a ∈ U

Beispiel: Betrachte Halbgruppe U = {0, 1}

Ein Einselement ist eindeutig bestimmt

Beweis:Angenommen es gibt zwei Einsen e und e', dann gilt:

e = e' · e weil e' Rechtseins ist= e' weil e Linkseins ist

0 und 1 sind Linkseinsenaber: x · 0 = 0 und x · 1 = 1Also ist weder 0 noch 1 Rechtseins

⋅ 0 10 0 11 0 1

Page 10: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

9/1332.1 Beispiel: Relationen mit VerknüpfungRelationen zwischen Mengen U und V: ρ ⊆ U ✕ V

Verknüpfung zweier Relationen ρ ⊆ U ✕ V und σ ⊆ V ✕ W:ρ · σ = { ( u,w) | ∃ v ∈ V: (u,v) ∈ ρ ∧ (v,w) ∈ σ} ⊆ U✕ WVorsicht: in der Mathematik schreibt man stattdessen gewöhnlich σ · ρ !

Monoid: Menge aller Relationen zwischen U und U mit Verknüpfung •Einselement: Δ = {(u,u) | u ∈ U}, identische RelationBeweis:ρ · Δ = { ( u,w) | ∃ v ∈ V: (u,v) ∈ ρ und (v,w) ∈ Δ} Definition von •

= { ( u,w) | u ∈ U und (u,w) ∈ ρ} Definition von Δ= ρ

Assoziativgesetz giltBeweis: Übung

Page 11: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

10/1332.1 Beispiel: KomplexprodukteSei H = (U, ·) HalbgruppeKomplexprodukt von M,N ⊆ U: M · N = { m · n | m ∈ M und n ∈ N}

Potenzmenge P(U) = {M | M ⊆ U} mit Komplexprodukt ist Halbgruppe

Beweis:(M · N) · Q = { x · q | x ∈ M · N und q ∈ Q} (Def. Komplexprodukt)

= { (m · n) · q | m ∈ M, n ∈ N, q ∈ Q} (Def. Komplexprodukt)

= { m · (n · q) | m ∈ M, n ∈ N, q ∈ Q} (H ist Halbgruppe)

= { m · y | m ∈ M, y ∈ N · Q} = M · (N · Q) (wie oben)

Page 12: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

11/1332.1 Beispiel: KomplexprodukteEs gilt:

Falls H ein Monoid mit Eins ε ist, dann ist die Potenzmenge P(U) mit Komplexprodukt und Eins e = {ε} ein Monoid.

Beweis:e · M = { ε · m | m ∈ M } (Definition Komplexprodukt)

= { m · ε | m ∈ M } (H ist Monoid)= M · e (Definition Komplexprodukt)= M

Page 13: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

12/1332.1 Strukturen von Halbgruppen und MonoidenSei H = (U, ·) HalbgruppeUnterhalbgruppe von H: Halbgruppe H' = (U', ·) wobei

U' ⊆ UU' algebraisch abgeschlossen bzgl. ·

Sei M = (U, ·, e) MonoidUntermonoid von M: M' = (U', ·, e) wobei

(U',·) Unterhalbgruppe von (U, ·) e ∈ U'

Beispiel: Gegeben Monoid (ℕ, ·).Untermonoid U' = {0,1} ⊆ ℕ ist gegeben durch: ⋅ 0 1

0 0 01 0 1

Page 14: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

13/1332.1 Das Monoid M+

Gegeben: Halbgruppe H = (U, ·) bzw. Monoid (U, ·, e).Für beliebiges M ⊆ U setzen wir inErweiterung des Komplexprodukts

M0 = {e} nur für Monoide definiertM1 = MMi+1 = Mi · MM+ = ⋃i∈ ℕ ∖ {0} Mi = M1 ⋃ M2 ⋃ …M* = ⋃i∈ ℕ Mi = {e} ⋃ M+ nur für Monoide definiert

(M+, ·) ist kleinste Unterhalbgruppe (V, ·) von H mit M ⊆ V (M*, ·, e) ist kleinstes Untermonoid (V, ·, e) mit M ⊆ V (falls H Monoid)

Beweis: Übung

Page 15: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

14/1332.1 Erzeugte Halbgruppen und MonoideGegeben:

Menge M, Operation ·, definiert für Elemente x,y ∈ Maber: x · y ∈ M wird nicht vorausgesetzt!von M erzeugte Halbgruppe: (M+, ·)von M erzeugtes Monoid: (M*, ·, e),falls es ein Einselement e zur Operation · gibt(e muß nicht unbedingt zu M gehören!)

☛ M heißt Erzeugendensystem

☛ Wenn M endlich ist, dann heißt die Halbgruppe bzw. das Monoid endlich erzeugt

Page 16: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

15/1332.1 Erzeugte Halbgruppen und MonoideBeispiel:

Halbgruppe/Monoid der natürlichen Zahlen ist über M = {1} und Addition + endlich erzeugt.

Monoid der Texte über Zeichenvorrat Σ ist über Σ und Konkatenation ·endlich erzeugt. Σ* ist Menge aller Texte einschließlich Σ über Σ.

für Mathematiker:ein Ideal I ⊆ ℤ ist ein bzgl. Multiplikation mit ganzen Zahlen abgeschlossenes additives Monoid: aus x, y ∈ I, n ∈ ℤ folgtx ± y ∈ I, n · x ∈ I.

tiefliegender Satz der Algebra: alle Ideale im Ring der ganzen Zahlen sind endlich erzeugt

Page 17: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

16/1332.1 Relationen: Klassifikationreflexive Relation ρ ⊆ M2 : Für alle x ∈ M gilt x ρ xsymmetrische Relation ρ ⊆ M2 : Für alle x ,y ∈ M gilt: Aus x ρ y folgt y ρ xantisymmetrische Relation ρ ⊆ M2 :

Für alle x ,y ∈ M gilt: Aus x ρ y und y ρ x folgt x = ytransitive Relation ρ ⊆ M2 :

Für alle x ,y,z ∈ M gilt: Aus x ρ y und y ρ z folgt x ρ zinverse oder transponierte Relation ρT zu ρ ⊆ M2:

y ρT x genau dann, wenn x ρ yÄquivalenzrelation: reflexive, symmetrische (ρT = ρ), transitive Relation

Quasiordnung: reflexive, transitive Relation(Halb-)Ordnung: reflexive, antisymmetrische, transitive RelationAlternative Ordnung: für x, y ∈ M mit x ≠ y gilt entweder x ρ y oder y ρ xTotale oder lineare Ordnung: alternative Halbordnung

Page 18: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

17/1332.1 Erzeugte Halbgruppen und Monoide für RelationenGegeben: Monoid der Relationen ρ ⊆ M ✕ M mit Komposition ·

I. ρ = ρ+ genau dann, wenn ρ transitivII. ρ = ρ* genau dann, wenn ρ reflexiv und transitivIII. ρ Äquivalenzrelation genau dann, wenn ρ = (ρ ⋃ ρT)*

Beweis: i.„wenn… dann… “

Es gelte ρ = ρ+, x ρ y und y ρ z.Zu zeigen: x ρ z

x ρ y und y ρ z ⇒ x ρ2 z⇒ x ρ+ z, weil ρ2 ⊆ ρ+

wegen ρ = ρ+ gilt also x ρ z

Page 19: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

18/1332.1 Erzeugte Halbgruppen und Monoide für Relationen„… nur dann, wenn… “

Sei ρ transitiv⇒ ρ2 ⊆ ρ

Induktionsschritt: ρi+2 = ρi · ρ2 ⊆ ρi · ρ = ⊆ρi+1 ρ (Induktionsannahme)⇒ Für alle i ≥ 1 ist ρi ⊆ ρ⇒ ρ+ ⊆ ρ⇒ ρ+ = ρ, weil auch ρ ⊆ ρ+

Beweis von ii. und iii.: Übung

Transitive Hülle von ρ: ρ+

Reflexive, transitive Hülle von ρ: ρ*

Page 20: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

19/1332.1 Erzeugte Halbgruppen von ZeichenreihenZeichenreihen: Monoid Σ* über Zeichenvorrat Σ mit Verkettung

leeres Wort:ε besteht aus null Zeichen und ist neutrales Element von Σ*

Notationen:

|x|: Länge des Wortes x in Anzahl der Zeichenxn = x · … · x : n-fache Wiederholung des Wortes x

x0 = ε

Beobachtung: Zeichenvorrat Σ ist in der Informatik meist endlich

n-mal

Page 21: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

20/1332.1 GödelnumerierungKurt Gödel, 1906 - 1978, bedeutendster Logiker des 20. Jahrhunderts

Satz:Das Monoid Σ* über endlichem Zeichenvorrat Σ ist abzählbar.

Beweis:Numeriere die Zeichen von Σ mit 1, … , k☛ Jede Zeichenreihe x1… xn entspricht n-Tupel (j1, … , jn), jj ist der

Index von xj in Σ Sei p1, p2, … die abzählbar unendliche Folge der PrimzahlenDefiniere f : Σ* → ℕ durch:

f (ε) = 1f (x1, … , xn) = (p1)j1 ⋅ … ⋅ (pn)jn

f ist injektiv, weil sich jede natürliche Zahl n eindeutig in ihre Primzahlen zerlegen läßt, d.h. n = (p1)j1 ⋅ … ⋅ (pn)jn

☛ Σ* ist abzählbar

Page 22: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

21/1332.1 GödelnumerierungGödelnummer von x : f (x)Gödelnumerierung von Σ* : f

Beispiel: Σ = {a, b, c}Numerierung: a hat Nummer 1, b hat Nummer 2, c hat Nummer 3f (abcaab) = 21 · 32 · 53 · 71 · 111 · 132 = 29279250

Lerne:den Satzdas Prinzip der Gödelnumerierung als Beweisprinzip

Page 23: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

22/1332.1 ListenListe über Menge U (auch Sequenz oder Folge): Monoid U mit

Listenkonkatenation ++ und leerer Liste [ ] als neutralem ElementNotationen:

[a1, … , an]: Liste der Elemente a1, … , an (in dieser Reihenfolge)append(l, l') = l ++ l' Funktionsschreibweise[U]: alternative Notation für U*

Beispiel: [a, b, c] ++ [d, e] = [a, b, c, d, e]

Beobachtungen:append ist assoziativUnterschied zu Mengen: [1, 2] ≠ [2, 1], [1, 1, 2] ≠ [1, 2]

{1, 2} = {2, 1}, {1, 1, 2, 3, 2} = {1, 2, 3}

Listen spielen in der Informatik eine wichtige Rolle

Page 24: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

23/1332.1 Inverse Elemente, Kürzen und Gruppen

Gegeben: Monoid M = (M, ·, e)

Inverses Element x' zu x ∈ M: x · x' = e = x' · xBeispiel: Im Monoid der Funktionen f : M → M mit Verknüpfung

besitzen nur die bijektiven Funktionen ein Inverses

Gruppe: Monoid, in dem jedes Element ein inverses Element besitzt

Aber: In Σ* und [U] besitzt nur e ein inverses Element ☛ keine Gruppe!

Allerdings gelten:Linkskürzungsregel:Für alle x, y, w ∈ Σ* gilt: Aus w · x = w · y folgt x = yRechtskürzungsregel:Für alle x, y, w ∈ Σ* gilt: Aus x · w = y · w folgt x = y☛ a1 … an = b1 … bm genau dann, wenn n = m und ai = bi , i = 1 … N

Beobachtung: Obige Kürzungsregeln gelten nicht in allen Monoiden

Page 25: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

24/1332.2 Relationen und GraphenGegen sei eine (homogene) Relation: ρ ⊆ E ✕ E

Gerichteter Graph (Digraph): G = (E,K)endliche oder abzählbare Grundmenge E von Ecken (engl. vertex)homogene Relation K ⊆ E ✕ E Kanten (engl. edge)☛ gerichtete Graphen und Relationen entsprechen einander

Notation: e →G e' anstelle von (e, e') ∈ K bzw. e K e'Index G wird weglassen, wenn klar aus Kontext

endlicher gerichteter Graph:gerichteter Graph G = (E,K) mit endlicher Grundmenge

ungerichteter Graph:G = (E,K) mit symmetrischem K: (e, e') ∈ K und (e', e) ∈ K ☛ die Kanten werden dann ohne Pfeil gezeichnet

Page 26: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

25/1332.2 Beispiel: Visuelle Darstellung von GraphenBeobachtung:

endliche Graphen können visuell dargestellt werdenEcken sind Punkte, Pfeil von e nach e' wenn e → e'

Beispiel: Betrachte drei äquivalente Graphen zur Relation:E = {a, b, c, d}ρ = {a → b, a → c, a → d, b → c, d → b, d → c}

d c

a b

d c

a b

d c

a b

Page 27: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

26/1332.2 TeilgraphenTeilgraph eines Graphen G = (E,K):Graph G = (E',K') mit E' ⊆ E und K' = {(e,e') ∈ K | e,e' ∈ E'}

G' heißt auch durch E' induzierter Teilgraph von GBeispiel:

Dualer Graph von G = (E,K): GT = (E,KT) mit KT = { (e',e) | (e,e') ∈ K}Beispiel:

d c

a b

d

a b

d c

a b

d c

a b

Page 28: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

27/1332.2 Ecken von GraphenSei G = (E,K) gerichteter GraphEingangskanten von e ∈ E: ∙e = {(e',e) | (e', e) ∈ K}Ausgangskanten von e ∈ E: e∙ = {(e,e') | (e,e') ∈ K}Eingangsgrad von e ∈ E: |∙e|Ausgangsgrad von e ∈ E: |e∙|Eigenschaft: ∑e ∈ E |∙e| = ∑e ∈ E |e∙| = Anzahl Kanten |K|Bei ungerichteten Graphen: grad(e) = |∙e| = |e∙|

Beispiel:

d c

a b

∙a = ∅ a∙ = {a → b, a → c, a → d}∙b = {a → b, d → b} b∙ = {b → c}∙c = {a → c, b → c, d → c } c∙ = ∅∙d = {a → d} d∙ = {d → b, d → c }

Page 29: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

28/1332.2 Vollständiger GraphVollständiger Graph:

ungerichteter Graph, in dem je zwei Ecken durch eine Kante verbunden sind

Notation: Kn ist vollständiger Graph mit n Ecken

Beispiel: K5

Übung: Wieviele Kanten hat ein vollständiger Graph mit n Ecken?

Page 30: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

29/1332.2 Wege, Zyklen und BäumeSei G = (E,K) gerichteter GraphWeg in G der Länge n: Folge von Ecken (e0, … , en), so daß (ei,ei+1) ∈

K, i = 0, … , n-1en ist erreichbar von e0

Definition gilt auch für ungerichtete Graphen

Zyklus in G: en = e0

in ungerichteten Graphen spricht man von einem Kreis

Beispiel:

d c

a b

Wege von a nach c: (a,c)

(a,d,b,c)

(a,b,c)

Zyklen: (b,c,d,b) (einfach)

Page 31: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

30/1332.2 Eulerscher KreisLeonhard Euler, 1707 - 1783, schweizer MathematikerEulerscher Kreis:

Kreis, der alle Kanten des Graphs genau einmal enthältBeispiel: Königsberger Brückenproblem (Euler, 1736)

Gibt es einen Weg, der genau einmal über alle sieben Brücken führt und zum Ausgangspunkt zurückführt?

G = (E,K) enthält genau dann eulerschen Kreis, wenn G zusammenhängend und grad(e) gerade für alle Ecken e ∈ E

☛ Königsberger Brückenproblem nicht lösbar

a

b

c

d

Page 32: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

31/1332.2 Hamiltonscher KreisSir William Rowan Hamilton, 1805 - 1865, irischer Mathematiker, führte

Kräftefunktion in theoretische Mechanik ein

Gegeben: ungerichteter Graph G = (E, K)

Hamiltonscher Kreis: Kreis, der alle Ecken genau einmal enthält

Beispiel:

Kreis: (a, c, b, d, a)

d c

a b

Page 33: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

32/1332.2 Azyklische Graphengerichteter azyklischer Graph: gerichteter Graph ohne ZyklusBeispiel:

Wald: ungerichteter Graph ohne KreiseBeispiel:

(ungerichteter) Baum: Wald (ungerichteter, azyklischer Graph), in dem je zwei Ecken durch einen Weg verbunden sind

Blatt eines Waldes: Ecke mit grad(e) = 1

d c

a b

Page 34: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

33/1332.2 Eigenschaften von Bäumen und WäldernSatz: Sei G = (E,K) ungerichteter Baum. Dann ist |E| = |K| + 1.Beweis: Induktion über |E|

Induktionsanfang:|E| = 1: Also |K|= 0

Induktionshypothese: Aussage gelte für |E| = nInduktionsschritt: Zu zeigen: Aussage gilt für |E| = n + 1

füge neue Ecke e zu Baum G mit n Ecken hinzu

damit Baum entsteht, existiert eine Kante von e zu Ecke e' von G

Annahme: es gibt eine weitere solche Ecke e''

da G Baum gibt es Weg w von e' nach e''⇒ Kreis (e, e',…, e'', e). Widerspruch!

e'

e''

e

w

Page 35: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

34/1332.2 Gerichtete Wälder und Bäume(gerichteter) Wald: gerichteter azyklischer Graph G = (E,K) mit |∙e| ≤ 1

für alle e ∈ EBeispiel:

Wurzel: Ecke mit |∙e| = 0 Beispiel: a und fBaum: Wald mit genau einer WurzelBlatt: Ecke mit e∙ = 0 Beispiel: e, c, h, j und kHöhe von e ∈ E: maximale Länge eines Wegs von e zu einem Blatt

Beispiel:

Höhe eines Baums: Höhe seiner WurzelEltern und Kinder: Kante e → e' definiert Eltern-Kind Beziehung

Ecke a b c d e f g h i j kHöhe 3 2 0 1 0 3 2 0 1 0 0

Page 36: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

35/1332.2 Semiwege, spannende Wege und Schlingen Sei G = (E,K) gerichteter GraphSchlinge: Zyklus der Länge 1Beobachtung: Relation ist genau dann reflexiv, wenn jede Ecke eine

Schlinge besitzt

Beispiel:

Semi-Weg: Folge von Ecken mit (e0, e1, … , en), ei → ei+1 oder ei+1 → ei

Beispiel: (c, a, b, d)

spannender Weg: Weg, der alle Ecken enthält

d c

a b

Page 37: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

36/1332.2 Reflexive, transitive Hüllen endlicher RelationenGegeben:

Endliche Relation ρ über E.Behauptung:

Dann gibt es ein n ∈ N, so dass ρ* = (Δ ⋃ ρ)n, wobei Δ = {(e,e) | e ∈ E} die identische Relation ist und n =|E| - 1

Beweis:Es gilt (Δ ⋃ ρ)i ⊆ (Δ ⋃ ρ)n für alle 0 ≤ i ≤ n:

⇒ (Δ ⋃ ρ)n = ⋃i=0…n(Δ ⋃ ρ)i

Sei n+1 = |E|⇒ Wege der Länge ≥ n+1 enthalten wenigstens eine Ecke mehrfach⇒ jede von e ∈ E aus erreichbare Ecke ist mit Weg ≤ n erreichbar⇒ ρ* = ∪i=0

n (Δ ⋃ ρ)i = (Δ ⋃ ρ)n

e e'

Weg (w, e, … , e')(n-i)-mal

Weg w der Länge i

Page 38: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

37/1332.2 Eigenschaften von Graphenzusammenhängender Graph: ungerichteter Graph G = (E,K), in dem

jedes e ∈ E von jedem e' ∈ E aus erreichbar ist

stark zusammenhängender Graph: gerichteter Graph G = (E,K), in dem jedes e ∈ E von jedem e' ∈ E aus erreichbar ist

einseitig zusammenhängender Graph: gerichteter Graph G = (E,K), in dem von je zwei Ecken e, e' ∈ E mindestens eine von der anderen erreichbar ist

schwach zusammenhängender Graph: gerichteter Graph G = (E,K), in dem zwischen je zwei Ecken e, e' ∈ E ein Semiweg existiert

Page 39: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

38/1332.2 Eigenschaften von GraphenBeispiel:

schwach zusammenhängend, nicht stark zusammenhängend, einseitig zusammenhängend

(starke, einseitige, schwache) Zusammenhangskomponente:maximaler Teilgraph bzgl. der betrachteten Zusammenhangs-eigenschaft

d c

a b

Page 40: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

39/1332.2 Bipartite oder paare GraphenBipartiter (paarer) Graph G = (E,K): E = U ⋃ V läßt sich in zwei disjunkte

Mengen U, V zerlegen, so daß K ⊆ U ✕ V ⋃ V ✕ U

Beispiel: vollständig bipartiter (paarer) Graph K3,3

Anwendungen: Modellierung von Zuordnungsproblemen

Page 41: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

40/1332.2 Das HeiratsproblemGegeben:

n Jungen (Menge U) und n Mädchen (Menge V)Jeder Junge u ∈ U mag eine Menge Vu ⊆ V von MädchenJedes Mädchen v ∈ V mag eine Menge Uv ⊆ U von Jungen

Frage: Gibt es n Heiraten, so daß jeder Junge ein Mädchen heiratet, das er mag, und jedes Mädchen einen Jungen heiratet, den sie mag?

☛ Modellierung als bipartiter Graph:Kante u → v genau dann, wenn u v mag

Antwort (Philipp Hall, 1935): Es gibt n solche Heiraten gdw. zu jeder Teilmenge von k Mädchen (k = 1…n) die Menge der Jungen, die eines der Mädchen mag, mindestens k Jungen umfaßt.

Praktische, (aber noch kompliziertere) Anwendung:Aufstellung von Stundenplänen {((Lehrer, Klasse), Stunde)}

Page 42: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

41/1332.2 Markierte Graphenmarkierter Graph: Graph G = (E,K) mit Markierungsfunktionen

ME: E → GE und MK : K → GK

Markierungen drücken Zusatzinformationen aus

Beispiel:

Netzplan: gerichteter azyklischer markierter Graph G = (E,K) mitgenau einer Ecke q ∈ E mit |∙q| = 0 (Anfang oder Quelle des Netzes)genau einer Ecke s ∈ E mit |∙s| = 0 (Ende oder Senke des Netzes)Kantenmarkierungen: Tätigkeit und deren ZeitdauerEckenmarkierung: Projekt

d c

a b

zustände mit Zeitpunkt

Page 43: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

42/1332.2 Beispiel: Netzplan

Tätigkeiten und deren ZeitdauerMeilenstein: Beendigung einer Menge von TätigkeitenZeitpunkt für Fertigstellung eines Meilensteins

Anfang

M1

M2

M4

M3

M5

M6

M7

M8

T18 Tage

T215 Tage

T410 Tage

T315 Tage

T65 Tage

T510 Tage

T720 Tage

T1015 Tage

T915 Tage

T117 Tage

T1210 Tage

T825 Tage

Page 44: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

43/1332.2 Weitere markierte GraphenMehrfachgraph: Graph G = (E,K) mit Kantenmarkierung MK: K → ℕ

Interpretation M(u → v) ist Anzahl der Kanten zwischen u und v

geordneter Baum: gerichteter Baum G = (E,K) mit Kantenmarkierung MK: K → ℕKantenmarkierung numeriert (ordnet) Kinder

Beispiel: Ableitungsbäume, Kantorowitsch-BäumeSatz

Subjekt Prädikat Objekt

Artikel Substantiv

Ein Informatiker ißt

Substantiv

Schokolade

+

*

+ c

d

a b

Page 45: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

44/1332.2 Planare Graphenplanarer Graph (ebener Graph): G = (E,K) kann in der Ebene ℝ2 so

gezeichnet werden, daß alle Ecken auf verschiedene Punkte abgebildet werden und sich keine Kanten kreuzen.

Beispiel: planarer Graph

Beispiel: nichtplanarer Graph

Anwendungen:Zeichnen von Graphenelektronische Schaltungen (kreuzungsfreie Leitungen)

d c

a b

d c

a b

Page 46: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

45/1332.2 Repräsentation von GraphenGegeben: gerichteter Graph G = (E,K) mit bijektiver Eckenmarkierung

ME: E → {0,… ,|E| - 1}☛ Ecken 0, … , n – 1

Adjazenzmatrix: A = (ai,j ) ∈ {0, 1}n ✕ n mit

aik ≔

☛ Darstellung von G im Binärcode

Adjazenzlisten:Für jede Ecke e: Darstellung der Menge {e': (e, e') ∈ K} als Liste

1 wenn (i,j) ∈ K0 sonst

Page 47: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

46/1332.2 Beispiel

d c

a b

Adjazenzmatrix: Adjazenzliste:

0 1 1 10 0 1 00 0 0 00 1 1 0

a: [b, c, d]b: [c]c: []d: [b, c]

Page 48: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

47/1332.2 Anwendungen Adjazenzlisten anstelle dünn besetzter MatrizenAdjazenzlisten werden zu k-Tupel bei Ausgangsgrad ≤ kAdjazenzmatrizen:

reflexive Relation: aii = 1 für i = 0, … , n symmetrische Relation: Adjazenzmatrix ist symmetrischVerknüpfung von Relationen ρ, σ gegeben durch A = (aij), B = (bij):i (ρ ∘ σ) j ⇔ es gibt ein k mit i ρ k und k σ j

⇔ es gibt ein k mit aik = 1 und bkj = 1⇔ ∑k=0…n aik · bkj ≥ 1⇒ Adjazenzmatrix C (cij) von ρ ∘ σ:

cij ≔

transitive Relation ρ☛ ρ2 ⊆ ρ ⇒ aij · ajk ≤ aik

1 wenn ∑k=0naik · bkj ≥ 1

0 sonst

Page 49: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

48/1332.2 Alternative Codierung mit AdjazenzmatrizenSei C = (cij) = Al

cij = m genau dann, wenn es m Wege der Länge l von i nach j gibt

alternative Codierung für Relation ρ:

cij ≔

☛ Verknüpfung zweier Relationen entspricht Multiplikation der Adjazenzmatrizen

x > 0 wenn i ρ j, x beliebig0 sonst

Page 50: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

49/1332.2 Alternative Codierung mit AdjazenzmatrizenBeweis: Induktion über l:

l=1: trivial

Induktionshypothese: Es gelte die Behauptung im Satz

Induktionsschritt: Zu zeigen: Behauptung gilt auch für Al+1

Sei D = (dij) = Al und C = (cij) = Al+1

⇒ C = D · A

⇒ dik · akj entspricht Anzahl der Wege i →l k → j

⇒ cij = ∑k=0…n-1 dik · akj entspricht Anzahl der Wege i →l+1 j

Variante: ρ reflexiv, C = (cij) = Al

cij = m genau dann, wenn es m Wege der Länge ≤ l von i nach j gibt

Beweis: Übung

Page 51: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

50/1332.2 Satz von Floyd und WarshallGegeben: reflexive Relation ρ über E = {0, … , n-1}

Sei σ(k) = { (i,j) | Es gibt einen Weg i → e0 → … → el-1 → j, l ≤ k, ej ∈ {0, … , k-1}, 0 ≤ j < l}}

Dann: σ(0) = ρ, σ(k+1) = σ(k) ⋃ {(i,j) | i σ(k) k und k σ(k) j } und ρ* = σ(n)

Beweis: Induktionk = 0: σ0 = ρ trivialInduktionsschritt: Induktionshypothese: σ(k) umfaßt alle Wege beliebiger Länge i → e0 → … → el-1 → j mit {e0, … , el-1} ⊆ {0, … , k-1}

☛ {(i,j) | i σ(k) k und k σ(k) j } umfaßt alle Wege i → e0 → … → el-1 → j mit {e1, … , el} ⊆ {0, … , k} über Ecke k

☛ Behauptung ☛ ρ* = ρn = σ(n)

Page 52: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

51/1332.2 Floyd Warshall AlgorithmusBerechnung der transitiven, reflexiven Hülle einer Relation ρ

Idee: Berechne σ(k+1) = σ(k) ⋃ {(i,j) | i σ(k) k und k σ(k) j } ausgehendvon σ(0) = Δ ⋃ ρ

Für Adjazenzmatrizen S(k) = (sij(k)) von σ(k) gilt:

sij(k+1) = sij

(k) + sik(k) · skj

(k)

Eingabe: Adjazenzmatrix A einer Relation ρAusgabe: Adjazenzmatrix S von ρ*

S ≔ A;für i = 0, … , n - 1 sei sii ≔ 1für k = 0, … , n – 1

für i = 0, … , n – 1für j = 0, … , n – 1 sei sij ≔ sij + sik · skj

Page 53: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

52/1332.2 Adjazenzmatrizen von bipartiten Graphen Gegeben: Graph G = (E,K) mit Adjazenzmatrix A = (aij)

G ist genau dann bipartit, wenn es Numerierung der Ecken und Index k gibt, so dass gilt:

Beweis: E = U ⋃ V, U ∩ V = Ø, k = |U|

numeriere Ecken in U mit 0, … , k-1

☛ G ist genau dann bipartit, wenn gilt:aij ≠ 0 ⇒ i < k ≤ j oder j < k ≤ i

Θ ≙ Nullmatrix

B, C ≙ beliebige MatrizenΘ BC Θ

kA =

k

Page 54: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

53/1332.3 Relationen und VerbändeHalbordnung auf U : Relation ≤ ⊆ U ✕ U, so daß für alle a, b, c ∈ U:

a ≤ a (reflexiv)wenn a ≤ b und b ≤ a, dann ist a = b (antisymmetrisch)wenn a ≤ b und b ≤ c, dann ist a ≤ c (transitiv)

Beispiel:Menge P(U) aller Teilmengen von U mit Teilmengenbeziehung ⊆

strenge Halbordnung auf U : transitive, irreflexive RelationEigenschaft: Wenn ρ ⊆ U ✕ U azyklisch ist, dann ist ρ* Halbordnung

und ρ+ strenge HalbordnungBeispiel: echte Teilmenge ⊂

halbgeordnete Menge:Paar (U,≤) mit Halbordnung ≤ ⊆ U ✕ U

streng halbgeordnete Menge:Paar (U,<) mit strenger Halbordnung < ⊆ U ✕ U

Page 55: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

54/1332.3 QuasiordnungenGegeben: Funktion f : U → V und Relation ≤ ⊆ U ✕ U

Durch f und ρ induzierte Relation ρ': f(u) ρ' f(v) genau dann, wenn u ρ v Quasiordnung auf U: reflexive und transitive Relation ≺ ⊆ U ✕ U

Beispiel: reflexive transitive Hülle von:

Page 56: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

55/1332.3 QuasiordnungenSatz:

Sei ≺ Quasiordnung auf U. Dann gibt es eine Menge U und Abbildung f : U → U, so daß die durch f und ≺ induzierte Relation ≤ Halbordnung auf U ist.

Beweis: Betrachte Graph G≺ = (U,≺)Sei [x] ≔ {y ∈ U : x ≺ y ≺ x}⇒ [x] ist starke Zusammenhangskomponente von G≺

Definiere U ≔ {[x] | x ∈ U} und f(x) ≔ [x]⇒ ≤ ist Quasiordnung

Es gelte [x] ≤ [y] und [y] ≤ [x].⇒ Für alle u ∈ [x], v ∈ [y] gilt u ≺ v und v ≺ u⇒ [x] = [y]

Also ist ≤ Halbordnung

Page 57: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

56/1332.3 Beispiele von Halbordnungen und Quasiordnungen Sei Σ Zeichenvorrat

u ∈ Σ* Präfix von w ∈ Σ* : es gibt v ∈ Σ* mit w = uv

Beispiele:„Zimmer“ ist Präfix von „Zimmermann"Relation „ist Präfix" ist Halbordnung

Gegeben kontextfreie Grammatik G = (Σ, N, P, Z), V = Σ ⋃ NAbleitungsrelation ⇒* ⊆ V ✕ V ist QuasiordnungWenn G anständig ist, dann ist ⇒* Halbordnung

Markov-Algorithmus über Σ* (einschließlich Schiffchen)Ableitungsrelation ⇒* ist QuasiordnungWenn der Algorithmus für alle w ∈ Σ* terminiert, dann ist ⇒* Halbordnung

Page 58: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

57/1332.3 Hasse-DiagrammeHelmut Hasse, 1898 - 1979, deutscher Mathematiker

Gegeben: Halbordnung ≤ auf einer Menge U

Zeichne U als Graph G mit Kanten x → y, wenn x ≤ y.

Der Graph ist unübersichtlich: wenn x ≤ y und y ≤ z, so auch x ≤ z.Also gibt es mindestens 2 Wege von x nach z: x→ y → z und x → z.

Frage: Was ist der einfachste Graph G', bei dem man auf genau einemWeg von x nach z kommt, wenn x ≤ z?

☛ G' entsteht aus G durch Weglassen von Kanten.G' heißt Hasse-Diagramm zu ≤.

Bemerkung: Das Hasse-Diagramm existiert für endliche Halbordnungen immer, bei unendlicher Grundmenge U jedoch oft nicht.

Page 59: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

58/1332.3 Hasse-Diagramme: BegriffeTotalordnung ≤ auf U:

Halbordnung ≤, so daß x ≤ y oder y ≤ x für alle x, y ∈ UBeispiel: ℕ mit ≤

Kette K ⊆ U:total geordnete Teilmenge einer halbgeordneten Menge (U, ≤)

Beispiel: Ø ⊆ {1} ⊆ {1, 2} ⊆ {1, 2, 3} ⊆ … Beobachtung: Im Graph G≤ = (U, ≤) entspricht eine Kette einem Weg

Absteigende Kette: … ≤ e-n ≤ … ≤ e-1 ≤ e0

Beispiel: … ⊆ {3, 4, … } ⊆ {2, 3, 4, … } ⊆ {1, 2, 3, 4, … }

Aufsteigende Kette: e0 ≤ e1 ≤ … ≤ en ≤ …

Page 60: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

59/1332.3 Azyklische Relationen und Halbordnungen Satz:

Seien ρ, σ azyklische Relationen auf U mit ρ ⊆ σ ⊆ ρ+,dann ist ρ+ = σ+.

Beweis: Es gelte e0 σ+ en

Es gibt in Gσ = (U, σ) einen Weg e0 →σ e1 →σ … →σ en

⇒ da σ ⊆ ρ+ gilt e0 (→ρ+)+ e1 (→ρ+)+ … (→ρ+)+ en

⇒ σ+ ⊆ ρ+

⇒ Aus ρ ⊆ σ folgt direkt ρ+ ⊆ σ+

⇒ ρ+ = σ+

Hasse-Diagramm zu σ: Graph Gσ zur kleinsten Relation ρ mitρ ⊆ σ ⊆ ρ+ = σ+

Page 61: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

60/1332.3 Beispiel eines Hasse-DiagrammsHalbordnung: U = {1, … , 15} und x ≤ y gdw. x Teiler von y ist.

4 6

8 12

9 10 14 15

2 3 5 7 11 13

1

Page 62: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

61/1332.3 Existenz von Hasse-DiagrammenGibt es immer ein Hassediagramm?

Satz:Sei σ endliche strenge Halbordnung auf U. Dann ist ρ ≔ σ ∖ σ2

kleinste Relation mit ρ+ = σ+ und Gρ = (U, ρ) ist Hasse-Diagramm.

Beweis: Sei Xpq die Menge aller Wege p σ p1 σ … σ pn σ q

Kein Weg in Xpq besucht ein p' ∈ U zweimal, weil σ azyklisch ist.

Alle Wege in Xpq sind endlich, weil σ endlich ist.

⇒ Aus endlichem p' σ q' lassen sich nur endlich viele

Wege aus Xpq zusammensetzen

⇒ Xpq ist endlich

Page 63: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

62/1332.3 Existenz von Hassediagrammen Sei p0 = p σ p1 σ … σ pn ein Weg maximaler Länge von p0 nach pn

⇒ Für kein i gilt pi σ2 pi+1, sonst wäre der Weg verlängerbar

⇒ p0 = p ρ p1 ρ … ρ pn-1 ρ q = pn

⇒ ρ ⊆ σ ⊆ ρ+ = σ+

Sei p ρ q

⇒ Xpq = {(p,q)} enthält nur ein einziges Element (p,q)

⇒ Entfernen von (p, q) aus ρ erhält nicht mehr die transitive Hülle

Page 64: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

63/1332.3 Topologisches SortierenGegeben: endliche Halbordnung (U, ≺)

Gesucht: Totalordnung (U, ≤) so, daß aus u ≺ v die Beziehung u ≤ v folgt.

Topologische Sortierung von (U, ≺):

Liste L = [e0, … , en] mit e0 ≤ e1 ≤ … ≤ en

Algorithmus zur Berechnung einer topologischen Sortierung

Setze L ≔ [];

Solange U ≠ Ø wiederhole

Wähle eine Ecke e mit |∙e| = 0 und hänge diese hinten an L an

Entferne e aus G = (U,≺), d.h. G ≔ (U ∖ {e}, ≺ ∖ {(e, e') | (e, e') ∈ ≺ }

Page 65: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

64/1332.3 Topologisches SortierenKorrektheitsbeweis:

Wir zeigen, daß nach jeder Iteration der Schleife folgende Aussagen gelten:

i. Für alle e, e' ∈ L gilt: kommt e' vor e, dann ist e ⊀ e'

ii. G ist endlich und azyklisch

Induktionsanfang:

i. und ii. gelten trivialerweise vor Ausführung der Schleife

Induktionsannahme:

i. und ii. gelte nach m Iterationen

Page 66: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

65/1332.3 Topologisches SortierenInduktionsschritt:

Zu zeigen: i. und ii. gelten nach m+1 Iterationen

Da G azyklisch, gibt es immer ein e mit Eingangsgrad 0

⇒ Für alle übrigen e' ∈ U gilt: e' ⊀ e

⇒ Für alle e'' ∈ L gilt: e ⊀ e''

⇒ Nach Einfügen von e am Ende von L gilt ii.

Streichen von e aus G erhält die Eigenschaften endlich, azyklisch

Terminierungsbeweis:

In jedem Schritt wird eine Ecke e aus U entfernt

⇒ da U endlich ist, wird nach |U| Iterationen U = Ø

Page 67: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

66/1332.3 Beispiel

Beobachtung: topologisches Sortieren ist ein nichtdeterministischer Algorithmus

irgendeine Ecke mit Eingangsgrad 0 wird gewählt

Extremfall G = (U, Ø): jede Reihenfolge ist topologische Sortierung

L = [a, d, b, c]d c

a b

Page 68: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

67/1332.3 Untere und obere SchrankenAusgangspunkt: Halbordnung (U, ≤)

untere Schranke x von X ⊆ U: x ≤ y für alle y ∈ X

obere Schranke x von X ⊆ U: y ≤ x für alle y ∈ X

größte untere Schranke inf(X) von X ⊆ U:

inf(X) ist untere Schranke von X und

es gibt keine untere Schranke z ≠ inf(X) von X mit inf(X) ≤ z

Page 69: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

68/1332.3 Untere und obere Schrankenkleinste obere Schranke sup(X) von X ⊆ U:

sup(X) ist obere Schranke von X und

es gibt keine obere Schranke z ≠ sup(X) von X mit z ≤ sup(X)

Beispiel:

Halbordnung (ℕ, „ist Teiler“)

inf(X) = ggT(X)

sup(X) = kgV(X)

Page 70: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

69/1332.3 Flach geordnete MengenAusgangspunkt: Menge U ohne RelationZiel: Erweiterung zu Halbordnung durch Hinzunahme eines Elements:

U = (U ⋃ {⊥}, ≤ ) mit ⊥ ≤ e für alle e ∈ U⊥ heißt unten (engl. bottom)U⊤ = (U ⋃ {⊤}, ≤) mit e ≤ ⊤ für alle e ∈ U⊤ heißt oben (engl. top)

flach geordnete Menge: Halbordnungen U⊥ bzw. U⊤

Beispiel: flache Ordnung von {a, b, c}

Ausblick:⊥ spielt eine wichtige Rolle in der Semantik von Programmier-sprachen, entspricht dem nil, null bzw. void-Verweis in objektorientierten Sprachen.

a b c

Page 71: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

70/1332.3 Eigenschaften von HalbordnungenGegeben: Halbordnung (U, ≤)

fundierte Ordnung: für jedes nicht leere X ⊆ U gilt inf(X) ∈ X

Beispiel: (ℕ, ≤), aber (ℤ, ≤) ist nicht fundiert

artinsche Ordnung: (Emil Artin, 1898-1962, dt. Mathematiker)jede absteigende Kette … ≤ a-i ≤ … ≤ a-1 ≤ … bricht ab.

Beispiel: (ℕ, ≤)

noethersche Ordnung: (Emmy Noether, 1882-1935, dt. Mathematikerin)jede aufsteigende Kette a0 ≤ a1 ≤ … ≤ ai ≤ … bricht ab.

Beispiel: ⇒* eines terminierenden Semi-Thue-System

Ausblick: Diese Eigenschaften spielen eine wichtige Rolle bei Korrektheits- und Terminierungsbeweisen

Page 72: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

71/1332.3 Eigenschaften von Halbordnungen Satz: (U, ≤) ist genau dann fundiert, wenn sie artinsch ist.

Beweis:

1. Sei (U, ≤) fundiert.

Jede Kette K ist Teilmenge von U

⇒ inf K ∈ K

2. Sei (U, ≤) artinsch

Annahme: Es gibt X ⊆ U mit inf(X) ∉ X

Sei x0 ∈ X

⇒ es gibt x1 ∈ X, mit x1 < x0

⇒ Induktion ergibt nicht abbrechende Kette x0 > x1 > … > xi > xi+1 > …

⇒ Widerspruch!

Page 73: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

72/1332.3 Lexikographische OrdnungAusgangspunkt: endliches Alphabet (Σ, <)

Präfixordnung: (Σ*, ⊑) mit u ⊑ v genau dann, wenn u Präfix von v istartinsch, nicht noethersch, fundiert

lexikographische Ordnung: (Σ*, ≺) mitε ≺ x für alle x ∈ Σ*x ≺ y, wenn x ⊑ yxay ≺ xbz für alle x, y, z ∈ Σ* ; a, b ∈ Σ mit a < b

Die lexikographische Ordnung auf Σ* ist nicht fundiert, wenn Σ wenigstens zwei Zeichen a,b, a ≺ b, umfaßt:

Zu jedem Wort ambx, a ≺ ambx ≺ b, x∈Σ*, das zumindest ein b enthält, kann man beliebig viele kleinere Wörter a ≺ amanby ≺ ambxangeben. In einer vorgegebenen (unendlichen) Menge X ⊆ Σ* mit ambx ∈ X muß kein kleinstes Element ≺ ambx existieren.

Page 74: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

73/1332.3 Vollständige HalbordnungenSei (U, ≤) Halbordnung:(U, ≤) ist vollständig (engl. complete partial order, kurz: cpo):

U hat kleinstes Element ⊥ undjede Kette K ⊆ U hat obere Schranke sup(K)

Ausblick: Vollständige Halbordnungen spielen eine wichtige Rolle in der Semantik von Programmiersprachen, Programmanalysen, Testfallgenerierung

Beispiel: flache Halbordnungalle Ketten haben maximal Länge 2: [⊥, a], a ∈ U

Beispiel: (P(U), ⊆)⊥ = ØBetrachte Kette K: U0 ⊆ U1 ⊆ ⊆ … ⊆ Ui ⊆ Ui+1 ⊆ … Dann ist sup(K) = ⋃ Ui

Beispiel: jede noethersche Halbordnung

Page 75: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

74/1332.3 Partielle FunktionenPartielle Funktion f : U ↝ V, Relation f ⊆ U ✕ V mit

aus x f y und x f z folgt x = yDefinitionsbereich von f: Def(f) = {U | es gibt ein z, so daß x f z}

g : U ↝ V erweitert f (f ⊑ g):Def(f) ⊆ Def(g)f (x) = g(x) f.a. x ∈ Def(f)

Eigenschaft: (U ↝ V, ⊑) ist vollständige HalbordnungBeweis: Halbordnung: Übung, ⊥ = ∅

Sei K eine Kette f0 ⊑ … ⊑ fi ⊑ fi+1 ⊑ … . Dann gilt:Def(sup(K)) = ∪ Def(fi)sup(K)(x) = fi(x) für ein i mit x ∈ Def(fi)

sup(K) wird durch die Funktionen fi der Kette K approximiert.

Ausblick: Diese Approximationen spielen bei der Definition der Semantik einer Programmiersprache, bei Datenflußanalysen, bei Programmoptimierung und bei Testfallgenerierung eine wichtige Rolle

Page 76: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

75/1332.3 Monotone und stetige FunktionenAusgangspunkt: Halbordnungen (U, ρ), (V, σ)

monotone Funktion f : U → V (auch Halbordnungs(homo)morphismus ):

Aus x ρ y folgt f(x) σ f(y)

Ausgangspunkt: vollständige Halbordnungen (U, ρ), (V, σ)

stetige Funktion f : U → V: Für jede aufsteigende Kette K in U existiert sup(f(K)) und sup(f(K)) = f(sup(K))

Warum „stetig“? einseitige Stetigkeit in der Analysis

Jede stetige Funktion ist monoton.

Page 77: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

76/1332.3 Monotone und stetige FunktionenBeispiel: Betrachte (P(N),⊆) und ({0, 1},≤).

beides sind vollständige Halbordnungen

gegeben: unendlich: P(N) → {0,1} mit

unendlich(X) ≔

unendlich ist monoton aber nicht stetig:

K = [∅, {0}, {0, 1}, {0, 1, 2}, … ]

sup(K) = ℕ, f(K) = [0, … ]

f(sup(K)) = 1, aber sup(f(K)) = 0

0, wenn X endlich1, sonst, d.h. X unendlich

Page 78: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

77/1332.3 FixpunkteFixpunkt von f : U → U, x ∈ U mit f (x) = x

Fixpunktsatz von Knaster-Tarski:Gegeben:

vollständige Halbordnung (U,≤) mit kleinstem Element ⊥ und monotone Funktion f : U → U.

Behauptung:es gibt eindeutigen kleinsten Fixpunkt x ∈ U mit f(x) = x

Beweis: s. Goos: Vorlesungen über Informatik, Band 1, S. 76-77

Ausblick: Der Fixpunktsatz von Knaster-Tarski wird in der theoretischen Informatik gebraucht. Häufiger ist der nachfolgende Fixpunktsatz

Page 79: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

78/1332.3 FixpunkteGegeben:

vollständige Halbordnung (U,≤) mit kleinstem Element ⊥ und stetige Funktion f : U → U.

Behauptung:x0 = sup{fn(⊥) | n ≥ 0} ist kleinster Fixpunkt.

Beweis:

x0 ist Fixpunkt:

f(x0) = f(sup{fn(⊥) | n ≥ 0})= sup{fn+1(⊥) | n ≥ 0} (weil f stetig)= sup{fn(⊥) | n ≥ 0} (weil ⊥ minimal)= x0

Page 80: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

79/1332.3 FixpunkteBeweis (Fortsetzung):

x0 ist kleinster Fixpunkt:D = {fn(⊥) | n ≥ 0} ⋃ {x0} ist kleinste Menge M mit den Eigenschaften

i. ⊥ ∈ Mii. falls x ∈ M, dann auch f(x) ∈ Miii. falls K ⊆ M Kette, so ist auch sup(K) ∈ M

Annahme: es gibt Fixpunkt y ≤ x0

⇒ D' = {fn(⊥) | n ≥ 0 und fn(⊥) ≤ y} ⋃ {y} erfüllt i., ii. und iii.⇒ D ⊆ D', weil D die kleinste Menge ist, die i., ii. und iii. erfüllt⇒ x0 ≤ y , also x0 = y

Page 81: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

80/1332.3 Beispiel: MengengleichungenAusgangspunkt: vollständige Halbordnung (P(U)6, ⊑) mit

U = {a, b, c} und

(X1,… ,X6) ⊑ (Y1, … , Y6) genau dann, wenn X1 ⊆ Y1, … , X6 ⊆ Y6

Funktion f : P(U)6 → P(U)6 mit

f (X1, … , X6) =

Eigenschaften von f : monoton und stetig

X4

X1 ∖ {c}X4 ⋃ X6

X3 ⋃ {a,b,c}∅{c}

Page 82: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

81/1332.3 Beispiel: MengengleichungFixpunkt von f :f (∅,∅,∅,∅,∅,∅) = (∅,∅,∅, {a, b, c},∅, {c})f (f (∅,∅,∅,∅,∅,∅)) = ({a, b, c},∅, {a, b, c}, {a, b, c},∅, {c})f (f (f (∅,∅,∅,∅,∅,∅))) = ({a, b, c}, {a, b}, {a, b, c}, {a, b, c},∅, {c})f (f (f (f (∅,∅,∅,∅,∅,∅)))) = ({a, b, c}, {a, b}, {a, b, c}, {a, b, c},∅, {c})

Also ist ({a, b, c}, {a, b}, {a, b, c}, {a, b, c},∅, {c}) kleinster Fixpunkt von f

Ausblick: Diese Art von Iterationen werden in Datenflußanalysen zur Programmoptimierung und Testfallgenerierung benutztKorrektheit und Terminierung hängt von der Existenz kleinster Fixpunkte abBeispiel aus der Datenflußanalyse: ein Programm berechnet einen Wert x. Frage: wird der Wert von x eventuell im weiteren Verlauf nochbenutzt oder war die Berechnung überflüssig? Antwort allein aus dem Programmtext, ohne Programmausführung!

Page 83: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

82/1332.3 HalbverbändeMotivation:

Verbände schlagen Brücke zwischen Ordnungen, Algebren und Logik

Halbverband (U, ⋀):(U, ⋀) ist abelsche Halbgruppe und Idempotenzgesetz a ⋀ a = a gilt

Auch die duale Definitiona ≤ b genau dann, wenn a ⋀ b = bliefert eine Halbordnung. Wenn diese Halbordnung beabsichtigt ist, schreibt man die Verknüpfung des Halbverbands gewöhnlich als ⋁.

Umkehrung: geg. sei Halbordnung (U, ≤), in der für x,y ∈ U das größte Element inf(x, y) = sup{z | z≤ x, z≤ y} eindeutig definiert ist.x ⋀ y = inf(x, y) definiert nun die Operation eines Halbverbands (U, ⋀).

Beispiel: lexikographische Ordnung:x ⋀ y ist längstes gemeinsames Präfix

Page 84: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

83/1332.3 DualisierungBeobachtung: Wenn ρ Halbordnung, dann ist auch ρT Halbordnung

(duale Halbordnung)

duale Begriffe: Begriff dualer Begriff≤ ≥

< >obere Schranke untere Schranke

sup(X) inf(X)⊤ ⊥

aufsteigende Kette absteigende Ketteaufsteigend monoton absteigend monoton

größtes Element kleinstes Elementartinsch noethersch

a ⋁ b a ⋀ b

Dualitätsprinzip:Wenn Aussage richtig für Halbordnung ρ, dann ist duale Aussage richtig für ρT

Page 85: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

84/1332.3 VerbändeVerband (U, ⋀, ⋁): (U, ⋀) und (U, ⋁) sind duale Halbverbände,

Idempotenzgesetze: a ⋁ a = a und a ⋀ a = aVerschmelzungsgesetze: a ⋁ (a ⋀ b) = a und a ⋀ (a ⋁ b) = a

Beobachtungen:Es gilt a ≤ b genau dann, wenn a ⋀ b = a.Daher ist (U,≤) HalbordnungEs gilt zusätzlich a ≤ b genau dann, wenn a ⋁ b = b ist.

Beweis: Sei a ≤ b: b = b ∨ (b ∧ a) = b ∨ a = a ∨ bwegen Verschmelzungsgesetz und a ⋀ b = a, Umkehrung analogSchreibweise:

a ⋁ b = sup(a, b) und a ⋀ b = inf(a, b)

bzw. bei endlicher Grundmenge U:a ⋁ b = max(a, b) und a ⋀ b = min(a, b)

Page 86: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

85/1332.3 VerbändeBeispiel:

kein Verband Verband Verband

Page 87: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

86/1332.3 Eigenschaften von VerbändenDistributiver Verband (U, ⋀, ⋁): Es gelten die

Distributivgesetze

a ⋁ (b ⋀ c) = (a ⋁ b) ⋀ (a ⋁ c) und

a ⋀ (b ⋁ c) = (a ⋀ b) ⋁ (a ⋀ c)

Modularer Verband (U, ⋀, ⋁): Es gilt das

Modularitätsgesetz

Wenn a ≤ c, dann ist a ⋁ (b ⋀ c) = (a ⋁ b) ⋀ c

Beispiel:

nicht distributiv, modular nicht distributiv, modular

Page 88: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

87/1332.3 Vollständige Verbändevollständiger Verband (U, ⋀, ⋁):

Für jede Teilmenge A ⊆ U existiert inf(A) ∈ U und sup(A) ∈ U

Beispiel: Teilmengenverband (P(U), ∩, ⋃)

Ordnungsrelation ⊆

inf(X) = ∩A ∈ X A, sup(X) = ∪A ∈ X A

(P(U), ∩, ⋃) ist auch distributiv:

A ⋃ (B ∩ C) = (A ⋃ B) ∩ (A ⋃ C) und A ∩ (B ⋃ C) = (A ∩ B) ⋃ (A ∩ C)

Jeder vollständige Verband definiert eine vollständige Halbordnung

Jeder endliche Verband ist vollständig

Page 89: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

88/1332.3 Komplementäre VerbändeAusgangspunkt: Verband (U, ⋀, ⋁)

Komplement ∁a von a ∈ U: a ⋁ ∁a = ⊤ und a ⋀ ∁a = ⊥

Beispiel: Teilmengenverband (P(U), ∩, ⋃)

∁A = U ∖ A

A ⋃ ∁A = A ⋃ (U ∖ A) = U und A ∩ ∁A = A ∩ (U ∖ A) = ∅

komplementärer Verband:vollständiger Verband, in dem zu jedem Element genau ein Komplement existiert

Beispiel: Teilmengenverband

Page 90: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

89/1332.3 Boolesche Verbände (Boolesche Algebren)George Boole, 1815 - 1864, britischer Mathematiker und Logiker

boolescher Verband (boolesche Algebra):vollständiger, komplementärer, distributiver VerbandIn einem booleschen Verband gelten das

Involutionsgesetz:∁∁a = a

und die

De Morgan'sche Gesetze:∁(a ⋀ b) = ∁a ⋁ ∁b∁(a ⋁ b) = ∁a ⋀ ∁b

Ausblick: Boolesche Algebren spielen beim Hardware-Entwurf und in vielen anderen Bereichen der Informatik eine wichtige Rolle

Page 91: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

90/1332.3 InvolutionsgesetzAusgangspunkt: boolescher Verband (U, ⋀, ⋁)

Involutionsgesetz: ∁∁a = a

Beweis:

∁∁a = ∁∁a ⋀ ⊤ Eigenschaft von ⊤

= ∁∁a ⋀ (∁a ⋁ a) Definition von komplementär

= (∁∁a ⋀ ∁a) ⋁ (∁∁a ⋀ a) Distributivgesetz

= ⊥ ⋁ (∁∁a ⋀ a) Definition von komplementär

= (∁a ⋀ a) ⋁ (∁∁a ⋀ a) Definition von komplementär

= (a ⋀ ∁a) ⋁ (a ⋀ ∁∁a) Kommutativgesetz

= a ⋀ (∁a ⋁ ∁∁a) Distributivgesetz

= a ⋀ ⊤ Definition von komplementär

= a Eigenschaft von ⊤

Page 92: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

91/1332.3 De Morgan‘sche GesetzeAugustus de Morgan, 1806 - 1871, engl. Mathematiker und Logiker

Ausgangspunkt: boolescher Verband (U, ⋀, ⋁)

De Morgan'sche Gesetze ∁(a ⋀ b) = ∁a ⋁ ∁b und ∁(a ⋁ b) = ∁a ⋀ ∁b

Beweis:Weil der Verband komplementär ist, genügt es zu zeigen, daß(a ⋀ b) ⋁ (∁ a ⋁∁ b) = ⊤ ist.

(a ⋀ b) ⋁ (∁a ⋁ ∁b)

= (a ⋁ (∁a ⋁ ∁b)) ⋀ (b ⋁ (∁a ⋁ ∁b)) Distributivgesetz

= ((a ⋁ ∁a) ⋁ ∁b) ⋀ (b ⋁ ∁a ⋁ ∁b) Assoziativgesetz

= (⊤ ⋁ ∁b) ⋀ (b ⋁ ∁a ⋁ ∁ b) Definition von komplementär

Page 93: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

92/1332.3 De Morgan‘sche GesetzeBeweis (Fortsetzung):

= ⊤ ⋀ (b ⋁ ∁ a ⋁ ∁ b) Eigenschaft von ⊤

= ⊤ ⋀ (∁a ⋁ b ⋁ ∁b) Kommutativgesetz

= ⊤ ⋀ (∁a ⋁ (b ⋁ ∁b)) Assoziativgesetz

= ⊤ ⋀ (∁a ⋁ ⊤) Definition von komplementär

= ⊤ ⋀ ⊤ Eigenschaft von ⊤

= ⊤ Eigenschaft von ⊤

Das andere de Morgan-Gesetz ist dual, also analoger Beweis (Übung).

Page 94: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

93/1332.3 Beispiel: TeilerverbandAusgangspunkt:

endliche Menge {x1, … , xn} paarweise teilerfremder Zahlen

ggT(xi, xj ) = 1 falls i ≠ j

Teilerverband: U = { ∏i ∈ I xi | I ⊆ {1, … , n}} wobei ∏i ∈ ∅ xi ≔ 1

n ⋀ m ≔ ggT(n,m)

n ⋁ m ≔ kgV(n,m)

∁ m ≔ ∏i = 1…n xi / m

☛ Halbordnung ist Teiler, geschrieben „ m | n “ (m teilt n)

Page 95: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

94/1332.3 Beispiel für TeilerverbandMenge {2; 3; 5}. Dann ist Teilerverband U = {1, 2, 3, 5, 6, 10, 15, 30}.

3 52

30

1

6 1510

Page 96: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

95/1332.4 Endliche Automatenendlicher Automat:

gedachte Maschine, die Zeichenreihen liest, und über ein beschränktes Gedächtnis des Gelesenen verfügt☛ statt Zeichen lesen: jede Art unterscheidbarer Eingangssignale verarbeiten

Zustand:Gedächtnis über Vorgeschichte der eingelesenen Zeichen☛ Ein endlicher Automat besitzt endliche Menge Q von Zuständen

Arbeitsweise:beginnt mit Anfangszustand q0

liest Zeichen aus Eingabe und geht in neuen Zustand☛ Darstellung als Semi-Thue-System oder gerichteter Graph: q0 a → q1 q0 b → q0

q1 a → q2 q1 b → q1

q2 a → q3 q2 b → q2

q3 a → q4 q3 b → q3

q4 a → q4 q4 b → q4

q0 q1 q2 q3 q4

b b b b ab

a a a a

Page 97: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

96/1332.4 Endliche Automaten – EinleitungWas macht man damit?

Reaktion bei Erreichen bestimmter Zustände (Moore-Automat)Prüfung, daß Eingabe korrekt(Akzeptor, verlangter Endzustand erreicht?)

Reaktion bei bestimmten Zustandsübergängen (Mealy-Automat)

Beispiele:primitiv, aber wirkungsvoll:

Schlüssel im Schloß umdrehen (Zustände offen-geschlossen)Gegenstände abzählen: 0,1,2,3,viele (5 Zustände)Jeder vierten Person etwas schenken

komplizierter:Prüfung der korrekten Schreibweise von GleitpunktzahlenBeschreibung der Arbeitsweise von Fahrkartenautomaten usw.

Page 98: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

97/1332.4 Arten endlicher AutomatenKlassifikation nach Art der Ausgabe:

Mealy-Automat: Zustandsübergänge erzeugen als Ausgabe Wörter

t ∈ Δ* über Zeichenvorrat Σ

Beispiel:

Moore-Automat: Zustände erzeugen als Ausgabe Wörter t ∈ Δ* über Zeichenvorrat Σ

q0 q1 q2 q3 q4

b / b / b / b / ab /

a / | a / | a / | a / f

Page 99: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

98/1332.4 Arten endlicher AutomatenAkzeptor: spezieller Moore-Automat, der eine Menge von Endzuständen hat. Endet der Automat in einem Endzustand, dann akzeptiert er die Eingabe.

Beispiel:

q0 q1 q2 q3 q4

b b b b ab

a a a a

Page 100: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

99/1332.4 Beispiel: ParitätParität einer Bitfolge w: gerade oder ungerade Anzahl der L in w

Automat:

q0: in bisher gelesenen Bits: Anzahl der L gerade (Anfangszustand)

q1: in bisher gelesenen Bits: Anzahl der L ungerade

Annahme: Automat im Zustand q0 nach Verarbeitung von Wort w

⇒ w hat gerade Parität

Annahme: Automat im Zustand q1 nach Verarbeitung von Wort w

⇒ w hat ungerade Parität

⇒ Akzeptor mit Endzuständen q0 und q1

q0 q10 0L

L

Page 101: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

100/1332.4 Akzeptoren für BezeichnerBezeichner: Folge von Buchstaben und Ziffern, wobei erstes Zeichen

Buchstabe sein muß

typisch für Bezeichner von Variablen etc. in Programmiersprachen

Akzeptor:

q0: Anfangszustand

q1: Endzustand (erstes Zeichen ist Buchstabe)

b steht für beliebigen Buchstaben

z steht für beliebige Ziffer

q0 q1 b,zb

Page 102: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

101/1332.4 Akzeptoren für Zahlenganze Zahlen: nicht leere Folge von Ziffern

Festpunktzahlen:

zn . zm wobei m ≥ 1 und z für beliebige Ziffern steht

Gleitpunktzahlen:

zn. zm Ee wobei m ≥ 1 und e eine ganze Zahl (evtl. mit Vorzeichen +oder -) ist oder

zn Ee wobei n ≥ 1 ist.

Page 103: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

102/1332.4 Akzeptoren für Zahlen

q1 akzeptiert natürliche Zahlen, q3 akzeptiert Festpunktzahlen, q6akzeptiert Gleitpunktzahlen

q0 Startzustand

q1 ganze Zahl

q2 Punkt

q3 Festpunktzahl

q4 Exponent

q5 Vorz. Exponent

q6 Gleitpunktzahl

q0 q1 q4 q5

q6

E z

z E +, -

q2 q3z

z

z

z

z

Page 104: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

103/1332.4 Akzeptoren und reguläre Sprachenendlicher Akzeptor:

A = (Σ,Q, q0, F, R) wobei

Σ Zeichenvorrat,

Q nicht leere Menge von Zuständen (Q ∩ Σ = ∅),

q0 ∈ Q Anfangszustand,

F ⊆ Q Menge der Endzustände und

R Menge von Zustandsübergangsregeln der Form qa → q' mit q,q' ∈ Q, a ∈ Σ ist.

Bemerkung: (Σ ⋃ Q, →) ist Semi-Thue-System

Page 105: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

104/1332.4 Akzeptoren und reguläre SprachenBeispiel: A = ({b, z}, {q0, q1}, q0, {q1}, {q0b → q1, q1b → q1, q1z → q1})

Von Automat A akzeptierte Sprache:

L(A) = {w ∈ Σ* | es gibt qe ∈ F, so daß q0w ⇒* qe }

Beispiel: L(A) = { bw | w ∈ {b, z}* }

q0 q1 b,zb

Page 106: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

105/1332.4 Vollständige AkzeptorenBeispiel:

kein Übergang q0 z → … im Akzeptor für Bezeichner

Grund: Fehler

Einführung eines Fehlerzustands fehler ∉ F

mit q0 z → fehler

fehler b → fehler

fehler z → fehler

vollständiger Akzeptor A = (Σ, Q, q0, F, R): für alle q ∈ Q und a ∈ Σ existiert q' ∈ Q mit q a → q' ∈ R

q0 q1 b,zbfehlerb,z

z

Page 107: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

106/1332.4 Reguläre Grammatiken und endliche AkzeptorenSatz: L ⊆ Σ* ist L = L(A) für einen Akzeptor A = (Σ, Q, q0, F, R), genau

dann wenn L = L(G) für eine reguläre Grammatik G = (Σ, N, P, Z) ist.

Beweis: „nur dann, wenn“. Sei G reguläre Grammatik⇒ alle Produktionen haben die Form X → aB, X → a oder X → ε

Konstruiere Akzeptor A = (Σ, Q, q0, F, R) wie folgt:N' = {NXa | X → a ∈ P } ⋃ {X | X → ε ∈ P }Q = N ⋃ N'q0 = ZF = N' R = {Xa → Y | X → aY ∈ P} ⋃ {Xa → NXa | X → a ∈ P}

Behauptung:Für alle X ∈ N gilt: X ⇒*G w genau dann, wennXw ⇒*A H für ein H ∈ F

Page 108: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

107/1332.4 Reguläre Grammatiken und endliche AkzeptorenBeweis: Induktion über Aufbau von w:

w = ε :Dann ist X → ε ∈ P und X ∈ F: X ⇒*G ε gdw. X ε ⇒*A X ∈ F

w = a und X → a ∈ P:Dann ist Xa ⇒ NXa ∈ R: X ⇒*G a gdw. Xa ⇒*A NXa ∈ F

Induktionshypothese: Aussage gelte für wInduktionsschritt: Zeige: Aussage gilt auch für x = aw, a ∈ A:

G : X ⇒G aY ⇒*G awA : Xaw ⇒A Yw ⇒*A H ∈ F

für ein Y ∈ N Induktionshypothese

X = Z ergibt die Behauptung; Umkehrung beweist man analog.

Page 109: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

108/1332.4 BeispielGegeben: reguläre Grammatik mit Produktionen

Z → aX | bX

X → aX | bX | ε

L(G) = {a, b}+

endlicher Automat:

Anfangszustand Z

Za → X Zb → X

Xa → X Xb → X

Endzustand: X

Page 110: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

109/1332.4 Automat als Semi-Thue-SystemBei bisherigen Beispielen:

Übergänge qa → q´ bilden zusammengenommen eine Übergangsfunktion δ: Q ✕ Σ → QEin endlicher Automat, der die Eigenschaft besitzt, daß die Übergänge zusammengenommen eine (Übergangs-)Funktion bilden, heißt deterministisch

Allgemeiner Fall: Indeterminismus zugelassenDie Übergänge definieren ein durch P endlich erzeugtes Semi-Thue-System mit Eingabezeichenvorrat Σ und syntaktischen Hilfszeichen q ∈ QDie Auffassung eines endlichen Automaten als Semi-Thue-System stellt die Beziehung zu regulären Chomsky-Grammatiken her

Page 111: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

110/1332.4 Regulärer AusdruckEin regulärer Ausdruck R über einem Zeichenvorrat Σ ist induktiv definiert durch:

1. Das leere Wort ist ein regulärer Ausdruck

2. a ∈ Σ ist ein regulärer Ausdruck

3. Ist R ein regulärer Ausdruck, dann auch (R)*

4. Sind R, S reguläre Ausdrücke, so sind auch (RS) und (R + S) reguläre Ausdrücke (R + S bedeutet „R oder S“ (Vereinigung))

Meist gilt auch die leere Menge ∅ als regulärer Ausdruck

Beispiele:Bezeichner: b(b+z)*Ganze Zahlen: zz*Dezimalbrüche: zz* ’/ ’ zz*

Page 112: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

111/1332.4 Rechnen mit regulären AusdrückenR + S = S + R Kommutativität

(R + S) + T = R + (S + T) Assoziativität

(R S) T = R (S T) Assoziativität

(R + S) T = R T + S T Distributivität

R (S + T) = R S + R T Distributivität

R + ∅ = R Neutralelement

R ε = R Neutralelement

R ∅ = ∅ Nullelement

R + R = R Idempotenz

(R*)* = R* Idempotenz

Page 113: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

112/1332.4 Rechnen mit regulären AusdrückenR* = ε + RR*

R* = R + R*

ε* = ε

∅* = ε

Beweis: Übung

Satz:Seien R, S reguläre Ausdrücke über Σ. Dann ist X = S*R Lösung der Gleichung X = R + S X.

Beweis: Übung

Page 114: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

113/1332.4 Eigenschaften regulärer AusdrückeFür reguläre Ausdrücke gelten die Gesetze:

Kommutativität, Assoziativität, Distributivität, Neutrales Element, Idempotenz

Satz:Eine Menge L* ist genau dann Sprache einer regulären Grammatik G, wenn L durch einen regulären Ausdruck beschrieben wird.

Beweis-Skizze:Zeige, daß aus einem regulären Ausdruck eine reguläre Grammatik konstruiert werden kannPrinzip: induktiv aus den Schritten 1 - 4 der DefinitionZeige umgekehrt, daß aus einer regulären Grammatik der zugehörige reguläre Ausdruck konstruiert werden kannPrinzip: jedes Nichtterminal der Grammatik wird als Bezeichner für reguläre Ausdrücke gebraucht

Page 115: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

114/1332.4 Vom regulären Ausdruck zum endlichen AkzeptorBeweis des vorhergehenden Satzes liefert ein konstruktives Vorgehen zum Aufbau eines endlichen Akzeptors

Skizze dieses konstruktiven Vorgehens:Geg.: regulärer Ausdruck RDurch folgende Regeln wird R in einen endlichen Akzeptor überführt:

1. Füge zu Beginn von R sowie nach jedem terminalen Zeichen eine Zahl ein, die einen Zustand repräsentiert

2. Einzelnes Zeichen bedeutet: Zustandsübergang3. Vereinigung führt zu Zustandsübergängen der zu Beginn

gegebenen Zustände in alle durch Einzelzeichen erreichbaren Folgezustände

4. Kleenescher Stern S* führt zu Zustandsübergängen aus sämtlichen Endzuständen von S in die aus den Anfangszuständen aus S mit einem Zeichen erreichbaren Zustände

Page 116: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

115/1332.5 PetrinetzeCarl Adam Petri, geb. 1926, früher Institutsleiter der GMD, BonnPetri-Netze: verallgemeinern endliche Automaten und sind die

einfachste Form, parallele und verteilte Systeme zu beschreiben

Grundidee: Gegeben ein paarer Graph von Übergängen (Transitionen: Kästchen) und Zuständen (Stellen: Kreise).

eine Stelle kann mehrere Transitionen als Nachfolger habeneine Transition kann mehrere Stellen als Nachfolger habenRegeln: jede Stelle kann eine oder mehrere Marken enthalten

Feuern einer Transition: jede Vorgängerstelle gibt eine Marke ab, jede Nachfolgerstelle erhält eine Marke (dabei Veränderung der Markenanzahl möglich)

Interpretation z.B.:Stelle: Prozeß, Vorgang; Transition: Botschaft übergebenStelle: Zustand; Transition: Zustandsübergang

Page 117: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

116/1332.5 PetrinetzePetrinetze werden in der Informatik als Systemmodelle für Vorgänge und Organisationen verwendet, um Zustandsübergänge und Datenflüsse auch in parallelen und verteilten Systemen zu beschreiben

Bestandteile und Arbeitsweise eines Petrinetzes P = (S, T, F)S:Stellen repräsentieren Zustände, Bedingungen, PufferinhalteT: Transitionen (Übergänge) repräsentieren Zustandsübergänge,

Aktivitäten oder Verarbeitung von PufferinhaltenF: Kanten repräsentieren kausale oder zeitliche Abhängigkeiten

s → t bedeutet: Bedingung s ∈ S muß erfüllt sein, damit die Transition t ∈ T schaltet (feuert)s heißt Vorstelle von t

t → s bedeutet: Zustand s ∈ S wird erreicht, wenn die Transition t ∈ T feuerts heißt Nachstelle von t

Page 118: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

117/1332.5 Markierungsfunktion und SchaltregelEine Markierungsfunktion MP(s) weist jeder Stelle s ∈ S eine Anzahl von Marken zuDas Petrinetz heißt binär falls für alle s ∈ S: MP(s) ≤ 1

Schaltregelführt das Petrinetz von einer Markierung in eine neue Markierung überVorbedingung:Transition t kann schalten, wenn für alle Vorstellen sv gilt: MP(sv) ≥ 1Nachbedingung:Wenn eine Transition schaltet, gilt für die neue Markierung MP’:

MP’(sv) = MP(sv) -1 für alle Vorstellen sv von t,MP’(sn) = MP(sn) +1 für alle Nachstellen sn von t,MP’(s) = MP(s) sonst

Page 119: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

118/1332.5 MarkierungsgraphMögliche Markierungen MP bilden ihrerseits die Ecken eines gerichteten Graphen, dem sog. Markierungsgraph G = (M, U)

M = {MP} Menge der EckenU ∈ M ✕ M Menge der KantenEs gilt MP → MP’ ∈ U, wenn es eine Transition t so gibt, dass das Schalten der Transition t die Markierung MP in die Markierung MP’ überführt

Beispiel: Markierungsgraph zum Jahreszeiten-PetrinetzEcken: vier mögliche Markierungen MF, MS, MH , MW

Kanten:MW

MH MS

MF

Page 120: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

119/1332.5 Beispiel: Erzeuger-Verbraucher-ProblemZiel: Synchronisierung von zwei nebenläufigen Prozessen

Erzeuger Verbraucher

verbraucheübergebe

s

produziere übernehme

Page 121: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

120/1332.5 Gegenseitiger AusschlußZiel: Verhinderung, daß zwei Prozesse eine exklusiv nutzbare

Ressource gleichzeitig verwenden.

Die Sequenzen ti → vi → ti´ (i = 1, 2) heißen kritische Abschnittes heißt ein Mutex-Semaphor

Prozeß 1 Prozeß 2

t2t1s

t1´

v1 v2

t2´

Page 122: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

121/1332.5 nochmals: Erzeuger-VerbraucherZiel: der Verbraucher darf nur weitermachen, wenn er vom Erzeuger

etwas geliefert bekommt

Die Stelle s kann unbeschränkt viele Marken aufnehmen:Erzeuger-Verbraucher mit unbeschränktem Puffer s

Erzeuger Verbraucher

s

übergebe verbrauche

produziere übernehme

Page 123: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

122/1332.5 Erzeuger-Verbraucher mit beschränktem PufferZiel: der Verbraucher darf nur weitermachen, wenn er vom Erzeuger

etwas geliefert bekommt und genügend Platz im Puffer ist

Wenn die Stelle b n Marken enthält, kann Übergang t1´ n-mal feuern, sonst wartet der Erzeuger

Hier sind also 3+1 = 4 Marken in Puffer s möglich, bevor der Erzeuger stoppt

b

Erzeuger Verbraucher

s

übergebe

produziere

verbrauche

übernehmet1´

Page 124: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

123/1332.5 Leser-Schreiber-SystemZiel: n Leser dürfen gleichzeitig Daten lesen, ein Schreiber verlangt

Exklusivzugriff und sperrt alle Leser aus

k=n: Stelle kann maximal n Marken aufnehmenn an einer Kante: n Marken fließen gleichzeitigkeine Fairness !

Leser Schreiber

k=n

lesen

freigeben

schreiben

freigeben

n

n

beliebig viele Leser beliebig viele Schreiber

Page 125: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

124/1332.6 Relationale AlgebraGrundlage (Kalkül) der relationalen DatenbankenUntersuchung endlicher n-stelliger Relationen und Verknüpfungen solcher Relationen

Bestandteile und Aufbau der relationalen Algebra:gegeben: endliche Menge U von Wertebereichen,d.h. Mengen D1,… ,Dm, also U={Di}n-stellige Relationen ρ ⊆ Di1 ✕… ✕ Din

sind Teilmengen des kartesischen Produkts mehrerer Di jedem Dj wird ein eindeutiger Attributname aj zugeordnetfalls Tupel (v1,… , vn) ∈ ρ, so ist vj der Wert des Attributs ajBeschreibung der Relation ρ durch das relationale SchemaA = (a1:Di1,… ,an:Din)

Endliche Menge von relationalen Schemata heißt DatenbankschemaEndliche Menge von Relationen zu einem DB-Schema heißt Datenbank

Page 126: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

125/1332.6 Festlegungen bzgl. relationaler SchemataAuffinden eines Elements aus dem Schema alternativ:

über die Position: j-tes Element vj aus (v1,… , vn)über den Namen: Wert des Attributs aj in der Menge (a1:v1… ,an:vn)

A(ρ) bezeichnet das Schema einer Relation ρρ(A) bezeichnet eine Relation zum Schema A

Kompatibel:Zwei Schemata A = (a1:D1,… ,an:Dn) und B = (b1:E1,… ,bm:Em) heißen kompatibel, wenn es eine Numerierung der Attribute so gibt, daßn = m und Di = Ei für i = 1,… ,n

Schlüsselmenge:Eine Teilmenge M der Attributnamen NA , deren Wertebelegung ein Tupel in der Relation eindeutig kennzeichnet.

Page 127: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

126/1332.6 Mengenoperationen auf RelationenVereinigung ∪ und Differenz \ :geg.: zwei Relationen ρ, σ mit kompatiblen Schemata A(ρ) und B(σ):

ρ ∪ σ = {t | t ∈ ρ oder t ∈ σ}ρ \ σ = {t | t ∈ ρ, t ∉ σ}

Durchschnitt ∩ :Läßt sich mit Hilfe der Differenz \ ausdrücken

ρ ∩ σ = ρ \ (ρ \ σ) ρ ∪ σ:

Beispiel: ρ: σ: ρ \ σ:A B C12 xy 12 ba 75 fr 21 g 1

A B C7 as 612 xy 15 bg 2

A B C2 ba 75 fr 21 g 1

A B C12 xy 12 ba 75 fr 21 g 17 as 65 bg 2

Page 128: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

127/1332.6 Schema-Operationen, Projektion, Kart. ProduktSchema-Operationen: A ∩ B, A ∪ B, A \ B wie angegeben als DB-

Operationen definiert

Unterschema B ⊆ AB = {ai1:Di1,… ,aik:Dik} ⊆ {a1:D1,… ,an:Dn} = A, k ≤ n

Projektion PB: ρ(A) → ρ(B)ρ(A) als Restriktion auf Schema B, für das B ⊆ A gilt, definiertρ(B) = {(ai1:vi1,… ,aik:vik) | es gibt (a1:v1… ,an:vn) ∈ ρ(A) so, daß

(ai1:vi1,… ,aik:vik) ⊆ (a1:v1… ,an:vn) }}

Kartesisches Produkt ρ ✕ σ zweier Relationen ρ = ρ(A), σ = σ(B)Jedes n-Tupel aus ρ wird mit jedem m-Tupel aus σ kombiniertρ ✕ σ = {(v1,… , vn-1 . vn , vn+1 ,… , vn+m) | (v1,… , vn ) ∈ ρ,

(vn+1,… , vn+m ) ∈ σ}

Page 129: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

128/1332.6 SelektionSelektion selσ(ρ) zweier Relationen ρ(A), σ(B) mit B ⊆ A

selσ(ρ) = {t ∈ ρ | PB(t) ∈ σ}Relation zum Schema A, die nur solche Tupel enthält, deren Projektion auf σ(B) auch in σ vorkommtSpezialfall:

Statt expliziter Angabe von σ werden Bedingungen formuliert, die zwischen bestimmten Feldern der Relation ρ gelten müssenBeispiel: sela=b(ρ) bezeichnet die Menge aller Tupel mit va = vb

Selektion über drei Relationen ρ(A), σ(B), τ(C) mit B, C ⊆ Aselσ(selτ(ρ)) = {t ∈ ρ | PB (t)∈ σ und PC (t)∈ τ}Kommutativität: selσ(selτ(ρ)) = selτ(selσ(ρ))

Page 130: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

129/1332.6 VerbundVerbund (engl. join):Wichtigste auf 2 Relationen ρ = ρ(A), σ = σ(B) anwendbare Operation

natürlicher Verbund ρ ⋈φ σ:φ ist ein Unterschema zu A und B (φ ⊆ A, φ ⊆ B)Idee: nimm alle Tupel aus ρ ✕ σ, die in φ übereinstimmenρ ⋈ σ = { z | z ∈ P (ρ ✕ σ), φ A∪φ∪B

P (z) ∈ ρ, P (z) ∈ σ,A BPφ (PA(z)) = Pφ(PB(z)) }

Eigenschaften: kommutativ, assoziativ, idempotent

Θ-Verbund ρ[X Θ Y]σ (engl. theta-join):ρ und σ sind RelationenX aus ρ und Y aus σ sind Attribute über demselben WertebereichΘ-Verbund sind die Tupel aus ρ✕σ, die Bedingung X Θ Y erfüllen:ρ[X Θ Y]σ ≔ selX Θ Y (ρ✕σ)

Page 131: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

130/1332.6 Datenbankoperationen: DivisionDivision ρ / σ:

ρ = ρ(A), σ = σ(B), B ⊆ A und C = A \ BForderung: Es kann nur eine Relation eines Schema durch eine Relation eines Unterschemas geteilt werden

ρ / σ = PC (ρ) \ PC ((PC (ρ) ✕ σ) \ ρ)Klammerausdruck: alle Tupel t mit der Eigenschaft

t ∉ ρ , PB(t) ∈ σErgebnis der Division: alle Tupel PC(t) mit t ∈ ρ , PB(t) ∈ σ

Gleichwertige Definition:ρ / σ = PC (ρ) \ PC ((PC (ρ) ⊳⊲ σ) \ ρ)

Page 132: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

131/1332.6 Realisierung der Datenbankoperationen in SQLSQL setzt sich aus zwei Teilen zusammen:

Datendefinitionssprache: Sprachelemente zur Definition von Datenbankschemata

Datenmanipulationssprache: Sprachelemente zur Manipulation von Datenobjekten

Wertebereiche Di zur Definition eines relationalen SchemasCHARACTER ein einzelnes ZeichenCHARACTER(n) Zeichenkette der Länge nINTEGER ganze Zahl mit VorzeichenFLOAT Gleitkommazahl

Sprachelement zur Definition eines SchemasCREATE TABLE Relationenname (a1Dj,… ,anDk)

Page 133: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

132/1332.6 Operationen in SQLINSERT-Operation

Eintragen einer Relation bei vorgegebenem SchemaINSERT INTO Name(a1,… ,an) VALUES (v1,… , vn)Typ der vj muß mit den Wertebereichen der aj übereinstimmen

UPDATE- und DELETE-OperationÄndern und Löschen von Tupeln einer Relation

SELECT-OperationLesen bzw. Verknüpfen von Tupeln einer RelationSELECT Attribute FROM Relationen WHERE Bedingungen

Page 134: Informatik I WS 03/04 Kapitel 2 Halbgruppen und · PDF fileI ·n ·f ·o ·r ·m ·a ·t ·i ·k = Informatik Verallgemeinerung: ... xn) = (p1)j1 ⋅⋅(p n) jn f ist injektiv, weil

Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen

133/1332.6 Beispiel zur SELECT-OperationBeispiel: für Datenbankrelationen

Studierender: Fächerbelegung:

Beispiel von SELECT-Operationen auf obigen Datenbankrelationen:

1. SELECT Name FROM Studierender

2. SELECT Fb.Fach, St.Semester FROM Fächerbelegung Fb, Studierender St WHERE Fb.Name = St.Name

Name Vorname Matr_Nr Semester

Meier Hans 123456 1Müller Petra 654321 3Bauer Klaus 232323 1

Schmid Astrid 865921 5

Bähr Claudia 987654 3

Fach Name

Inf MeierBio MüllerMed BauerInf Schmid

Med Bähr