Upload
trandiep
View
217
Download
3
Embed Size (px)
Citation preview
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
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
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
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"
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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 ρ: ρ*
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
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
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
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
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
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
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
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
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 }
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?
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)
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
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
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
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
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
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
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
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
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
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
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)}
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
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
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
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
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
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]
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
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
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
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)
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
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
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
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:
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
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
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.
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 ≤ …
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ρ ⊆ σ ⊆ ρ+ = σ+
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
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
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
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') ∈ ≺ }
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
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 = Ø
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
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
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)
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
⊥
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
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!
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.
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
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
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.
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
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
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
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
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}
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!
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
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
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)
Informatik I WS03/04 - Prof. Dr. Gerhard Goos 2. Halbgruppen und Relationen
85/1332.3 VerbändeBeispiel:
kein Verband Verband Verband
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
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
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
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
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 ⊤
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
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).
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)
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
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
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.
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
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
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
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
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.
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
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
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
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
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
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.
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
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
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*
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
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
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
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
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
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
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
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
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
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´
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
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´
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
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
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.
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
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 ) ∈ σ}
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σ(ρ))
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 (ρ✕σ)
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 (ρ) ⊳⊲ σ) \ ρ)
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)
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
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