Ausarbeitung - TU Chemnitz

Werbung
Proseminar Datenkompression
Vortragender: Enrico Böttcher
Thema: Bäume und Elementare Kombinatorik im
Zusammenhang mit der Datenkompression
Begriffe aus der Graphentheorie
Definition:
Definition:
Definition:
Ein Pfad ist eine Sequenz von Kanten mit einem Start- und einem Endknoten,
wobei sich kein Knoten wiederholt. Die Anzahl der Kanten in einem Pfad
beschreibt seine Länge. Ein Graph ist zusammenhängend, wenn zwischen 2
beliebigen Knoten ein Pfad existiert. (->Tiefensuche)
Ein Baum ist ein zusammenhängender Graph G=(V, E) mit |V|-1 Kanten. Knoten
mit grad(V)=1 heißen Blätter, diejenigen mit höherem Grad innere Knoten.
Ein Baum mit Wurzel ist ein Baum mit einem ausgezeichnetem Knoten, der als
Wurzel definiert ist. Ein solcher Baum wird regulär oder k-är genannt, wenn alle
inneren Knoten den selben grad(V)=k+1 haben. Die Tiefe eines solchen Baums ist
der längste Pfad von der Wurzel bis zu einem Blatt. Im tiefen-regulären Baum ist
diese Länge für alle Blätter gleich.
Ebene 0:
Ebene 1:
Ebene 2:
:
:
Wurzel
Kinder der 1. Generation
Kinder der 2. Generation
:
:
Bäume sind gut e Hilfsmittel zur Realisierung verschiedener Probleme, zum Beispiel für
Codierungen, Suchfunktionen oder Sortierverfahren.
Die Anzahl regulä rer k-ärer Bäume mit bestimmter Tiefe ist mittels Kombinatorik
bestimmbar. => Catalansche Zahlen
Elementare Zählfunktionen der Kombinatorik
Fibonacci Zahlen
Fn =Fn-1 +Fn-2 wobei F0 =F1 =1
Dabei entsteht folgende Zahlenfolge:
1 1 2 3 5 8 13 21 34 55 89 144 ...
ähnlich: Lucas Zahlen, nur daß L0 =2 L1 =1
folgende Zahlenfolge:
2 1 3 4 7 11 18 29 47 ...
Exponent
Anzahl aller k-Tupel (x1 ,...,xn ), wobei jedes x aus einer Menge X stammt, dessen
Mächtigkeit |X|=k ist.
ð Anzahl aller Abbildungen f:{1..n}δ{1..k}
Fakultät
n!
Anzahl aller Permutationen über n Elementen.
ð Anzahl der bijektiven Abbildungen einer n-elementigen Menge f:{1..n}φ{1..n}
für Element 1 gibt es n mögliche Abbildungen, für Element 2 nur noch 2...
und schließlich für Element n noch eine mögliche Abbildung.
d.h.: n*(n-1)*(n-2)*(n-3)*...*3*2*1 = n!
Dabei gilt: 0!=1, 1!=1.
Dies bescheibt ebenso die Funktion:
Für alle xχN gilt dann: wenn x=n+1 => P(n+1)=n!
Stirlingsche Formel:
Für viele Zwecke kann man die Fakultät sogar mit folgender Formel abschätzen kann:
Fallende Faktorielle
[n]k =n!/(n-k)!
Stirlingsche Zahlen 2. Ordnung
Sn+1k = Snk-1 + k*Snk
k=1..n
Dabei entsteht dann folgende Tabelle:
n
1
2
3
4
k
1
1
1
1
1
2
0
1
3
7
3
0
0
1
6
4
0
0
0
1
5
0
0
0
0
wobei Sn 1 =Snn =1
Binomialkoeffizienten
Wenn k<0 oder k>n, dann ist der Binomialkoeffizient null.
Pascalsches Dreieck
n
1
2
3
4
5
Definition:
k
1
1
1
1
1
1
2
0
1
2
3
4
3
0
0
1
3
6
4
0
0
0
1
4
5
0
0
0
0
1
für k χ [0,1] ist die binäre Entropiefunktion definiert:
H(k) = - k log(k) - (1- k) log(1- k)
(für k =0 ist H(k) =0)
Für nχN, k χ(0,1) und k nχN:
Beweis erfolgt über die Stirlingsche Formel.
Catalansche Zahlen
Daraus resultiert folgende Zahlenfolge:
1 1 2 5 14 42 132...
Diese Zahlen sind die Anzahl regulärer, binärer Bäume, die n innere Knoten haben.
Anmerkung:
Die Herleitung der Catalanschen Zahlen kann in ähnlicher Form auch auf höher k-äre Bäume
angewendet werden.
Weitere Interpretation der Catalanschen Zahlen:
ð Anzahl der Triangulationen in einem (n+2)- gon
ð Anzahl der Klammerungen eines Ausdrucks über n+1 Variablen
ð Anzahl der Integerketten der Länge 2n+1, bei denen sich die Elemente immer nur
durch eine Veränderung zum Nachbarn um 1 unterscheiden.
ð Anzahl der Bitketten mit Länge 2n, die n mal ‚1’ und n mal ‚0’ enthalten. Wobei aber
nie vom Anfang her gezählt mehr Nullen als Einsen stehen.
Letzteres Beispiel steht in Zusammenhang mit binären Bäumen. Man kann einem regulären ,
binären Baum eindeutig eine Bitkette zuordnen, die für diesen regulären binären Baum
charakteristisch ist. Man gehe dabei wie folgt vor: man starte an der Wurzel und benenne diese
als ‚1’. Jetzt läuft man von links nach rechts die 2. Ebene durch und schreibt für jeden inneren
Knoten eine ‚1’, für jedes Blatt eine ‚0’. Es wird also daher immer mit einem Blatt gestoppt.
Alternativ dazu ist es möglich, zu diesem Zwecke und aufgrund einfacherer Implementierung
den Algorithmus der Tiefensuche anzuwenden. Dabei geht man immer links zuerst so tief wie
möglich in den Baum bis zum am weitesten links liegenden Blatt. Für jeden besuchten Knoten
notiert man für einen inneren Knoten eine Eins, für ein Blatt eine Null. Kann man nicht tiefer in
den Baum vordringen, geht man solange zurück, bis man als Nachbarknoten noch einen nicht
besuchten Knoten findet und geht wieder zuerst links diesen Teilbaum entlang.
Ohne diese endende Null entstehen damit genau diese Bitketten, deren Anzahl durch die
Catalansche n Zahlen gegeben ist. Diese Bitketten sind eindeutige Präfixcodes. Das
heißt, keine Bitkette ist Beginn einer anderen. Aufgrund dieser Tatsache, gilt für diese Bitketten
natürlich auch die Kraftungleichung. Allerdings läßt sich mit der Herleitung der Catalanschen
Zahlen eindeutig beweisen, daß die Kraftungleichung hier sogar als Gleichung zu verstehen ist:
Herunterladen