Inhaltsverzeichnis 1. Logik

Werbung
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
1
Inhaltsverzeichnis
1. Logik
1 Logik
1.1 Aussagenlogik . . . . . . . . . . . . . . . . . .
1.2 Prädikatenlogik . . . . . . . . . . . . . . . . .
1
1
2
2 Relationen
2.1 Eigenschaften von Relationen auf
2.2 Operationen auf Relationen . . .
2.3 Äquivalenzrelationen . . . . . . .
2.4 Ordnungsrelationen . . . . . . . .
2.5 Relationen als Funktionen . . . .
A
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
3
3
4
3 Kombinatorik
3.1 Kombinatorische Regeln . . . . .
3.2 Inklusion-Exklusion . . . . . . . .
3.3 Euler’sche ϕ-Funktion . . . . . .
3.4 Schubfachprinzip . . . . . . . . .
3.5 Binomialkoeffizienten . . . . . . .
3.6 Wichtige spezielle Zählprobleme .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
4
5
5
5
4 Rekursionsgleichungen
4.1 Lösen von Rekursionsgleichungen . . . . . . .
4.2 Fraktale . . . . . . . . . . . . . . . . . . . . .
6
6
6
5 Graphentheorie
5.1 Spezielle Graphen . . . . . . . .
5.2 Bäume . . . . . . . . . . . . . . .
5.3 Eulertouren und Hamiltonkreise .
5.4 Planare Graphen . . . . . . . . .
5.5 Färben von Graphen . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
7
7
7
8
8
6 Zahlentheorie
6.1 Teilbarkeit . . . . . . . . . . . .
6.2 Primzahlen . . . . . . . . . . .
6.3 ggT und kgV . . . . . . . . . .
6.4 Erweiterter Euklid-Algorithmus
6.5 Modulare Arithmetik . . . . . .
6.6 Chinesischer Restsatz . . . . .
6.7 Gruppen . . . . . . . . . . . . .
6.8 Körper . . . . . . . . . . . . . .
6.9 Polynome über einen Körper K
6.10 Lagrange-Interpolation . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
9
9
9
10
10
11
11
12
.
.
.
.
12
12
13
13
13
.
.
.
.
.
.
.
.
.
.
7 Anwendungen
7.1 RSA (Rivest, Shamir, Adlemann)
7.2 Diffie Hellman-Protokoll . . . . .
7.3 Secret Sharing . . . . . . . . . .
7.4 Codierung . . . . . . . . . . . . .
A Fixpunktfreie Permutation
LOGIK
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1.1. Aussagenlogik
Aussage: Eine Aussage ist ein sprachlicher Ausdruck, der
entweder wahr oder falsch ist.
Zusammengesetzte Formel: Eine zusammengesetzte
Formel, wie z.B. A ∧ (B ∨ C), besteht aus Atomformeln
(A, B, C) und Junktoren (∧, ∨).
A
0
0
1
1
B
0
1
0
1
¬A
1
0
-
A∧B
0
0
0
1
A∨B
0
1
1
1
A⊕B
0
1
1
0
A→B
1
1
0
1
A↔B
1
0
0
1
Tab. 1: Wahrheitstabelle für die Junktoren Negation (¬), Konjunktion
(∧), Disjunktion (∨), XOR (⊕), Implikation (→) und Äquivalenz (↔).
Tautologie: Eine Formel F ≡ 1 heisst Tautologie.
Unerfüllbarkeit: Eine Formel F ≡ 0 heisst unerfüllbar.
Beispiel: Die Formel F ≡ ((A∧B)∨(¬C))∧(A∨B) nimmt
für die Belegung A = 1 und B = C = 0 den Wahrheitswert
1 an.
∧
∨
¬
∧
A
∨
B
C
A
B
Abb. 1: Syntaxbaum der Formel.
13
Semantische Äquivalenz: Zwei Formeln F und G sind semantisch äquivalent, falls sie für jede Belegung den gleichen
Wahrheitswert haben.
F ≡G
oder
F ⇔G
Dies gilt genau dann, wenn F ↔ G eine Tautologie ist.
SEITE 1
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
1.1.1. Logische Gesetze
1
LOGIK
Hinweis: F ≡ G hat die gleiche Bedeutung, wie F |= G
und G |= F zusammen.
F ∧F ≡F
und
F ∧G≡G∧F
und
F ∨F ≡F
F ∨G≡G∨F
1.1.4. Resolution
(F ∧ G) ∧ H
≡
F ∧ (G ∧ H)
(F ∨ G) ∨ H
≡
F ∨ (G ∨ H)
F ∧ (G ∨ H)
≡
(F ∧ G) ∨ (F ∧ H)
Gegeben ist eine Formel F in konjunktiver Normalform und
wir wollen herausfinden, ob sie erfüllbar ist.
F ∨ (G ∧ H)
¬(F ∧ G)
≡
≡
(F ∨ G) ∧ (F ∨ H)
¬F ∨ ¬G
F = (L1 ∨ . . . ∨ Lm1 ) ∧ . . . ∧ (Lk ∨ . . . ∨ Lmk )
¬(F ∨ G)
≡
¬F ∧ ¬G
Wir nehmen an, F ist erfüllbar.
Vorbereitung: Wir schreiben die Formel F folgendermassen als Menge:
1.1.2. Normalformen
Literal: Ist A eine Atomformel, so sind A und ¬A Literale.
F = {{L1 , . . . , Lm1 }, . . . , {Lk , . . . , Lmk }}
Konjunktive Normalform: Eine Formel F ist in konjunktiver Normalform, wenn sie eine Konjunktion von Disjunktionstermen ist:


mi
k
^
_

F =
Lij 
Resolutionsschritt: Wenn ein Literal L in einer und die
Verneinung ¬L in einer anderen Klausel vorkommt
i=1
j=1
{L1 , . . . , Lk , L}
{L01 , . . . , L0l , ¬L}
dann ist L oder ¬L nicht wahr. Da wir angenommen haben,
dass F wahr ist, muss auch die Disjunktion der restlichen
Literale wahr sein. Wir fügen also den Resolventen
Beispiel:
(A ∨ B ∨ C) ∧ (¬A ∨ B)
{L1 , . . . , Lk , L01 , . . . , L0l }
der Klauselmenge von F hinzu.
Disjunktive Normalform: Eine Formel F ist in disjunktiver Normalform, wenn sie eine Disjunktion von Konjunktionstermen ist:


mi
k
_
^

F =
Lij 
Abbruchbedingung: Wir wiederholen den Resolutionsschritt, bis wir entweder die Leere menge {} resolviert haben
oder keine neue Klausel resolvieren können.
Beispiel: Für jede Tautologie ist F ≡ A ∨ ¬A sowohl KNF
wie auch DNF. Ähnlich ist F ≡ A ∧ ¬A KNF und DNF
jeder unerfüllbaren Formel.
Wir können die leere Menge nur dann resolvieren, wenn
{Lij } und {¬Lij } in der Klauselmenge vorkommen, welche
offensichtlich nicht beide gleichzeitig wahr sein können. In
diesem Fall liegt ein Widerspruch vor und die Annahme, F
sei erfüllbar, folglich falsch.
Hinweis: Mit der Wahrheitstabelle einer Formel lässt sich
oft einfach eine KNF oder DNF finden.
1.2. Prädikatenlogik
1.1.3. Modelle und semantische Folgerungen
Prädikat: Ein Prädikat ist eine Aneinanderreihung von
Wörtern einer natürlichen Sprache, die mehrere oder keine
Leerstellen enthält. Setzt man Eigennamen in alle Leerstellen erhält man einen Aussagesatz der natürlichen Sprache.
i=1
j=1
Modell: Eine Belegung A, für die eine Formel F wahr ist,
heisst Modell von F :
A |= F
Semantische Folgerung: Eine Formel G heisst semantische Folgerung von F1 , . . . , Fn , falls für alle Belegungen A
mit A |= F1 , . . . , A |= Fn auch A |= G gilt:
F1 , . . . , Fn |= G
SEITE 2
oder
F1 , . . . , Fn ⇒ G
Beispiel: Das Prädikat „h i ist eine Primzahl.“ wird wahr,
wenn man beispielsweise 7 in die Leerstelle einsetzt.
1.2.1. Quantoren
Existenzquantor: Die Aussage ∃x (P (x)) ist wahr, wenn
es mindestens ein x gibt für das P (x) wahr ist.
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
Allquantor: Die Aussage ∀x (P (x)) ist wahr, wenn P (x)
für alle x wahr ist.
∀x (P (x))
2
Transitiver Abschluss: Der transitive Abschluss einer Relation R ist definiert als:
R0 = R ∪ (R ◦ R) ∪ (R ◦ R ◦ R) ∪ . . .
→ P (c)
P (c) →
RELATIONEN
∃x (P (x))
¬∀x (P (x))
≡
∃x (¬P (x))
¬∃x (P (x))
≡
∀x (¬P (x))
∀x (P (x) ∧ Q(x))
≡
∀x (P (x)) ∧ ∀x (Q(x))
∃x (P (x) ∨ Q(x))
≡
∃x (P (x)) ∨ ∃x (Q(x))
Beispiel: Es gibt unendlich viele Primzahlen:
2.3. Äquivalenzrelationen
Äquivalenzrelation: Eine Relation ∼ auf A heisst Äquivalenzrelation, falls sie symmetrisch, transitiv und reflexiv
ist.
∀n ∃p ∀a ∀b (p > n ∧ (p = a · b → a = 1 ⊕ b = 1))
Partition: Eine Partition
einer Menge A ist eine MengenS
familie (Ai )i∈I mit i∈I Ai = A und ∀i =
6 j : Ai ∩ Aj = ∅.
2. Relationen
Äquivalenzklassen: Eine Äquivalenzrelation partitioniert
eine Menge A in Äquivalenzklassen [a] = {b ∈ A | b ∼ a}.
Relation: Eine binäre Relation R von A nach B ist eine
Teilmenge des kartesischen Produkts der Mengen A und B:
Beispiel: Die Relation ≡m unterteilt die ganzen Zahlen Z
in m Äquivalenzklassen [a] = {b ∈ Z | ∃n ∈ Z : b = m·n+a}
wobei 0 ≤ a ≤ m − 1.
R⊆A×B
Wir schreiben oft a R b für (a, b) ∈ R.
Relationen können auch als |A| × |B|-Matrix oder als gerichteter Graph dargestellt werden.
2.1. Eigenschaften von Relationen auf A
Reflexiv: Eine Relation auf A heisst reflexiv, falls für alle
a ∈ A gilt:
(a, a) ∈ R
Symmetrisch: Eine Relation auf A heisst symmetrisch,
falls für alle a, b ∈ A gilt:
(a, b) ∈ R ⇔ (b, a) ∈ R
Antisymmetrisch: Eine Relation auf A heisst antisymmetrisch, falls für alle a, b ∈ A gilt:
2.4. Ordnungsrelationen
Ordnungsrelation: Eine Relation ≤ auf A heisst Partialordnung, falls sie reflexiv, antisymmetrisch und transitiv ist.
Dabei ist es möglich, dass manche Paare nicht vergleichbar
sind. Eine Partialordnung, durch die alle Paare paarweise
vergleichbar sind, heisst Totalordnung oder lineare Ordnung
auf A.
Maximales Element: Ein Element x heisst maximales
Element, falls gilt:
¬∃y : x ≤ y
Grösstes Element: Ein Element x heisst grösstes Element,
falls gilt:
∀y 6= x : y ≤ x
(a, b) ∈ R ∧ (b, a) ∈ R ⇒ a = b
{1, 2, 3}
30
Beispiel: a ≤ b ∧ b ≤ a ⇒ a = b
Transitiv: Eine Relation auf A heisst transitiv, falls für alle
a, b, c ∈ A gilt:
•3 b +/
•a
•c
(a, b) ∈ R ∧ (b, c) ∈ R ⇒ (a, c) ∈ R
2.2. Operationen auf Relationen
Komposition: Seien R ⊆ A×B und Q ⊆ B×C Relationen,
dann heisst die Relation R ◦ Q ⊆ A × C Komposition von R
und Q, falls gilt:
(a, c) ∈ R ◦ Q :⇔ ∃b ∈ B : (a, b) ∈ R ∧ (b, c) ∈ Q
SEITE 3
6
10
15
{1, 2}
{1, 3}
{2, 3}
2
3
5
{1}
{2}
{3}
1
∅
Abb. 2: Links das Hasse-Diagramm der Teiler von 30. Rechts das HasseDiagramm der Potenzmenge von {x, y, z}, geordnet durch die TeilmengenRelation ⊆.
Hasse-Diagramm: Ein Hasse-Diagramm ist eine graphische Darstellung endlicher Partialordnungen. Zwei Knoten
a und b werden durch eine Kante verbunden, wenn a ≤ b
gilt und es kein c gibt mit a ≤ c ≤ c. Es werden also nur
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
direkte Nachbarn verbunden. Die Richtung einer Kante gibt
an, welches der beiden verbundenen Elementen grösser ist.
Schleifen bei Reflexivität werden weggelassen.
3
KOMBINATORIK
geordnet
n
mit Zurücklegen
ohne Zurücklegen
ungeordnet
n+k−1
k
n
k
n!
(n−k)!
k
2.5. Relationen als Funktionen
Tab. 2: Anzahl der Möglichkeiten für k Ziehungen aus einer Urne mit n
Elementen.
Funktion: Eine Relation f ⊆ A × B heisst funktional, falls:
der Summe der Kardinalitäten |Ai | der Mengen:
∀a∃!b : (a, b) ∈ f
n
n
[
X
Ai =
|Ai |
Man spricht von einer Funktion und schreibt f : A → B
oder f : a 7→ b.
Komposition: Die Komposition zweier Funktionen f und
g ist definiert als:
i=1
Produktregel: Die Anzahl der Möglicheiten aus verschiedenen Mengen Ai je ein Element zu ziehen, entspricht dem
Produkt der Kardinalitäten |Ai | der Mengen:
(g ◦ f )(a) = g(f (a))
Hinweis: Bei der Komposition von Funktionen wird die erste Funktion nach der zweiten ausgeführt.
n
× A =
i=1
3.2. Inklusion-Exklusion
Für zwei Mengen A1 und A2 gilt offensichtlich:
0
|A1 ∪ A2 | = |A1 | + |A2 | − |A1 ∩ A2 |
Surjektivität: Eine Funktion f heisst surjektiv, falls jedes
Element der Zielmenge mindestens einmal als Funktionswert
angenommen wird:
∀b∃a : f (a) = b
Bijektivität: Eine Funktion f heisst bijektiv, falls sie injektiv und surjetiv ist.
An diesem Beispiel erkennt man gut das InkusionExklusion-Prinzip: Will man die Elemente von A1 ∪ A2 zählen addiert man zuerst |A1 | und |A2 |. Jetzt hat man aber
alle Elemente in A1 ∩ A2 doppelt gezählt. Man subtrahiert
also |A1 ∩ A2 |.
Im allgemeinen Fall mit n Mengen gilt:
n
n
[
X
Ai =
(−1)r−1
A
•
•
•
•
B
•
•
A
•
•
•
•
B
•
•
•
•
Abb. 3: Veranschaulichung der Injektivität (Links), Surjektivität (Mitte)
und Bijektivität (Rechts).
r
\
Ai j X
1≤i1 <i2 <...<ir ≤n j=1
r=1
i=1
•
•
•
|Ai |
i=1
Gleichmächtigkeit: Gibt es eine bijektive Abbildung f :
A → B zwischen zwei Mengen A und B, dann gilt:
a 6= a → f (a) 6= f (a )
B
•
•
•
•
n
Y
|A| = |B|
Injektivität: Eine Funktion f heisst injektiv, falls jedes
Element der Zielmenge höchstens einmal als Funktionswert
angenommen wird:
A
i
2.5.1. Eigenschaften von Funktionen
0
i=1
3.3. Euler’sche ϕ-Funktion
Die Euler’sche ϕ-Funktion ist definiert als:
ϕ(n) := k ∈ {0, . . . , n − 1} | ggT(k, n) = 1 Für zwei verschiedene Primzahlen p und q gilt:
3. Kombinatorik
3.1. Kombinatorische Regeln
Summenregel: Die Anzahl der Möglichkeiten ein Element
aus paarweise disjunkten Mengen Ai auszuwählen, ist gleich
SEITE 4
ϕ(p)
=
p−1
ϕ(p · q)
=
ϕ(p) · ϕ(q) = (p − 1)(q − 1)
Für Q
eine beliebige ganze Zahl mit der Primfaktorzerlegung
r
n = i=1 plii gilt:
ϕ(n) =
r
Y
(pi − 1) · plii −1
i=1
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
3
KOMBINATORIK
3.4. Schubfachprinzip
3.6. Wichtige spezielle Zählprobleme
Wenn n Objekte auf k < n Schubfächer verteilt werden,
dann enthält mindestens ein Schubfach mindestens 2 Objekte.
3.6.1. Stirling-Dreieck erster Art
3.5. Binomialkoeffizienten
Der Binomialkoeffizient nk lässt sich als Anzahl der Möglichkeiten, k aus n Elementen auszuwählen, auffassen.
n
k
n
k
n
k
m+n
r
(x + y)n
=
=
=
=
=
k=0
S0,0 = 1
Sn,0 = 0
Sn,n = 1
Sn,k = 0 falls k > n
Die nachfolende Rekursionsgleichung bildet das StirlingDreieck erster Art.
Sn,k = Sn−1,k−1 + (n − 1) · Sn−1,k
n!
k!(n − k)!
n
n−k
n−1
n−1
+
k−1
k
r X
m
n
k=0
n X
Für Anzahl der Möglichkeiten Sn,k einer Permutationen von
n Elementen mit genau k Zyklen gilt:
k=0
0
n=2
0
n=4
0
n=5
1
1
2
6
24
k=2
1
0
n=3
k=1
0
n=1
(Vandermonde-Identität)
k
r−k
n n−k k
x
y
k
1
n=0
k=3
3
1
11
k=4
6
1
k=5
50 35 10
1
Abb. 5: Stirling-Dreieck erster Art.
k
3.6.2. Stirling-Dreieck zweiter Art
m
n
r−k
Für die Anzahl der Möglichkeiten, eine Menge mit n Elementen in k Partitionen aufzuteilen gilt:
Abb. 4: Die Vandermonde-Identität lässt sich als kombinatorisches Problem auffassen: Unterteilt man eine (m + n)-Menge in zwei Teilmengen
mit m und n Elementen, wie viele Möglichkeiten gibt es dann k Elemente
aus der einen Teilmenge und r − k Elemente aus der anderen Teilmenge
auszuwählen. Addiert man alle Möglichkeiten von k = 0 bis k = r, erhält
man die Anzahl der Möglichkiten, r Elemente aus m + n auszuwählen.
S0,0 = 1
Sn,0 = 0
Sn,n = 1
Sn,k = 0 falls k > n
Die nachfolende Rekursionsgleichung bildet das StirlingDreieck zweiter Art.
Sn,k = Sn−1,k−1 + k · Sn−1,k
3.5.1. Abschätzung des Binomialkoeffizienten
n k
k
≤
k=0
n
n · e k
≤
k
k
1
n=0
0
n=1
0
n=2
3.5.2. Stirling-Approximation
√
n n
e
Mit der Stirling-Approximation n! ≈ 2πn
erhält man
durch Einsetzen und Vereinfachen folgende Approximation
des Binomialkoeffizienten:
√
n
2πn ne
n
≈ √
≈ 2n·h(x)
p
k k
n−k n−k
k
2πk e
2π(n − k e
Wobei h(x) = −x log2 x − (1 − x) log2 (1 − x) die binäre
Entropiefunktion ist.
SEITE 5
0
n=5
0
1
1
1
1
1
0
n=3
n=4
k=1
k=2
1
3
7
k=3
1
6
k=4
1
15 25 10
k=5
1
Abb. 6: Stirling-Dreieck zweiter Art.
Für die Anzahl Äquivalenzrelationen auf einer n-Menge gilt:
Bn =
n
X
Sn,k
k=0
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
5 GRAPHENTHEORIE
4. Rekursionsgleichungen
5. Graphentheorie
4.1. Lösen von Rekursionsgleichungen
Graph: Ein Graph G ist ein Tupel (V, E), wobei V eine
Menge von Knoten und E ⊆ V 2 eine Menge von Kanten
ist.
Zu einer Rekursionsgleichung der Form
Fn = a1 Fn1 + a2 Fn2 + . . . + ar Fnr
erhält man das charakteristische Polynom, indem man alle
Fni durch λni ersetzt:
Ungerichteter Graph: Ein Graph G = (V, E) heisst ungerichtet, falls (u, v) ∈ E ⇔ (v, u) ∈ E gilt.
•d
χ(x) = a1 λn1 + a2 λn2 + . . . + ar λnr − λn
•
•
Man bestimmt nun alle Nullstellen λi dieses Polynoms und
erhält die allgemeine Lösung:
•B
•
•
Fn = c1 λn1 + c2 λn2 + . . . + ck λnk
•
•
Abb. 8: Links ein gerichteter und rechts ein ungerichteter Graph.
Hinweis: Kommte eine Nullstelle λi k-fach vor, verwendet
man in der allgemeinen Lösung statt ci λn :
ci1 λni
+
ci2 nλni
+ ... +
cik nk−1 λni
Durch Einsetzen der Anfangswerte in die allgemeine Lösung
erhält man die spezielle Lösung.
Beispiel (Fibonacci): Für die Fibonacci-Folge gilt folgende Rekursionsvorschrift:
F0 = 0, F1 = 1,
Fn = Fn−1 + Fn−2
Damit erhält man das charakteristische
Polynom λ2 − λ − 1
√
1± 5
mit den Nullstellen λ1,2 = 2 und somit die allgemeine
Lösung Fn = c1 λn1 + c2 λn2 . Setzt man die gegebenen Anfangswerte ein erhält man c1 = √15 und c2 = − √15 . Die
explizite Darstellung der Fibonacci-Folge ist somit:
√ !n
√ !n
1
1
1+ 5
1− 5
−√
Fn = √
2
2
5
5
4.2. Fraktale
Grad: Der Grad deg(v) eines Knotens v ist gleich der Anzahl der Kanten, mit denen er verbunden ist. Manchmal unterscheidet man noch den Grad deg− (v) eingehender Kanten
und den Grad deg+ (v) ausgehender Kanten.
Für einen gerichteten Graphen gilt
X
X
deg− (v) =
deg+ (v) = |E|
v∈V
v∈V
In einem ungerichteten Graphen gilt
X
deg(v) = 2|E|
v∈V
Einfacher Graph: Ein Graph G heisst einfach, falls er kei•]] und keine Mehrfachkanten • • enthält.
ne Loops
Weg: Ein Weg W = (v0 , v1 , . . . , vl ) ist eine Folge von Knoten, für die (v1 , vi+1 ) ∈ E für alle i = 0, . . . , l − 1 gilt.
Pfad: Ein Pfad ist ein Weg, bei dem alle Knoten paarweise
Verschieden sind.
Kreis: Ein Kreis C = (v0 , v1 , . . . , vl ) ist eine Folge von paarweise verschiedenen Knoten, für die (v1 , vi+1 ) ∈ E für alle
i = 0, . . . , l − 1 und (vl , v0 ) ∈ E gilt.
Abb. 7: Cantormenge.
•
Dimension: Eine Streckung um Faktor f erzeugt k Kopien.
Für die Dimension d gilt dann:
k = fd
⇒
d = logf k =
log k
log f
Beispiel: Wird die Cantormenge (siehe Abbildung 7) um
Faktor 3 gestreckt, erhält man 2 exakte Kopien; sie hat also
log 2
die Dimension d = log
3 ≈ 0.6309.
SEITE 6
•
•
•
•
•
•
•
•
•
Abb. 9: Dieser Graph enthält einen Weg (grün), einen Pfad (rot) und
einen Kreis (blau).
Teilgraph: Ein Graph H = (V 0 , E 0 ) heisst Teilgraph von
G = (V, E), falls V 0 ⊆ V und E 0 ⊆ V 0 × V 0 und E 0 ⊂ E.
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
5 GRAPHENTHEORIE
Induzierter Teilgraph: Ein Graph H = (V 0 , E 0 ) heisst
ein von V 0 induzierter Teilgraph, falls H ein Teilgraph von
G = (V, E) ist und für alle u, v ∈ V 0 gilt (u, v) ∈ E ⇒
(u, v) ∈ E 0 . Wir schreiben:
Baum
z
•
Brücke: Eine Kante e ∈ E heisst Brücke, falls der Graph
G0 = (V, E \ {e}) eine Zusammenhangskomponente mehr
hat als G = (V, E).
5.1. Spezielle Graphen
K1
K2
•
•
•
K3
K4
K5
•
• •
• •
•
• •
• •
•
•
C3
C4
C5
•
• •
• •
•
• •
• •
•
•
•
•
•
•
•
•}
•
• •
{z
Wald
Abb. 13: Vier verschiedene Bäume. Zusammen bilden sie einen Wald.
G ist ein Baum.
G ist zusammenhängend und |V | = |E| + 1.
G ist kreislos und |V | = |E| + 1.
G ist zusammenhängend und jede Kante ist eine
Brücke.
v) G ist kreislos und falls eine zusätzliche Kante eingeführt
wird, erhält G einen Kreis.
vi) Zu allen u, v ∈ V gibt es genau einen u-v-Pfad.
i)
ii)
iii)
iv)
Spannbaum: Man nennt H = (V, E 0 ) einen Spannbaum
von G = (V, E), falls H ein Baum ist und E 0 ⊆ E.
5.3. Eulertouren und Hamiltonkreise
Eulertour: Eine Eulertour ist ein geschlossener Kantenzug,
der jede Kante genau einmal enthält.
Abb. 10: Vollständige Graphen Kn mit n Knoten.
•
{
• • • •
• •
|
H = G[V 0 ]
Partition, Zusammenhangskomponente: Eine Menge
von Knoten Vi ⊆ V heisst Partition von V , falls für alle
u, v ∈ Vi ein u-v-Pfad existiert. Der von Vi induzierte Teilgraph G[Vi ] heisst dann Zusammenhangskomponente von
G = (V, E).
}|
•
C6
•
• •
• •
Ein zusammenhängender Graph hat genau dann eine Eulertour, wenn alle Knotengrade gerade sind.
•
A
Abb. 11: Kreise Cn der Länge n (n ≥ 3).
C
•

•
m •


|•
• • •
• • •
• • •
• •{z•
n
•
•
•
•}
•

•


•
m




•
•

•


•
n



•

•
•
•
•
•
•
•
•
•
•
•
•
•
D
B
•
•
•
Abb. 12: Das m×n-Gitter Mm,n (Links), der vollständige bipartite Graph
Km,n (Mitte) und der vierdimensionale Hyperkubus Q4 (Rechts).
Abb. 14: Ist es möglich alle Brücken nacheinander zu passieren, ohne eine
auszulassen oder mehr als einmal zu überschreiten? Mit anderen Worten:
Gibt es eine Eulertour? Die Antwort ist Nein, denn alle Knotengrade sind
ungerade.
Hamiltonkreis: Ein Hamiltonkreis ist ein Kreis, der jeden
Knoten genau einmal besucht. Ein Graph, der einen Hamiltonkreis enthält heisst hamiltonsch.
•
•
5.2. Bäume
Baum: Ein ungerichteter, einfacher Graph ohne Kreise
heisst Wald. Ein zusammenhängender Wald heisst Baum.
•
• •
• •
Blatt: Ein Knoten v ∈ V mit deg(v) = 1 heisst Blatt. Jeder
Baum mit |V | ≥ 2 hat mindestens zwei Blätter.
Folgende Aussagen über einen einfachen Graphen G =
(V, E) sind äquivalent:
SEITE 7
•
•
•
•
•
•
•
• •
• •
•
•
Abb. 15: Das Pentagondodekaeder ist, wie alle platonischen Körper, hamiltonsch.
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
6 ZAHLENTHEORIE
Das Hamiltonkreisproblems gehört zu den NP-vollständigen
Problemen. Jedoch ist jeder Graph G = (V, E) mit Minimalgrad |V2 | hamiltonsch.
6. Zahlentheorie
5.4. Planare Graphen
Teilbarkeit: Eine Zahl a ∈ Z teilt eine andere Zahl b ∈ Z,
falls gilt:
a | b :⇔ ∃c ∈ Z : a · c = b
Planarität: Ein Graph G = (V, E) heisst planar, wenn er
so gezeichnet werden kann (in die Ebene eingebettet), dass
sich keine Kanten überkreuzen. Dabei müssen die Kanten
nicht unbedingt gerade Linien sein.
6.1. Teilbarkeit
Falls ein entsprechendes c existiert, ist es eindeutig und man
schreibt c = ab .
Für die Teilbarkeit gelten folgende Eigenschaften:
•
•
•
•
a|b ∧ b|c ⇒ a|c
•
•
•
•
a|b ∧ b|a
⇒ a = b ∨ a = −b
a | b ∧ a | c ⇒ a | (ub + vc)
a | b ∨ a | c ⇒ a | bc
Abb. 16: Der Graph K4 ist planar, auch wenn man es ihm je nach Darstellung nicht direkt ansieht.
Ein Graph ist genau dann planar, wenn er keinen Teilgraphen enthält, der durch Unterteilung von K5 oder K3,3 entstanden ist.
Ein planarer Graph G = (V, E) teilt die Ebene in f Gebiete.
Dabeil gilt:
|V | + f − |E| = 2
Für alle Zahlen a, d ∈ Z mit d 6= 0 gibt es eindeutige q, r ∈ Z,
so dass a = qd+r mit 0 ≤ r < |d|. Wir schreiben Rd (a) := r.
6.2. Primzahlen
Primzahl: Eine Zahl p ∈ N mit p > 1 heisst prim, falls 1
und p die einzigen positiven Teiler sind:
Für einen planaren Graphen G = (V, E) mit |V | ≥ 3 gilt:
∀a > 0 : a | p → a = 1 ∨ a = p
|E| ≤ 3|V | − 6
⇒
deg(v) < 6
Ist der Graph zudem Dreiecksfrei, dann gilt:
|E| ≤ 2|V | − 4
⇒
deg(v) < 4
5.5. Färben von Graphen
Ist p eine Primzahl, dann gilt für alle a, b ∈ Z:
p|a·b → p|a ∨ p|b
Jede positive ganze Zahl besitzt eine eindeutige Primfaktorzerlegung:
Y
a=
pri i
i
Färbung: Eine Funktion c : V → {1, 2, . . . , k}, so dass
(u, v) ∈ E ⇒ c(u) 6= c(v), heisst Färbung (Knotenfärbung)
von G. Mann nennt dann den Graphen G k-färbbar.
Zudem gibt es unendlich viele Primzahlen und beliebig grosse Lücken zwischen zwei aufeinander folgenden Primzahlen.
Die Dichte π(n) = |{1 < k ≤ n | k prim}| beträgt:
Chromatische Zahl: Die chromatische Zahl χ(G) eines
Graphen ist die minimale Anzahl Farben k, so dass eine
k-Färbung existiert.
χ(Kn )
χ(Km,n )
= n
=
2
2 (falls m · n ≥ 1)
2 n gerade
χ(Cn ) =
3 n ungerade
χ(Mm,n )
=
Ein zusammenhängender Graph G ist genau dann bipartit
(zweifärbbar), wenn er keine Kreise ungerader Länge enthält. Das heisst, dass auch alle Bäume bipartit sind.
Jeder planare Graph hat χ(G) ≤ 4.
SEITE 8
π(n) ∼
n
log n
6.2.1. Primzahltests
Für alle Primzahlen gilt (kleine fermatsche Satz):
p prim
⇒
ap−1 ≡p 1
Daraus ergibt sich eine probabilistische Methode, um herauszufinden, ob eine Zahl prim ist:
ap−1 6≡p 1
⇒
p nicht prim
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
6 ZAHLENTHEORIE
6.3. ggT und kgV
6.5. Modulare Arithmetik
Grösster gemeinsamer Teiler (ggT): Eine Zahl d ∈ Z
heisst grösster gemeinsamer Teiler von a ∈ Z und b ∈ Z,
falls:
Kongruenz modulo m: Zwei Zahlen a, b ∈ Z heissen kongruent modulo m > 1, genau dann, wenn m ihre Differenz
teilt:
a ≡m b :⇔ m | (a − b)
d|a
d|b
Es gilt:
c|a ∧ c|b ⇒ c|d
a ≡m b
Hinweis: Die ggT von 4 und 6 sind 2 und −2. Für den
positiven Teiler schreiben wir ggT(a, b).
Teilerfremd: Zwei Zahlen a, b ∈ Z heissen teilerfremd, falls
ggT(a, b) = 1.
Kleinstes gemeinsames Vielfaches (kgV): Eine Zahl
m ∈ Z heisst kleinstes gemeinsames Vielfaches von a ∈ Z
und b ∈ Z, falls:
Rm (a + b)
=
Rm (a · b)
=
a + b ∈ [a + b]
a · b ∈ [a · b]
a + b ≡m a0 + b0
a · b ≡m a0 · b0
m|c
Folgende Addition + und Multiplikation · auf den Restklsasen sind wohldefiniert:
Für zwei beliebige ganze Zahlen a und b gilt:
⇔
a · b = ggT · kgV
Für zweiQ
Zahlen mit den Primfaktorzerlegungen a =
und b = i psi i gilt:
ggT(a, b)
=
Y
=
Y
Q
i
pri i
min(ri ,si )
pi
i
kgV(a, b)
Für alle a, a0 , b, b0 ∈ Z mit a ≡m a0 und b ≡m b0 gilt dann:
b|m
kgV
a
=
ggT
b
Rm Rm (a) + Rm (b)
Rm Rm (a) · Rm (b)
Die Relation ≡m ist eine Äquivalenzrelation; d.h. sie ist reflexiv, symmetrisch und transitiv. Die Partitionierung in Restklassen modulo m bildet Zm :
Zm := [0], [1], . . . , [m − 1]
a|m
a|c ∧ b|c ⇒
⇔ Rm (a) = Rm (b)
max(ri ,si )
pi
i
6.4. Erweiterter Euklid-Algorithmus
Der erweiterte Euklid-Algorithmus berechnet neben dem
grössten gemeinsamen Teiler ggT(a, b) zweier ganzen Zahlen a und b noch zwei ganze Zahlen s und t, die die folgende
Gleichung erfüllen:
ggT(a, b) = s · a + t · b
+
0
1
2
3
4
0
0
1
2
3
4
1
1
2
3
4
0
2
2
3
4
0
1
[a] + [b]
:=
[a + b]
[a] · [b]
:=
[a · b]
3
3
4
0
1
2
4
4
0
1
2
3
·
0
1
2
3
4
0
0
0
0
0
0
1
0
1
2
3
4
2
0
2
4
1
3
3
0
3
1
4
2
4
0
4
3
2
1
Tab. 4: Wertetabellen für die Addition (Links) und Multiplikation (Rechts)
auf Z5 .
Jede Restklasse von Zm besitzt ein additives Inverses:
∀[a] ∃[b] : [a] + [b] = [0]
Für eine Restklasse [a] gibt es genau dann ein multiplikatives
Inverses, falls a und m Teilerfremd sind:
ggT(a, m) = 1 ⇔ ∃x : [a] · [x] = [1]
24
9
6
3
0
1
0
1
-1
0
1
-2
3
Tab. 3: Beispiel des erweiterten Euklid-Algorithmus mit den Zahlen 24
und 9. Der ggT(24, 9) = 3 = −1 · 24 + 3 · 9 lässt als linearkombination
von 24 und 9 darstellen.
SEITE 9
Das multiplikative Inverse lässt sich effizient mit dem erweiterten Euklyd-Algorithmus berechnen:
ggT(a, m) = 1 = ua + vm
⇒
u ≡m a−1
Auf der folgendermassen definierten Menge Z∗m haben alle
Elemente ein multiplikatives Inverses:
Z∗m := {a ∈ Zm | ggT(a, m) = 1}
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
6 ZAHLENTHEORIE
6.6. Chinesischer Restsatz
Beispiel: (Z, +), (Z∗m , ·), (Q \ {0}, ·), (Rn , Vektoraddition)
Seien m1 , m2 , . . . , mr paarweise teilerfremd:
Abelsche Gruppe: Eine Gruppe heisst abelsch, falls sie
kommutativ ist.
ggT(mi , mj ) = 1
für i 6= j
Dann lässt sich ein System von linearen Kongruenzen zu
einer einzigen Kongruenz vereinfachen:

x ≡m1 a1 


x ≡m2 a2 
⇔ x ≡M a
..

.



x ≡mr ar
Wobei sich M und a folgendermassen berechnen lassen:
Qr
M =
i=1 mi
−1 !
r
X
M M
a = RM
ai
mi mi
i=1
| {z }
mod mi
6.6.1. Folgerungen aus dem chinesischen Restsatz
Untergruppe: Eine Struktur (H, ◦) heisst Untergruppe
von (G, ◦), falls H ⊆ G und H bezüglich der Operation
◦ auch eine Gruppe bildet.
Es gilt |H| | |G|.
Produkt: Das Produkt GX ×GY zweier Gruppen (GX , ◦X )
und (GY , ◦Y ) ist definiert als:
(GX × GY , ◦) : (x1 , y1 ) ◦ (x2 , y2 ) := (x1 ◦X x2 , y1 ◦Y y2 )
6.7.1. Homomorphismen und Isomorphismen
Homomorphismus: Ein Homomorphisumus zwischen
(GX , ◦X ) und (GY , ◦Y ) ist eine Abbildung ϕ : GX → GY
mit:
∀a, b ∈ GX : ϕ(a ◦X b) = ϕ(a) ◦Y ϕ(b)
Für zwei Primzahlen p, q und m = pq gilt aufgrund des
chinesischen Restsatzes:
x ≡p a1
x ≡m a ⇔
x ≡q a2
Isomorphismus: Ein Homomorphismus heisst Isomorphismus, falls ϕ bijektiv ist. Existiert eine solche Abbildung,
dann heissen die beiden Gruppen isomorph und man
schreibt GX ≡ GY .
Daraus folgt:
Beispiel: (Z2 , +) ≡ ({0, 1}, xor)
a ∈ Zm ↔
a1
a2
∈ Zp
∈ Zq
d.h. Zm ≡ Zp × Zq
6.7.2. Ordnungen
Für eine Zahl mit der Primfaktorzerlegung n =
allgemein:
Zm
Z∗m
≡
Zpl1 × Zpl2 × . . . × Zplrr
≡
Z∗pl1
1
1
Qr
i=1
plii gilt
ord(a) := min{i > 0 | ai = e}
2
×
Z∗pl2
2
× ... ×
Z∗plr
r
|Zm | = |Zpl1 | × |Zpl2 | × . . . × |Zplrr |
1
Hinweis: ar ◦ as = aRord(a) (r+s) und (ar )−1 = aord(a)−r .
2
|Z∗m | = |Z∗pl1 | × |Z∗pl2 | × . . . × |Z∗plr | = ϕ(m)
1
Ordnung: Die kleinste positive Zahl i mit ai = e, heisst
Ordnung von a:
2
r
Hinweis: Z4 6≡ Z2 × Z2 und Z∗4 6≡ Z∗2 × Z∗2 , weil der Primfaktor 2 zweimal vorkommt.
Für eine beliebige Gruppe G und ein beliebiges a ∈ G gilt:
a|G| = e und
ord(a) | |G|
Hinweis (Fermat): Für p prim und ein a mit p 6 | a gilt:
ap−1 ≡p 1
6.7. Gruppen
Hinweis (Euler): Für ein a und n mit ggT(a, n) = 1 gilt:
Gruppe: Eine Gruppe (G, ◦) ist eine Menge G und eine
binäre Operation ◦ : G × G → G mit den folgenden Eigenschaften:
• ∀a, b, c ∈ G : (a ◦ b) ◦ c = a ◦ (b ◦ c) (Assoziativität)
aϕ(n) ≡n 1
6.7.3. Zyklische Gruppen
• ∃e ∈ G ∀a ∈ G : a ◦ e = e ◦ a = a (Neutrales Element)
• ∀a ∈ G ∃a−1 ∈ G : a ◦ a−1 = a−1 ◦ a = e (Inversese)
SEITE 10
Zyklische Gruppe: Eine Gruppe heisst zyklisch, falls ein
g ∈ G existiert mit ord(g) = |G|.
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
Für eine beliebige Gruppe G und ein beliebiges a ∈ G ist
hai := {e, a, a2 , a3 , . . . , aord(a)−1 } eine abelsche und zyklische Untergruppe von G. Ist ord(a) = |hai| = |G|, heisst a
Generator von G.
Hinweis: Eine zyklische Gruppe ist immer auch abelsch:
r
s
a◦b=g ◦g =g
r+s
=g
s+r
6 ZAHLENTHEORIE
Für Körper gilt:
0·a
=
0
a·b=0 ⇒
a=0 ∨ b=0
(a + b)2
=
a2 + (1 + 1) · a · b + b2
Charakteristik χ(K)
=
ord(K,+) (1)
=b◦a
Die Umkehrung gilt jedoch nicht immer.
Für jede Primzahl p und jedes n gibt es (bis auf Isomorphien) genau einen Körper GF (pn ) mit pn Elementen.
Ein Körper, dessen Multiplikation keine Inverse besitzt,
heisst Ring.
6.7.4. Diskrete Logarithmen
Gegeben ist ein Generator g, der die Gruppe G = hgi erzeugt. Die Umkehrfunktion der diskreten Exponentialfunktion expg : N → G, n 7→ g n ist der diskrete Logarithmus:
logb : G → N, b 7→ n, sodass g n = b
Beispiel: Der Generator 2 erzeugt die Gruppe Z∗13 und
log2 (5) = 9, da 29 ≡13 5.
6.9. Polynome über einen Körper K
Polynomring: Die Menge K[x] aller Polynome über einen
Körper K = GF (pn ) bilden einen Ring.
K[x] :=
n
nX
o
ai xi | ai ∈ K, an 6= 0 ∪ {0}
i=0
Pr
Es gilt deg(0) = −∞ und deg( i=0 aix ) = r, falls ar 6= 0.
6.7.5. Baby-Step, Giant-Step Algorithmus
Die Berechnung des diskreten Logarithmus einer Zahl g i ist
ein schwieriges Problem und wird daher auch in der Kryptographie angewendet. Ein naiver Ansatz wäre, alle g n zu
berechnen, bis man g i erhält. Mit dem Baby-Step, GiantStep Algorithmus kann der diskrete Logarithmus jedoch ein
wenig effizienter berechnet werden:
1. Speichere M Gruppenelemente folgendermassen als Tupel und sortiere diese nach ihrem zweiten Wert:
(0, g i ), (1, g i+1 ), (2, g i+2 ), . . . , (M − 1, g i+M −1 )
2. Berechne g 0 , g M , g 2M , . . . , g jM , bis man im Intervall der
gespeicherten Werte landet.
3. Nun gilt: g jM = g i+k ⇒ jM = i + k ⇒ i = jM − k.
Der Algorithmus benötigt M + |G|
M Schritte (Anzahl Gruppenelemente, die im Worst Case ausgerechnet werden müssen). p
Das heisst, man erhält eine optimale Laufzeit für
M ≈ |G|.
6.8. Körper
Körper: Ein Körper (K, +, ·) ist eine Menge K mit zwei
Operationen ∗ und ◦, für die gilt:
• (K, +) ist eine abelsche Gruppe (mit e = 0).
6.9.1. Modulare Arithmetik mit Polynomen
Analog zur gewöhnlichen Modulararithmetik gilt für Polynome:
• Für zwei beliebige Polynome a(x), b(x) ∈ K[x] existieren
Polynome q(x) und r(x), so dass:
a(x) = q(x) · b(x) + r(x)
• Ein Polynom a(x) teilt ein anderes Polynom b(x), falls
gilt:
a(x) | b(x) ⇔ ∃c(x) : a(x) · c(x) = b(x)
Irreduzibles Polynom: Ein Polynom p(x) heisst irreduzibel, falls gilt:
p(x) = a(x) · b(x)
⇒
deg(a) = 0 ∨ deg(b) = 0
Falls ein c ∈ K existiert, so dass p(c) = 0, dann ist p(x)
nicht irreduzibel und es gilt (x − c) | p(x). Zudem gibt es
irreduzible Polynome beliebigen Grades über GF (p).
Wie bei den ganzen Zahlen, lassen sich der ggT und das
Inverse zweier Polynome mit dem EEA berechnen.
Hinweis: Der grösste gemeinsamer Teiler zweier Polynome
ist nicht immer eindeutig.
• (K \ {0}, ·) ist eine abelsche Gruppe (mit e = 1 6= 0).
• Distributivität: a · (b + c) = a · b + a · c.
SEITE 11
Ist q(z) ∈ GF (pn )[z] ein irreduzibles Polynom, dann bilden
die Polynome GF (pn )[z] modulo q(z) einen Körper.
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
·
0
1
z
z+1
z2
z2 + 1
z2 + z
z2 + z + 1
0
0
0
0
0
0
0
0
0
1
0
1
z
z+1
z2
z2 + 1
z2 + z
z2 + z + 1
z
0
z
z2
z2 + z
z2 + 1
z2 + z + 1
1
z+1
7
z+1
0
z+1
z2 + z
z2 + 1
1
z
z2 + z + 1
z2
z2
0
z2
z2 + 1
1
z2 + z + 1
z+1
z
z2 + z
z2 + 1
0
z2 + 1
z2 + z + 1
z
z+1
z2 + z
z2
1
ANWENDUNGEN
z2 + z
0
z2 + z
1
z2 + z + 1
z
z2
z+1
z2 + 1
z2 + z + 1
0
z2 + z + 1
z+1
z2
z2 + z
1
z2 + 1
z
Tab. 5: Multiplikationstabelle des GF (8) unter der Verwendung des (irreduziblen) Reduktionspolynom z 3 + z 2 + 1.
·
0
1
z
z+1
z2
z2 + 1
z2 + z
z2 + z + 1
0
0
0
0
0
0
0
0
0
1
0
1
z
z+1
z2
z2 + 1
z2 + z
z2 + z + 1
z
0
z
z2
z2 + z
z+1
1
z2 + z + 1
z2 + 1
z+1
0
z+1
z2 + z
z2 + 1
z2 + z + 1
z2
1
z
z2
0
z2
z+1
z2 + z + 1
z2 + z
z
z2 + 1
1
z2 + 1
0
z2 + 1
1
z2
z
z2 + z + 1
z+1
z2 + z
z2 + z
0
z2 + z
z2 + z + 1
1
z2 + 1
z+1
z
z2
z2 + z + 1
0
z2 + z + 1
z2 + 1
z
1
z2 + z
z2
z+1
Tab. 6: Multiplikationstabelle des GF (8) unter der Verwendung des (irreduziblen) Reduktionspolynom z 3 + z + 1.
Um GF (pd ) aus GF (p) zu konstruieren schreibt man alle
Polynome ai (z) mit deg(ai ) < d in die Additions und Multiplikationstabelle. Dann wählt man ein irreduzibles Polynom q(z) mit deg(q) = d und füllt die Tabellen modulo q(z)
aus. Für die Additionstabelle ist das irreduzible Polynom
nicht von grosser Bedeutung, da der Grad der Summen immer kleiner als d ist. Die Tabellen 5 und 6 sind Beispiele für
Multiplikationstabellen des GF (8) = GF (23 ). Diese sehen
zwar unterschiedlich aus, sind jedoch isomorph.
GF (3)
3
x + 2x + 1
2x2 + x + 2
2x
2
1
x3 + 2x + 1
1
0
1
2x + 1
x+2
2x2 + x + 2
0
1
x+1
2x2 + 2
x2 + 1
Tab. 7: Der ggT(x3 + 2x + 1, 2x2 + x + 2) = 1 in GF (3) lässt sich als
Linearkombination 1 = (x3 + 2x + 1)(x + 2) + (2x2 + x + 2)(x2 + 1)
darstellen.
6.10. Lagrange-Interpolation
Ein Polynom p(x) mit deg(p) = n ist durch n+1 Stützstellen
(αi , βi ) eindeutig bestimmt.
Berechnung des Polynoms: Bestimme für jede Stützstelle ein
Polynom ui (x) für das ui (αi ) = 1 und ui (αj ) = 0, i 6= j gilt:
ui (x) =
(x − α0 ) · · · (x − αi−1 )(x − αi+1 ) · · · (x − αn )
(αi − α0 ) · · · (αi − αi−1 )(αi − αi+1 ) · · · (αi − αn )
SEITE 12
Das Polynom p(x) erhält man nun durch:
p(x) =
n
X
βi · ui (x)
i=0
7. Anwendungen
7.1. RSA (Rivest, Shamir, Adlemann)
1. Bob wählt zwei grosse Primzahlen p, q und berechnet
n = p · q und ϕ(n) = (p − 1)(q − 1). Danach wählt
er ein zufälliges e mit ggT(e, ϕ(n)) = 1 und berechnet
d ≡ϕ(n) e−1 .
2. Bob merkt sich sk = (n, d) und sendet pk = (n, e) an
Alice.
3. Alice verschlüsselt eine Nachricht M < n mit dem öffentlichen Schlüssel pk und sendet den Chiffretext C zurück
an Bob:
ENC : C = Rn (M e )
4. Bob kann nun den Chiffretext mit seinem privaten
Schlüssel wieder entschlüsseln:
DEC : M = Rn (C d )
7.1.1. Digitale Signaturen
RSA kann auch für das Signieren eines Vertrages v ∈ Z∗n
verwendet werden:
JEROME DOHRAU
ZUSAMMENFASSUNG - DISKRETE MATHEMATIK
1. Alice berechnet pk und sk, wie oben beschrieben und
sendet den Vertrag v und s = Rn (v e ) an Bob.
2. Für die Verifikation muss Rn (sd ) = v gelten.
A
FIXPUNKTFREIE PERMUTATION
Minimaldistanz: dmin = min{dH (u, v) | u, v ∈ C}
In einem beliebigen Code kann man höchstens b dmin2 −1 c Fehler korrigieren und dmin − 1 fehler detektieren.
7.2. Diffie Hellman-Protokoll
7.4.1. Codierung mit Lagrange-Interpolation
1. Alice wählt eine zyklische Gruppe G = hgi und eine zufällige Zahl x ∈ N.
2. Alice schickt (G, g, g x ) an Bob.
3. Bob wählt ein zufälliges y ∈ N und schickt g y zurück an
Alice.
4. Nun können Alice und Bob g xy = (g x )y = (g y )x berechnen, ein dritter jedoch nicht, da er weder x noch y
kennt.
Alice
Bob
G,g,G=hgi
x
gx
o
gy
/
/
y
Aus dem k-Bit-String a0 , a1 , . . . , ak−1 wird ein Polynom
p(x) = a0 + a1 x + . . . + ak−1 xk−1 konstruiert. Die Codierung besteht darin, dieses Polynom in n verschiedenen Stellen auszuwerten, wodurch man einen n-Bit-String
p(x0 ), p(x1 ), . . . , p(xn−1 ) erhält.
A. Fixpunktfreie Permutation
Sei Ai die Menge der Permutationen mit einem Fixpunkt
an i-ter Stelle (auch weitere Fixpunkte sind möglich).
Zuerst zählen wir mit dem Inklusion-Exklusion-Prinzip die
Anzahl Xn der Permutationen mit Fixpunkten:
Anzahl Permutationen mit
mindestens r Fixpunkten
Abb. 17: Schema des Diffie Hellman-Protokolls.
Xn
Das Protokoll funktioniert für alle zyklischen Gruppen, aber
für Z∗p sind keine effizienten Algorithmen zur Berechnung des
diskreten Logarithmus bekannt.
7.3. Secret Sharing
Bedingung: Ein Geheimnis soll unter n Personen so verteilt werden, dass sich mindestens k Personen zusammentun
müssen, um das Geheimnis zu entziffern. k−1 Personen dürfen es nicht kennen.
Vorgehen: Erstelle ein Polynom p(x) vom Grad k − 1, dessen Auswertung an der Stelle x = 0 das Geheimnis s ist.
Jede der n Person erhält einen sog. Share (αi , p(αi )). Nun
können k beliebige Personen das Polynom, und somit auch
das Geheimnis, rekonstruieren.
p(x) = b0 +b1 x + b2 x2 + . . . + bk−1 xk−1
|{z}
s
7.4. Codierung
z X }| \ {
n
n
[
X
Ai = Ai =
(−1)r−1
r=1
i=1
I⊆{1,...,n}
|I|=r
i∈I
Die Anzahl der Permutationen mit mindestens r Fixpunkten
ist das Produkt der Möglichkeiten r Elemente (die Fixpunkte) aus n Elementen auszuwählen und der Anzahl Permutationen der n − r restlichlichen Elementen:
n
n!
n!
(n − r)! =
(n − r)! =
r
r!(n − r)!
r!
Damit erhalten wir:
Xn =
n
X
(−1)r−1
r=1
n!
r!
Für die Anzahl Yn fixpunktfreier Permutationen gilt nun:
Yn
= n! − Xn
n! n! n! n!
+
−
+
+ . . . + (−1)n
= n! −
1!
2!
3!
4!
n
X
(−1)r
= n!
r!
r=1
Für grosse n gilt:
Ziel: Ein k-Bit-String soll über einen verrauschten Kanal
verschickt werden, so dass der Empfänger die Nachricht
trotz fehlerhaft übertragenen Bits lesen kann.
Yn ≈ n!
∞
X
(−1)r
r=1
r!
= n! · e−1 =
n!
e
Vorgehen: Die zu übertragenden k-Bit-Strings werden auf
n-Bit-Strings abgebildet, wobei n > k. Diese bilden die Menge der Codewörter C. Die Codewörter sollten möglichst weit
auseinanderliegen.
SEITE 13
JEROME DOHRAU
Herunterladen