Ordnungsrelationen auf Mengen Beispiel einer Ordnungsrelation

Werbung
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Ordnungsrelationen auf Mengen
Beispiel einer Ordnungsrelation
§ Eine (partielle) Ordnungsrelation oder kurz Ordnung O
auf einer Menge M ist eine Relation, die reflexiv, antisymmetrisch und transitiv ist.
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:
Beispiel: M = { 1 , 2 , 3 },
O={(1,1),(2,2),(3,3),(1,2),(1,3)}
(Das linke Element des geordneten Paares wird als das
kleinere, das rechte Element als das gršssere bezeichnet.)
§ Eine Ordnungsrelation O auf einer Menge M ist total (oder
linear), wenn zusŠtzlich gilt:
P š Q genau dann, wenn das Programm Q fŸr alle
Eingabewerte terminiert, fŸr die das Programm P terminiert,
und in diesem Fall auch dasselbe Ergebnis ausgibt wie P.
Ist š eine Ordnungsrelation?
[ x, y § M : ( x , y ) § O ƒ ( y , x ) § O
Beispiel: M = { 1 , 2 }, O = { ( 1 , 1 ) , ( 2 , 2 ) , ( 1 , 2 ) }
(Wenn eine Ordnung O auf einer Menge M nicht total ist,
dann gibt es Elemente x, y aus M, sodass das Paar (x, y)
nicht in O ist; man sagt: x und y sind nicht vergleichbar.)
§ Bekannte Beispiele von Ordnungsrelationen:
5 auf Mengen (partielle Ordnung)
7 auf ganzen oder reellen Zahlen (totale Ordnung)
§ (X, 7) ist eine partiell geordnete Menge wenn 7 eine
Ordnungsrelation auf X ist.
Ordnungen 1
Ordnungen 2
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Spezielle Elemente von Ordnungen
Spezielle Elemente von Ordnungen
§ s § M heisst kleinstes Element. wenn s kleiner als alle
anderen Elemente ist.
§ Wenn es ein kleinstes (gršsstes) Element gibt, dann ist
dieses Element eindeutig.
[x§M:(s,x)§O
§ Es kann mehr als ein minimales (maximales) Element geben.
§ s § M heisst gršsstes Element, wenn s gršsser als alle
anderen Elemente ist.
[x§M:(x,s)§O
§ In einer totalen Ordnung gibt es hšchstens ein minimales
(maximales) Element.
§ Wenn es ein kleinstes (gršsstes) Element gibt, dann ist
dieses Element minimal (maximal).
Diese Aussage gilt nicht umgekehrt.
§ s § M heisst minimales Element, wenn es kein Element
gibt, das kleiner als s ist.
[x§M:(x,s)§OLx=s
§ 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
Formale Grundlagen der Informatik
Strikte und reflexive partielle Ordnungen
Weitere spezielle Elemente von Ordnungen
§ Eine strikte Ordnungsrelation O auf einer Menge M ist
eine Relation, die irreflexiv, asymmetrisch und transitiv ist.
§ Seien x und y Elemente einer partiell geordneten Menge M.
Falls es ein Element z aus M gibt, so dass
Beispiel: M = { 1 , 2 , 3 },
O = { (2 , 1) , (2 , 3) , (1 , 3) }
1. z 7 x
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=x‚y
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=xƒy
Ordnungen 5
Ordnungen 6
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
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.
§ Geordnete BŠume sind solche, bei denen die Knoten auf
gleicher Ebene ebenfalls geordnet sind.
§ Endliche BŠume haben eine endliche Anzahl Knoten.
§ Von jedem Element gibt es einen eindeutigen Weg zum
gršssten Element (Wurzel).
Ordnungen 7
Ordnungen 8
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Anwendungen
Rekursive Definition von BŠumen
§ Filesystem
§ Ein einziger Knoten x ist ein binŠrer Baum geordnet durch
x 7 x.
§ SuchbŠume
§ Wenn T1 und T2 binŠre BŠume mit T1Ç T2 = ! 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.
§ SyntaxbŠume
§ BeweisbŠume
§ Problemlšsung mit divide-and-conquer
§ Verfeinerung von Lšsungen
§ Sportturniere mit K.O.-System
§ Stammbaum
§ ...
Ordnungen 9
Ordnungen 10
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Traversierung von endlichen, geordneten,
binŠren BŠumen
Traversierung von endlichen, geordneten
BŠumen: Tiefensuche
Eine Traversierung eines Baumes ist eine endliche Folge aller
Knoten des Baums, die mit der Wurzel beginnt.
1. Beginne mit der Wurzel als aktuellen Knoten. Schreibe die
Wurzel in die Traversierung.
" 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.
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.
3 .Hat ein aktueller Knoten keine noch nicht in die
Traversierung geschriebenen Kinder, dann wŠhle seinen
Vater zum aktuellen Knoten.
4 . Verfahre gemŠss 2 und 3, bis alle Knoten des Baums
aktuelle Knoten waren.
" 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
Formale Grundlagen der Informatik
Traversierung von endlichen, geordneten
BŠumen: Breitensuche
Traversierung von geordneten BŠumen:
Limitierte Tiefensuche
1 .Beginne mit der Wurzel als einzigem Knoten in einer
Arbeitsliste. Schreibe die Wurzel in die Traversierung.
§ Tiefensuche ist zeit- und speichereffizient, beim Auftauchen von unendlichen Zweigen jedoch unvollstŠndig
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.
§ Breitensuche verwendet mehr Zeit und Speicherplatz als
Tiefensuche, ist jedoch auch fŸr unendliche BŠume zu
gebrauchen
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.
§ Limitierte Tiefensuche verbindet die Effizienz der
Tiefensuche mit der VollstŠndigkeit der Breitensuche; ist
ein Baum unendlich, schneidet man ihn auf endlicher Tiefe
ab und verwendet fŸr den nun endlichen Baum
Tiefensuche; nach und nach wird die Abschneidetiefe
vergršssert
Ordnungen 13
Ordnungen 14
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Boolesche Algebren
Boolesche Algebren als partielle Ordnungen
Eine boolesche Algebra besteht aus einer Menge µ mit zwei
ausgezeichneten Elementen  (Nullelement) und ¼, zwei
binŠren Operationen ‚ und ƒ und einer unŠren Operation Ð.
§ Wir definieren a 7 b, genau dann wenn a ‚ b = a ist.
§ Dann gilt:
1. 7 ist eine Ordnung auf µ
FŸr x, y, z 0 µ wird vorausgesetzt:
1. KommutativitŠt:
2. AssoziativitŠt:
3. DistributivitŠt:
4. Idempotenz
5. De Morgan
6. Doppelte Negation
2. a 7 b genau dann, wenn a ƒ b = b
x‚y=y‚x
xƒy=yƒx
x ‚ (y ‚ z) = (x ‚ y) ‚ z
x ƒ (y ƒ z) = (x ƒ y) ƒ z
x ‚ (y ƒ z) = (x ‚ y) ƒ (x ‚ z)
x ƒ (y ‚ z) = (x ƒ y) ‚ (x ƒ z)
x‚x=xƒx=x
Ð (x ƒ y) = Ð x ‚ Ð y
Ð (x ‚ y) = Ð x ƒ Ð y
ÐÐx=x
7. Invariable Elemente
x‚Â=Â
xƒ¼=¼
8. Neutrale Elemente
x‚¼=x
xƒÂ=x
9. KomplementaritŠt
x‚Ðx=Â
xƒÐx=¼
Weiterhin gilt:
 # ¼,  = Ð ¼
Ordnungen 15
3. a 7 b genau dann, wenn Ð b 7 Ð a
4. Unter der partiellen Ordnung 7 sind a ‚ b bzw. a ƒ b
die gršsste untere Schranke bzw. die kleinste obere
Schranke von a und b
Ordnungen 16
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Beispiele boolescher Algebren 1
Beispiele boolescher Algebren 2
§ Aussagenlogik:
Die Menge aller Wahrheitsfunktionen auf einer Menge
p = { p1, p2, É , pn } von aussagenlogischen Variablen, mit
ƒ = ƒ, ‚ = ‚, Ð = ] bildet ebenfalls eine boolesche Algebra.
 ist die Wahrheitsfunktion, die immer b zurŸckgibt, ¼ die
Wahrheitsfunktion, die immer a zurŸckgibt.
µ = { a, b } , Â = b, ¼ = a, ƒ = ƒ, ‚ = ‚, Ð = ]
§ Mengenlehre:
Sei X eine nichtleere Menge.
µ = s(X) , Â = ^, ¼ = X, ƒ = ~, ‚ = €, Ð = 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
a
a
b
b
a
b
a
b
b
b
b
b
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
]p ‚ q
p ‚]q
p ‚q
]p
b
b
a
b
b
a
b
b
a
b
b
b
b
b
a
a
b
b
b
a
]q p O ]q
b
a
b
a
Ordnungen 17
b
a
a
b
Ordnungen 18
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
VerbŠnde
Schranken fŸr beliebige Teilmengen
geordneter Mengen
§ Gegeben sei eine partielle Ordnung 7 auf einer Menge X.
Falls fŸr beliebige x und y eine gršsste untere Schranke
x ‚ y und eine kleinste obere Schranke x ƒ y existiert,
dann heisst ( X , 7 ) ein Verband.
§ Jede boolesche Algebra ist ein Verband, aber nicht jeder
Verband ist eine boolesche Algebra.
Beispiel:
§ Verallgemeinerung der Begriffe gršsste untere Schranke
und kleinste obere Schranke.
§ 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, man schreibt sup(a) oder
x = xA, wenn
1. y § A : y 7 x (d.h. x ist eine obere Schranke)
X = Á mit
x ƒ y = kleinstes gemeinsames Vielfaches von x und y
x ‚ y = gršsster gemeinsamer Faktor von x und y
x 7 y wenn y mod x = 0
ist ein Verband, aber keine boolesche Algebra, weil es kein
gršsstes Element gibt.
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, man
schreibt inf(A) oder z = wA, wenn
1. [ y § A : z 7 y
2. [ t § X : ( [ y § A : t 7 y ) L t 7 z
Ordnungen 19
Ordnungen 20
Formale Grundlagen der Informatik
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 21
Herunterladen