informatik i ws 03/04 kapitel 2 halbgruppen und · pdf filei ·n ·f ·o...
TRANSCRIPT
![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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/43.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/44.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/45.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/46.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/47.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/48.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/49.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/50.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/51.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/52.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/53.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/54.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/55.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/56.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/57.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/58.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/59.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/60.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/61.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/62.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/63.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/64.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/65.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/66.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/67.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/68.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/69.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/70.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/71.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/72.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/73.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/74.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/75.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/76.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/77.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/78.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/79.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/80.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/81.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/82.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/83.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/84.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/85.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/86.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/87.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/88.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/89.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/90.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/91.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/92.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/93.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/94.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/95.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/96.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/97.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/98.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/99.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/100.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/101.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/102.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/103.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/104.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/105.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/106.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/107.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/108.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/109.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/110.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/111.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/112.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/113.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/114.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/115.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/116.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/117.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/118.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/119.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/120.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/121.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/122.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/123.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/124.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/125.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/126.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/127.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/128.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/129.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/130.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/131.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/132.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/133.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5a9da5a57f8b9a21688d5171/html5/thumbnails/134.jpg)
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