Gliederung Ordnungsrelationen auf Mengen Beispiel einer

Werbung
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Gliederung
Ordnungsrelationen auf Mengen
• Ordnungsrelationen
• Eine Ordnungsrelation oder kurz Ordnung O auf einer
Menge M ist eine Relation, die reflexiv, antisymmetrisch
und transitiv ist.
• Bäume
Beispiel: M = { 1 , 2 , 3 },
O={(1,1),(2,2),(3,3),(1,2),(1,3)}
• Boolesche Algebren
• Verbände
• Eine Ordnungsrelation O auf einer Menge M ist total,
wenn zusätzlich gilt:
[ x, y § M : ( x , y ) § O ƒ ( y , x ) § O
Beispiel: M = { 1 , 2 }, O = { ( 1 , 1 ) , ( 2 , 2 ) , ( 1 , 2 ) }
• Bekannte Beispiele von Ordnungsrelationen:
1. 5 auf Mengen
2. 7 auf ganze Zahlen.
• (X, 7) ist eine partiell geordnete Menge wenn 7 eine
Ordnungsrelation auf X ist.
Ordnungen 1
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Ordnungen 2
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Beispiel einer Ordnungsrelation
Spezielle Elemente von Ordnungen
Sei X die Menge aller syntaktisch korrekten Pascal
Programme, die einen Eingabewert lesen und entweder in
eine Endlosschleife gehen oder einen Wert ausgeben. Die
Relation š 5 X % X definieren wir als:
Spezielle Elemente von Ordnungen:
1. s § M heisst kleinstes Element. wenn s kleiner als alle
anderen Elemente ist.
[x§M:(s,x)§O
P š Q genau dann, wenn das Programm Q für alle
Eingabewerte terminiert, für die das Programm P auch
terminiert, und in diesem Fall auch dasselbe Ergebnis
ausgibt wie P.
2. s § M heisst grösstes Element, wenn s grösser als alle
anderen Elemente ist.
Ist š eine Ordnungsrelation?
3. s § M heisst minimales Element, wenn es kein Element
gibt, das kleiner als s ist.
[x§M:(x,s)§O
[x§M:(x,s)§OLx=s
4. s § M heisst maximales Element, wenn es kein Element
gibt, das grösser als s ist.
[x§M:(s,x)§OLx=s
Ordnungen 3
Ordnungen 4
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Strikte und reflexive partielle Ordnungen
Weitere spezielle Elemente von Ordnungen
• Eine strikte Ordnungsrelation O auf einer Menge M ist
eine Relation, die asymmetrisch und transitiv ist.
• Seien x und y Elemente einer partiell geordneten Menge
M. Falls es ein Element z aus M gibt, so dass
1. z 7 x
Beispiel: M = { 1 , 2 , 3 },
O = { (2 , 1) , (2 , 3) , (1 , 3) }
2. z 7 y
• Wenn 7 eine partielle Ordnung auf der Menge M ist, dann
ist < definiert durch
3. [ t § M : t 7 x ‚ t 7 y L t 7 z
dann heisst z die grösste untere Schranke (Infimum) von
x und y.
x<yOx7y‚x¬y
z=xRy
eine strikte partielle Ordnung auf M.
• Wenn < eine strikte partielle Ordnung auf der Menge M
ist, dann ist 7 definiert durch
• Seien x und y Elemente einer partiell geordneten Menge
M. Falls es ein Element z aus M gibt, so dass
x7yOx<yƒx=y
1. x 7 z
eine (reflexive) partielle Ordnung auf M.
2. y 7 z
3. [ t § M : x 7 t ‚ y 7 t L z 7 t
dann heisst z die kleinste obere Schranke (Supremum)
von x und y.
z=xSy
Ordnungen 5
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Ordnungen 6
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Bäume als partielle Ordnungen
Endliche, geordnete, binäre Bäume
Ein Baum ist eine partiell geordnete Menge T mit einem
grössten Element, so dass für jedes x § T die Menge
{ y § T | x 7 y } eine endliche, total geordnete Teilmenge
von T ist.
• Binäre Bäume sind solche, bei denen kein Knoten mehr
als zwei Kinder hat.
Das grösste Element heisst Wurzel, die minimalen Elemente
heissen Blätter.
Ordnungen 7
• Geordnete Bäume sind solche, bei denen die Knoten auf
gleicher Ebene ebenfalls geordnet sind.
• Endliche Bäume haben eine endliche Anzahl Knoten.
Ordnungen 8
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Beispiel für einen Baum
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Anwendungen
• Filesystem, allgemeiner Datenspeicherung
• Suchbäume
• Wahrscheinlichkeitsbäume
• Sportturniere mit K.O.-System
• Stammbaum
• Flussdiagramme
Ordnungen 9
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Rekursive Definition von Bäumen
• Ein einziger Knoten x ist ein binärer Baum geordnet durch
x 7 x.
• Wenn T1 und T2 binäre Bäume sind und x ∉ T1 ~ T2 , dann
ist die partielle Ordnung auf { x } ~ T1 ~ T2 , gegeben
durch y 7 x für alle y und y 7 z wenn y 7 z in T1 oder T2 ,
ebenfalls ein binärer Baum.
Ordnungen 10
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Traversierung von endlichen, geordneten,
binären Bäumen
Eine Traversierung eines Baumes ist eine endliche Folge
aller Knoten des Baums, die mit der Wurzel beginnt.
• Inorder
Zuerst den linken Teilbaum traversieren, dann die Wurzel
in die Folge schreiben, und zum Schluss den rechten
Teilbaum traversieren
• Preorder
Zuerst die Wurzel in die Folge schreiben, dann den linken
Teilbaum traversieren und zuletzt den rechten Teilbaum
traversieren.
• Postorder
Zuerst den linken Teilbaum traversieren, dann den
rechten Teilbaum traversieren und zuletzt die Wurzel in
die Folge schreiben.
Ordnungen 11
Ordnungen 12
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Traversierung von endlichen, geordneten
Bäumen: Tiefensuche
Traversierung von endlichen, geordneten
Bäumen: Breitensuche
1. Beginne mit der Wurzel als aktuellen Knoten. Schreibe die
Wurzel in die Traversierung.
1. Beginne mit der Wurzel als einzigem Knoten in einer
Arbeitsliste. Schreibe die Wurzel in die Traversierung.
2. Wähle von den noch nicht in die Traversierung
geschriebenen Kindern des aktuellen Knotens das kleinste
als neuen aktuellen Knoten. Schreibe den neuen aktuellen
Knoten in die Traversierung.
2. Ersetze der Reihe nach jeden Knoten der Arbeitsliste
durch seine Kinder in der durch die Ordnung
vorgegebenen Reihenfolge und schreibe diese gleichzeitig
in die Traversierung.
3. Hat ein aktueller Knoten keine noch nicht in die
Traversierung geschriebenen Kinder, dann wähle seinen
Vater zum aktuellen Knoten.
3. Hat ein Knoten keine Kinder, so verschwindet er aus der
Arbeitsliste.
4. Verfahre gemäss Regel 2 und 3, bis die Arbeitsliste leer ist.
4. Verfahre gemäss 2 und 3, bis alle Knoten des Baums
aktuelle Knoten waren.
Ordnungen 13
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Boolesche Algebren
1. Kommutativität:
xRy=yRx
xSy=ySx
2. Assoziativität:
x R (y R z) = (x R y) R z
x S (y S z) = (x S y) S z
3. Distributivität:
x R (y S z) = (x R y) S (x R z)
x S (y R z) = (x S y) R (x S z)
4. Idempotenz
xRx=xSx=x
– (x S y) = – x R – y
– (x R y) = – x S – y
6. Doppelte Negation
––x=x
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Boolesche Algebren als partielle
Ordnungen
Eine boolesche Algebra besteht aus einer Menge µ mit zwei
ausgezeichneten Elementen  (Nullelement) und ¼, zwei
binären Operationen R und S und einer unären Operation –.
Für x, y, z 0 µ wird vorausgesetzt:
5. De Morgan
Ordnungen 14
• Wir definieren a 7 b, wenn a ‚ b = a ist.
• Dann gilt:
1. 7 ist eine partielle Ordnung auf µ
2. a 7 b genau dann, wenn a S b = b
3. a 7 b genau dann, wenn – b 7 – a
4. Unter der partiellen Ordnung 7 sind a R b bzw. a S b
die grösste untere Schranke bzw. die kleinste obere
Schranke von a und b
7. Invariable Elemente x R Â = Â
xS¼=¼
8. Neutrale Elemente
xR¼=x
xSÂ=x
9. Komplementarität
xR–x=Â
xS–x=¼
10.
 ≠ ¼,  = – ¼
Ordnungen 15
Ordnungen 16
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Beispiele boolescher Algebren 1
Beispiele boolescher Algebren 2
• Aussagenlogik:
Die Menge aller Wahrheitsfunktionen auf einer Menge
p = { p1, p2, … , pn } von aussagelogischen Variablen, mit
S = ƒ, R = ‚, – = ] bildet ebenfalls eine boolesche Algebra.
 ist die Wahrheitsfunktion, die immer b zurückgibt, ¼ die
Wahrheitsfunktion, die immer a zurückgibt.
µ = { a, b } ,  = b, ¼ = a, S = ƒ, R = ‚, – = ]
• Mengenlehre:
Sei X eine nichtleere Menge.
µ = s(X) ,  = ^, ¼ = X, S = ~, R = €, – = c (c steht dabei
für das Komplement)
Für P = { p, q } z.B. gibt es 16 mögliche
Wahrheitsfunktionen:
p
q
Â
p nor q
]p ‚ q
p ‚]q
p ‚q
]p
a
a
b
b
a
b
a
b
b
b
b
b
b
b
b
a
b
b
a
b
b
a
b
b
a
b
b
b
b
b
a
a
p
q
pOq
q
p
p nand q
]p ƒ q
p ƒ ]q
pƒq
¼
a
a
b
b
a
b
a
b
a
b
b
a
a
b
a
b
a
a
b
b
b
a
a
a
a
b
a
a
a
a
b
a
a
a
a
b
a
a
a
a
Ordnungen 17
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
]q p O ]q
b
a
b
a
b
a
a
b
Ordnungen 18
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Beispiele boolescher Algebren 3
Verbände
Die Menger aller Teiler von 105 (genannt T105) bildet mit den
folgenden Vereinbarungen ebenfalls eine boolesche Algebra:
• Gegeben sei eine partielle Ordnung 7 auf einer Menge X.
Falls für beliebige x und y eine grösste untere Schranke
x R y und eine kleinste obere Schranke x S y existiert,
dann ist ( X , 7 ) ein Verband.
µ = T105
Â=1
• Jede boolesche Algebra ist ein Verband, aber nicht jeder
Verband ist eine boolesche Algebra.
¼ = 105
Beispiel:
S =kgV
X = Á \ { 0 } mit
R =ggT
x S y = kleinstes gemeinsames Vielfaches von x und y
x R y = grösster gemeinsamer Faktor von x und y
x 7 y wenn y mod x = 0
–x = 105/x
ist keine boolesche Algebra, weil es kein grösstes Element
gibt.
Ordnungen 19
Ordnungen 20
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Distributive Verbände
• Bei distributiven Verbänden gelten die Distributivgesetze:
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Schranken für beliebige Teilmengen
geordneter Mengen
• Verallgemeinerung der Begriffe grösste untere Schranke
und kleinste obere Schranke.
xR(ySz)=(xRy)S(xRz)
xS(yRz)=(xSy)R(xSz)
• Gegeben seien eine partiell geordnete Menge ( X, 7 ) und
eine Menge A mit A 5 X und A ≠ ∅.
Dann ist x §X die kleinste obere Schranke von A, x = NA,
wenn
1. y § A : y 7 x (d.h. x ist eine obere Schranke)
2. [ t § X : ( [ y § A : y 7 t ) L x 7 t (d.h. x ist kleiner als
alle anderen oberen Schranken)
und z §X die grösste untere Schranke von A, z = MA,
wenn
1. [ y § A : z 7 y
2. [ t § X : ( [ y § A : t 7 y ) L t 7 z
Ordnungen 21
Formale Grundlagen der Informatik
Knorr/Fuchs SS 2000
Ausblick: CPOs
• Eine Teilmenge D einer partiell geordneten Menge ( X, 7 )
ist gerichtet, wenn es für alle x, y § D ein z § D gibt, so
dass x, y 7 z.
• ( X, 7 ) ist eine complete partial order (cpo), wenn
1. X ein kleinstes Element hat
2. Jede gerichtete Teilmenge von X eine kleinste obere
Schranke hat.
• Beispiel: X sei die Menge aller Funktionen von einer
Teilmenge von Á nach Á, und f 7 g wenn
1. dom f 5 dom g
2. für ein beliebiges n § dom f, f(n) = g(n)
• CPOs sind das Grundwerkzeug der denotationellen
Semantik
Ordnungen 23
Ordnungen 22
Herunterladen